:root{--navy: #172c42;--navy-2: #0f2033;--navy-3: #243f5c;--coral: #e34d35;--coral-soft: #ff7d62;--gold: #d6a126;--blue: #3478b9;--paper: #f3f0e9;--surface: #fffdf8;--ink: #182331;--muted: #64717d;--line: #d8d9d6;--green: #25735b;--amber: #e7b449;--radius: 14px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--paper);color:var(--ink);line-height:1.5;-webkit-text-size-adjust:100%}h1{font-size:clamp(1.4rem,4vw,1.9rem);margin:0 0 .5rem;letter-spacing:-.03em}h2{letter-spacing:-.03em}a{color:var(--coral)}code{background:#e8ecef;padding:0 .3rem;border-radius:4px}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:#b3261e;font-weight:600}.score{float:right;color:var(--coral);font-weight:900;font-size:1.2rem}.shell{min-height:100vh;display:grid;grid-template-columns:1fr;padding-bottom:4.5rem}.main-col{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem 1.1rem;padding-top:calc(.7rem + env(safe-area-inset-top));background:var(--navy);color:#fff;border-bottom:3px solid var(--gold)}.brand{text-transform:uppercase;letter-spacing:.14em;font-size:.85rem}.role-chip{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;padding:.3rem .6rem;border:1px solid rgba(255,255,255,.3);border-radius:6px;color:#ffb9a7}.content{flex:1;width:100%;max-width:1050px;margin:0 auto;padding:1.1rem;animation:rise .3s ease}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.content,.tile,.dot-live{animation:none!important;transition:none!important}}.nav{position:fixed;z-index:20;bottom:0;left:0;right:0;display:flex;overflow-x:auto;gap:.25rem;padding:.4rem .5rem;padding-bottom:calc(.4rem + env(safe-area-inset-bottom));background:var(--navy-2);border-top:2px solid var(--gold);scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav a,.linklike{flex:0 0 auto;padding:.6rem .85rem;border-radius:10px;color:#b8c7d6;text-decoration:none;font-size:.88rem;font-weight:700;background:none;border:0;cursor:pointer;white-space:nowrap}.nav a.active{background:var(--coral);color:#fff}.nav-sep{display:none}@media (min-width: 900px){.shell{grid-template-columns:230px 1fr;padding-bottom:0}.nav{position:sticky;top:0;height:100vh;grid-row:1;grid-column:1;flex-direction:column;overflow-y:auto;border-top:0;border-right:2px solid var(--gold);padding:1rem .75rem;gap:.2rem}.nav a,.linklike{width:100%;text-align:left;padding:.65rem .9rem}.nav-sep{display:block;margin:.6rem .9rem .2rem;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#6f8aa5;font-weight:800}.main-col{grid-column:2;grid-row:1}.linklike{margin-top:auto;border:1px solid rgba(255,255,255,.18)}}.hero{background:var(--navy);color:#fff;border-radius:var(--radius);padding:1.5rem 1.25rem;position:relative;overflow:hidden;margin-bottom:1rem}.hero:after{content:"";position:absolute;width:280px;height:280px;border:46px solid rgba(255,255,255,.06);border-radius:50%;right:-90px;top:-120px;pointer-events:none}.hero .topline{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#ffb9a7}.stamp{border:1px solid rgba(255,255,255,.3);padding:.3rem .5rem;border-radius:5px}.hero h1{font-size:clamp(2.2rem,8vw,4rem);line-height:.94;letter-spacing:-.06em;margin:1rem 0 .75rem;font-weight:900}.hero h1 span{color:var(--coral-soft)}.hero p{color:#d5dfe8;max-width:620px;margin:0}.pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.pill{border-radius:999px;padding:.4rem .75rem;background:#ffffff1a;font-size:.82rem}.dot-live{display:inline-block;width:8px;height:8px;border-radius:50%;background:#49c78b;margin-right:.4rem;animation:pulse 1.8s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.center-screen{min-height:100vh;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at 80% -10%,var(--navy-3),var(--navy-2) 60%)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;width:min(440px,100%);display:grid;gap:.8rem;box-shadow:0 5px 16px #1823310f}.content .card{width:100%}.card.warn{border-color:var(--amber);background:#fff5d9}.card h1{margin-bottom:0}label{display:grid;gap:.3rem;font-size:.83rem;font-weight:800;color:var(--ink)}input,textarea,select{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:.7rem .8rem;font:inherit;width:100%}input:focus,textarea:focus,select:focus,.btn:focus-visible,.nav a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.btn{display:inline-block;background:var(--coral);color:#fff;border:0;border-radius:10px;padding:.7rem 1rem;font-weight:800;cursor:pointer;text-decoration:none;text-align:center;transition:filter .15s,transform .15s}.btn:hover{filter:brightness(.95)}.btn:active{transform:translateY(1px)}.btn.sm{padding:.4rem .7rem;font-size:.85rem}.btn:disabled{opacity:.5;cursor:not-allowed}.banner{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;padding:.6rem 1.1rem;background:#e8f2ed;color:#1e5c46;font-size:.9rem}.banner.warn{background:#fff5d9;color:#59441a;border-left:4px solid var(--amber)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem}.tile{display:block;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--coral);border-radius:var(--radius);padding:1.1rem 1rem;text-decoration:none;color:var(--ink);font-weight:800;transition:transform .15s,box-shadow .15s}.tile:nth-child(2n){border-top-color:var(--gold)}.tile:nth-child(3n){border-top-color:var(--blue)}.tile:hover{transform:translateY(-2px);box-shadow:0 8px 20px #1823311a}.list{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}.list li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem}.list a{color:var(--ink);text-decoration:none}.empty{border:2px dashed var(--line);border-radius:var(--radius);padding:2rem 1rem;text-align:center;color:var(--muted);background:var(--surface)}.scroll{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;font-size:.85rem}th{text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;color:var(--muted)}th,td{text-align:left;padding:.55rem .75rem;border-bottom:1px solid var(--line)}.team-dot{display:inline-block;width:13px;height:13px;border-radius:50%;margin-right:.5rem;vertical-align:middle}.team-dot.rojo{background:var(--coral)}.team-dot.azul{background:var(--blue)}.team-dot.oro{background:var(--gold)}.chat{display:grid;gap:.75rem;margin-bottom:1rem}.bubble{border-radius:var(--radius);padding:.8rem 1rem;max-width:100%}.bubble.user{background:var(--navy);color:#fff;justify-self:end}.bubble.assistant{background:var(--surface);border:1px solid var(--line)}.bubble pre{margin:0 0 .5rem;white-space:pre-wrap;font:inherit}.row{display:flex;gap:.5rem;align-items:flex-end;flex-wrap:wrap}.row textarea{flex:1 1 220px}fieldset.teams{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}fieldset.teams legend{font-size:.83rem;font-weight:800;margin-bottom:.3rem;padding:0}.team-opt{display:flex;align-items:center;justify-content:center;gap:.4rem;border:2px solid;border-radius:10px;padding:.65rem .25rem;cursor:pointer;background:#fff}.team-opt.on{background:#f3f0e9;box-shadow:inset 0 0 0 1px currentColor}.team-opt input{width:auto}:root{--team: var(--coral);--team-ink: #fff}.btn{background:var(--team);color:var(--team-ink)}.btn.ghost{background:#e8ecef;color:#1b2c3d}.nav a.active{background:var(--team);color:var(--team-ink)}.topbar{border-bottom-color:var(--team)}.role-chip{border-color:var(--team)}.tile{border-top-color:var(--team)}.tile:nth-child(2n),.tile:nth-child(3n){border-top-color:var(--team)}.score{color:var(--ink)}.ok{color:var(--green);font-weight:600}.countdowns{display:grid;gap:.8rem;grid-template-columns:1fr;margin-bottom:1rem}@media (min-width: 700px){.countdowns{grid-template-columns:1fr 1fr}}.countdown{background:var(--navy);color:#fff;border-radius:var(--radius);padding:1rem 1.25rem;border-left:5px solid var(--team);margin-bottom:1rem}.countdowns .countdown{margin-bottom:0}.countdown-label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#cbd5df;font-weight:800}.countdown-value{font-size:clamp(1.8rem,7vw,2.8rem);font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:.02em;line-height:1.15}.countdown.big .countdown-value{font-size:clamp(2rem,9vw,3.4rem)}.countdown-note{color:#ffb9a7;font-size:.85rem;margin-top:.2rem}.content .card+.card,.grid+.card{margin-top:1rem}.two{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.player-row{display:grid;grid-template-columns:1fr;gap:.5rem;align-items:center}@media (min-width: 700px){.player-row{grid-template-columns:1fr 200px auto auto}}.pos{color:var(--green);font-weight:800}.neg{color:#b3261e;font-weight:800}.warn-text{color:#8a5a00;font-weight:600}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.grow{flex:1 1 200px}.stack{display:grid;gap:.7rem}label.check{display:flex;gap:.6rem;align-items:flex-start;font-weight:600}label.check input{width:auto;margin-top:.25rem;flex:0 0 auto}.btn.danger,.btn.ghost.danger{background:#fbe4e1;color:#8f1d14}.btn.danger:not(.ghost):not(.ghost){background:#b3261e;color:#fff}.danger-box{border:2px solid #b3261e;background:#fff3f1;border-radius:12px;padding:.9rem 1rem;display:grid;gap:.6rem}.badge{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.15rem .5rem;border-radius:999px;background:#e8ecef;color:#3b4b5a;vertical-align:middle}.badge.st-done{background:#dff1e8;color:var(--green)}.pills.dark .pill{background:#e8ecef;color:var(--ink)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.7rem;margin:1rem 0}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.8rem 1rem;display:grid}.stat span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800}.stat strong{font-size:1.8rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.scorebars{list-style:none;padding:0;margin:0;display:grid;gap:.8rem}.scorebars li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.8rem 1rem}.sb-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.sb-pos{font-weight:900;font-size:1.3rem;min-width:1.6rem;color:var(--muted)}.sb-pts{margin-left:auto;font-size:1.5rem;font-weight:900;font-variant-numeric:tabular-nums}.sb-bar{height:12px;background:#e8ecef;border-radius:99px;margin-top:.5rem;overflow:hidden}.sb-bar span{display:block;height:100%;border-radius:99px;transition:width .6s ease}.event{border-left:5px solid var(--line)}.event-head{display:flex;justify-content:space-between;gap:.6rem;align-items:baseline;flex-wrap:wrap}.group-title{font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:1.2rem 0 .5rem}.mission-row{display:flex;justify-content:space-between;align-items:center;gap:.6rem;color:var(--ink);text-decoration:none;flex-wrap:wrap}.mission-row h1{margin:0}.hints{margin:.4rem 0;padding-left:1.2rem;display:grid;gap:.3rem}.hint-row{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:end}.big-number{font-size:2.6rem;font-weight:900;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.team-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.8rem;margin-bottom:1rem}.team-card{background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--line);border-radius:var(--radius);padding:1rem}.members{list-style:none;padding:0;margin:.4rem 0 0;color:var(--muted);font-size:.88rem}.tabs{display:flex;gap:.4rem;margin-bottom:1rem;overflow-x:auto}.tabs button{background:#e8ecef;border:0;border-radius:10px;padding:.6rem 1rem;font-weight:800;cursor:pointer;color:#1b2c3d;white-space:nowrap}.tabs button.on,.tabs button[aria-selected=true]{background:var(--navy);color:#fff}.mission-admin .mission-row{align-items:flex-start}.submission{border-left:5px solid var(--line);display:grid;gap:.6rem}.evidence{max-width:100%;max-height:320px;border-radius:10px;border:1px solid var(--line)}.player-card{border-left:5px solid var(--line);display:grid;gap:.6rem}.player-head{display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap;align-items:center}.list.compact li{padding:.5rem .75rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.swatch,.sw{display:inline-block;width:14px;height:14px;border-radius:4px;flex:0 0 auto}.sw{border:3px solid;background:transparent}.sw.hatch{opacity:.6}.map-layout{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width: 900px){.map-layout{grid-template-columns:1fr 340px;align-items:start}}.map-wrap{position:relative}.map-box{width:100%;height:60vh;min-height:320px;border-radius:var(--radius);border:1px solid var(--line);overflow:hidden;z-index:0;background:#dfe6ea}.map-error{padding:1rem;color:#b3261e;font-weight:600}.map-side{display:grid;gap:.8rem}.vertices{padding-left:1.2rem;margin:0;font-size:.85rem;display:grid;gap:.25rem}.legend{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem 1rem;padding:0;margin:.6rem 0 0;font-size:.85rem;color:var(--muted)}.og-pin-wrap,.og-vertex-wrap{background:none;border:0}.og-pin{width:100%;height:100%;border-radius:50% 50% 50% 8%;transform:rotate(-45deg);border:2px solid #fff;box-shadow:0 2px 6px #0006;display:grid;place-items:center;color:#fff;font-size:13px;font-weight:800}.og-pin>*{transform:rotate(45deg)}.og-vertex{width:100%;height:100%;border-radius:50%;background:#fff;border:3px solid var(--navy);box-shadow:0 1px 4px #0006}.leaflet-container{font:inherit}.radar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:1rem;background:#08121ec7;animation:fade .25s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.radar-card{background:var(--surface);width:min(460px,100%);max-height:94vh;overflow-y:auto;border-radius:18px;padding:1.2rem;display:grid;gap:.7rem;border-top:6px solid var(--radar, var(--coral));text-align:center}.radar-card h2{margin:0}.radar-sweep{position:relative;width:70px;height:70px;margin:0 auto}.radar-sweep span{position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid var(--radar, var(--coral));border-radius:50%;opacity:0;animation:ping 2.4s ease-out infinite}.radar-sweep span:nth-child(2){animation-delay:.8s}.radar-sweep span:nth-child(3){animation-delay:1.6s}@keyframes ping{0%{transform:scale(.2);opacity:.9}to{transform:scale(1);opacity:0}}.radar-count{font-size:2.4rem;font-weight:900;font-variant-numeric:tabular-nums;color:var(--radar, var(--coral))}.og-radar-circle{animation:pulse 1.4s infinite}@media (prefers-reduced-motion: reduce){.radar-sweep span,.og-radar-circle,.radar-overlay{animation:none!important}.radar-sweep span{opacity:.5;transform:scale(.8)}}.toasts{position:fixed;z-index:1100;left:.75rem;right:.75rem;top:calc(4rem + env(safe-area-inset-top));display:grid;gap:.5rem;justify-items:center;pointer-events:none}.toast{pointer-events:auto;max-width:520px;width:100%;padding:.75rem 1rem;border-radius:12px;background:var(--navy);color:#fff;font-weight:700;box-shadow:0 8px 24px #00000040;animation:rise .25s ease}.toast.good{background:var(--green)}.toast.bad{background:#b3261e}.toast.radar{background:#0f2033;border-left:5px solid var(--gold)}
