:root{--bg-1: #071425;--bg-2: #142a43;--bg-3: #293f5e;--panel: rgba(10, 15, 26, .82);--panel-soft: rgba(255, 255, 255, .07);--line: rgba(255, 255, 255, .18);--text: #edf6ff;--muted: #b8cce4;--accent: #73d6ff;--accent-2: #ffd77e;--good: #8ff0ba;--danger: #ffb2a3}*{box-sizing:border-box}body{margin:0;color:var(--text);font-family:Avenir Next,Trebuchet MS,Gill Sans,sans-serif;background:radial-gradient(circle at 15% 10%,rgba(118,223,255,.15),transparent 28%),radial-gradient(circle at 85% 75%,rgba(255,219,134,.18),transparent 32%),linear-gradient(150deg,var(--bg-1),var(--bg-2) 45%,var(--bg-3));min-height:100vh}button,input,select{font:inherit}h1,h2,h3,h4,p{margin:0}.app{min-height:100vh;padding:1rem;display:grid;gap:1rem;align-content:start;justify-content:center}.switchRow{width:min(1100px,100%);display:flex;gap:.6rem}.switchRow button{border:1px solid var(--line);background:#ffffff14;color:var(--text);border-radius:11px;padding:.6rem 1rem}.switchRow button.active{border-color:#92e3ff73;background:linear-gradient(90deg,#75dbff,#a7f3ff);color:#0b2436;font-weight:700}.switchRow .adminSwitch{margin-left:auto;background:transparent;border-style:dashed;font-size:.82rem;opacity:.72}.switchRow .adminSwitch.active{background:#ffffff24;color:var(--text);border-color:#92e3ff66}.card,.panel{border:1px solid var(--line);border-radius:18px;background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 16px 42px #00000059}.card{width:min(1100px,100%);padding:1rem;display:grid;gap:.85rem}.panel{padding:.85rem}.leadCopy{color:var(--muted);line-height:1.5}.form{display:grid;gap:.45rem}label{color:var(--muted);font-size:.9rem}input,select{padding:.55rem .65rem;border:1px solid var(--line);border-radius:10px;background:#ffffff1a;color:var(--text)}input::placeholder{color:#edf6ff73}select option{color:#111}button,.linkButton{padding:.5rem .9rem;border:1px solid var(--line);border-radius:10px;cursor:pointer;background:#ffffff1a;color:var(--text);text-decoration:none}button:hover,.linkButton:hover{border-color:#92e3ff80}button:disabled{opacity:.45;cursor:not-allowed}.row{margin-top:.45rem;display:flex;gap:.5rem;flex-wrap:wrap}.missionHeader{display:grid;gap:.7rem;background:#ffffff0f}.missionHeaderTop{display:grid;grid-template-columns:1fr auto;gap:.7rem;align-items:start}.missionTitle{font-size:1.1rem;margin-bottom:.2rem}.missionSub{color:var(--muted)}.timerBox{min-width:170px;border:1px solid var(--line);border-radius:12px;padding:.5rem .6rem;background:#ffffff14}.timerBox small{display:block;color:var(--muted);margin-bottom:.25rem}.timerBox strong{font-size:1.15rem;letter-spacing:1px}.timerDanger strong{color:var(--danger)}.timerTrack{margin-top:.35rem;height:6px;border-radius:8px;background:#fff3;overflow:hidden}.timerFill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.chips{display:flex;flex-wrap:wrap;gap:.4rem}.chip{border:1px solid var(--line);border-radius:999px;padding:.24rem .58rem;font-size:.78rem;color:#d8ecff;background:#ffffff14}.error{color:#ffd7cc;background:#ff624b1f;border:1px solid rgba(255,135,117,.35);border-radius:10px;padding:.55rem .65rem}.notice{color:#d9ffe7;background:#56da9126;border:1px solid rgba(120,240,177,.35);border-radius:10px;padding:.55rem .65rem}.hintCopy{color:var(--muted);font-size:.84rem;margin-bottom:.5rem}.statusRow{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.55rem}.statusBadge{border:1px solid var(--line);border-radius:999px;padding:.2rem .55rem;font-size:.76rem;color:#cde4fa;background:#ffffff14}.statusDone{border-color:#78f0b166;color:#d9ffe7;background:#56da9126}.statusLive{border-color:#92e3ff73;color:#def6ff;background:#4db6ff2e}.rankingPanel h3{margin-bottom:.55rem}.rankingList{list-style:none;padding:0;margin:0;display:grid;gap:.52rem}.rankingRow{border:1px solid var(--line);border-radius:12px;padding:.5rem .6rem;background:#ffffff0d;display:flex;justify-content:space-between;align-items:center;gap:.8rem;transition:border-color .12s ease,background .12s ease,transform .12s ease}.rankingRow.dragSource{opacity:.55}.rankingRow.dragOver{border-color:#92e3ffbf;background:#6fd1ff24;transform:translateY(-1px)}.rankMeta{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:.5rem}.rankBadge{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#ffffff24;font-weight:700}.rankingName{font-size:.93rem}.rowActions{display:flex;gap:.35rem}.rowActions button{min-width:34px;padding:.34rem .45rem}.plainList{padding-left:1.1rem;margin:.4rem 0 0;display:grid;gap:.25rem}.tableWrap{width:100%;overflow-x:auto}.table{width:100%;border-collapse:collapse;margin-top:.4rem;font-size:.88rem}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;padding:.5rem .45rem;vertical-align:top}.table th{color:var(--muted);font-weight:600}.resultsPanel{display:grid;gap:.7rem}.scoreCards{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:.5rem}.scoreCard{border:1px solid var(--line);border-radius:12px;background:#ffffff0f;padding:.55rem .65rem;display:grid;gap:.2rem}.scoreCard small{color:var(--muted)}.scoreCard strong{font-size:1.3rem;line-height:1.1}.scoreCard span{color:#d4e7fb;font-size:.78rem}.scorePrimary{border-color:#92e3ff73;background:linear-gradient(160deg,#369fd447,#ffffff0f)}.deltaBadge{min-width:34px;display:inline-grid;place-items:center;border-radius:999px;border:1px solid var(--line);padding:.05rem .45rem}.deltaPerfect{border-color:#78f0b18c;color:#d9ffe7;background:#56da9133}.rowPerfect td{background:#56da9114}.printMeta{display:grid;gap:.25rem}.comparePanel{display:grid;gap:.45rem}.comparePanel h4{color:var(--muted)}.compareTable td,.compareTable th{font-size:.82rem}hr{border:0;border-top:1px solid var(--line);margin:.3rem 0 .15rem}.printCard{max-width:980px}@media(max-width:860px){.missionHeaderTop{grid-template-columns:1fr}.timerBox{min-width:0;width:100%}}@media(max-width:700px){.app{padding:.55rem}.card,.panel{border-radius:12px}.card{padding:.75rem}.switchRow{display:grid;grid-template-columns:1fr 1fr}.switchRow .adminSwitch{grid-column:span 2;margin-left:0}.rankingRow{flex-direction:column;align-items:stretch;gap:.45rem}.rowActions{width:100%;display:grid;grid-template-columns:1fr 1fr}.rowActions button,.switchRow button,button,.linkButton{width:100%;justify-content:center}.scoreCards{grid-template-columns:1fr}}@media print{.noPrint,.switchRow{display:none}body{background:#fff;color:#111;font-family:Times New Roman,serif}.app{padding:0}.card,.panel,.rankingRow{border:0;box-shadow:none;background:#fff;color:#111}.table th,.table td{color:#111;border-color:#bbb}}
