/* iFCM · конкурс · экран участника. Цвета брендбука #211c58 / #e41227. */
:root{
  --navy:#211c58;--navy-mid:#2d2870;--navy-deep:#171238;--red:#e41227;
  --t300:#a4a2ba;--t100:#d9d7e4;--t050:#edecf3;--inks:#56527d;
  --paper:#f4f3f8;--card:#fff;--line:#e2e0ec;
  --ok:#14705a;--ok-bg:#dff2ec;--warn:#a5690b;--warn-bg:#fbeed6;--crit:#c40f22;--crit-bg:#fbe0e3;
  --f:'Segoe UI',system-ui,-apple-system,Arial,sans-serif;--mono:'Cascadia Mono',Consolas,monospace;--r:12px;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--paper);color:var(--navy);font-family:var(--f);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
/* анти-чит: запрет выделения на конкурсных экранах */
.noselect{user-select:none;-webkit-user-select:none}
.noselect input,.noselect textarea{user-select:text;-webkit-user-select:text}
h1,h2,h3{margin:0;letter-spacing:-.01em}h1{font-size:28px;line-height:1.12}h2{font-size:21px}h3{font-size:17px}
p{margin:0}a{color:var(--red)}
.wrap{max-width:820px;margin:0 auto;padding:0 20px}
.top{background:var(--navy);color:#fff;position:sticky;top:0;z-index:40;box-shadow:0 2px 14px rgba(33,28,88,.18)}
.top-in{max-width:820px;margin:0 auto;padding:11px 20px;display:flex;align-items:center;gap:14px;min-height:58px}
.brand{display:flex;align-items:center;gap:10px}.brand img{height:24px;display:block}
.brand .bt{font-size:12px;color:var(--t300);line-height:1.25}
.sp{flex:1}
.timer{font-variant-numeric:tabular-nums;font-size:23px;font-weight:700;padding:5px 14px;border-radius:999px;background:rgba(255,255,255,.11)}
.timer.warn{background:var(--warn)}.timer.crit{background:var(--red);animation:pulse 1.1s infinite}
@keyframes pulse{50%{opacity:.55}}
.who{text-align:right;font-size:13px;line-height:1.3}.who b{display:block;font-size:14px}.who span{color:var(--t300)}
.pbar{height:4px;background:rgba(255,255,255,.16)}.pbar>i{display:block;height:100%;background:var(--red);transition:width .25s}
main{padding:26px 0 70px}
.stack{display:grid;gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.card.tight{padding:16px}
.pill{display:inline-block;background:var(--red);color:#fff;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:5px 14px;border-radius:999px}
.chip{display:inline-block;font-size:12px;font-weight:700;padding:3px 11px;border-radius:999px}
.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.crit{background:var(--crit-bg);color:var(--crit)}.chip.mute{background:var(--t050);color:var(--inks)}
.muted{color:var(--inks)}.small{font-size:13.5px}.tiny{font-size:12px}.center{text-align:center}
.btn{font:inherit;font-weight:700;cursor:pointer;padding:12px 26px;border-radius:10px;border:1px solid transparent;background:var(--navy);color:#fff;transition:filter .14s}
.btn:hover:not(:disabled){filter:brightness(1.18)}.btn:disabled{opacity:.4;cursor:not-allowed}
.btn.red{background:var(--red)}.btn.ghost{background:transparent;color:var(--navy);border-color:var(--t100)}
.btn.sm{padding:8px 16px;font-size:13.5px;border-radius:8px}
label.fl{display:block;font-size:13px;font-weight:700;margin-bottom:6px;color:var(--inks)}
input[type=text],input[type=number],textarea{font:inherit;width:100%;padding:11px 14px;border:1px solid var(--t100);border-radius:9px;background:#fff;color:var(--navy)}
textarea{min-height:110px;resize:vertical;line-height:1.5}
input:focus,textarea:focus{border-color:var(--navy);outline:2px solid transparent}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.opts{display:grid;gap:9px;margin-top:16px}
.opt{display:flex;gap:13px;align-items:flex-start;padding:13px 16px;border:1px solid var(--t100);border-radius:10px;background:#fff;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:border-color .12s,background .12s}
.opt:hover{border-color:var(--inks);background:#fcfcfe}
.opt .mk{flex:none;width:25px;height:25px;border-radius:50%;border:2px solid var(--t300);display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700;color:var(--inks);margin-top:1px}
.opt.multi .mk{border-radius:7px}
.opt.sel{border-color:var(--navy);background:#f6f5fc}.opt.sel .mk{background:var(--navy);border-color:var(--navy);color:#fff}
pre.code{font-family:var(--mono);font-size:12.5px;line-height:1.5;background:var(--navy-deep);color:#e7e6f2;padding:16px 18px;border-radius:10px;overflow-x:auto;margin:15px 0 0;white-space:pre}
.steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.step{display:flex;align-items:center;gap:9px;padding:9px 15px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13.5px}
.step .n{width:21px;height:21px;border-radius:50%;background:var(--t100);color:var(--inks);display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700}
.step.on{border-color:var(--navy)}.step.on .n{background:var(--navy);color:#fff}
.step.done{border-color:var(--ok)}.step.done .n{background:var(--ok);color:#fff}
.step.lock{opacity:.6}
.score-hero{background:var(--navy);color:#fff;border-radius:var(--r);padding:28px 30px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.score-hero .big{font-size:54px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.score-hero .of{font-size:16px;color:var(--t300)}
.note{border-left:4px solid var(--red);background:#fff;border-radius:0 var(--r) var(--r) 0;padding:16px 20px;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.blockcard{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px}
.blockcard.locked{opacity:.75}
.blockcard .bt2{font-size:12px;color:var(--inks)}
.cd{font-variant-numeric:tabular-nums;font-weight:700}
/* водяной знак — мешает делиться скриншотом/фото */
#wm{position:fixed;inset:0;z-index:30;pointer-events:none;overflow:hidden;opacity:.06;display:none}
#wm .m{position:absolute;font-size:18px;color:var(--navy);white-space:nowrap;transform:rotate(-30deg);font-weight:700}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--navy);color:#fff;padding:11px 20px;border-radius:10px;font-size:14px;z-index:60;box-shadow:0 8px 24px rgba(0,0,0,.2);opacity:0;transition:opacity .2s}
.toast.show{opacity:1}
@media(max-width:620px){.grid2{grid-template-columns:1fr}.blockcard{grid-template-columns:1fr}.score-hero .big{font-size:42px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
