/* Community pages — the same quiet charcoal, mint and cyan as the landing. */
.inner-page .auth-layout { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:100px; padding-block:76px 100px; align-items:start; }
.inner-page .auth-intro { position:relative; padding-top:22px; }
.inner-page .auth-intro h1 { color:#edf2e8; font-size:clamp(33px,3.5vw,49px); line-height:1.75; letter-spacing:-1.5px; margin-block:18px; }
.inner-page .auth-intro h1 em { color:var(--v2-accent); font-style:normal; }
.inner-page .auth-intro p { color:#89959e; font-size:13px; line-height:2.4; max-width:350px; margin-bottom:23px; }
.inner-page .auth-intro .text-link { color:#d3dfc8; font-size:12px; display:inline-flex; align-items:center; gap:35px; }
.inner-page .auth-intro .text-link > span { color:var(--v2-accent); font-size:22px; }
.inner-page .auth-symbol { position:relative; display:grid; place-items:center; width:270px; height:220px; border:0; border-radius:0; background:radial-gradient(ellipse,#a1d76a0b,transparent 70%); margin:18px 0 20px; perspective:650px; }
.inner-page .auth-symbol-core { display:grid; place-items:center; width:115px; height:135px; border:1px solid #c5f67550; border-radius:24px; color:#c5f675; font-size:57px; background:linear-gradient(135deg,#3c4e3b,#15231b 40%,#11191d 75%); box-shadow:9px 12px 0 #0c1416,10px 13px 0 #8cab6355,0 20px 45px #0007,inset 0 1px #d6ffac44; transform:rotateY(-23deg) rotateX(13deg) rotateZ(-13deg); animation:community-core-float 7s ease-in-out infinite; }
.inner-page .auth-orbit { position:absolute; width:255px; height:98px; border:1px solid #b5e98c40; border-radius:50%; transform:rotate(-30deg); }
.inner-page .auth-orbit-two { width:210px; height:145px; transform:rotate(52deg); border-color:#73c6d329; }
.inner-page .auth-orbit-one::after { content:''; position:absolute; width:7px; height:7px; border-radius:50%; top:5px; left:55px; background:#b4e778; box-shadow:0 0 14px #c5f67550; }
.inner-page .auth-symbol-tag { position:absolute; bottom:0; color:#697e67; font:500 7px var(--font-en); letter-spacing:2.2px; direction:ltr; }
.inner-page .auth-intro-bottom { display:flex; gap:23px; padding-top:27px; margin-top:45px; border-top:1px solid #ffffff10; direction:ltr; justify-content:flex-end; color:#5f7267; font:500 7px var(--font-en); letter-spacing:1px; }
.inner-page .auth-card { position:relative; padding:35px; border:1px solid #ffffff13; border-radius:10px; background:linear-gradient(140deg,#151e21,#11161d 65%); box-shadow:0 20px 70px #0002; overflow:hidden; }
.inner-page .auth-card::before { content:''; display:block; position:absolute; top:0; right:35px; width:55px; height:2px; background:var(--v2-accent); }
.inner-page .auth-card-top { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.inner-page .auth-card-mark { font:500 10px var(--font-en); color:#6f866c; letter-spacing:2px; }
.inner-page .auth-card h2 { font-size:26px; font-weight:600; margin:27px 0 10px; letter-spacing:-.7px; color:#edf2e8; }
.inner-page .auth-card > .subtle-text { font-size:11px; line-height:2.2; color:#7f8e96; }
.inner-page .community-form { gap:21px; margin-top:29px; }
.inner-page .community-form .form-field { gap:9px; }
.inner-page .community-form .form-field label { color:#c4cec6; font-size:11px; font-weight:500; }
.inner-page .community-form .form-field input { background:#0b1116; border:1px solid #ffffff16; border-radius:5px; padding:13px 14px; color:#edf2e8; font-size:13px; transition:border-color .2s,box-shadow .2s; }
.inner-page .community-form .form-field input::placeholder { color:#53636d; }
.inner-page .community-form .form-field input:hover { border-color:#a5c68a40; }
.inner-page .community-form .form-field input:focus { outline:2px solid #c5f675; outline-offset:3px; border-color:#c5f67560; box-shadow:0 0 0 5px #c5f67508; }
.inner-page .community-form .form-field input:autofill { box-shadow:0 0 0 100px #182322 inset; -webkit-text-fill-color:#edf2e8; caret-color:#edf2e8; }
.inner-page .community-form .form-field small,.inner-page .community-form .form-field small ul { color:#788a8e; font-size:10px; line-height:2; }
.inner-page .community-form .form-field small ul { list-style:none; }
.inner-page .community-form .errorlist { border:1px solid #ef8c8c30; background:#ef8c8c0b; color:#f2aaaa; border-radius:5px; padding:10px 12px; font-size:11px; }
.inner-page .community-form > .btn { width:100%; justify-content:center; margin-top:4px; }
.inner-page .auth-signup-form { grid-template-columns:1fr 1fr; column-gap:16px; }
.inner-page .auth-signup-form > * { grid-column:1/-1; }
.inner-page .auth-signup-form > .form-field-half { grid-column:auto; }
.inner-page .auth-switch { color:#86958e; font-size:11px; line-height:2.1; margin-top:26px; padding-top:24px; border-top:1px solid #ffffff10; }
.inner-page .auth-switch a { color:var(--v2-accent); margin-right:5px; }

.inner-page .competition-heading { min-height:390px; padding-inline-end:40%; }
.inner-page .competition-heading > p { max-width:470px; }
.inner-page .competition-hero-art { position:absolute; left:35px; top:50%; width:300px; height:240px; transform:translateY(-40%); perspective:700px; display:grid; place-items:center; pointer-events:none; background:radial-gradient(ellipse,#accb7010,transparent 70%); }
.inner-page .competition-trophy { display:grid; place-items:center; width:125px; height:145px; color:#c5f675; font-size:65px; border:1px solid #b8e98b40; background:linear-gradient(145deg,#34432d,#17221e 50%,#10191d); border-radius:17px; box-shadow:10px 13px 0 #0a1114,11px 14px 0 #9bbf6850,0 25px 40px #0005; transform:rotateY(-25deg) rotateX(15deg) rotateZ(-12deg); }
.inner-page .competition-art-orbit { position:absolute; width:290px; height:110px; border:1px solid #c5f67536; border-radius:50%; transform:rotate(-28deg); }
.inner-page .competition-art-orbit:nth-child(2) { width:260px; height:125px; transform:rotate(45deg); border-color:#70c7d529; }
.inner-page .competition-art-orbit:first-child::after { content:''; position:absolute; width:7px; height:7px; border-radius:50%; top:10px; left:48px; background:var(--v2-accent); box-shadow:0 0 20px #c5f67566; }
.inner-page .competition-hero-code { position:absolute; bottom:4px; font:500 8px var(--font-en); letter-spacing:2px; color:#6f8767; direction:ltr; }
.inner-page .competition-grid { gap:22px; margin-bottom:20px; }
.inner-page .competition-card { display:flex; flex-direction:column; position:relative; border:1px solid #ffffff12; border-radius:8px; background:linear-gradient(135deg,#151e1d,#10171d 80%); box-shadow:none; transition:transform .25s,border-color .25s; }
.inner-page .competition-card::before { content:''; position:absolute; width:180px; height:180px; border:1px solid #bcdf8910; border-radius:50%; left:-55px; top:43px; transform:rotateX(45deg) rotateY(-25deg); pointer-events:none; }
.inner-page .competition-card:hover { border-color:#c5f67555; transform:translateY(-5px); box-shadow:0 20px 40px #0002; }
.inner-page .competition-card-main { position:relative; z-index:1; padding:25px; display:flex; flex-direction:column; align-items:stretch; flex:1; }
.inner-page .competition-card-main:focus-visible { outline-offset:-5px; }
.inner-page .competition-card-top { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.inner-page .competition-number { font:400 13px var(--font-en); color:#526454; direction:ltr; }
.inner-page .competition-status { align-self:flex-start; padding:5px 10px; border:1px solid #ffffff12; border-radius:3px; font-size:9px; color:#8b9b94; background:#ffffff05; }
.inner-page .competition-status.status-open { color:#b8e788; background:#a8df4d0b; border-color:#c5f6752b; }
.inner-page .competition-status.status-running { color:#7fd0d9; background:#70c7d50b; border-color:#70c7d52b; }
.inner-page .competition-card-glyph { font:400 47px var(--font-en); color:#b8da9955; line-height:1; margin-top:30px; align-self:flex-end; text-shadow:3px 3px #182a2077; transform:perspective(500px) rotateY(-20deg) rotateZ(-12deg); }
.inner-page .competition-card-main h3 { color:#e5ecdf; font-size:21px; font-weight:500; margin:15px 0 10px; line-height:1.8; }
.inner-page .competition-card-main > p { color:#7f9098; font-size:11px; line-height:2.2; margin-bottom:4px; }
.inner-page .competition-winner { color:#819388; font-size:10px; line-height:2; margin:22px 0; }
.inner-page .competition-winner i { color:#a5bd7e; font-size:10px; }
.inner-page .competition-card .card-more { display:flex; align-items:center; justify-content:space-between; border-top:1px solid #ffffff0d; padding-top:17px; margin-top:auto; color:#bdcdb2; font-size:10px; }
.inner-page .competition-card .card-more span { color:var(--v2-accent); font-size:22px; line-height:1; }
.inner-page .competition-enroll { margin:0 25px 25px; align-self:flex-start; font-size:10px; }
.inner-page .competition-joined { margin:0 25px 25px; color:#b7e38b; font-size:10px; }

.inner-page .competition-dialog { width:min(720px,calc(100% - 40px)); max-height:88dvh; padding:0; background:#11191e; color:#e4edde; border:1px solid #647d5c65; border-radius:10px; box-shadow:0 35px 140px #000a; scrollbar-color:#41513f #11191e; }
.inner-page .competition-dialog[open] { animation:community-dialog-in .25s ease-out; }
.inner-page .competition-dialog::backdrop { background:#05090cd9; backdrop-filter:blur(11px); }
.inner-page .competition-dialog .dialog-close { position:sticky; display:block; float:left; margin:16px 0 -52px 16px; top:16px; left:auto; z-index:3; width:36px; height:36px; color:#d5e1cd; background:#17231eeb; border:1px solid #bfd99d33; border-radius:50%; box-shadow:0 5px 15px #0003; }
.inner-page .competition-dialog .dialog-close:hover { background:#c5f675; color:#18220c; }
.inner-page .competition-dialog .competition-art { height:190px; position:relative; overflow:hidden; gap:30px; background:radial-gradient(ellipse at 35% 100%,#78964728,transparent 75%),#0c1418; color:#b3d68c; border-bottom:1px solid #ffffff10; }
.inner-page .competition-dialog .competition-art::before,.inner-page .competition-dialog .competition-art::after { content:''; position:absolute; width:350px; height:125px; border:1px solid #c5f67521; border-radius:50%; transform:rotate(-25deg); }
.inner-page .competition-dialog .competition-art::after { transform:rotate(25deg); border-color:#70c7d514; }
.inner-page .competition-dialog .competition-art i { font-size:56px; text-shadow:4px 6px #354825; transform:perspective(500px) rotateY(-25deg) rotateZ(-10deg); }
.inner-page .competition-dialog .competition-art span { color:#809274; font-size:8px; letter-spacing:2px; z-index:1; }
.inner-page .competition-dialog .competition-image { max-height:230px; border-bottom:1px solid #ffffff10; }
.inner-page .competition-dialog .dialog-content { padding:34px; }
.inner-page .competition-dialog h2 { font-size:29px; font-weight:600; line-height:1.8; margin-top:18px; color:#ebf1e5; }
.inner-page .competition-dialog h3 { font-size:15px; font-weight:500; color:#b6c7ad; line-height:2; margin-block:12px; }
.inner-page .competition-information,.inner-page .competition-rules { color:#91a097; font-size:12px; line-height:2.4; }
.inner-page .competition-information p + p { margin-top:10px; }
.inner-page .competition-dates { gap:23px 20px; margin-block:27px; padding:22px; border:1px solid #ffffff0a; background:#0c1318; border-radius:6px; }
.inner-page .competition-dates dt { color:#6e8278; font-size:9px; }
.inner-page .competition-dates dd { color:#c7d4bd; font-size:12px; line-height:1.8; margin-top:10px; overflow-wrap:anywhere; }
.inner-page .competition-dates > div:not(:last-child) dd { direction:ltr; text-align:right; font-family:var(--font-en),var(--font-fa); font-size:11px; }
.inner-page .competition-rules { padding-block:9px 22px; border-color:#ffffff10; margin-bottom:25px; }
.inner-page .competition-dialog .enrollment-form { padding:22px; border:1px solid #c5f67526; border-radius:6px; background:linear-gradient(135deg,#c5f67506,#70c7d503); gap:16px; }
.inner-page .enrollment-form h3 { margin:0; color:#dbe8d1; }
.inner-page .enrollment-form > p { font-size:11px; line-height:2.2; color:#91a28f; }
.inner-page .rules-check { align-items:start; gap:10px; color:#c0cdb6; font-size:11px; line-height:2; }
.inner-page .rules-check input { width:18px; height:18px; margin-top:2px; accent-color:var(--v2-accent); cursor:pointer; }
.inner-page .rules-check label { cursor:pointer; }
.inner-page .membership-success { background:#b8e78809; border:1px solid #c5f67525; color:#bee79b; padding:17px; border-radius:6px; font-size:12px; line-height:2; }
.inner-page .competition-dialog .subtle-text { color:#83948b; font-size:11px; }
.inner-page .competition-dialog :is(button,input,a):focus-visible { outline:2px solid var(--v2-accent); outline-offset:4px; }
@keyframes community-core-float { 0%,100% { transform:translateY(0) rotateY(-23deg) rotateX(13deg) rotateZ(-13deg); } 50% { transform:translateY(-9px) rotateY(-14deg) rotateX(9deg) rotateZ(-9deg); } }
@keyframes community-dialog-in { from { opacity:0; transform:translateY(14px) scale(.98); } to { opacity:1; transform:none; } }
@media(max-width:1100px) {
  .inner-page .auth-layout { gap:45px; }
  .inner-page .auth-card { padding:28px; }
  .inner-page .competition-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .inner-page .competition-heading { padding-inline-end:36%; }
  .inner-page .competition-hero-art { left:0; transform:translateY(-40%) scale(.85); }
}
@media(max-width:820px) {
  .inner-page .auth-layout { gap:32px; grid-template-columns:1fr; padding-block:40px 65px; }
  .inner-page .auth-intro { padding-top:0; }
  .inner-page .auth-intro h1 { font-size:34px; margin-top:24px; }
  .inner-page .auth-intro h1 br { display:none; }
  .inner-page .auth-symbol { display:none; }
  .inner-page .auth-intro-bottom { display:none; }
  .inner-page .auth-intro p { max-width:100%; margin-bottom:15px; font-size:12px; }
  .inner-page .auth-card { max-width:580px; width:100%; justify-self:center; padding:30px; }
  .inner-page .competition-heading { min-height:330px; padding-inline-end:30%; }
  .inner-page .competition-hero-art { left:-25px; opacity:.7; transform:translateY(-35%) scale(.65); }
}
@media(max-width:560px) {
  .inner-page .auth-layout { padding-block:30px 50px; gap:27px; }
  .inner-page .auth-intro h1 { font-size:29px; margin-block:20px 12px; letter-spacing:-1px; }
  .inner-page .auth-intro .text-link { font-size:11px; gap:20px; }
  .inner-page .auth-card { padding:25px 21px; border-radius:7px; }
  .inner-page .auth-card h2 { font-size:22px; margin-top:25px; }
  .inner-page .auth-card-mark { font-size:8px; }
  .inner-page .community-form { gap:19px; }
  .inner-page .community-form .form-field label { font-size:11px; }
  .inner-page .community-form .form-field input { font-size:16px; padding:12px; }
  .inner-page .auth-signup-form { column-gap:12px; }
  .inner-page .auth-switch { font-size:10px; }
  .inner-page .competition-heading { padding-inline-end:20px; min-height:0; padding-bottom:36px; }
  .inner-page .competition-heading > h1 { position:relative; z-index:1; }
  .inner-page .competition-hero-art { display:none; }
  .inner-page .competition-grid { grid-template-columns:1fr; gap:18px; }
  .inner-page .competition-card-main { padding:23px; }
  .inner-page .competition-card-main h3 { font-size:20px; }
  .inner-page .competition-card-glyph { margin-top:25px; font-size:40px; }
  .inner-page .competition-dialog { width:calc(100% - 24px); max-height:92dvh; border-radius:8px; }
  .inner-page .competition-dialog .dialog-content { padding:24px 20px; }
  .inner-page .competition-dialog h2 { font-size:23px; }
  .inner-page .competition-dialog h3 { font-size:14px; }
  .inner-page .competition-dialog .competition-art { height:155px; gap:23px; }
  .inner-page .competition-dialog .competition-art span { font-size:7px; letter-spacing:1px; }
  .inner-page .competition-dialog .competition-art i { font-size:47px; }
  .inner-page .competition-dialog .competition-image { height:180px; }
  .inner-page .competition-dates { grid-template-columns:1fr; padding:19px; gap:19px; }
  .inner-page .competition-dialog .enrollment-form { padding:19px 15px; }
  .inner-page .enrollment-form > .btn { font-size:11px; padding-inline:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .inner-page .auth-symbol-core,.inner-page .competition-dialog[open] { animation:none; }
  .inner-page .competition-card:hover { transform:none; }
}
