:root{--gold:#d4a14b;--gold-dark:#8a6420;--choc:#3e2723;--light-gold:#f5e6c8;--white:#faf7f2;--black:#1a1a1a;--gray:#5f5a54;--line:#e4dccd;--gap:#9b1c1c;--ok:#1f6b3a;--head:"Montserrat", "Segoe UI", Arial, sans-serif;--body:Calibri, Carlito, "Segoe UI", Arial, sans-serif}*{box-sizing:border-box}html{font-size:17px}body{background:var(--white);color:var(--black);font-family:var(--body);margin:0;line-height:1.45}body:before{content:"";background:var(--gold);height:6px;display:block}h1,h2,h3,legend{font-family:var(--head);color:var(--choc);line-height:1.2}h1{margin:0 0 .75rem;font-size:1.6rem}h2{margin:0 0 .6rem;font-size:1.15rem}a{color:var(--choc)}:focus-visible{outline:3px solid var(--choc);outline-offset:2px;box-shadow:0 0 0 5px var(--gold)}.skip{position:absolute;left:-999px}.skip:focus{background:var(--black);color:var(--white);z-index:10;padding:.5rem 1rem;top:1rem;left:1rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.loading{padding:2rem}.muted{color:var(--gray)}.small{font-size:.85rem}.mono{font-family:Consolas,Courier New,monospace}.error{color:var(--gap);min-height:1.2em;font-weight:600}.hint{color:var(--gray);margin:.25rem 0 .75rem;font-size:.9rem}.eyebrow{font-family:var(--head);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dark);font-size:.72rem;font-weight:700}.label{font-family:var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--gray);margin:.5rem 0 .15rem;font-size:.72rem;font-weight:700}main.narrow{max-width:640px;margin:0 auto;padding:1.25rem 16px 3rem}main.wide{max-width:1100px;margin:0 auto;padding:1rem 16px 3rem}.panel{border:1px solid var(--line);background:#fff;border-radius:8px;margin:0 0 1rem;padding:1.1rem 1.2rem}.brand{align-items:center;gap:.7rem;margin:.5rem 0 1rem;display:flex}.brand-mark{font-family:var(--head);background:var(--black);color:var(--gold);letter-spacing:.05em;border-radius:4px;padding:.35rem .55rem;font-weight:800}.brand-name{font-family:var(--head);color:var(--choc);font-weight:700}.brand-sub{color:var(--gray);font-size:.85rem}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:0 16px;display:flex}.topbar .brand{margin:.5rem 0}.topbar-right{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}label{margin:.75rem 0 .25rem;font-weight:600;display:block}input,select,textarea{width:100%;font:inherit;color:var(--black);background:#fff;border:1px solid #b9ae9c;border-radius:6px;padding:.6rem .7rem}textarea{resize:vertical}.code-input{letter-spacing:.25em;text-transform:uppercase;font-family:Consolas,monospace;font-size:1.4rem}.btn{font:600 .92rem var(--head);border:1px solid var(--choc);color:var(--choc);cursor:pointer;background:#fff;border-radius:6px;margin-top:.75rem;padding:.6rem 1rem;text-decoration:none;display:inline-block}.btn:hover{background:var(--light-gold)}.btn.primary{background:var(--choc);color:var(--white);border-color:var(--choc)}.btn.primary:hover{background:#2a1a17}.btn.danger{border-color:var(--gap);color:var(--gap)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.btn-row .btn{margin-top:0}.privacy{color:var(--gray);font-size:.85rem}.role-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;display:grid}.role-card{text-align:left;font:inherit;background:var(--white);border:1px solid var(--line);border-left:4px solid var(--gold);cursor:pointer;border-radius:6px;flex-direction:column;gap:.25rem;padding:.8rem;display:flex}.role-card:hover{background:var(--light-gold)}.role-name{font-family:var(--head);color:var(--choc);font-weight:700}.role-owns{font-size:.88rem}.role-count{color:var(--gray);font-size:.8rem}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 0;display:flex}.list.compact li{padding:.35rem 0}.list li .btn{margin-top:0}.upload summary{cursor:pointer;margin-top:1rem;font-weight:600}.play{max-width:1200px;margin:0 auto}.role-pill{font-family:var(--head);background:var(--choc);color:var(--white);border-radius:999px;padding:.35rem .75rem;font-weight:700}.clock{font-family:var(--head);font-size:1.1rem;font-weight:700}.status{background:var(--line);border-radius:4px;padding:.2rem .55rem;font-size:.85rem;font-weight:700}.status.running{background:var(--ok);color:#fff}.status.paused{background:var(--light-gold)}.play-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:1rem;padding:0 16px;display:grid}.section-h{margin-top:1rem}.card{border:1px solid var(--line);border-top:4px solid var(--choc);background:#fff;border-radius:6px;margin-bottom:.75rem;padding:.8rem 1rem}.card.new{border-top-color:var(--gold);box-shadow:0 0 0 3px var(--light-gold)}.card.briefing{border-top-color:var(--gold);background:var(--white)}.card.decided{border-top-color:var(--gray);background:var(--white)}.card p{margin:.3rem 0}.card .world{color:var(--gray);font-style:italic}.covering{color:var(--choc);background:var(--light-gold);border-radius:4px;padding:.25rem .5rem;font-size:.85rem;font-weight:700}.card-meta{color:var(--gray);justify-content:space-between;gap:.5rem;font-size:.8rem;display:flex}.decision{background:var(--light-gold);border:2px solid var(--gold);border-radius:8px;margin-bottom:1rem;padding:1rem}.decision-head{justify-content:space-between;align-items:center;display:flex}.timer{font-family:var(--head);color:var(--choc);font-size:1.2rem;font-weight:800}.decision fieldset{border:0;margin:.5rem 0 0;padding:0}.decision legend{margin-bottom:.5rem;font-size:1.1rem;font-weight:700}.option{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;align-items:flex-start;gap:.6rem;margin:.4rem 0;padding:.6rem;font-weight:400;display:flex}.option input{width:auto;margin-top:.2rem}.opt-id{font-family:var(--head);color:var(--choc);font-weight:800}.messages{align-self:start;position:sticky;top:.5rem}.msg-list{margin:1rem 0 0;padding:0;list-style:none}.msg{border-left:3px solid var(--choc);background:var(--white);margin-bottom:.6rem;padding:.3rem .6rem}.msg.out{border-left-color:var(--gold)}.msg p{margin:.2rem 0}.foot{text-align:center;color:var(--gray);padding:2rem 16px;font-size:.75rem}.console{padding-bottom:2rem}.console-bar{background:var(--black);color:var(--white);flex-wrap:wrap;align-items:center;gap:1.5rem;padding:.9rem 16px;display:flex}.console-bar .muted{color:#c9bfae}.console-bar .eyebrow{color:var(--gold);display:block}.console-bar .btn{color:var(--white);background:0 0;border-color:#7a6e5e}.console-bar .btn.primary{background:var(--gold);color:var(--black);border-color:var(--gold)}.console-bar .btn.danger{color:#f2a3a3;border-color:#f2a3a3}.bar-code,.bar-clock{flex-direction:column;display:flex}.big{font-family:var(--head);font-size:1.6rem;font-weight:800}.console-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:1rem 16px;display:grid}.console-grid .span2{grid-column:span 2}.tbl{border-collapse:collapse;width:100%;font-size:.88rem}.tbl th,.tbl td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.35rem .4rem}.tbl thead th{font-family:var(--head);text-transform:uppercase;letter-spacing:.06em;color:var(--choc);font-size:.75rem}.badge{background:var(--line);border-radius:4px;padding:.1rem .45rem;font-size:.78rem;font-weight:700;display:inline-block}.badge.best,.badge.met{color:var(--ok);background:#dcefe2}.badge.trap,.badge.miss{color:var(--gap);background:#f6dada}.badge.open,.badge.review{background:var(--light-gold);color:var(--choc)}.feed{max-height:420px;font-size:.88rem;overflow-y:auto}.feed ul{margin:0;padding:0;list-style:none}.ev{border-bottom:1px solid var(--line);padding:.3rem 0}.ev.message{color:var(--choc)}.ev.flag.gap{color:var(--gap);font-weight:600}.ev.flag.strength{color:var(--ok);font-weight:600}.ev.state{color:var(--gray)}.roster{margin:0;padding:0;list-style:none}.roster li{border-bottom:1px solid var(--line);padding:.35rem 0}body.dark{color:var(--white);background:#000}.w{flex-direction:column;min-height:calc(100vh - 6px);padding:2rem 3rem;display:flex}.w .eyebrow{color:var(--gold);font-size:.9rem}.w .muted{color:#9a8f80}.w-head{justify-content:space-between;align-items:baseline;display:flex}.w-clock{font-family:var(--head);font-size:2.2rem;font-weight:800}.w-paused{background:var(--gold);color:#000;vertical-align:middle;border-radius:4px;padding:.1rem .5rem;font-size:1rem}.w-center{flex-direction:column;flex:1;justify-content:center;display:flex}.w-ann{font-family:var(--head);max-width:60ch;font-size:clamp(1.6rem,3.4vw,3.2rem);font-weight:700;line-height:1.25}.w-status{flex-wrap:wrap;gap:1rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.w-status li{border:1px solid #3a332c;border-radius:6px;flex-direction:column;padding:.5rem .9rem;display:flex}.w-status span{color:#9a8f80;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}.w-status strong{font-family:var(--head);color:var(--light-gold);font-size:1.3rem}.w-prev{color:#9a8f80;padding:0;font-size:1.05rem;list-style:none}.w-prev li{margin:.3rem 0}.w-join{margin:0;font-size:2rem}.w-code{letter-spacing:.15em;color:var(--gold);margin:.5rem 0;font-family:Consolas,monospace;font-size:clamp(4rem,12vw,9rem);font-weight:700}.w-sub{color:var(--light-gold);font-size:1.4rem}.w-roles{flex-wrap:wrap;gap:1rem;margin-top:2rem;padding:0;list-style:none;display:flex}.w-roles li{border:1px solid #3a332c;border-radius:6px;gap:.8rem;padding:.6rem 1rem;font-size:1.1rem;display:flex}.w-roles strong{color:var(--gold)}.w-h{color:var(--white);margin-top:1.5rem}.w-timeline{columns:2;column-gap:3rem;padding:0;font-size:1.15rem;list-style:none}.w-timeline li{break-inside:avoid;border-bottom:1px solid #2a2520;padding:.35rem 0}.w-timeline li.tl-decision strong{color:var(--gold)}.w-timeline li.tl-message strong{color:var(--light-gold)}@media (width<=900px){.play-grid{grid-template-columns:1fr}.messages{position:static}.console-grid{grid-template-columns:1fr}.console-grid .span2{grid-column:auto}.w{padding:1rem 16px}.w-timeline{columns:1}}.small-btn{margin-top:0;padding:.35rem .7rem;font-size:.8rem}.row-between{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.mt{margin-top:1.25rem}.inline-form{gap:.5rem;display:flex}.inline-form .btn{white-space:nowrap;margin-top:0}.tabs{border-bottom:2px solid var(--line);flex-wrap:wrap;gap:.25rem;margin:.5rem 0 1rem;padding:0 16px;display:flex}.tab{font:700 .9rem var(--head);color:var(--gray);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:.6rem .8rem}.tab[aria-selected=true]{color:var(--choc);border-bottom-color:var(--gold)}.badge-count{background:var(--gold);min-width:1.2em;color:var(--black);border-radius:999px;margin-left:.3rem;padding:0 .35rem;font-size:.75rem;display:inline-block}.badge-count:empty{display:none}.tab-panels{max-width:1100px;padding:0 16px}.protocol-chip{font:800 .85rem var(--head);color:#fff;background:var(--gap);letter-spacing:.06em;border-radius:4px;padding:.2rem .6rem}.protocol-chip:empty{display:none}.card.new,.msg.new,.post.new{border-color:var(--gold);box-shadow:0 0 0 3px var(--light-gold);cursor:pointer;background:#fff8e7}.new-tag{font:800 .65rem var(--head);background:var(--gold);color:var(--black);letter-spacing:.05em;border-radius:3px;margin-left:.25rem;padding:0 .35rem;display:inline-block}.vbadge{font:700 .7rem var(--head);border-radius:3px;margin-left:.25rem;padding:.05rem .4rem}.vbadge.ok{color:var(--ok);background:#dcefe2}.vbadge.warn{color:var(--gap);background:#f6dada}.vbadge.media{color:#24326b;background:#e3e7f5}.from{color:var(--choc);font-size:.85rem;font-weight:600}.tag{color:var(--choc);font-weight:700}.post{border:1px solid var(--line);border-left:4px solid var(--gray);background:#fff;border-radius:6px;margin-bottom:.6rem;padding:.6rem .8rem}.post.official,.post.police,.post.district{border-left-color:var(--ok)}.post.news{border-left-color:#24326b}.post.parent,.post.student{border-left-color:var(--gap)}.quick{flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;display:flex}.desk-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.catchup{background:var(--light-gold);border:1px solid var(--gold);border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;margin:0 16px 1rem;padding:.7rem 1rem;display:flex}.dec-overlay{z-index:50;background:#1a1a1a8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.decision.takeover{border:6px solid var(--gold);width:100%;max-width:720px;max-height:92vh;animation:2s ease-in-out infinite hip-pulse;overflow:auto}@keyframes hip-pulse{0%,to{box-shadow:0 0 #d4a14bb3}50%{box-shadow:0 0 0 14px #d4a14b00}}.timer.urgent{color:var(--gap);text-decoration:underline}.timer.urgent:before{content:"Hurry: "}.decbar{z-index:40;border-bottom:3px solid var(--gold);background:#ffe8b0;flex-wrap:wrap;align-items:center;gap:.8rem;padding:.6rem 16px;display:flex;position:sticky;top:0}.decbar[hidden]{display:none}.proto-banner,.w-banner{z-index:60;color:#fff;font:700 1.3rem var(--head);text-align:center;background:#9b1c1cf0;flex-direction:column;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.proto-banner[hidden]{display:none}.proto-word{letter-spacing:.08em;font-size:clamp(3rem,14vw,9rem);font-weight:800}.toasts{z-index:55;flex-direction:column;gap:.5rem;max-width:320px;display:flex;position:fixed;bottom:16px;right:16px}.toast{background:var(--black);color:var(--white);border-left:4px solid var(--gold);border-radius:6px;padding:.6rem .8rem;font-size:.9rem;box-shadow:0 4px 14px #00000040}.media{margin:.5rem 0}.media img,.media video{border-radius:6px;max-width:100%}.media.video iframe{aspect-ratio:16/9;border:0;border-radius:6px;width:100%}.media figcaption{color:var(--gray);font-size:.85rem}.transcript summary{cursor:pointer;font-size:.85rem}.timeline-strip{border-bottom:1px solid var(--line);background:#fff;padding:1.6rem 16px .5rem}.tl-track{background:linear-gradient(var(--line), var(--line)) center / 100% 2px no-repeat;height:34px;position:relative}.tl-mark{border:2px solid var(--choc);min-width:26px;height:26px;font:700 .65rem var(--head);color:var(--choc);cursor:pointer;background:#fff;border-radius:13px;padding:0 3px;position:absolute;top:4px;transform:translate(-50%)}.tl-mark.fired{background:var(--gold);border-color:var(--gold);color:var(--black)}.tl-mark.held{background:repeating-linear-gradient(45deg,#ddd,#ddd 3px,#fff 3px 6px)}.tl-mark.has-dec{box-shadow:0 0 0 3px #ffe8b0}.tl-pend{background:var(--gap);width:10px;height:10px;position:absolute;top:12px;transform:translate(-50%)rotate(45deg)}.tl-needle{background:var(--gap);width:3px;position:absolute;top:-6px;bottom:-6px;transform:translate(-50%)}.tl-phase{font:700 .7rem var(--head);color:var(--gray);white-space:nowrap;position:absolute;top:-1.3rem}.tl-legend{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.4rem;display:flex}.tl-key{border:2px solid var(--choc);border-radius:6px;width:12px;height:12px;margin-left:.5rem;display:inline-block}.tl-key.fired{background:var(--gold);border-color:var(--gold)}.tl-key.held{background:#ddd}.tl-key.pend{background:var(--gap);border:0;border-radius:0;width:9px;height:9px;transform:rotate(45deg)}.tl-key.dec{box-shadow:0 0 0 3px #ffe8b0}.next-item{border:1px solid var(--line);border-radius:6px;margin-bottom:.6rem;padding:.6rem .7rem}.next-item.held{opacity:.65}.say{background:var(--light-gold);border-radius:4px;margin:.4rem 0;padding:.35rem .5rem}.pv{border-bottom:1px dashed var(--line);grid-template-columns:9rem 1fr;gap:.5rem;padding:.3rem 0;font-size:.85rem;display:grid}.pv-role{color:var(--choc);font-weight:700}.alerts{margin:0;padding:0;list-style:none}.alerts li{border-left:4px solid var(--gray);background:var(--white);margin-bottom:.35rem;padding:.4rem .5rem;font-size:.88rem}.alerts .al-hi{border-left-color:var(--gap);background:#fbeaea}.alerts .al-mid{border-left-color:var(--gold);background:#fff8e7}.tiles{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.5rem;display:grid}.tile{text-align:left;font:inherit;background:var(--white);border:1px solid var(--line);border-left:4px solid var(--choc);cursor:pointer;border-radius:6px;flex-direction:column;gap:.2rem;padding:.55rem;display:flex}.tile.empty{border-left-color:var(--line);opacity:.8}.tile.has-open{border-left-color:var(--gold);background:#fff8e7}.tile-name{font:700 .85rem var(--head);color:var(--choc)}.tile-people{font-size:.85rem}.tile-open{color:#8a5a00;font-size:.8rem;font-weight:700}.tile-unread{color:var(--gap);font-size:.8rem;font-weight:700}.dot{border-radius:4px;width:8px;height:8px;display:inline-block}.dot.on{background:var(--ok)}.dot.off{background:var(--gap)}.chips{flex-wrap:wrap;gap:.3rem;margin-bottom:.5rem;display:flex}.chip{font:600 .75rem var(--head);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;padding:.2rem .6rem}.chip.on{background:var(--choc);color:var(--white);border-color:var(--choc)}.tools{margin:0 16px 2rem}.tools .tabs{padding:0}.tool-form{max-width:760px}.checks{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.2rem .8rem;display:grid}.checks label{margin:.2rem 0;font-weight:400}.checks input,.tool-form input[type=checkbox],.switch input{width:auto}.action-grid,.seat-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.6rem;display:grid}.action,.seat{border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:.3rem;padding:.6rem;display:flex}.seat.off{opacity:.75;background:var(--white)}.reports{flex-wrap:wrap;gap:.3rem;display:flex}.switch{margin:0;font-weight:600}.modal-back{z-index:70;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{border-top:6px solid var(--gold);background:#fff;border-radius:8px;width:100%;max-width:900px;max-height:90vh;padding:1.2rem;overflow:auto}.viewer-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.w-right{align-items:center;gap:1rem;display:flex}.w-sound{background:var(--gold);color:#000;border:0;margin:0}.w-main{flex:1;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:center;gap:2rem;display:grid}.w-feed{border-left:2px solid #2a2520;padding-left:1.5rem}.w-feed h2{color:var(--gold);text-transform:uppercase;letter-spacing:.1em;font-size:1rem}.w-post{margin-bottom:1rem;font-size:1.05rem}.w-post p{margin:.2rem 0}@media (prefers-reduced-motion:reduce){.decision.takeover{animation:none}}@media (width<=900px){.desk-grid,.viewer-grid,.w-main,.pv{grid-template-columns:1fr}.tabs{flex-wrap:nowrap;overflow-x:auto}}
