:root{color:#e7e2da;font-synthesis:none;text-rendering:optimizelegibility;background:#090b0d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html{background:#090b0d}body{min-width:320px;min-height:100vh;margin:0}button,select{font-family:inherit}#root{width:100%;min-height:100vh}*{box-sizing:border-box}button,select{font:inherit}button{border:0}.app-shell{color:#e7e2da;background:radial-gradient(circle at 50% 10%,#c254271f,#0000 35%),#090b0d;min-height:100vh;padding:32px;position:relative;overflow:hidden}.background-grid{pointer-events:none;opacity:.12;background-image:linear-gradient(#ffffff14 1px,#0000 1px),linear-gradient(90deg,#ffffff14 1px,#0000 1px);background-size:44px 44px;position:fixed;inset:0}.terminal{z-index:1;background:#0d1013f5;border:1px solid #3c4045;flex-direction:column;width:min(100%,1080px);min-height:calc(100vh - 64px);margin:0 auto;display:flex;position:relative}.top-bar{border-bottom:1px solid #3c4045;justify-content:space-between;align-items:center;gap:24px;min-height:76px;padding:18px 24px;display:flex}.system-label{letter-spacing:.2em;margin:0;font-size:14px;font-weight:700}.system-subtitle{color:#777d83;letter-spacing:.17em;margin:5px 0 0;font-size:11px}.status-light{letter-spacing:.15em;color:#9ca29f;align-items:center;gap:9px;font-size:10px;display:flex}.status-light span{background:#91a796;border-radius:50%;width:7px;height:7px;box-shadow:0 0 10px #91a796b3}.screen{flex:1;width:min(100%,720px);margin:0 auto;padding:72px 36px}.screen-centred{flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.eyebrow{color:#b46c4b;letter-spacing:.22em;margin:0 0 18px;font-size:11px;font-weight:700}h1,h2{text-transform:uppercase;margin:0;font-weight:800}h1{letter-spacing:-.055em;font-size:clamp(54px,9vw,106px);line-height:.84}h2{letter-spacing:-.04em;font-size:clamp(36px,6vw,66px);line-height:.95}.intro,.screen-description{color:#969da4;max-width:560px;line-height:1.6}.intro{margin:30px 0 38px;font-size:16px}.screen-description{margin:24px 0 34px;font-size:15px}.primary-button,.secondary-button,.back-button{cursor:pointer;transition:transform .12s,background .12s,border-color .12s}.primary-button{color:#fff9f4;letter-spacing:.12em;background:#c25c32;min-width:220px;padding:17px 28px;font-weight:800}.primary-button:hover:not(:disabled){background:#d56b40;transform:translateY(-1px)}.primary-button:disabled{opacity:.28;cursor:not-allowed}.secondary-button{color:#b8bdc1;letter-spacing:.1em;background:0 0;border:1px solid #4b5055;min-width:220px;margin-top:14px;padding:15px 28px;font-weight:700;display:block}.back-button{color:#878e94;letter-spacing:.14em;background:0 0;margin:0 0 54px;padding:0;font-size:12px;font-weight:700}.back-button:hover{color:#e7e2da}.player-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 38px;display:grid}.player-button{cursor:pointer;color:#cbd0d3;background:#15191d;border:1px solid #363b40;flex-direction:column;justify-content:center;align-items:center;min-height:132px;transition:border-color .12s,background .12s,transform .12s;display:flex}.player-button strong{font-size:42px;line-height:1}.player-button span{color:#747b81;letter-spacing:.16em;margin-top:10px;font-size:10px}.player-button:hover{border-color:#777e84;transform:translateY(-2px)}.player-button.selected{background:#c25c3221;border-color:#c25c32}.select-label{color:#727980;letter-spacing:.16em;margin-bottom:9px;font-size:10px;font-weight:700;display:block}.passenger-select{color:#e7e2da;background:#111519;border:1px solid #464c52;border-radius:0;outline:none;width:100%;padding:17px 18px}.passenger-select:focus{border-color:#c25c32}.manifest-preview{border:1px solid #363b40;grid-template-columns:repeat(3,1fr);margin:22px 0 34px;display:grid}.manifest-preview div{border-right:1px solid #363b40;flex-direction:column;justify-content:space-between;min-height:96px;padding:18px;display:flex}.manifest-preview div:last-child{border-right:0}.manifest-preview span,.summary-row span{color:#70777d;letter-spacing:.15em;font-size:9px;font-weight:700}.manifest-preview strong{font-size:18px}.notice-panel{color:#9aa0a5;background:#14181c;border-left:3px solid #c25c32;margin:22px 0 34px;padding:18px;line-height:1.5}.summary-panel{border-top:1px solid #3c4045;margin:34px 0}.summary-row{border-bottom:1px solid #3c4045;justify-content:space-between;align-items:center;gap:30px;min-height:62px;display:flex}.summary-row strong{text-align:right}.footer{color:#535a60;letter-spacing:.17em;border-top:1px solid #3c4045;justify-content:space-between;align-items:center;min-height:52px;padding:0 24px;font-size:9px;display:flex}@media (width<=700px){.app-shell{padding:0}.terminal{border-left:0;border-right:0;min-height:100vh}.top-bar{padding:16px 18px}.status-light{display:none}.screen{padding:54px 22px}.player-grid{grid-template-columns:repeat(2,1fr)}.manifest-preview{grid-template-columns:1fr}.manifest-preview div{border-bottom:1px solid #363b40;border-right:0}.manifest-preview div:last-child{border-bottom:0}.footer{padding:0 18px}}.game-screen{position:relative}.game-control-bar{z-index:20;background:#0d1013fa;border:1px solid #3c4045;margin:-24px 0 28px;padding:18px;position:sticky;top:0;box-shadow:0 12px 30px #00000059}.game-control-status{background:#34393e;border:1px solid #34393e;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:16px;display:grid}.game-control-status>div{background:#111519;flex-direction:column;justify-content:space-between;min-height:66px;padding:12px 14px;display:flex}.game-control-status span{color:#70777d;letter-spacing:.15em;font-size:9px;font-weight:700}.game-control-status strong{text-overflow:ellipsis;font-size:14px;overflow:hidden}.game-control-buttons{flex-wrap:wrap;gap:10px;display:flex}.compact-button{min-width:150px;margin-top:0;display:inline-block}.current-game-content{width:100%}.current-script-panel{margin-top:0}.script-step{border-bottom:1px solid #30353a;padding:14px 0}.script-step:last-child{border-bottom:0}.script-step p{margin:6px 0}.script-timer{color:#b46c4b;letter-spacing:.12em;font-size:11px;font-weight:700}.event-script{margin-top:28px}.completion-message{color:#9caf9e;letter-spacing:.13em;margin-top:18px;font-size:11px;font-weight:700}.development-details{color:#8c9399;border:1px solid #353a3f;margin-top:20px;padding:12px 14px}.development-details summary{cursor:pointer;color:#b2b7bb;letter-spacing:.1em;font-size:11px;font-weight:700}.control-development-details{margin-top:14px}.development-button-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.modal-backdrop{z-index:1000;background:#000000d1;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-panel{background:#111519;border:1px solid #555c62;width:min(100%,520px);padding:30px;box-shadow:0 24px 80px #000000b3}.modal-panel h2{margin-bottom:24px}.modal-panel p{color:#a5abb0;line-height:1.6}@media (width<=700px){.game-control-bar{margin:-16px -4px 22px;padding:14px}.game-control-status{grid-template-columns:1fr}.game-control-status>div{min-height:54px}.game-control-buttons{flex-direction:column}.game-control-buttons .primary-button,.game-control-buttons .secondary-button{width:100%}.modal-backdrop{padding:14px}.modal-panel{padding:22px}}.narrator-stage{flex-direction:column;align-items:center;width:min(100%,680px);margin:0 auto;padding:36px 24px 56px;display:flex}.timer-ring{width:220px;height:220px;margin-bottom:24px;position:relative}.timer-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.timer-ring-track,.timer-ring-progress{fill:none;stroke-width:7px}.timer-ring-track{stroke:#292e33}.timer-ring-progress{stroke:#c25c32;stroke-linecap:butt;transition:stroke-dashoffset .1s linear}.timer-ring-content{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.timer-ring-content span{color:#747c82;letter-spacing:.16em;margin-bottom:6px;font-size:9px;font-weight:700}.timer-ring-content strong{color:#e7e2da;font-size:52px;font-weight:300;line-height:1}.narrator-progress{color:#616970;letter-spacing:.16em;margin:0 0 26px;font-size:9px;font-weight:700}.narrator-current-text{color:#e7e2da;text-align:center;border-top:1px solid #393f44;border-bottom:1px solid #393f44;justify-content:center;align-items:center;width:100%;min-height:150px;padding:30px 24px;font-size:clamp(21px,3vw,30px);font-weight:500;line-height:1.45;display:flex}.narrator-control-row{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.narrator-control-button{cursor:pointer;color:#b6bcc0;letter-spacing:.12em;background:#15191d;border:1px solid #454b50;min-height:42px;font-size:10px;font-weight:700}.narrator-control-button:hover:not(:disabled){color:#fff;border-color:#7b8288}.narrator-control-button:disabled{cursor:not-allowed;opacity:.28}@media (width<=700px){.narrator-stage{padding:28px 8px 44px}.timer-ring{width:184px;height:184px}.timer-ring-content strong{font-size:44px}.narrator-current-text{min-height:130px;padding:24px 12px}.narrator-control-row{grid-template-columns:repeat(3,1fr)}}.narrator-control-row{grid-template-columns:repeat(3,1fr);gap:12px;width:min(100%,290px);margin:0 0 22px;display:grid}.narrator-icon-button{cursor:pointer;color:#aeb5ba;background:#15191d;border:1px solid #454b50;justify-content:center;justify-self:center;align-items:center;width:66px;height:50px;transition:background .12s,border-color .12s,transform .12s;display:flex}.narrator-icon-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:square;stroke-linejoin:miter;width:24px;height:24px}.narrator-icon-button:hover:not(:disabled){color:#e7e2da;border-color:#c25c32;transform:translateY(-1px)}.narrator-icon-button-primary{background:#c25c321f;border-color:#8b4a31}.narrator-icon-button:disabled{cursor:not-allowed;opacity:.25}.voting-choice-row{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.modal-button-row{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.modal-button-row .secondary-button{margin-top:0}@media (width<=700px){.narrator-control-row{gap:8px;width:250px}.narrator-icon-button{width:60px;height:48px}.voting-choice-row{flex-direction:column}.voting-choice-row .primary-button,.voting-choice-row .secondary-button{width:100%}.modal-button-row{flex-direction:column}.modal-button-row .primary-button,.modal-button-row .secondary-button{width:100%}}
