:root {
  --red:#AE1915;
  --red2:#d01d18;
  --black:#010101;
  --ink:#171717;
  --paper:#f7f4ee;
  --white:#fff;
  --gray:#716e68;
  --line:#d9d3c8;
  --green:#20844b;
  --amber:#b57600;
  --shadow:0 14px 35px rgba(0,0,0,.12);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Impact,"Arial Narrow",Arial,sans-serif;background:#ece8df;color:var(--ink)}
body{background-image:radial-gradient(rgba(0,0,0,.025) 1px,transparent 1px);background-size:5px 5px}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}
.topbar{background:var(--black);color:white;display:flex;align-items:center;gap:18px;padding:12px 20px;border-bottom:6px solid var(--red);position:sticky;top:0;z-index:20}
.topbar img{height:46px;max-width:180px;object-fit:contain}
.brand-title{font-size:26px;letter-spacing:.7px}.brand-title span{color:var(--red2)}
.spacer{flex:1}.status-pill{padding:8px 11px;border:1px solid #555;border-radius:999px;font-family:Arial,sans-serif;font-size:13px}.status-pill.live{border-color:#3bba71;color:#84eca9}.status-pill.warn{border-color:#ffbf55;color:#ffd58c}
.layout{display:grid;grid-template-columns:240px minmax(0,1fr) 300px;min-height:calc(100vh - 112px)}
.nav{background:#111;color:white;padding:20px 14px;border-right:1px solid #2a2a2a}.nav h3,.side h3{margin:0 0 12px;color:var(--red2);letter-spacing:.7px}.nav button{width:100%;text-align:left;background:transparent;color:#ddd;border:0;border-left:4px solid transparent;padding:11px 10px;margin:2px 0;font-family:"Arial Narrow",Arial,sans-serif;font-weight:700}.nav button.active{background:#272727;border-left-color:var(--red);color:#fff}.nav button.locked{opacity:.45}
.main{padding:24px;min-width:0}.side{background:#f3efe7;border-left:1px solid var(--line);padding:18px;font-family:Arial,sans-serif;overflow:auto}.side .sensei{display:block;width:135px;max-height:170px;object-fit:contain;margin:2px auto 12px}.side button{width:100%;margin:5px 0}
.hero{background:var(--paper);border:5px solid var(--red);box-shadow:var(--shadow);padding:30px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;right:-55px;top:-90px;width:290px;height:290px;border:34px solid rgba(174,25,21,.08);border-radius:50%}.hero h1{font-size:clamp(40px,5vw,78px);line-height:.92;margin:0;text-transform:uppercase;max-width:900px}.hero h1 .red{color:var(--red)}.hero .lede{font:20px/1.5 Arial,sans-serif;max-width:800px}.brush{display:inline-block;background:var(--red);color:#fff;padding:7px 14px;transform:rotate(-1deg);box-shadow:8px 5px 0 var(--black)}
.activity{background:var(--paper);border:4px solid var(--red);box-shadow:var(--shadow);padding:24px;min-height:640px}.activity-head{border-bottom:4px solid var(--black);padding-bottom:14px;margin-bottom:18px}.activity-head .kicker{color:var(--red);font-size:15px;letter-spacing:1.5px}.activity h1{font-size:48px;margin:4px 0}.activity p,.activity li,.activity label{font-family:Arial,sans-serif;line-height:1.45}.callout{background:var(--black);color:white;border-left:9px solid var(--red);padding:16px 18px;margin:18px 0;font:700 18px/1.35 Arial,sans-serif}.callout.red{background:var(--red);border-left-color:var(--black)}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{background:#fff;border:2px solid var(--line);padding:16px;box-shadow:3px 4px 0 rgba(0,0,0,.06)}.card h3{margin:0 0 8px;color:var(--red);font-size:24px}.card.black{background:var(--black);color:#fff;border-color:var(--black)}.card.black h3{color:#fff}.card.red{background:var(--red);color:white;border-color:var(--red)}.card.red h3{color:white}
.field{display:block;margin:12px 0}.field span{display:block;font:700 13px Arial,sans-serif;text-transform:uppercase;color:var(--gray);margin-bottom:6px}.field input,.field textarea,.field select{width:100%;border:2px solid #c8c1b5;background:#fff;padding:10px;font-family:Arial,sans-serif}.field textarea{min-height:92px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{outline:3px solid rgba(174,25,21,.18);border-color:var(--red)}
.btn{border:0;background:var(--black);color:#fff;padding:11px 16px;font-family:Impact,"Arial Narrow",sans-serif;letter-spacing:.5px}.btn:hover{transform:translateY(-1px)}.btn.red{background:var(--red)}.btn.white{background:#fff;color:var(--black);border:2px solid var(--black)}.btn.small{padding:7px 10px;font-size:13px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.choice-row{display:flex;gap:6px;flex-wrap:wrap}.choice{font-family:Arial,sans-serif;font-size:12px;font-weight:700;border:1px solid #aaa;background:#fff;padding:7px 9px}.choice.on{background:var(--black);color:white;border-color:var(--black)}.choice.on.red{background:var(--red);border-color:var(--red)}
.scenario{display:grid;grid-template-columns:34px minmax(0,1fr) 190px;gap:12px;align-items:start;padding:13px 0;border-bottom:1px solid var(--line)}.scenario .letter{background:var(--red);color:#fff;width:31px;height:31px;border-radius:50%;display:grid;place-items:center}.scenario .text{font:15px/1.35 Arial,sans-serif}.scenario select{width:100%;padding:7px;font-family:Arial,sans-serif}
.resp-row{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.resp-row .text{font:15px/1.3 Arial,sans-serif}
.evidence{background:#fff;border:2px solid var(--black);padding:14px;font-family:Arial,sans-serif}.evidence h4{font-family:Impact,"Arial Narrow",sans-serif;color:var(--red);font-size:22px;margin:0 0 8px}.evidence ul{margin:8px 0;padding-left:20px}
.ai-output{white-space:pre-wrap;background:#111;color:#f4f4f4;border-left:8px solid var(--red);padding:15px;font:14px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;min-height:120px;max-height:430px;overflow:auto}.ai-loading{opacity:.6}.micro{font:12px/1.4 Arial,sans-serif;color:var(--gray)}
.order-list{list-style:none;padding:0;margin:0}.order-item{display:grid;grid-template-columns:42px minmax(0,1fr) 80px;gap:10px;align-items:center;background:#fff;border:2px solid var(--line);padding:10px;margin:7px 0}.order-num{width:34px;height:34px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center}.order-title{font-family:Arial,sans-serif;font-weight:700}.order-controls{display:flex;gap:4px}.order-controls button{width:34px;height:32px;border:0;background:var(--black);color:white}
.shock{border:6px solid var(--red);background:#fff;padding:18px}.shock h2{color:var(--red);font-size:38px;margin:0 0 8px}.shock-cover{background:var(--red);color:white;display:grid;place-items:center;min-height:180px;font-size:44px;text-align:center;padding:20px}
.message{background:#fff2c9;border-left:6px solid #d29000;padding:10px 12px;font:14px Arial,sans-serif;margin-bottom:14px}.timer{font:800 20px Arial,sans-serif}.timer.hot{color:#ff7972}.presence{font:13px Arial,sans-serif;color:#444}.participant{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:6px 0}.participant .role{color:var(--red);font-size:11px;text-transform:uppercase}.fac-control{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.fac-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.completion{font:12px Arial,sans-serif;color:var(--gray)}
.join-wrap{min-height:100vh;background:var(--black);display:grid;place-items:center;padding:24px}.join-card{width:min(920px,96vw);display:grid;grid-template-columns:1.2fr .8fr;background:var(--paper);border:7px solid var(--red);box-shadow:0 30px 70px rgba(0,0,0,.45);overflow:hidden}.join-main{padding:34px}.join-art{background:#151515;display:flex;align-items:end;justify-content:center;position:relative;overflow:hidden}.join-art:before{content:"";position:absolute;width:380px;height:380px;border:45px solid rgba(174,25,21,.35);border-radius:50%;top:-80px;right:-110px}.join-art img{max-width:90%;max-height:460px;object-fit:contain;z-index:1}.join-logo{width:210px;max-height:80px;object-fit:contain}.join-main h1{font-size:58px;line-height:.9;margin:25px 0 8px}.join-main h1 span{color:var(--red)}.join-main p{font:17px/1.5 Arial,sans-serif}.join-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.join-role{display:flex;align-items:center;gap:8px;font:14px Arial,sans-serif;margin:10px 0}.join-error{color:#b00000;font:14px Arial,sans-serif;min-height:20px}
.footer{background:var(--black);color:#fff;border-top:5px solid var(--red);padding:12px 20px;display:flex;justify-content:space-between;gap:20px;font-size:14px}.footer strong{color:var(--red2)}
@media(max-width:1050px){.layout{grid-template-columns:190px minmax(0,1fr)}.side{display:none}.grid3{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.layout{display:block}.nav{position:static;display:flex;overflow:auto;gap:5px;padding:8px}.nav h3{display:none}.nav button{white-space:nowrap;width:auto;border-left:0;border-bottom:3px solid transparent}.nav button.active{border-bottom-color:var(--red)}.main{padding:10px}.activity{padding:15px;border-width:3px}.activity h1{font-size:35px}.grid2,.grid3,.join-card,.join-fields{grid-template-columns:1fr}.join-art{display:none}.scenario,.resp-row{grid-template-columns:1fr}.topbar .brand-title{font-size:18px}.topbar img{height:34px}.status-pill{display:none}}
