:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#e9edfa;background:#0b1020;color-scheme:dark}*{box-sizing:border-box}body{margin:0;padding-bottom:80px}header{max-width:1160px;margin:auto;padding:22px 18px;display:flex;justify-content:space-between;gap:14px;align-items:center}.brand{font-weight:900;letter-spacing:.14em;font-size:14px}.brand span{color:#c6a1ff}.muted,small{color:#9ba9c6}main{max-width:1160px;margin:auto;padding:12px 18px 36px}h1{font-size:clamp(27px,4vw,43px);line-height:1.13;margin:6px 0 14px}h2{font-size:21px;margin:0 0 12px}h3{font-size:16px;margin:0 0 12px}p{line-height:1.55}.card{background:#192338;border:1px solid #303e59;border-radius:19px;padding:20px;margin:0 0 15px;overflow-wrap:anywhere}.hero{padding:30px 24px;background:linear-gradient(135deg,#262647,#162439)}.center{text-align:center}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:13px}.grid>.card{margin:0}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:11px}.field{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#c6d0e4}.field input,.field textarea,.field select,textarea,input,select{width:100%;background:#0c1527;color:#f2f4fa;border:1px solid #43516d;border-radius:12px;padding:13px;font:inherit;min-height:46px}.field textarea{min-height:95px;resize:vertical}button,.btn{border:0;background:#a783e6;color:#151024;border-radius:12px;padding:13px 17px;min-height:44px;font-weight:750;cursor:pointer;font-size:14px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}button:disabled{opacity:.48;cursor:not-allowed}.secondary{background:#303c56;color:#f1f3ff}.danger{background:#753b52;color:#fff}.ghost{background:transparent;color:#c9b6fa;border:1px solid #475270}.tabs{display:flex;gap:7px;overflow-x:auto;padding-bottom:10px;margin:12px 0}.tabs button{white-space:nowrap}.tabs .active{background:#a783e6;color:#18112a}.pill{background:#32405a;border-radius:99px;padding:5px 10px;color:#ded6f7;font-size:12px}.ok{color:#83e6b7}.warn{color:#f8cf7e}.error{color:#ff9d9d}.bottom{position:fixed;bottom:0;left:0;right:0;background:#131b2e;border-top:1px solid #35415c;padding:8px;display:flex;justify-content:space-around;z-index:4}.bottom button{padding:8px 5px;flex:1;font-size:12px;border-radius:10px;min-height:50px}.hidden{display:none!important}#flash{position:sticky;top:0;z-index:9;text-align:center;background:#273657;color:#fff;min-height:0}#flash:not(:empty){padding:10px}a{color:#d6baff}pre{white-space:pre-wrap;overflow-wrap:anywhere}summary{cursor:pointer;padding:10px}details{border:1px solid #354361;border-radius:12px;margin:10px 0;padding:5px 10px}.admin-layout{display:grid;grid-template-columns:225px minmax(0,1fr);gap:18px}.side{position:sticky;top:8px;align-self:start}.side button{width:100%;justify-content:flex-start;margin:3px 0;background:transparent;color:#cbd4e8}.side button.active{background:#3b355f;color:#fff}.admin-content{min-width:0}.item{border-bottom:1px solid #34415a;padding:13px 0}.item:last-child{border:0}.score{font-size:31px;font-weight:900;color:#c8a5ff}.progress{height:9px;border-radius:10px;background:#35415c;overflow:hidden}.progress>div{background:#a783e6;height:100%}.thumb{max-width:100%;max-height:330px;border-radius:10px}.dialog{position:fixed;inset:0;background:#030711dc;display:grid;place-items:center;padding:18px;z-index:20}.dialog>.card{width:min(680px,100%);max-height:88vh;overflow-y:auto}.hide-desktop{display:none}.columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.actions{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.tiny{font-size:12px}.pre{white-space:pre-wrap}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}td,th{padding:10px;text-align:left;border-bottom:1px solid #34415a}input[type=checkbox]{width:auto;min-height:0;accent-color:#b498ee}label.check{display:flex;align-items:flex-start;gap:9px;line-height:1.4}label.check input{margin-top:4px}.grow{flex:1}@media(max-width:750px){header{padding:14px}.admin-layout{display:block}.side{position:static;display:none}.side.open{display:block}.side button{padding:14px}.hide-desktop{display:inline-flex}.columns{grid-template-columns:1fr}.card{padding:15px}.hero{padding:23px 17px}main{padding:8px 12px 28px}.grid{grid-template-columns:1fr}.bottom button{font-size:11px}}

/* Явно интерактивные кнопки */
button,.btn{box-shadow:0 2px 0 rgba(0,0,0,.26);transition:background-color .15s ease,transform .12s ease,box-shadow .15s ease,border-color .15s ease}
button:hover:not(:disabled),.btn:hover{filter:brightness(1.2);box-shadow:0 4px 14px rgba(167,131,230,.28);transform:translateY(-1px)}
button:active:not(:disabled),.btn:active{transform:translateY(1px);box-shadow:0 1px 2px rgba(0,0,0,.35)}
button:focus-visible,.btn:focus-visible{outline:3px solid #f0d5ff;outline-offset:3px}
button.secondary,button.ghost{border:1px solid #8190b4}
button.secondary:hover,button.ghost:hover{border-color:#d7bdff}
@media(prefers-reduced-motion:reduce){button,.btn{transition:none}}

/* Модерация: очередь слева, архив компактными миниатюрами справа */
.review-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(235px,290px);gap:17px;align-items:start}.review-main{min-width:0}.review-archive{min-width:0;position:sticky;top:12px}.review-archive-details{margin:0;padding:0;background:#192338;border:1px solid #4b5877;border-radius:16px;overflow:hidden}.review-archive-details>summary{list-style:none;display:flex;flex-direction:column;gap:6px;padding:16px;cursor:pointer;background:#25334f;color:#f4efff;font-weight:750}.review-archive-details>summary::-webkit-details-marker{display:none}.review-archive-details>summary:after{content:'⌄';position:absolute;right:21px;font-size:20px}.review-archive-details[open]>summary:after{content:'⌃'}.review-archive-details>summary small{font-weight:400}.review-archive-list{display:flex;flex-direction:column;gap:10px;padding:10px;max-height:70vh;overflow:auto}.review-tile{display:flex;gap:9px;background:#121d31;border:1px solid #394b69;border-radius:12px;padding:8px;min-width:0}.review-image{position:relative;flex:none;padding:0;width:79px;height:79px;border-radius:9px;background:#35415f;overflow:hidden;box-shadow:none}.review-mini{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .15s}.review-mini.is-ready{opacity:1}.review-image-fallback{font-size:24px}.review-mini.is-ready+.review-image-fallback{display:none}.review-tile-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.review-tile-info>b,.review-tile-info>small{overflow-wrap:anywhere}.review-state{font-size:12px;font-weight:650}.review-approved{color:#94efc4}.review-revision{color:#ffd08d}.review-edit{margin:5px 0 0;padding:0;border:0}.review-edit>summary{padding:4px 0;font-size:12px;color:#d7baff;text-decoration:underline;cursor:pointer}.review-edit .field{font-size:12px}.review-edit .field input,.review-edit .field select{min-height:38px;padding:8px}.review-edit button{padding:8px;font-size:12px}.review-edit .stack{gap:7px}.review-archive-details>summary:focus-visible,.review-edit>summary:focus-visible{outline:3px solid #dbbdff;outline-offset:-3px}
@media(max-width:950px){.review-layout{grid-template-columns:1fr}.review-archive{position:static}.review-archive-list{max-height:480px}}

/* PLAY_OFF QUEST member v9 */
.entry-wrap{max-width:720px;margin:6vh auto 0;padding:48px 40px 30px;border-radius:28px;border:1px solid #3d4566;background:radial-gradient(circle at 90% 5%,#4b337766,transparent 44%),linear-gradient(145deg,#1d2740,#111a2e);min-height:480px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.entry-logo{font-size:15px;font-weight:950;letter-spacing:.24em}.entry-logo span{color:#bc98ff}.entry-eyebrow,.eyebrow,.quest-kicker{letter-spacing:.17em;text-transform:uppercase;font-size:11px;font-weight:850;color:#b8a1eb}.entry-eyebrow{margin-top:56px}.entry-wrap h1{font-size:clamp(36px,7vw,62px);max-width:540px;margin:15px 0}.entry-wrap>p{max-width:520px;color:#b7c4dc;font-size:16px}.entry-actions{display:flex;flex-wrap:wrap;gap:12px;margin:23px 0 35px;width:100%}.entry-button{min-width:188px;justify-content:space-between;gap:35px;padding:17px 22px}.entry-button span{font-size:19px}.entry-outline{background:transparent;color:#e9ddff;border:1px solid #a783e6}.entry-caption{color:#8797b4;font-size:10px;letter-spacing:.23em}.auth-switch{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.member-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px}.event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:16px}.quest-event{display:flex;flex-direction:column;gap:9px;background:linear-gradient(150deg,#202c46,#182237);border:1px solid #3d506f;border-radius:20px;padding:21px}.quest-event h3{font-size:21px;margin:10px 0 0}.quest-event p{margin:2px 0}.quest-event-top{display:flex;gap:8px;align-items:center;justify-content:space-between}.state-chip{display:inline-flex;align-items:center;white-space:normal;border-radius:999px;padding:7px 11px;background:#35405b;color:#f2e5ff;font-size:12px;font-weight:800}.state-joined{background:#294c49;color:#a3f0d1}.quest-meta{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#b1bdd5;margin:8px 0}.quest-teamname{font-size:14px}.quest-event>button{margin-top:auto;align-self:flex-start}.member-top{display:flex;justify-content:space-between;align-items:center;gap:16px;background:linear-gradient(115deg,#24314e,#1a253c);border:1px solid #3b4866;border-radius:20px;padding:22px;margin-bottom:17px}.member-top h1{font-size:clamp(25px,4vw,38px);margin:8px 0 12px}.member-score{text-align:center;min-width:116px;padding:13px;background:#10192d;border:1px solid #4e4674;border-radius:17px}.member-score .score{font-size:34px}.member-score small{font-size:11px}.status-kpi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:4px 0 16px}.status-kpi>div{display:flex;flex-direction:column;gap:7px;padding:12px;background:#0f1b2f;border:1px solid #344662;border-radius:12px}.status-kpi span{font-size:12px;color:#a9b5ca}.status-kpi b{font-size:13px;line-height:1.4}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quick-grid button{min-width:0;justify-content:flex-start;text-align:left}.section-heading{margin-bottom:15px}.bottom{gap:4px}.bottom button{line-height:1.2}
@media(max-width:600px){.entry-wrap{margin:3vh auto;padding:35px 23px;min-height:65vh}.entry-eyebrow{margin-top:44px}.entry-actions{flex-direction:column}.entry-button{width:100%}.member-top{padding:16px}.member-score{min-width:95px}.member-score .score{font-size:27px}.status-kpi{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr 1fr}.bottom button{font-size:10px;padding:7px 3px}.member-heading{flex-wrap:wrap}}
.point-line{padding:11px 0;border-bottom:1px solid #35415c;display:flex;align-items:center;justify-content:space-between;gap:14px}.point-line:last-child{border-bottom:0}.point-line>div{display:flex;flex-direction:column;gap:5px}.point-positive{color:#99e6bf}.point-negative{color:#ffb1ad}.point-line small{font-size:12px}


/* Контрольная страница подтверждения адреса */
.auth-result-wrap{max-width:680px;margin:5vh auto;padding:42px 35px;border-radius:26px;background:linear-gradient(140deg,#253451,#172238);border:1px solid #516182;display:flex;flex-direction:column;align-items:flex-start;gap:16px;box-shadow:0 15px 45px #050a185c}
.auth-result-wrap h1{font-size:clamp(30px,5.5vw,45px);margin:0}
.auth-result-wrap p{margin:0;color:#d1dcf0;max-width:560px}
.auth-result-icon{display:grid;place-items:center;width:69px;height:69px;border-radius:20px;font-weight:800;font-size:37px}
.auth-result-success{background:#28483f;color:#9ef4c6}.auth-result-warning{background:#583b39;color:#ffd29e}
.auth-result-actions{display:flex;flex-wrap:wrap;gap:10px}
.auth-tip{padding:18px;background:#111d31;border:1px solid #45516b;border-radius:16px;width:100%}
.auth-tip ol{padding-left:23px;line-height:1.9;color:#e5eaf5}.auth-tip p{font-size:13px}
@media(max-width:600px){.auth-result-wrap{margin:3vh auto;padding:27px 20px}}
