:root{--bg:#07131f;--panel:#0d2232;--panel-2:#102a3c;--text:#f5f8fb;--muted:#9cb0c1;--line:rgba(255,255,255,.12);--yellow:#ffbd4a;--blue:#53c7f5;--green:#62dca5;--red:#ff7d7d;--shadow:0 22px 55px rgba(0,0,0,.28);font-family:Aptos,"Segoe UI",Arial,sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100svh;color:var(--text);background:radial-gradient(circle at 8% 16%,#0e3c55 0,transparent 30rem),radial-gradient(circle at 92% 80%,#153a50 0,transparent 33rem),linear-gradient(145deg,#06121e,#0a1e2d 50%,#071722);font-size:16px}button,input,textarea,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}.snow{position:fixed;inset:0;opacity:.22;pointer-events:none;background-image:radial-gradient(circle,#fff 0 1.2px,transparent 1.4px),radial-gradient(circle,#bce8ff 0 1px,transparent 1.2px);background-size:74px 74px,113px 113px;background-position:0 0,31px 52px;mask-image:linear-gradient(#000,transparent 88%)}.site-header{position:relative;z-index:3;max-width:1160px;margin:auto;padding:18px 22px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.08);color:#bdeaff;font-size:22px}.brand small{display:block;color:#aee5ff;font-size:11px;font-weight:800;letter-spacing:.2em}.brand strong{display:block;margin-top:2px}.moderation-link{color:#aab9c6;text-decoration:none;font-size:14px;font-weight:700;padding:11px 8px}.app-shell{position:relative;z-index:2;max-width:1160px;margin:auto;padding:30px 22px 70px}.welcome-grid{min-height:calc(100svh - 155px);display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:72px}.eyebrow,.status-pill{display:inline-flex;align-items:center;border:1px solid rgba(255,189,74,.3);border-radius:99px;background:rgba(255,189,74,.09);color:#ffd68e;padding:8px 12px;font-size:14px;font-weight:750}.welcome-copy h1{margin:23px 0 0;font-size:clamp(46px,7vw,86px);line-height:.94;letter-spacing:-.055em}.welcome-copy h1 em{color:var(--yellow);font-style:normal}.intro{max-width:620px;color:#c3d1dc;font-size:19px;line-height:1.65}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:570px;margin-top:30px}.facts span{padding:14px 10px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.045);text-align:center;color:#91a8ba;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.facts b{display:block;color:#fff;font-size:22px;letter-spacing:0}.panel{border:1px solid var(--line);border-radius:24px;background:linear-gradient(155deg,rgba(20,51,72,.97),rgba(7,23,35,.97));box-shadow:var(--shadow);backdrop-filter:blur(16px)}.join-panel{padding:28px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.panel-heading small,.dialog-head small{color:var(--green);font-size:12px;font-weight:850;letter-spacing:.18em}.panel-heading h2,.dialog-head h2{margin:4px 0 0;font-size:28px;letter-spacing:-.025em}.heading-icon{display:grid;place-items:center;width:49px;height:49px;border-radius:17px;background:rgba(98,220,165,.12);color:var(--green);font-size:24px;font-weight:900}.join-panel label,.field-label{display:block;margin:0 0 8px;color:#d7e2eb;font-size:14px;font-weight:750}input,textarea,select{width:100%;border:1px solid rgba(255,255,255,.16);border-radius:13px;background:#071725;color:#fff;padding:14px 15px;outline:0;min-height:50px}textarea{resize:vertical;min-height:92px}input:focus,textarea:focus,select:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(255,189,74,.15)}.button{min-height:52px;border:0;border-radius:13px;padding:12px 18px;font-weight:850;display:inline-flex;align-items:center;justify-content:center;gap:10px}.button.primary{width:100%;margin-top:14px;background:var(--yellow);color:#122131;box-shadow:0 10px 28px rgba(255,189,74,.16)}.button.primary:hover{background:#ffd06f}.button.secondary{background:rgba(255,255,255,.09);color:#fff;border:1px solid var(--line)}.button.success{background:var(--green);color:#08261b}.button.danger{background:rgba(255,91,91,.13);color:#ffb3b3;border:1px solid rgba(255,91,91,.25)}.button:disabled{opacity:.48;cursor:not-allowed}.form-note{color:#8fa4b6;font-size:14px;line-height:1.5;text-align:center}.error{color:#ffadad;font-size:14px;min-height:18px}.team-screen{max-width:820px;margin:18px auto 0}.team-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.team-id{display:flex;align-items:center;gap:12px}.team-badge{width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 5px color-mix(in srgb,currentColor 14%,transparent)}.team-id small{display:block;color:var(--muted);font-weight:750}.team-id h1{margin:1px 0 0;font-size:25px}.score{font-size:14px;color:var(--muted);font-weight:750}.score b{color:#fff;font-size:20px}.game-grid{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px}.game-card{padding:25px}.side-card{padding:20px}.step-label{color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.17em}.game-card h2{font-size:clamp(25px,5vw,38px);line-height:1.15;letter-spacing:-.025em;margin:10px 0 20px}.email-card{overflow:hidden;border-radius:15px;border:1px solid var(--line);background:#f4f7fa;color:#152331;margin:16px 0 22px}.email-bar{height:9px;background:#dce4ea}.email-meta{padding:14px 16px;border-bottom:1px solid #dbe2e8;font-size:13px;line-height:1.55}.email-meta strong{color:#0c516e}.email-body{padding:16px;font-size:14px;line-height:1.6}.risk-flag{display:inline-block;margin-top:10px;padding:4px 8px;border-radius:6px;background:#ffe5e5;color:#a82020;font-weight:800;font-size:12px}.safe-flag{background:#e1f7eb;color:#11633b}.answers{display:grid;gap:10px}.answer{position:relative;text-align:left;min-height:57px;padding:14px 15px 14px 48px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.045);color:#eaf1f6;font-weight:650;line-height:1.4}.answer::before{content:attr(data-letter);position:absolute;left:14px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:rgba(255,255,255,.1);font-size:12px}.answer.selected{border-color:var(--yellow);background:rgba(255,189,74,.1);box-shadow:0 0 0 2px rgba(255,189,74,.09)}.leader-note{margin:17px 0 0;color:#a9bac8;font-size:14px;line-height:1.5}.leader-note strong{color:var(--yellow)}.members{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:9px}.members li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 11px;border-radius:11px;background:rgba(255,255,255,.05);font-size:14px}.crown{color:var(--yellow)}.target-card{overflow:hidden;margin-bottom:18px}.target-image{position:relative;aspect-ratio:16/10;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#17425a,#0b2638);border:1px solid var(--line)}.target-image img{width:100%;height:100%;object-fit:cover}.target-placeholder{height:100%;display:grid;place-items:center;padding:25px;color:#9fb5c5;text-align:center;font-weight:750}.tiles{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr)}.tile{background:linear-gradient(145deg,#0c2434,#102f43);border-right:1px solid rgba(255,255,255,.07);transition:opacity .5s}.tile.revealed{opacity:0}.reveal-copy{display:flex;justify-content:space-between;margin-top:10px;color:var(--muted);font-size:13px;font-weight:700}.progress-dots{display:flex;gap:6px}.progress-dots i{width:22px;height:6px;border-radius:9px;background:rgba(255,255,255,.12)}.progress-dots i.on{background:var(--yellow)}.waiting{text-align:center;padding:38px 22px}.waiting-icon{font-size:54px}.waiting h2{font-size:29px;margin:15px 0 8px}.waiting p{color:#a9bdcc;line-height:1.6}.route-card{text-align:center}.location-photo{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:17px;border:1px solid var(--line);background:#0b1b28}.photo-placeholder{display:grid;place-items:center;aspect-ratio:16/9;border-radius:17px;background:linear-gradient(145deg,#193f55,#0a2232);color:#9fb5c6;padding:20px}.route-card h2{margin-bottom:8px}.route-card .clue{color:#afc1ce;line-height:1.6;margin-bottom:18px}.big-pin{font-size:48px}.message-banner{margin:0 0 16px;padding:13px 15px;border-left:4px solid var(--green);border-radius:10px;background:rgba(98,220,165,.09);color:#c7f7e1;font-size:14px;line-height:1.5}.finished{padding:35px;text-align:center}.finished .trophy{font-size:62px}.finished h2{font-size:37px;margin:12px 0}.scanner-dialog{width:min(540px,calc(100% - 24px));border:1px solid var(--line);border-radius:22px;background:#0a1d2b;color:#fff;padding:20px;box-shadow:var(--shadow)}.scanner-dialog::backdrop{background:rgba(0,7,13,.78);backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:15px}.icon-button{width:44px;height:44px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.07);color:#fff;font-size:27px}.scanner-dialog video{border-radius:15px}.toast{position:fixed;z-index:20;left:50%;bottom:max(22px,env(safe-area-inset-bottom));transform:translate(-50%,130%);width:min(520px,calc(100% - 28px));padding:14px 17px;border:1px solid var(--line);border-radius:14px;background:#102b3d;color:#fff;box-shadow:var(--shadow);font-weight:700;transition:transform .25s}.toast.show{transform:translate(-50%,0)}.toast.bad{border-color:rgba(255,125,125,.4);background:#3a2028}.hidden{display:none!important}
@media(max-width:800px){.welcome-grid{grid-template-columns:1fr;gap:35px;min-height:0}.welcome-copy h1{font-size:clamp(44px,13vw,66px)}.game-grid{grid-template-columns:1fr}.side-card{order:-1}.target-card{display:grid;grid-template-columns:150px 1fr;gap:15px;align-items:center}.target-image{aspect-ratio:1}.reveal-copy{display:block}.progress-dots{margin-top:8px}.members{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.site-header{padding:14px 16px}.app-shell{padding:18px 14px 55px}.brand-mark{width:39px;height:39px}.moderation-link{font-size:12px}.welcome-copy h1{margin-top:18px}.intro{font-size:17px}.facts{margin-top:22px}.join-panel,.game-card{padding:20px}.panel{border-radius:19px}.team-top{align-items:flex-start}.game-grid{gap:12px}.target-card{grid-template-columns:118px 1fr;padding:14px}.side-card{padding:15px}.members{grid-template-columns:1fr}.button{min-height:55px}.answer{min-height:61px}.score{text-align:right}.team-id h1{font-size:21px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.blur-target{isolation:isolate}.blurred-target{filter:blur(var(--target-blur));transform:scale(1.14);transition:filter .65s ease,transform .65s ease}.hackaton-card{text-align:center;padding:42px 28px}.hackaton-icon{font-size:58px;margin-bottom:13px}.hackaton-card .intro{margin-left:auto;margin-right:auto}.hackaton-status{display:inline-flex;align-items:center;gap:9px;margin-top:20px;padding:10px 14px;border:1px solid rgba(98,220,165,.22);border-radius:99px;background:rgba(98,220,165,.08);color:#c9f4df;font-size:14px;font-weight:750}.hackaton-status span{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(98,220,165,.1)}
@media(prefers-reduced-motion:reduce){.blurred-target{transition:none}}
