:root{--yellow:#fed000;--ink:#231f20;--bg:#151515;--panel:#232122;--border:#3b3738;--muted:#b6b1b3;--white:#fff;color-scheme:dark;font-family:Arial,Helvetica,sans-serif;color:var(--white);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}[hidden]{display:none!important}.topbar{height:94px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.brand{display:inline-flex;align-items:center;gap:3px;font-size:25px;font-weight:950;letter-spacing:-1.4px}.brand>span{color:var(--yellow)}.brand small{font-size:12px;letter-spacing:2px;margin-left:24px;font-weight:500;color:var(--muted)}.account{display:flex;align-items:center;gap:25px}.branch-pill{border:1px solid var(--border);padding:7px 16px;border-radius:30px;font-size:14px}.text-button{background:none;border:0;color:var(--muted);padding:8px}.text-button:hover{color:var(--yellow)}.container{max-width:1280px;margin:auto;padding:42px 36px 70px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:12px 0 32px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,4vw,52px);line-height:1.1;letter-spacing:-1.5px;margin-bottom:0;overflow-wrap:anywhere}h2{font-size:28px;line-height:1.2;letter-spacing:-.6px;margin:12px 0 22px}h3{font-size:18px;margin-bottom:6px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--muted);display:block;margin-bottom:12px}.yellow{color:var(--yellow)}.tag{font-size:12px;letter-spacing:1.5px;color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:30px}.button{min-height:48px;border:1px solid transparent;border-radius:8px;display:inline-flex;justify-content:center;align-items:center;gap:15px;font-weight:700;padding:12px 20px;font-size:15px}.primary{background:var(--yellow);color:var(--ink)}.primary:hover{background:#ffe15a}.secondary{background:transparent;color:white;border-color:#61595d}.secondary:hover{border-color:var(--yellow)}.danger{background:transparent;border-color:#775154;color:#ffb6ba}.wide{width:100%;justify-content:space-between}.muted{color:var(--muted)}.help{color:var(--muted);font-size:14px;line-height:1.6;margin-top:24px}.notice{padding:16px 20px;border:1px solid #716224;background:#302c1e;border-radius:10px;color:#ffdf74;margin-bottom:24px;font-size:14px}.notice.error{color:#ffc1c1;background:#422b2b;border-color:#775154}label{display:block;font-size:14px;font-weight:600;margin-bottom:20px}input,select,textarea{display:block;width:100%;border:1px solid #575054;background:#191718;border-radius:8px;color:white;padding:14px;margin-top:8px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--yellow);box-shadow:0 0 0 2px #fed00025}input::placeholder{color:#999196}textarea{resize:vertical;line-height:1.6}.form-row{display:flex;gap:18px}.form-row>label{flex:1;min-width:0}.dashboard-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:42px}.create-panel{border-top:3px solid var(--yellow)}.guide{padding:18px 20px}.guide ol{list-style:none;padding:0;margin:25px 0}.guide li{display:flex;gap:24px;margin-bottom:28px}.guide li>span{color:var(--yellow);font-size:25px;font-weight:700}.guide p{color:var(--muted);font-size:15px;margin:0;max-width:330px}.history{margin-top:44px}.section-heading{display:flex;align-items:center;justify-content:space-between}.section-heading h2{font-size:24px}.game-row{display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--border);padding:20px 8px}.game-row:hover{background:var(--panel)}.game-row>div{flex:1}.game-row small{display:block;color:var(--muted);margin-top:5px}.empty-history{padding:30px;border:1px dashed var(--border);border-radius:12px;color:var(--muted)}.status{font-size:13px;display:inline-flex;gap:8px;align-items:center}.status:before{content:'';width:7px;height:7px;border-radius:50%;background:#aaa}.status.active:before{background:#b6e37c}.status.paused:before{background:var(--yellow)}.status.finished{color:var(--muted)}.back{color:var(--muted);font-size:14px}.live-bar{display:flex;justify-content:space-between;font-size:13px;border-top:1px solid var(--border);padding:16px 0 24px}.control-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.task-panel h2{min-height:68px;font-size:30px}.task-actions{display:flex;justify-content:space-between;gap:10px}.players{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.player-card{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#201d1f;min-width:0}.player-caption{display:flex;justify-content:space-between;gap:10px;padding:14px 18px;background:#2d292b;font-size:12px;font-weight:700;letter-spacing:.8px}.player-caption [data-name]{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-area{height:270px;display:flex;align-items:center;justify-content:center;position:relative;text-align:center}.photo-area img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.slot-number{font-size:65px;font-weight:900;line-height:1.2;color:#665b61}.photo-area p{font-size:14px;color:var(--muted);margin:12px 0}.join-panel h2{font-size:27px}.qr{display:block;width:100%;height:auto;aspect-ratio:1;max-width:250px;border-radius:10px;margin:20px auto}.join-code{font-family:monospace;font-size:23px;letter-spacing:3px;color:var(--yellow);overflow-wrap:anywhere}.join-panel .muted{font-size:14px;margin-bottom:4px}.controls{margin-top:24px}.controls h2{font-size:20px}.control-actions{display:flex;flex-wrap:wrap;gap:12px}.task-editor{margin-top:20px}.task-editor summary{cursor:pointer;font-weight:700}.task-editor form{margin-top:24px}.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 94px)}.login-story{padding:60px 12% 28px;background:var(--yellow);color:var(--ink);display:flex;flex-direction:column}.login-story .eyebrow{color:#4a4018}.login-story h1{font-size:clamp(60px,6.8vw,112px);letter-spacing:-5px;line-height:.98;margin:20px 0 32px;font-weight:900}.login-story h1>span{color:white}.login-story p{font-size:19px;line-height:1.5}.story-footer{display:flex;justify-content:space-between;gap:15px;font-size:11px;letter-spacing:1px;margin-top:auto;padding-top:50px}.login-form-wrap{display:flex;align-items:center;justify-content:center;padding:50px 10%}.login-form{width:100%;max-width:380px}.login-form h2{font-size:31px}.login-form form{margin-top:34px}.screen{min-height:100vh;padding:25px 4%;display:flex;flex-direction:column}.screen-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.screen-header>span{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:2px}.screen-task{text-align:center;margin:28px auto;max-width:1400px}.screen-task h1{font-size:clamp(27px,3vw,56px);line-height:1.12}.screen-stage{display:grid;grid-template-columns:1fr 230px 1fr;gap:35px;align-items:center;flex:1}.stage-player{border:2px solid #686059}.stage-player .photo-area{height:clamp(280px,52vh,750px)}.stage-player .player-caption{background:var(--yellow);color:var(--ink);font-size:15px}.stage-player .player-caption [data-name]{color:#423600}.slot-1{grid-column:1;grid-row:1}.slot-2{grid-column:3;grid-row:1}.screen-join{grid-column:2;grid-row:1;text-align:center}.screen-join .eyebrow{color:var(--yellow)}.screen-join p{font-size:16px;color:var(--muted);margin-top:18px}.screen-footer{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px;margin-top:25px}.finished-overlay{position:fixed;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#151515;text-align:center}.finished-overlay h1{font-size:100px;margin-bottom:30px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--yellow);color:var(--ink);padding:14px 24px;border-radius:10px;box-shadow:0 5px 30px #0008;z-index:20;max-width:90vw}
@media(min-width:1800px){.screen-stage{grid-template-columns:1fr 280px 1fr;gap:65px}.screen-join .qr{max-width:280px}.screen-stage .slot-number{font-size:110px}}
@media(max-width:900px){.topbar{height:78px}.brand small{display:none}.container{padding:28px 22px 50px}.dashboard-grid{gap:20px}.control-grid{grid-template-columns:minmax(0,1fr) 240px}.panel{padding:22px}.photo-area{height:220px}.page-heading{align-items:flex-start}.page-heading .button{white-space:nowrap}.login-story{padding:50px 10%}.login-story h1{letter-spacing:-3px}.screen-stage{gap:16px;grid-template-columns:1fr 170px 1fr}.screen-join .join-code{font-size:18px;letter-spacing:1px}.screen-header>span{font-size:12px}.player-caption{flex-direction:column;gap:2px}}
@media(max-width:650px){.topbar{padding:0 20px}.brand{font-size:22px}.account{gap:10px}.branch-pill{padding:5px 10px}.login-layout{grid-template-columns:1fr}.login-story{padding:28px 25px}.login-story h1{font-size:50px;line-height:1.05;margin:0}.login-story h1 br{display:none}.login-story p,.story-footer{display:none}.login-story .eyebrow{font-size:11px}.login-form-wrap{padding:35px 25px}.dashboard-grid,.control-grid{grid-template-columns:1fr}.guide{padding:20px 0}.page-heading{flex-direction:column;gap:20px}.tag{display:none}.join-panel .qr{max-width:220px}.players{gap:12px}.photo-area{height:230px}.player-caption{font-size:11px;padding:10px}.task-panel h2{font-size:25px}.form-row{flex-direction:column;gap:0}.screen{padding:18px}.screen-header>span{display:none}.screen-stage{grid-template-columns:1fr 1fr;gap:12px}.slot-1{grid-column:1}.slot-2{grid-column:2}.screen-join{grid-row:2;grid-column:1 / 3;margin-top:20px}.screen-join .qr{width:160px}.stage-player .photo-area{height:36vh}.stage-player .player-caption{font-size:11px}.screen-footer{flex-wrap:wrap}.screen-task h1{font-size:28px}.screen-task{margin:25px 0}.finished-overlay h1{font-size:65px}.game-row{gap:12px}.game-row .status{font-size:12px}}
html.fullscreen-host,
html.fullscreen-host body { margin:0; overflow:hidden; background:#000; }
.fullscreen-host-frame { position:fixed; inset:0; width:100vw; height:100vh; border:0; z-index:2147483647; background:#000; display:block; }
