:root{--bg:#01080c;--bg-2:#071822;--ink:#f5f7ee;--muted:#a7b4b1;--line:#dfe8dd29;--gold:#f7c948;--green:#3ecf8e;--red:#ef4444;--display:"Trebuchet MS", "Aptos Display", Verdana, sans-serif;--body:Avenir, "Gill Sans", "Segoe UI", sans-serif;color:var(--ink);background:var(--bg);font-family:var(--body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.45}html,body,#root{width:100%;max-width:100%}*{box-sizing:border-box}body{background:linear-gradient(90deg, #ffffff09 1px, transparent 1px), linear-gradient(180deg, #ffffff09 1px, transparent 1px), radial-gradient(circle at 12% 18%, #0f766e52, transparent 26%), radial-gradient(circle at 90% 8%, #f7c9481f, transparent 22%), linear-gradient(180deg, var(--bg-2), var(--bg));background-size:52px 52px,52px 52px,auto,auto,auto;min-width:320px;min-height:100svh;margin:0;overflow-x:hidden}button,input,select,textarea{font-family:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #f7c948cc}a{color:var(--gold)}.app-shell{min-height:100svh;color:var(--ink);overflow-x:hidden}.mission-header{border-bottom:1px solid var(--line);background:linear-gradient(110deg, color-mix(in srgb, var(--green) 22%, transparent), transparent 42%), #040c13db;z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:center;gap:24px;padding:28px clamp(18px,4vw,52px);display:flex}h1,h2,h3,p,code{overflow-wrap:anywhere}.eyebrow{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:.76rem;font-weight:800}h1,h2,h3,p{margin:0}h1{font-family:var(--display);max-width:900px;font-size:clamp(2rem,5vw,4.5rem);line-height:.96}h2{font-family:var(--display);font-size:clamp(1.35rem,3vw,2.35rem);line-height:1.02}h3{color:var(--ink);font-size:1rem;line-height:1.2}p{color:var(--muted)}.location-line,.signal,.role-chip{align-items:center;gap:8px;display:inline-flex}.location-line{color:var(--muted);margin-top:12px}.status-cluster{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.signal,.role-chip,.sync-warning{border:1px solid var(--line);color:var(--ink);text-transform:capitalize;background:#ffffff0f;border-radius:999px;padding:8px 12px;font-weight:700}.sync-warning{color:#fed7aa;text-transform:none;border-color:#fb923c80;max-width:320px}.signal.good{border-color:#3ecf8e73}.signal.bad{border-color:#f871718c}.icon-button,.persona-nav button,.primary,.secondary,.ghost{cursor:pointer;font:inherit;border:0}.icon-button{width:42px;height:42px;color:var(--ink);border:1px solid var(--line);background:#ffffff14;border-radius:8px;place-items:center;display:inline-grid;position:relative}.icon-button:hover{background:#ffffff24}.icon-button b{background:var(--red);color:#fff;border-radius:999px;min-width:20px;height:20px;font-size:.7rem;position:absolute;top:-7px;right:-7px}.danger{color:#fecaca}.login-grid{grid-template-columns:1.25fr minmax(280px,420px) minmax(280px,420px);align-items:start;gap:18px;padding:clamp(18px,4vw,52px);display:grid}.intro-panel,.panel,.hero-metric,.list-frame,.leaderboard,.data-table,.matrix{border:1px solid var(--line);background:linear-gradient(#ffffff14,#ffffff09);border-radius:8px;box-shadow:0 20px 70px #00000047}.intro-panel{background:radial-gradient(circle at 78% 8%, color-mix(in srgb, var(--gold) 18%, transparent), transparent 28%), linear-gradient(145deg, color-mix(in srgb, var(--green) 32%, transparent), #18264699);grid-template-rows:minmax(220px,1fr) auto;min-height:460px;padding:0;display:grid;overflow:hidden}.login-hero-image{object-fit:cover;object-position:center;border-bottom:1px solid var(--line);width:100%;height:100%;min-height:220px}.intro-copy{gap:16px;padding:clamp(24px,4vw,42px);display:grid}.intro-panel h2{max-width:760px;font-size:clamp(2rem,3vw,3.3rem)}.intro-panel p{max-width:640px;font-size:1.05rem}.badge-ring{width:76px;height:76px;color:var(--gold);border:2px solid var(--gold);border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 0 28px #f7c94838}.panel{min-width:0;padding:24px}.modal.editor-form{background:linear-gradient(#0c1820fa,#050e14fa);border-color:#dfe8dd47;gap:22px;padding:clamp(26px,4vw,42px);box-shadow:0 28px 90px #0000009e}.login-panel{flex-direction:column;gap:15px;display:flex}label{color:var(--muted);gap:8px;font-size:.86rem;font-weight:800;display:grid}input,select,textarea{box-sizing:border-box;border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);font:inherit;background:#01080c8c;border-radius:7px;padding:10px 12px}.code-field span{grid-template-columns:1fr auto;gap:10px;display:grid}.code-field .secondary{min-width:138px}textarea{resize:vertical;min-height:120px}.primary,.secondary,.ghost{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-weight:900;display:inline-flex}.primary{background:var(--gold);color:#141007}.primary.compact{min-height:38px;margin-left:auto}.secondary.compact{min-height:38px;padding:8px 12px}.secondary{color:var(--ink);background:#0f766e38;border:1px solid #2dd4bf59}.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.form-error{color:#fecaca}.form-note{color:var(--gold);font-weight:800}.password-checks{width:100%;color:var(--muted);gap:6px;margin:0;padding:0;font-size:.84rem;font-weight:800;list-style:none;display:grid}.password-checks .good{color:var(--green)}.qr-preview{background:#fff;border-radius:8px;justify-self:center;width:min(220px,100%);padding:10px}.format-hint{color:var(--muted);font-size:.82rem;font-weight:650}.save-confirmation{color:var(--green);align-self:center;font-weight:850}.persona-nav-shell{border-bottom:1px solid var(--line)}.menu-toggle{min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:#f7c9481a;border:1px solid #f7c94880;border-radius:8px;align-items:center;gap:8px;margin:12px clamp(18px,4vw,52px);padding:10px 13px;font-weight:850;display:none}.persona-nav{gap:8px;max-width:100%;padding:14px clamp(18px,4vw,52px);display:flex;overflow-x:auto}.persona-nav button{min-width:max-content;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:10px 13px;font-weight:850;display:inline-flex}.persona-nav button.active{color:var(--ink);background:#f7c9481a;border-color:#f7c94880}.persona-nav .logout{color:#fecaca;margin-left:auto}.content-stack{gap:18px;padding:clamp(18px,4vw,52px);display:grid}.hero-metric{grid-template-columns:auto 1fr auto;align-items:center;gap:18px;min-width:0;padding:22px;display:grid}.hero-metric>*,.mission-row>*,.leaderboard article>*,.table-row>*,.planning-list article>*{min-width:0}.hero-avatar,.avatar{flex:none;place-items:center;display:inline-grid;overflow:hidden}.hero-avatar{border:1px solid var(--line);background:#ffffff14;border-radius:50%;width:70px;height:70px;font-size:2.2rem}.avatar-image-wrap img{object-fit:cover;width:100%;height:100%;display:block}.hero-metric strong{color:var(--gold);font-family:var(--display);text-align:right;font-size:clamp(1.5rem,4vw,3.4rem)}.list-frame{position:relative;overflow:hidden}.empty-overlay{z-index:2;text-align:center;color:var(--gold);font-family:var(--display);background:#01080cd1;border:1px dashed #f7c94899;border-radius:8px;place-items:center;padding:24px;font-size:1.7rem;display:grid;position:absolute;inset:18px}.mission-row,.leaderboard article,.table-row,.matrix-row{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px 18px;display:grid}.mission-row:last-child,.leaderboard article:last-child,.table-row:last-child{border-bottom:0}.mission-row.locked{opacity:.48;filter:grayscale(.88)}.avatar{background:#ffffff14;border-radius:8px;width:46px;height:46px;font-size:1.55rem}.green-tick{color:var(--green)}.muted-status{color:var(--muted);font-weight:800}.comms-title{gap:12px}.comms-row{grid-template-columns:auto 1fr auto}.unread-row{box-shadow:inset 4px 0 0 var(--gold);background:linear-gradient(90deg,#f7c94824,#2dd4bf0f)}.section-title{align-items:center;gap:10px;display:flex}.leaderboard article{grid-template-columns:34px auto 1fr auto}.rank{color:var(--gold);font-size:1.2rem;font-weight:950}.leaderboard strong{color:var(--green);font-size:1.4rem}.planning-grid,.avatar-grid,.admin-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.planning-list{gap:10px;display:grid}.planning-list article{border:1px solid var(--line);background:#ffffff0d;border-radius:8px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:14px;display:grid}.planning-list article.selected{border-color:var(--gold);background:#f7c9481a}.planning-list b{min-width:82px;color:var(--gold);text-align:right}.plan-actions{align-items:center;gap:8px;display:flex}.icon-button:disabled{cursor:not-allowed;opacity:.38}.primary:disabled,.secondary:disabled,.ghost:disabled{cursor:not-allowed;opacity:.52}.admin-grid .hero-metric{grid-template-columns:auto 1fr}.admin-grid .hero-metric strong{text-align:left;grid-column:2;font-size:clamp(2rem,4vw,3.2rem)}.avatar-control{border:1px solid var(--line);background:#ffffff0a;border-radius:8px;grid-template-columns:minmax(180px,240px) 1fr;align-items:start;gap:16px;padding:16px;display:grid}.avatar-preview{gap:12px;display:grid}.planning-grid button,.avatar-grid button,.upload-tile{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#ffffff0f;border-radius:8px;padding:14px}.planning-grid button{text-align:left;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.planning-grid button.selected,.avatar-grid button.selected{border-color:var(--gold);background:#f7c9481f}.avatar-grid{grid-template-columns:repeat(auto-fit,minmax(76px,1fr))}.avatar-grid button{font-size:2rem}.upload-tile{text-align:center;cursor:pointer;grid-column:2;justify-content:center;align-self:stretch;align-items:center;min-height:76px;display:flex;position:relative}.upload-tile input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.info-panel{grid-template-columns:minmax(280px,520px) 1fr;align-items:stretch;gap:20px;display:grid}.map-viewer{gap:10px;display:grid}.map-toolbar{flex-wrap:wrap;gap:8px;display:flex}.map-canvas{border:1px solid var(--line);background:linear-gradient(45deg,#f7c94829,#0000),repeating-linear-gradient(135deg,#ffffff14 0 1px,#0000 1px 18px);border-radius:8px;min-height:260px;max-height:520px;overflow:auto}.map-canvas img{transform-origin:50%;width:100%;transition:transform .16s;display:block}.map-image-button{cursor:zoom-in;background:0 0;border:0;width:100%;min-width:0;padding:0}.map-image-button img{pointer-events:none}.map-placeholder{min-height:260px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:12px;padding:20px;display:grid}.map-upload{border:1px solid var(--line);cursor:pointer;background:#ffffff0d;border-radius:8px;min-height:74px;padding:12px}.map-upload span{color:var(--ink)}.map-upload img{object-fit:cover;border:1px solid var(--line);border-radius:7px;width:100%;max-height:220px;margin-top:10px}.map-upload input{display:none}.formatted-info{align-content:start;gap:14px;display:grid}.formatted-info p{color:var(--muted);white-space:normal}.formatted-info strong{color:var(--ink)}.formatted-info em{color:var(--gold)}.map-modal{background:linear-gradient(#0c1820fa,#050e14fa);border:1px solid #dfe8dd47;border-radius:8px;grid-template-rows:auto auto 1fr;gap:14px;width:min(1120px,100vw - 32px);max-width:100%;height:min(820px,100svh - 32px);padding:clamp(18px,3vw,32px);display:grid;box-shadow:0 28px 90px #0000009e}.map-modal .section-title{justify-content:space-between}.map-modal-canvas{border:1px solid var(--line);background:linear-gradient(45deg,#f7c94829,#0000),repeating-linear-gradient(135deg,#ffffff14 0 1px,#0000 1px 18px);border-radius:8px;overflow:auto}.map-modal-canvas img{transform-origin:50%;width:100%;min-width:760px;transition:transform .16s;display:block}.command-form,.editor-form{grid-template-columns:repeat(2,minmax(220px,1fr));gap:18px;display:grid}.command-form h2,.editor-form h2,.wide{grid-column:1/-1}.patrol-picker{gap:12px;display:grid}.patrol-picker-head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;display:grid}.patrol-picker-head>span{color:var(--gold);white-space:nowrap;padding-bottom:12px;font-size:.82rem;font-weight:900}.patrol-choice-list{border:1px solid var(--line);background:#01080c61;border-radius:8px;gap:8px;max-height:280px;padding:8px;display:grid;overflow:auto}.patrol-choice-list button{border:1px solid var(--line);min-height:60px;color:var(--ink);text-align:left;cursor:pointer;font:inherit;background:#ffffff0e;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.patrol-choice-list button:hover{background:#2dd4bf17;border-color:#2dd4bf73}.patrol-choice-list button.selected{border-color:var(--gold);box-shadow:inset 4px 0 0 var(--green);background:linear-gradient(90deg,#3ecf8e38,#f7c94814)}.patrol-choice-list b,.patrol-choice-list small{overflow-wrap:anywhere;display:block}.patrol-choice-list small{color:var(--muted);font-size:.78rem;font-weight:750}.complete-submit{background:var(--green);color:#052e1a}.data-table{overflow:auto hidden}.table-row{grid-template-columns:auto 1fr auto auto auto auto auto}.table-row input{min-width:260px}.inline-edit{grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px;display:grid}.code-tools{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}code{max-width:100%;color:var(--gold);background:#f7c9481a;border:1px solid #f7c94840;border-radius:7px;padding:8px 10px;font-weight:900}.code-tools a{color:var(--ink);place-items:center;text-decoration:none;display:grid}.qr-modal{background:linear-gradient(#0c1820fa,#050e14fa);border:1px solid #dfe8dd47;border-radius:8px;justify-items:center;gap:18px;width:min(420px,100%);padding:clamp(24px,5vw,40px);display:grid;box-shadow:0 28px 90px #0000009e}.qr-modal .section-title{justify-content:space-between;width:100%}.qr-modal img{aspect-ratio:1;background:#fff;border-radius:8px;width:min(260px,80vw);padding:14px}.modal-backdrop{z-index:40;background:#01080ce6;place-items:center;padding:clamp(18px,4vw,40px);display:grid;position:fixed;inset:0;overflow-x:hidden}.modal{scrollbar-gutter:stable;width:min(860px,100%);max-width:100%;max-height:90svh;overflow:auto}.matrix{--matrix-name-column:220px;--matrix-base-column:minmax(190px, 1fr);padding:12px;overflow-x:auto}.matrix-row b{min-width:0}.matrix-label{align-items:center;gap:8px;display:flex}.matrix-label .avatar{border-radius:7px;width:30px;height:30px;font-size:1.05rem}.matrix-row{grid-template-columns:var(--matrix-name-column) repeat(var(--base-count), var(--matrix-base-column));border-bottom:0;padding:8px}.matrix-head{align-items:end;padding-bottom:4px}.matrix-head b{color:var(--ink);white-space:normal;line-height:1.15}.matrix-row button{border:1px solid var(--line);color:var(--muted);background:#ffffff0f;border-radius:7px;min-height:42px}.matrix-row button.done{color:#052e1a;background:var(--green)}.search-box{border:1px solid var(--line);background:#ffffff0d;border-radius:8px;align-items:center;gap:10px;padding:0 12px;display:flex}.search-box input{background:0 0;border:0}@media (width<=1050px){.login-grid,.info-panel{grid-template-columns:1fr}.intro-panel{min-height:340px}.login-hero-image{max-height:380px}}@media (width<=760px){.mission-header,.hero-metric{grid-template-columns:1fr;display:grid}.status-cluster{justify-content:flex-start}.content-stack,.login-grid{padding:16px}.menu-toggle{display:inline-flex}.persona-nav{flex-direction:column;align-items:stretch;padding:0 clamp(18px,4vw,52px) 14px;display:none;overflow:visible}.persona-nav.open{display:flex}.persona-nav button{justify-content:flex-start;width:100%;min-width:0}.persona-nav .logout{margin-left:0}.hero-metric strong{text-align:left}.command-form,.editor-form,.patrol-picker-head{grid-template-columns:1fr}.patrol-picker-head>span{padding-bottom:0}.planning-list article{grid-template-columns:auto 1fr}.planning-list b,.plan-actions{text-align:left;grid-column:2;justify-self:start}.avatar-control{grid-template-columns:1fr}.upload-tile{grid-column:1}.table-row,.mission-row{grid-template-columns:auto 1fr}.table-row>.icon-button,.table-row>.code-tools,.table-row>input,.mission-row>.green-tick,.mission-row>.muted-status{grid-column:2;justify-self:start}}@media (width<=480px){.mission-header{padding:22px 16px}.panel,.hero-metric{padding:18px}.modal-backdrop{padding:12px}.modal.editor-form,.qr-modal,.map-modal{padding:18px}.map-modal{width:calc(100vw - 24px)}.map-modal-canvas img{min-width:100%}.code-field span{grid-template-columns:1fr}.code-field .secondary,.table-row input{min-width:0}}
