@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--ink:#182321;--muted:#77817d;--paper:#f5f7f3;--line:#e1e7e1;--coral:#f4674f;--mint:#b9e6cf;--yellow:#f2d66b;--blue:#9ec7db;--soft-coral:#ffe1d9;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Manrope,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);background:#fafbf8;flex-direction:column;flex-shrink:0;width:248px;padding:30px 18px 22px;display:flex}.brand,.mobile-brand{letter-spacing:-1px;align-items:center;gap:10px;font-size:19px;font-weight:800;display:flex}.brand-mark{background:var(--coral);color:#fff;border-radius:9px 9px 9px 2px;place-items:center;width:29px;height:29px;font-size:17px;font-weight:800;display:grid;transform:rotate(-7deg)}.workspace-switcher{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:10px;margin:42px 5px 34px;padding:10px 8px;display:flex}.workspace-switcher strong,.workspace-switcher small{white-space:nowrap;line-height:1.25;display:block}.workspace-switcher strong{font-size:11px}.workspace-switcher small{color:var(--muted);margin-top:3px;font-size:10px}.chevron{color:var(--muted);margin-left:auto}.avatar{color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:9px;font-weight:800;display:grid}.avatar-coral{background:var(--coral)}.avatar-blue{background:#488fa4}.avatar-yellow{background:#c79b26}.main-nav{gap:5px;display:grid}.main-nav button,.logout{color:#727c77;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:12px;padding:11px 13px;font-size:12px;font-weight:600;display:flex}.main-nav button:hover,.main-nav button.active{color:var(--ink);background:#eaf0eb}.nav-icon{color:#9aa49f;text-align:center;width:16px;font-size:17px}.active .nav-icon{color:var(--coral)}.nav-label{color:#a0aaa5;text-transform:uppercase;letter-spacing:.5px;margin:39px 13px 12px;font:10px DM Mono,monospace}.sidebar-bottom{margin-top:auto}.help-card{background:#e8f2ec;border-radius:8px;margin:0 4px 18px;padding:16px}.help-spark{background:var(--yellow);border-radius:50%;place-items:center;width:25px;height:25px;margin-bottom:14px;font-size:14px;display:grid}.help-card strong{font-size:11px}.help-card p{color:#78847d;margin:5px 0 14px;font-size:10px;line-height:1.5}.help-card button,.text-button{color:var(--ink);background:0 0;border:0;padding:0;font-size:10px;font-weight:800}.help-card button span,.text-button span{color:var(--coral);margin-left:4px;font-size:15px}.logout{border-top:1px solid var(--line);border-radius:0;width:100%;padding:18px 13px 0;font-size:11px}.content{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);justify-content:flex-end;align-items:center;height:79px;padding:0 5.5%;display:flex}.topbar-actions{align-items:center;gap:15px;display:flex}.icon-button{color:#82908a;background:0 0;border:0;font-size:21px;position:relative}.notification-dot{background:var(--coral);border-radius:50%;width:5px;height:5px;position:absolute;top:2px;right:1px}.top-divider{background:var(--line);width:1px;height:24px}.user-name{font-size:11px;font-weight:700}.mobile-brand,.mobile-menu{display:none}.page-wrap{max-width:1220px;margin:0 auto;padding:55px 5.5% 60px}.welcome{justify-content:space-between;align-items:end;margin-bottom:40px;display:flex}.eyebrow{color:#a0aaa5;letter-spacing:.7px;margin:0 0 13px;font:10px DM Mono,monospace}.welcome h1{letter-spacing:-2.2px;margin:0;font-size:clamp(29px,3vw,42px);line-height:1.1}.welcome h1 span{color:var(--coral);vertical-align:top;font-size:.65em}.welcome-copy{color:var(--muted);margin-top:11px;font-size:12px}.primary-button,.secondary-button{background:var(--ink);color:#fff;border:0;border-radius:6px;padding:12px 17px;font-size:11px;font-weight:800;transition:transform .2s,background .2s}.primary-button:hover{background:var(--coral);transform:translateY(-2px)}.primary-button span{color:var(--yellow);vertical-align:-1px;font-size:17px}.stats-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:46px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:148px;padding:17px 20px;position:relative;overflow:hidden}.stat-top{justify-content:space-between;align-items:start;display:flex}.stat-icon{border-radius:7px;place-items:center;width:28px;height:28px;font-size:16px;display:grid}.coral-bg{background:var(--soft-coral);color:var(--coral)}.mint-bg{color:#559d79;background:#e0f4e8}.yellow-bg{color:#b68d22;background:#fff4c7}.trend{font:9px DM Mono,monospace}.up{color:#4ca475}.neutral{color:#9da7a2}.stat-card strong{letter-spacing:-1.5px;margin-top:15px;font-size:27px;display:block}.small-unit{color:#acb5b0;letter-spacing:0;font-size:13px}.stat-card>span:not(.trend){color:var(--muted);margin-top:2px;font-size:10px;display:block}.sparkline{opacity:.7;border-bottom:2px solid;width:77px;height:25px;position:absolute;bottom:20px;right:17px;transform:skewY(-13deg)}.coral-line{border-color:var(--coral);border-radius:50%}.mint-line{border-color:#76be98;border-radius:50%;transform:skewY(12deg)}.rating-dots{gap:3px;margin-top:14px;display:flex}.rating-dots i{background:var(--yellow);border-radius:50%;width:7px;height:7px}.rating-dots .faded{opacity:.3}.content-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);gap:42px;display:grid}.section-heading{justify-content:space-between;align-items:end;margin-bottom:19px;display:flex}.section-heading h2,.room-card h2,.quick-start h2,.modal h2{letter-spacing:-.7px;margin:0;font-size:17px}.section-heading p{color:var(--muted);margin:6px 0 0;font-size:10px}.game-list{gap:9px;display:grid}.game-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:47px minmax(130px,1fr) 113px 75px 22px;align-items:center;gap:13px;min-height:66px;padding:9px 12px 9px 9px;display:grid}.game-art{border-radius:5px;place-items:center;height:47px;font-size:23px;display:grid}.game-art.coral{background:var(--soft-coral);color:var(--coral)}.game-art.mint{background:var(--mint);color:#4c9070}.game-art.blue{background:var(--blue);color:#4f8199}.game-art.yellow{background:var(--yellow);color:#a9811d}.game-info h3{margin:0 0 5px;font-size:11px}.game-info p,.game-players{color:var(--muted);margin:0;font-size:9px}.game-info b{color:#ccd3ce;margin:0 3px}.mini-avatars{vertical-align:middle;margin-right:5px;display:inline-flex}.mini-avatars .avatar{width:20px;height:20px;margin-left:-5px;font-size:6px}.mini-avatars .avatar:first-child{margin-left:0}.status{color:var(--muted);align-items:center;gap:5px;font:9px DM Mono,monospace;display:flex}.status i,.live-pill i,.pulse{background:#c6d0ca;border-radius:50%;width:6px;height:6px;display:inline-block}.status.ao-vivo{color:#4ca475}.status.ao-vivo i,.live-pill i,.pulse{background:#54c27e;box-shadow:0 0 0 3px #dff5e6}.more-button{color:#b4bdb8;letter-spacing:1px;background:0 0;border:0;font-size:11px}.empty-state{color:var(--muted);text-align:center;padding:30px;font-size:12px}.room-card{background:var(--ink);color:#fff;border-radius:8px;align-self:start;padding:20px}.room-header{justify-content:space-between;align-items:start;display:flex}.room-card .eyebrow{color:#72817a;margin-bottom:9px}.room-card h2{color:#fff}.live-pill{color:#79d89b;align-items:center;gap:7px;font:9px DM Mono,monospace;display:flex}.room-visual{min-height:147px;color:var(--ink);background:#e3f1e8;border-radius:5px;flex-direction:column;justify-content:end;margin:22px 0 17px;padding:19px;display:flex;position:relative;overflow:hidden}.room-visual:after{content:"";border:23px solid #b9dfcb;border-radius:50%;width:135px;height:135px;position:absolute;top:-35px;right:-10px}.room-doodle{z-index:1;color:var(--coral);font-size:57px;position:absolute;top:24px;right:39px;transform:rotate(17deg)}.room-question{z-index:2;color:#778c80;margin-bottom:10px;font:9px DM Mono,monospace;position:relative}.room-question b{color:var(--coral)}.room-visual strong{z-index:2;font-size:15px;position:relative}.room-progress{background:#c5dfd0;height:3px;margin-top:18px}.room-progress span{background:var(--coral);width:62%;height:100%;display:block}.room-meta{border-bottom:1px solid #34413c;justify-content:space-between;align-items:center;padding-bottom:18px;display:flex}.room-meta small{color:#72817a;margin-bottom:5px;font:8px DM Mono,monospace;display:block}.room-meta strong{letter-spacing:2px;font:16px DM Mono,monospace}.copy-button{color:#fff;background:0 0;border:1px solid #536159;border-radius:4px;padding:8px 9px;font-size:9px}.copy-button:hover{border-color:var(--mint)}.copy-button span{color:var(--yellow);margin-left:4px}.room-footer{justify-content:space-between;align-items:center;padding-top:15px;display:flex}.playing-now{color:#82918a;align-items:center;gap:7px;font-size:9px;display:flex}.playing-now strong{color:#fff}.pulse{width:5px;height:5px;margin-left:2px}.open-room{color:#fff;background:0 0;border:0;font-size:10px;font-weight:700}.open-room span{color:var(--coral);margin-left:4px;font-size:15px}.lower-grid{grid-template-columns:1.45fr .8fr;gap:42px;margin-top:47px;display:grid}.quick-start{background:var(--yellow);border-radius:8px;justify-content:space-between;align-items:center;padding:22px 24px;display:flex}.quick-start .eyebrow{color:#a48b31;margin-bottom:9px}.quick-start p{color:#76662b;margin:7px 0 0;font-size:10px}.join-form{height:35px;display:flex}.join-form input{width:106px;min-width:0;color:var(--ink);text-transform:uppercase;background:#fff8d9;border:1px solid #d7bd50;border-right:0;border-radius:5px 0 0 5px;outline:0;padding:0 11px;font:10px DM Mono,monospace}.join-form button{background:var(--ink);color:#fff;border:0;border-radius:0 5px 5px 0;padding:0 11px;font-size:10px;font-weight:700}.join-form button span{color:var(--yellow);margin-left:4px}.tip-card{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:13px;padding:20px;display:flex}.tip-icon{background:var(--soft-coral);width:30px;height:30px;color:var(--coral);border-radius:50%;place-items:center;display:grid}.tip-card .eyebrow{margin-bottom:6px}.tip-card p{font-size:11px;font-weight:700;line-height:1.4}.tip-arrow{color:var(--coral);margin-left:auto}.modal-backdrop{z-index:10;background:#18232173;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:min(100%,410px);max-height:86vh;color:var(--ink);background:#fff;border-radius:10px;padding:28px;position:relative;overflow-y:auto;box-shadow:0 24px 70px #18232133}.modal h2{color:var(--ink)}.modal-close{color:var(--muted);background:0 0;border:0;font-size:23px;position:absolute;top:14px;right:17px}.modal-icon{background:var(--yellow);border-radius:50%;place-items:center;width:38px;height:38px;margin-bottom:20px;display:grid}.modal h2{margin-bottom:8px;font-size:23px}.modal>p:not(.eyebrow){color:var(--muted);margin-bottom:25px;font-size:11px}.modal label{margin-bottom:7px;font-size:10px;font-weight:800;display:block}.modal input{border:1px solid var(--line);outline-color:var(--coral);border-radius:5px;width:100%;padding:12px;font-size:12px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:25px;display:flex}.secondary-button{color:var(--ink);background:#edf1ed}.secondary-button:hover{background:#dfe7e1}@media (width<=900px){.sidebar{width:210px}.content-grid,.lower-grid{grid-template-columns:1fr;gap:30px}.room-card{max-width:none}.lower-grid{margin-top:0}}@media (width<=680px){.sidebar{display:none}.topbar{justify-content:space-between;height:65px;padding:0 20px}.mobile-brand{font-size:16px;display:flex}.mobile-menu{color:var(--ink);background:0 0;border:0;font-size:18px;display:block}.user-name,.top-divider{display:none}.page-wrap{padding:34px 20px 40px}.welcome{margin-bottom:31px;display:block}.welcome h1{font-size:32px}.welcome .primary-button{width:100%;margin-top:22px}.stats-grid{grid-template-columns:1fr;gap:9px;margin-bottom:35px}.stat-card{min-height:124px}.content-grid{gap:28px}.section-heading{align-items:start}.game-row{grid-template-columns:42px minmax(0,1fr) 22px;gap:10px}.game-art{height:42px}.game-players,.status{display:none}.game-info h3{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.more-button{grid-area:1/3}.quick-start{padding:20px;display:block}.join-form{margin-top:18px}.join-form input{flex:1;width:auto}.tip-card{padding:16px}}.auth-wrap{background:var(--paper);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--line);background:#fff;border-radius:12px;width:min(100%,380px);padding:32px;box-shadow:0 24px 70px #18232114}.auth-card .brand-mark{margin-bottom:18px}.auth-card h1{letter-spacing:-1px;margin:0 0 6px;font-size:22px}.auth-sub{color:var(--muted);margin:0 0 22px;font-size:12px}.auth-card label{margin:14px 0 6px;font-size:10px;font-weight:800;display:block}.auth-card input{border:1px solid var(--line);outline-color:var(--coral);border-radius:6px;width:100%;padding:11px 12px;font-size:13px}.auth-card .primary-button{width:100%;margin-top:22px;padding:13px}.auth-alt{color:var(--muted);text-align:center;margin:16px 0 0;font-size:11px}.auth-alt a{color:var(--coral);font-weight:700;text-decoration:none}.auth-error{background:var(--soft-coral);color:#b23a25;border-radius:6px;margin:14px 0 0;padding:9px 12px;font-size:11px;font-weight:600}.games-section{margin-top:8px}.game-row--wide{grid-template-columns:47px minmax(0,1fr) 110px auto}.game-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.text-button.danger{color:#c4462f}.text-button:hover{opacity:.7}.editor{background:var(--paper);flex-direction:column;min-height:100vh;display:flex}.editor-top{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:18px;padding:14px 22px;display:flex}.editor-title{align-items:center;gap:12px;display:flex}.editor-title h1{letter-spacing:-.5px;margin:0;font-size:16px}.editor-top-actions{align-items:center;gap:16px;margin-left:auto;display:flex}.editor-top-actions a{text-decoration:none}.editor-msg{margin:10px 22px 0}.editor-notice{color:#2f7d54;background:#e0f4e8;border-radius:6px;margin:10px 22px 0;padding:8px 12px;font-size:11px;font-weight:700}.editor-grid{flex:1;grid-template-columns:232px minmax(0,1fr) 320px;min-height:0;display:grid}.scene-rail,.inspector{background:#fff;padding:16px;overflow-y:auto}.scene-rail{border-right:1px solid var(--line)}.inspector{border-left:1px solid var(--line)}.rail-head{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:11px;font-weight:800;display:flex}.inspector-tabs{background:#f2f1ee;border-radius:8px;gap:4px;margin-bottom:14px;padding:3px;display:flex}.inspector-tabs .tab-btn{color:var(--muted);background:0 0;border:0;border-radius:6px;flex:1;padding:7px;font-size:11px;font-weight:800}.inspector-tabs .tab-btn.active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #0000001f}.scene-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.scene-list li{border:1px solid var(--line);cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:9px 10px;font-size:12px;display:flex}.scene-list li.active{border-color:var(--coral);background:var(--soft-coral)}.scene-index{background:var(--ink);color:#fff;border-radius:5px;flex-shrink:0;place-items:center;width:20px;height:20px;font-size:10px;font-weight:800;display:grid}.scene-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.scene-tools{gap:3px;display:flex}.mini-button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:5px;padding:5px 8px;font-size:10px;font-weight:700}.mini-button:hover{border-color:var(--ink)}.mini-button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.mini-button.danger{color:#c4462f}.mini-button.file{cursor:pointer;align-items:center;display:inline-flex}.canvas-col{flex-direction:column;gap:12px;min-width:0;padding:16px;display:flex}.canvas-col:fullscreen{background:var(--paper);overflow-y:auto}.canvas-col:fullscreen .hs-canvas{max-width:1100px;margin:0 auto}.canvas-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar-hint{color:var(--muted);font-size:10px}.canvas-toolbar .file{margin-left:auto}.inspector label{margin:12px 0 5px;font-size:10px;font-weight:800;display:block}.inspector label.check{align-items:center;gap:7px;font-weight:700;display:flex}.inspector input,.inspector select,.inspector textarea{border:1px solid var(--line);outline-color:var(--coral);border-radius:6px;width:100%;padding:8px 9px;font-family:inherit;font-size:12px}.code-char-input{text-align:center;text-transform:uppercase;font-weight:800;width:56px!important}.inspector label.check input,.opt-row input[type=radio]{width:auto}.inspector hr{border:0;border-top:1px solid var(--line);margin:18px 0 4px}.inspector-tip{color:var(--muted);margin-top:14px;font-size:10px;line-height:1.5}.opt-row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.opt-row input{flex:1}.primary-button.full{width:100%;margin-top:18px;padding:12px}.topbar-logout{padding:7px 12px;font-size:10px;font-weight:800}.share-link{border:1px solid var(--line);width:100%;color:var(--ink);background:#f7f9f5;border-radius:6px;margin-top:6px;padding:11px 12px;font:12px DM Mono,monospace}.qr-code{width:190px;height:190px;image-rendering:pixelated;border:1px solid var(--line);border-radius:8px;margin:14px auto 4px;display:block}.history{background:var(--paper);min-height:100vh}.history-body{max-width:1200px;margin:0 auto;padding:24px 5%}.history-tabs{gap:6px;margin-bottom:16px;display:flex}.history-tabs button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;padding:9px 14px;font-size:12px;font-weight:700}.history-tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:10px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px}.data-table th{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);background:#f7f9f5;font:10px DM Mono,monospace;position:sticky;top:0}.data-table tr:last-child td{border-bottom:0}.data-table tr.ok td:nth-child(5){color:#1f7d4c;font-weight:700}.data-table tr.ko td:nth-child(5){color:#c4462f;font-weight:700}.empty-cell{text-align:center;color:var(--muted);padding:24px}.reveal-preview{margin-top:8px}.music-preview{width:100%;height:36px;margin:8px 0 4px;display:block}.reveal-preview img,.reveal-preview video{object-fit:cover;border-radius:6px;width:100%;max-height:160px}.empty-state.small{padding:14px;font-size:11px}.hs-canvas{border:1px solid var(--line);-webkit-user-select:none;user-select:none;touch-action:none;background:#101715;border-radius:8px;width:100%;position:relative;overflow:hidden}.hs-canvas--drawing{cursor:crosshair}.hs-bg{width:100%;height:auto;display:block}.hs-bg--empty{min-height:320px;color:var(--muted);text-align:center;background:#eef2ee;place-items:center;padding:20px;font-size:12px;display:grid}.hs-shape{border:2px solid var(--coral);cursor:move;background:#f4674f29;position:absolute}.hs-shape--optional{background:#7f8b8524;border-style:dashed;border-color:#7f8b85}.hs-shape--selected{border-color:var(--ink);box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--ink);background:#18232133}.hs-shape--decoy{border-style:dotted;border-color:#c4462f}.hs-shape--hidden{background:#9aa49f1f;border-style:dashed;border-color:#9aa49f}.hs-shape--drop{outline:3px dashed var(--coral);outline-offset:2px}.hs-tag{background:var(--ink);color:#fff;white-space:nowrap;z-index:1;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:700;position:absolute;top:-18px;left:0}.hs-marker-img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.hs-marker-text{color:var(--ink);text-align:center;background:#fff;place-items:center;padding:2px;font-size:11px;font-weight:700;display:grid;position:absolute;inset:0;overflow:hidden}.hs-draft{border:2px dashed var(--ink);pointer-events:none;background:#1823211f;position:absolute}.play-wrap{color:#fff;background:linear-gradient(160deg,#3d5750,#25332f);place-items:center;min-height:100dvh;padding:24px;display:grid;position:relative;overflow:hidden}.play-wrap:before{content:"";z-index:0;background:var(--landing-bg,none) center / cover no-repeat;position:absolute;inset:0}.play-wrap:after{content:"";z-index:0;opacity:var(--landing-overlay,0);background:linear-gradient(#1017150d,#10171559);position:absolute;inset:0}.play-landing{z-index:1;text-align:center;width:min(100%,460px);position:relative}.play-wrap>.play-landing{-webkit-backdrop-filter:blur(6px);text-shadow:0 1px 3px #00000059;background:#10171585;border-radius:16px;padding:28px 26px;box-shadow:0 16px 50px #00000040}.play-landing .brand-mark{margin:0 auto 16px}.play-landing .eyebrow{color:#cfe6e0}.play-landing h1{letter-spacing:-1.5px;margin:6px 0 10px;font-size:clamp(26px,5vw,38px)}.play-desc{color:#eef4f1;margin:0 0 24px;font-size:13px;line-height:1.6}.play-start{text-align:left;gap:8px;display:grid}.play-start label{color:#9fb;font-size:10px;font-weight:800}.play-start input{color:var(--ink);text-shadow:none;background:#fffffff0;border:1px solid #0000;border-radius:7px;padding:12px;font-size:14px}.primary-button.big{padding:14px 20px;font-size:12px}.play-start .primary-button,.play-landing>.primary-button{margin-top:10px}.play-landing .text-button{color:#9fb;margin:12px auto 0;display:block}.play-game{background:var(--ink);color:#fff;width:100%;height:100dvh;position:relative;overflow:hidden}.play-game:before{content:"";z-index:0;background:var(--scene-bg,none) center / cover no-repeat;filter:blur(34px)brightness(.42)saturate(1.1);position:absolute;inset:0;transform:scale(1.15)}.play-error{z-index:40;margin:0;position:absolute;top:0;left:0;right:0}.stage-wrap{z-index:1;justify-content:center;align-items:center;padding:8px;display:flex;position:absolute;inset:0}.stage{background:#0c1210;border-radius:10px;position:relative;overflow:hidden;box-shadow:0 24px 80px #0000008c}.stage-bg{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.stage-bg--empty{color:#7f8b85;background:#16211d;place-items:center;display:grid}.play-hud{z-index:20;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:12px 90px;display:flex;position:absolute;top:12px;left:12px;right:12px}.play-hud>*{pointer-events:auto}.hud-left,.hud-right{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#101715b8;border-radius:12px;padding:8px 14px}.hud-left{flex-direction:column;display:flex}.hud-left strong{font-size:14px}.hud-left span{color:#8fa;font-family:DM Mono,monospace;font-size:10px}.hud-right{flex-wrap:wrap;align-items:center;gap:14px;font-size:11px;display:flex}.hud-score{color:var(--yellow);font-weight:800}.hud-score.draining{color:#ff9b86}.hud-penalty{color:#fff;background:#ff6a4de6;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:800;animation:1s ease-in-out infinite clockPulse}.hud-penalty.soon{color:#2b2410;background:#f4be3ceb;animation:none}.hud-left-count{color:#c4cfca}.peek-toggle{color:#c4cfca;align-items:center;gap:6px;display:flex}.music-toggle{cursor:pointer;background:#202b28d9;border:1px solid #3a4742;border-radius:999px;place-items:center;width:30px;height:30px;padding:0;font-size:14px;line-height:1;display:grid}.music-toggle:hover{border-color:var(--mint)}.music-fab{z-index:30;position:absolute;top:12px;left:12px}.clock{z-index:25;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#101715d1;border:3px solid #4a635b;border-radius:50%;place-items:center;width:86px;height:86px;display:grid;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #00000073}.clock-time{letter-spacing:1px;color:#eafff5;font:800 22px DM Mono,monospace}.clock.low{background:#5b2018d9;border-color:#ff6a4d;animation:1s ease-in-out infinite clockPulse}.clock.low .clock-time{color:#ffd7cf}@keyframes clockPulse{0%,to{box-shadow:0 0 #ff6a4d80}50%{box-shadow:0 0 0 14px #ff6a4d00}}.fs-fab{z-index:25;color:#dfe9e4;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#202b28d9;border:1px solid #3a4742;border-radius:999px;padding:7px 13px;font-size:11px;font-weight:700;position:absolute;top:12px;right:12px}.fs-fab:hover{border-color:var(--mint)}.scene-intro{z-index:22;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#eef4f1;text-align:center;background:#101715e6;border-radius:12px;width:min(92vw,620px);padding:14px 18px;font-size:14px;line-height:1.5;position:absolute;bottom:84px;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #00000080}.scene-intro p{margin:0 0 10px}.advance-btn{z-index:26;background:var(--coral);color:#fff;border:0;border-radius:999px;padding:14px 30px;font-size:14px;font-weight:800;position:absolute;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 12px 34px #f4674f73}.advance-btn:hover{background:#e2543c;transform:translate(-50%)translateY(-2px)}.code-bar-wrap{z-index:24;flex-direction:column;align-items:center;gap:6px;max-width:min(92vw,480px);display:flex;position:absolute;bottom:78px;left:50%;transform:translate(-50%)}.code-bar{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#101715c7;border-radius:14px;flex-wrap:wrap;justify-content:center;gap:8px;padding:10px 14px;display:flex;box-shadow:0 10px 30px #0006}.code-box{color:#eafff5;background:#ffffff0a;border:2px solid #4a635b;border-radius:8px;flex-shrink:0;place-items:center;width:34px;height:42px;font:800 19px DM Mono,monospace;display:grid}.code-box.filled{border-color:var(--mint);background:#5abe8233}.code-bar.complete{box-shadow:0 10px 30px #0006, 0 0 0 2px var(--mint)}.code-bar.complete .code-box{border-color:var(--mint);background:#5abe8259}.code-reveal{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a100ed1;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:16px;animation:.3s both code-reveal-in;display:flex;position:fixed;inset:0}.code-reveal .eyebrow{color:var(--mint);letter-spacing:.12em;margin:0;font-size:14px}.code-reveal-boxes{flex-wrap:wrap;justify-content:center;gap:clamp(8px,2vw,16px);max-width:100%;display:flex}.code-reveal-box{border:3px solid var(--mint);color:#fff;background:#5abe8240;border-radius:14px;place-items:center;width:clamp(52px,14vw,88px);height:clamp(66px,18vw,110px);font:800 clamp(30px,9vw,56px) DM Mono,monospace;animation:.45s cubic-bezier(.2,1.6,.4,1) both code-box-pop;display:grid;box-shadow:0 0 26px #b9e6cf73}@keyframes code-reveal-in{0%{opacity:0}}@keyframes code-box-pop{0%{opacity:0;transform:scale(.4)}}@media (prefers-reduced-motion:reduce){.code-reveal,.code-reveal-box{animation:none}}.success-modal .success-code{justify-content:center;width:fit-content;max-width:100%;margin:0 auto 16px}.code-bar-label{background:var(--mint);color:#0d1a14;letter-spacing:.02em;border-radius:999px;padding:5px 12px;font-size:11px;font-weight:800}.play-game>.finish,.play-game>.play-landing{z-index:5;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:max-content;margin:auto;padding:24px;display:flex;position:absolute;inset:0;overflow-y:auto}.stage-hotspot{cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0;transition:background .15s,box-shadow .15s;position:absolute}.stage-hotspot.is-zone{background:#ffffff1a;animation:2.4s ease-in-out infinite zonePulse;box-shadow:inset 0 0 0 2px #ffffff8c}.stage-hotspot.is-zone:hover{background:#ffffff38;box-shadow:inset 0 0 0 2px #fff}@keyframes zonePulse{0%,to{box-shadow:inset 0 0 0 2px #ffffff80,0 0 #ffffff40}50%{box-shadow:inset 0 0 0 2px #ffffffb3,0 0 0 6px #fff0}}.stage-hotspot.is-hidden:hover{background:#ffffff1f;box-shadow:inset 0 0 0 2px #fff6}.stage-hotspot.peek{background:#f2d66b26;animation:none;box-shadow:inset 0 0 0 2px #f2d66b99}.stage-hotspot.solved{cursor:default;background:#5abe8238;animation:none;box-shadow:inset 0 0 0 2px #5abe82b3}.stage-hotspot.has-marker{box-shadow:none;background:0 0}.stage-hotspot.has-marker:hover{box-shadow:0 0 0 3px #ffffff8c}.stage-hotspot.has-marker.solved{box-shadow:0 0 0 3px #5abe82cc}.stage-marker-img{object-fit:contain;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.stage-marker-text{color:#182321;pointer-events:none;background:#ffffffeb;border-radius:6px;place-items:center;padding:2px 6px;font-size:12px;font-weight:700;display:grid;position:absolute;inset:0;overflow:hidden}.hs-check{color:#d6f5e2;text-shadow:0 1px 3px #00000080;place-items:center;font-size:18px;font-weight:800;display:grid;position:absolute;inset:0}.modal.challenge,.modal.reveal-modal,.modal.success-modal{overscroll-behavior:contain;text-align:center;border-radius:14px;width:clamp(320px,45vw,820px);max-width:calc(100vw - 32px);max-height:80dvh;padding:clamp(24px,2.4vw,38px) clamp(20px,2.4vw,38px);font-size:15px;line-height:1.5;overflow-y:auto}.modal.challenge .eyebrow,.modal.reveal-modal .eyebrow,.modal.success-modal .eyebrow{letter-spacing:1.2px;margin-bottom:10px;font-size:11px;font-weight:700}.modal.challenge .modal-close,.modal.reveal-modal .modal-close{font-size:26px;line-height:1;top:10px;right:14px}.modal.challenge h2{letter-spacing:-.3px;overflow-wrap:anywhere;white-space:pre-line;margin:0 0 18px;font-size:clamp(18px,1.5vw,24px);font-weight:800;line-height:1.35}.mc-options{gap:8px;display:grid}.mc-option{border:2px solid var(--line);color:var(--ink);text-align:left;overflow-wrap:anywhere;background:#fff;border-radius:10px;padding:11px 14px;font-size:15px;font-weight:600;line-height:1.35;transition:border-color .15s,background .15s}.mc-option:hover:not(:disabled){border-color:var(--coral);background:var(--soft-coral)}.text-answer{gap:8px;display:flex}.text-answer input{border:2px solid var(--line);border-radius:8px;flex:1;min-width:0;padding:11px 12px;font-size:15px}.text-answer .primary-button{border-radius:8px;padding:0 16px;font-size:13px}.modal.challenge .challenge-wrong{color:#c4462f;margin:12px 0 0;font-size:13px;font-weight:700}.hint-link{color:var(--muted);margin-top:12px;font-size:13px;font-weight:700;display:inline-block}.modal.reveal-modal.has-bg{color:#fff;background:linear-gradient(180deg, #10171573, #101715d1), var(--challenge-bg) center / cover no-repeat, var(--ink)}.modal.reveal-modal.has-bg .eyebrow{color:#dfe9e4}.modal.reveal-modal.has-bg .reveal-text{color:#fff;text-shadow:0 2px 12px #0009;font-size:clamp(16px,1.4vw,21px);font-weight:700}.modal.challenge.has-bg{color:#fff;background:linear-gradient(180deg, #10171573, #101715d1), var(--challenge-bg) center / cover no-repeat, var(--ink)}.modal.challenge.has-bg h2{color:#fff;text-shadow:0 2px 12px #0009}.modal.challenge.has-bg .eyebrow,.modal.challenge.has-bg .modal-close,.modal.challenge.has-bg .hint-link{color:#dfe9e4}.modal.challenge.has-bg .mc-option{background:#ffffffed;border-color:#0000}.modal.challenge.has-bg .challenge-wrong{color:#ffb4a6}.reveal-modal img,.reveal-modal video{object-fit:contain;border-radius:10px;width:100%;max-height:50vh;margin-bottom:18px}.modal.reveal-modal .reveal-text{color:inherit;white-space:pre-line;overflow-wrap:anywhere;margin-bottom:18px;font-size:clamp(15px,1.25vw,19px);font-weight:600;line-height:1.5}.reveal-modal .primary-button,.success-modal .primary-button{border-radius:8px;width:auto;min-width:160px;margin:0 auto;padding:10px 22px;font-size:13px;display:block}.modal.success-modal .success-text{color:var(--ink);white-space:pre-line;margin-bottom:18px;font-size:clamp(16px,1.4vw,21px);font-weight:700;line-height:1.45}.success-modal .modal-icon{width:40px;height:40px;margin:0 auto 14px;font-size:17px}.play-game>.finish{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;height:auto;margin:0;padding:24px 16px;display:flex;inset:0;overflow-y:auto}.finish>.music-fab{position:fixed}.finish-card{text-align:center;width:min(100%,560px);margin:auto 0}.finish .brand-mark{margin:0 auto 16px}.finish h1{letter-spacing:-1.5px;margin:6px 0 22px;font-size:30px}.ranking-list{--rank-cols:64px minmax(0, 1fr) 76px 64px;text-align:left;flex-direction:column;gap:8px;margin:0 0 22px;padding:0;list-style:none;display:flex}.ranking-head,.ranking-row{grid-template-columns:var(--rank-cols);align-items:center;gap:10px;padding:0 14px;display:grid}.ranking-head{color:#8fa;text-transform:uppercase;letter-spacing:.06em;font:700 9px DM Mono,monospace}.ranking-row{background:#ffffff0a;border:1px solid #33403b;border-radius:10px;min-height:48px;position:relative;overflow:hidden}.ranking-head span:nth-child(n+3),.rank-time,.rank-score{text-align:right}.rank-pos{font:800 15px DM Mono,monospace}.rank-name{overflow-wrap:anywhere;padding:10px 0;font-size:15px}.rank-time{opacity:.85;font:600 13px DM Mono,monospace}.rank-score{font:800 17px DM Mono,monospace}.ranking-row.gold,.ranking-row.silver,.ranking-row.bronze{color:#1b1406;border:0;padding-left:20px}.ranking-row.gold{background:linear-gradient(100deg,#b8860b,#f5d76e 45%,#fff3b0 55%,#d4a017);box-shadow:0 6px 20px #d4a01759}.ranking-row.silver{color:#1c2024;background:linear-gradient(100deg,#8a9097,#d9dde2 45%,#f7f9fb 55%,#a9afb6)}.ranking-row.bronze{color:#24140a;background:linear-gradient(100deg,#8c4f1f,#d8955a 45%,#f1c49a 55%,#a8612c)}.ranking-row.gold:before,.ranking-row.silver:before,.ranking-row.bronze:before{content:"";background:#00000040;width:6px;position:absolute;inset:0 auto 0 0}.ranking-row.gold .rank-time,.ranking-row.silver .rank-time,.ranking-row.bronze .rank-time{opacity:.8}.ranking-row.me{outline:3px solid var(--coral);outline-offset:3px;z-index:1;animation:1.6s ease-in-out infinite rank-me-pulse;overflow:visible;transform:scale(1.03)}.ranking-row.me:not(.gold):not(.silver):not(.bronze){background:#ff785a2e;border-color:#0000}.ranking-row.me:after{content:"◀";color:var(--coral);font-size:16px;animation:1s ease-in-out infinite alternate rank-me-arrow;position:absolute;top:50%;right:-26px;transform:translateY(-50%)}.rank-me-tag{background:var(--coral);color:#fff;letter-spacing:.06em;vertical-align:middle;white-space:nowrap;border-radius:999px;margin-left:8px;padding:2px 7px;font:800 9px DM Mono,monospace;display:inline-block}.ranking-gap{text-align:center;opacity:.6;letter-spacing:.3em}@keyframes rank-me-pulse{50%{outline-color:#ff785a59}}@keyframes rank-me-arrow{to{right:-32px}}@media (prefers-reduced-motion:reduce){.ranking-row.me,.ranking-row.me:after{animation:none}}@media (width<=640px){.ranking-row.me:after{display:none}}@media (width<=420px){.ranking-row.me{transform:none}.ranking-row.me:after{display:none}.ranking-list{--rank-cols:40px minmax(0, 1fr) 64px 48px}.ranking-head,.ranking-row{gap:6px;padding:0 10px}.ranking-row.gold,.ranking-row.silver,.ranking-row.bronze{padding-left:14px}.rank-name{font-size:13px}.rank-time{font-size:11px}.rank-score{font-size:15px}}.finish .primary-button{padding:14px 22px}.toast-stack{z-index:45;pointer-events:none;justify-items:center;gap:8px;display:grid;position:fixed;top:108px;left:50%;transform:translate(-50%)}.toast{border-radius:999px;padding:10px 16px;font-size:12px;font-weight:700;box-shadow:0 10px 30px #0000004d}.toast.good{color:#1f7d4c;background:#d6f5e2}.toast.bad{background:var(--soft-coral);color:#b23a25}.modal textarea,.modal select{border:1px solid var(--line);width:100%;font:inherit;outline-color:var(--coral);border-radius:6px;padding:11px 12px;font-size:12px}.modal textarea{resize:vertical}.modal label.check{align-items:center;gap:8px;margin:14px 0 4px;display:flex}.modal label.check input{width:auto}@media (width<=980px){.editor-grid{grid-template-columns:1fr}.scene-rail{border-right:0;border-bottom:1px solid var(--line)}.inspector{border-left:0;border-top:1px solid var(--line)}}@media (width<=680px){.game-row--wide{grid-template-columns:42px 1fr}.game-row--wide .game-actions{grid-column:1/-1;justify-content:flex-start}.editor-top{flex-wrap:wrap;gap:8px 12px}.editor-top-actions{flex-wrap:wrap;width:100%;margin-left:0}.play-hud{gap:8px 70px;top:8px;left:8px;right:8px}.hud-left,.hud-right{padding:6px 10px}.hud-left strong{font-size:12px}.hud-left-count{display:none}.hud-right{gap:10px;font-size:10px}.clock{width:64px;height:64px;top:10px}.clock-time{font-size:17px}.fs-fab{padding:6px 10px;font-size:10px;top:8px;right:8px}.scene-intro{padding:12px 14px;font-size:12px;bottom:78px}.advance-btn{padding:12px 24px;font-size:13px;bottom:16px}.code-bar-wrap{bottom:64px}.code-bar{gap:6px;padding:8px 10px}.code-box{width:28px;height:36px;font-size:16px}.toast{padding:9px 13px;font-size:11px}.data-table th,.data-table td{padding:8px 9px}}
