:root{--bg:#0f1216;--panel:#161a1f;--panel-2:#1d2228;--line:#2c333b;--text:#e8eaed;--muted:#9aa3ad;--accent:#e3a93d;--accent-ink:#1a1405;--blue:#35c4ff;--red:#ff6b5e;--green:#4cd27a;--radius:10px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2,h3{margin:0 0 .5em;line-height:1.2}h1{font-size:1.6rem}h2{font-size:1.15rem}h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:1.2em;font-size:.95rem}a{color:var(--accent);text-decoration:none}button,.button,select,input,textarea{font:inherit;color:inherit}button,.button{border:1px solid var(--line);background:var(--panel-2);min-height:36px;color:var(--text);cursor:pointer;white-space:nowrap;touch-action:manipulation;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}button:hover:not(:disabled),.button:hover{background:#252b32;border-color:#46505b}button:disabled{opacity:.45;cursor:default}button.on,select.on,button.on:hover:not(:disabled),select.on:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.primary,button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.primary:hover:not(:disabled){color:var(--accent-ink);background:#f0b950}.ghost,button.ghost{background:0 0;border-color:#0000}.danger,button.danger{color:var(--red)}.big{min-height:46px;padding:10px 20px;font-size:1.05rem}button.link{min-height:0;color:var(--accent);background:0 0;border:0;padding:0}input,select,textarea{border:1px solid var(--line);background:#0f1317;border-radius:8px;width:100%;min-height:36px;padding:6px 10px}textarea{resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible,.button:focus-visible{outline:2px solid var(--blue);outline-offset:1px}input[type=checkbox],input[type=radio]{width:18px;min-height:18px;accent-color:var(--accent)}input[type=color]{height:36px;padding:2px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hint{color:var(--muted);font-size:.88rem}.error{color:var(--red)}.ok{color:var(--green)}.topbar{z-index:30;min-height:54px;padding:6px 12px;padding-top:max(6px, env(safe-area-inset-top));background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:12px;display:flex;position:sticky;top:0}.topbar-main{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.brand{color:var(--text);letter-spacing:.01em;align-items:center;gap:8px;font-size:1.05rem;display:flex}.brand b{color:var(--accent)}.back{color:var(--text);padding:0 6px;font-size:1.4rem}.topbar .title{flex-direction:column;min-width:0;display:flex}.topbar .title h1{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.05rem;overflow:hidden}.topbar .sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.actions{align-items:center;gap:6px;margin-left:auto;display:flex}.user{align-items:center;gap:6px;display:flex}.user .email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.85rem;overflow:hidden}.stage-nav{color:var(--muted);align-items:center;gap:6px;font-size:.9rem;display:flex}.stage-nav .button{min-width:36px;padding:0 8px;font-size:1.2rem}.title-input{max-width:340px;font-weight:600}.status{color:var(--muted);white-space:nowrap;font-size:.82rem}.status.dirty{color:var(--accent)}.banner{border-bottom:1px solid var(--line);background:#23303b;align-items:center;gap:10px;padding:8px 14px;font-size:.9rem;display:flex}.banner.error{color:#ffd2cc;background:#3a1f1d}.banner button{min-height:28px;padding:2px 10px}.viewer{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.stage-area{--left:0px;--right:0px;flex:1;min-height:0;position:relative;overflow:hidden}.stage-area>div:first-child{top:0;bottom:0;left:var(--left);right:var(--right);width:auto!important;position:absolute!important}.view-toolbar{left:calc(var(--left) + (100% - var(--left) - var(--right)) / 2);bottom:max(12px, env(safe-area-inset-bottom));z-index:5;max-width:calc(100% - var(--left) - var(--right) - 24px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);scrollbar-width:none;background:#12161bdb;border-radius:12px;align-items:center;gap:6px;padding:6px;display:flex;position:absolute;overflow-x:auto;transform:translate(-50%)}.view-toolbar select{width:auto;min-width:130px}.view-toolbar .sep{background:var(--line);align-self:stretch;width:1px;margin:0 2px}.seg{display:flex}.seg button{border-radius:0}.seg button:first-child{border-radius:8px 0 0 8px}.seg button:last-child{border-radius:0 8px 8px 0}.side-panel,.palette{z-index:6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#12161bf2;padding:14px 16px 90px;position:absolute;top:0;bottom:0;overflow-y:auto}.side-panel{border-left:1px solid var(--line);width:370px;right:0}.palette{border-right:1px solid var(--line);width:260px;left:0}.palette header,.modal header{justify-content:space-between;align-items:center;display:flex}.palette h2{margin:0}.palette-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.palette-grid button{white-space:normal;text-align:left;justify-content:flex-start;padding:6px 8px;font-size:.85rem;line-height:1.15}.palette-grid i{border:1px solid #0006;border-radius:3px;flex:none;width:12px;height:12px}.side-panel .close{position:absolute;top:8px;right:8px}.side-panel h2{padding-right:36px}.tabs{flex-wrap:wrap;gap:4px;margin:0 36px 10px 0;display:flex}.tabs button{min-height:32px;padding:4px 10px;font-size:.88rem}.mini-stats{color:var(--muted);margin-bottom:8px;font-size:.85rem}.editor-fabs{top:12px;left:calc(var(--left) + (100% - var(--left) - var(--right)) / 2);z-index:7;gap:6px;display:flex;position:absolute;transform:translate(-50%)}.editor-fabs button{background:#12161be6}.editor-fabs button.on{background:var(--accent)}.item-info{top:12px;left:calc(var(--left) + 12px);z-index:5;border-radius:var(--radius);border:1px solid var(--line);background:#12161beb;width:260px;padding:10px 12px;position:absolute}.item-info header{align-items:baseline;gap:8px;display:flex}.item-info header span{color:var(--muted);flex:1;font-size:.85rem}.item-info header button{min-height:24px;padding:0 6px}.item-info dl{margin:6px 0 0}.item-info dl div{justify-content:space-between;font-size:.88rem;display:flex}.item-info dt{color:var(--muted)}.item-info dd{margin:0}.item-info p{margin:6px 0 0;font-size:.88rem}.walk-hint{top:12px;left:calc(var(--left) + (100% - var(--left) - var(--right)) / 2);z-index:4;color:var(--muted);pointer-events:none;white-space:nowrap;background:#12161bcc;border-radius:999px;padding:6px 12px;font-size:.82rem;position:absolute;transform:translate(-50%)}.joystick{z-index:6;touch-action:none;background:#12161b73;border:2px solid #ffffff59;border-radius:50%;place-items:center;width:128px;height:128px;display:grid;position:absolute;bottom:92px;left:24px}.joystick .knob{pointer-events:none;background:#ffffffbf;border-radius:50%;width:56px;height:56px}.stats{grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 12px;display:grid}.stats div{background:var(--panel-2);border-radius:8px;padding:6px 8px}.stats dt{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem}.stats dd{margin:0;font-size:1.05rem;font-weight:600}.stats.inline{flex-wrap:wrap;display:flex}.briefing{margin:0}.briefing div{margin-bottom:8px}.briefing dt{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem}.briefing dd{white-space:pre-wrap;margin:0}details summary{cursor:pointer;color:var(--muted);margin:8px 0}.issues{gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.issues button{text-align:left;white-space:normal;justify-content:flex-start;width:100%;font-size:.86rem;line-height:1.3}.issues .error button{border-color:#6b2a24}.issues .warn button{border-color:#6b5524}.issues button:disabled{opacity:1}.form{gap:10px;display:grid}.field{gap:4px;font-size:.85rem;display:grid}.field>span{color:var(--muted)}.field.check{align-items:center;gap:8px;display:flex}.with-unit{align-items:center;gap:6px;display:flex}.with-unit em{color:var(--muted);min-width:14px;font-size:.8rem;font-style:normal}.grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grid3{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.page{min-height:100vh}.content{max-width:1040px;margin:0 auto;padding:24px 16px 60px}.narrow-content{max-width:720px}.centered{place-items:center;min-height:calc(100vh - 54px);padding:16px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px}.card.narrow{max-width:460px}.spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.landing .hero{text-align:center;max-width:820px;margin:0 auto;padding:72px 20px 40px}.landing .hero h1{font-size:clamp(2rem,6vw,3.2rem)}.landing .lead{color:#c6ccd3;max-width:640px;margin:0 auto 28px;font-size:1.15rem}.landing .row{justify-content:center}.landing .row.small{color:var(--muted);margin-top:16px}.landing .hero{padding-bottom:20px}.landing .hero.cta{padding-top:8px}.demo-video{max-width:960px;margin:0 auto;padding:0 16px}.demo-video video{aspect-ratio:16/9;background:#000;border-radius:14px;width:100%;display:block;box-shadow:0 12px 40px #00000080}.demo-video figcaption{text-align:center;color:var(--muted);margin-top:8px;font-size:.88rem}.steps{counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;max-width:960px;margin:28px auto 0;padding:0 16px;list-style:none;display:grid}.steps li{counter-increment:step;background:var(--panel);border:1px solid var(--line);border-radius:14px;gap:6px;padding:16px 18px;display:grid}.steps b{color:var(--accent);font-size:1.15rem}.steps b:before{content:counter(step) ". "}.steps span{color:#c6ccd3}.features{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;max-width:1040px;margin:0 auto;padding:20px 16px 40px;display:grid}.features div{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px}.features h3{color:var(--accent);text-transform:none;letter-spacing:0;margin-top:0;font-size:1.05rem}.features p{color:#c6ccd3;margin:0}.foot{text-align:center;color:var(--muted);padding:20px;font-size:.8rem}.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 12px;display:flex}.dash-head h1{margin:0}.entries{gap:8px;margin:0;padding:0;list-style:none;display:grid}.entries li{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:8px;padding:10px 12px;display:flex}.entry-main{min-width:0;color:var(--text);flex-direction:column;flex:1;display:flex}.entry-main b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.badge{background:var(--panel-2);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:.75rem}.badge.link,.badge.invite{color:var(--green);border-color:#275a39}.match-head .meta{color:var(--muted);margin-top:-4px}.match-head .desc{white-space:pre-wrap;max-width:720px}.stage-cards{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;margin:20px 0 0;padding:0;list-style:none;display:grid}.stage-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.stage-card .thumb{aspect-ratio:4/3;background:#e9edf1;display:block}.stage-card .thumb svg{width:100%;height:100%;display:block}.stage-card .body{gap:6px;padding:12px 14px 14px;display:grid}.stage-card h2{margin:0}.stage-card p{color:var(--muted);margin:0;font-size:.9rem}.num{background:var(--accent);min-width:26px;height:26px;color:var(--accent-ink);border-radius:7px;place-items:center;padding:0 6px;font-size:.9rem;font-weight:700;display:inline-grid}.pick-list{gap:6px;margin:0 0 20px;padding:0;list-style:none;display:grid}.pick-list li{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:8px;padding:6px 8px 6px 12px;display:flex}.pick-list .grow{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.modal-backdrop{z-index:50;background:#0000008c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);border-radius:14px;gap:12px;width:min(520px,100%);max-height:90vh;padding:18px;display:grid;overflow-y:auto}.modal h2{margin:0}.modal footer{justify-content:flex-end;gap:8px;display:flex}.share-modes{border:0;gap:8px;margin:0;padding:0;display:grid}.share-modes label{border-radius:var(--radius);background:var(--panel-2);cursor:pointer;align-items:flex-start;gap:10px;padding:10px;display:flex}.share-link{gap:6px;display:flex}.more-inline{display:contents}.more{display:none;position:relative}.more>button{padding:4px 12px;font-size:1.2rem}.more-pop{z-index:40;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);flex-direction:column;gap:6px;min-width:170px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #00000073}.more-pop>*{justify-content:flex-start;width:100%}.mobile-only{display:none!important}@media (width<=820px){.more-inline,.desktop-only{display:none!important}.more{display:inline-flex}.mobile-only{display:inline-flex!important}.viewer .topbar .user{display:none}.topbar .title-input{flex:auto;width:auto;min-width:60px}}@media (width>=900px){.stage-area.with-panel{--right:370px}.stage-area.with-palette{--left:260px}}@media (width<=899px){.item-info{left:12px}.side-panel,.palette{border:0;border-top:1px solid var(--line);z-index:8;border-radius:16px 16px 0 0;width:100%;max-height:58%;padding-bottom:24px;top:auto;left:0;right:0}.palette-grid{grid-template-columns:1fr 1fr 1fr}.user .email,.status{display:none}.topbar{gap:8px}.topbar .actions button,.topbar .actions .button{padding:6px 9px}.title-input{min-width:90px}.view-toolbar button,.view-toolbar select{min-height:40px}.item-info{width:calc(100% - 24px);top:60px}.grid3{grid-template-columns:1fr 1fr}}@media (width<=560px){.brand span,.stage-nav span{display:none}.palette-grid{grid-template-columns:1fr 1fr}}.print-root{z-index:100;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#50565d;position:fixed;inset:0;overflow-y:auto}.print-bar{z-index:2;background:var(--panel);color:var(--text);border-bottom:1px solid var(--line);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 14px;display:flex;position:sticky;top:0}.print-bar fieldset{border:0;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0;padding:0;display:flex}.print-bar legend{float:left;color:var(--muted);margin-right:4px;font-size:.85rem}.print-bar label{cursor:pointer;align-items:center;gap:6px;font-size:.92rem;display:flex}.print-status{color:var(--muted);margin-left:auto;font-size:.85rem}.sheets{flex-direction:column;align-items:center;gap:24px;padding:24px 12px 60px;display:flex}.sheet{color:#111;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;flex-direction:column;gap:4mm;width:210mm;min-height:297mm;padding:12mm;font-size:10.5pt;line-height:1.35;display:flex;box-shadow:0 4px 24px #00000059}.sheet h1{color:#111;margin:0;font-size:20pt}.sheet-head{border-bottom:2px solid #111;justify-content:space-between;align-items:flex-start;gap:8mm;padding-bottom:3mm;display:flex}.sheet-num{color:#fff;vertical-align:3px;background:#111;border-radius:4px;margin-right:10px;padding:0 8px;font-size:14pt;display:inline-block}.sheet-match{color:#444;text-transform:uppercase;letter-spacing:.04em;margin-bottom:1mm;font-size:9pt}.sheet-sub{color:#444;margin-top:1mm;font-size:9.5pt}.sheet-qr{color:#444;text-align:center;flex-direction:column;flex:none;align-items:center;gap:1mm;width:28mm;font-size:7.5pt;line-height:1.2;display:flex}.sheet-qr svg{width:24mm;height:24mm}.sheet-facts{grid-template-columns:repeat(5,1fr);gap:2mm;margin:0;display:grid}.sheet-facts div{border:1px solid #bbb;border-radius:2mm;padding:1.5mm 2.5mm}.sheet-facts dt,.sheet-brief dt{text-transform:uppercase;letter-spacing:.03em;color:#555;font-size:7.5pt;font-weight:700}.sheet-facts dd{margin:0;font-size:12pt;font-weight:700}.sheet-targets{margin:0}.sheet-body{grid-template-columns:1.15fr 1fr;align-items:start;gap:5mm;display:grid}.sheet-body.no-plan{grid-template-columns:1fr}.sheet-plan{border:1px solid #bbb;margin:0}.sheet-plan svg{width:100%;height:auto;max-height:110mm;display:block}.sheet-brief{gap:2.5mm;margin:0;display:grid}.sheet-brief dd{white-space:pre-wrap;margin:0}.sheet-pics{grid-template-columns:repeat(var(--cols), 1fr);gap:3mm;display:grid}.sheet-pics figure{break-inside:avoid;margin:0}.sheet-pics img{aspect-ratio:16/10;object-fit:cover;border:1px solid #bbb;width:100%;display:block}.sheet-pics figcaption{color:#444;margin-top:1mm;font-size:8pt}.sheet-foot{color:#666;border-top:1px solid #ccc;justify-content:space-between;margin-top:auto;padding-top:2mm;font-size:8pt;display:flex}.cover-desc{white-space:pre-wrap;margin:0}.cover-table{border-collapse:collapse;width:100%;font-size:10pt}.cover-table th,.cover-table td{text-align:left;vertical-align:top;border-bottom:1px solid #ccc;padding:1.8mm 2mm}.cover-table th{text-transform:uppercase;color:#555;font-size:8pt}.cover-table tfoot td{border-bottom:0;font-weight:700}.capture-stage{pointer-events:none;width:1600px;height:1000px;position:fixed;top:0;left:-20000px}@media (width<=820px){.sheet{width:100%;min-height:0;padding:16px}.sheet-body{grid-template-columns:1fr}.sheet-facts{grid-template-columns:repeat(3,1fr)}}@media print{@page{size:A4;margin:12mm}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{background:#fff}body.print-mode>#root,.print-bar,.capture-stage{display:none!important}body.print-mode .print-root{background:0 0;position:static;overflow:visible}.sheets{padding:0;display:block}.sheet{width:auto;min-height:0;box-shadow:none;break-after:page;padding:0}.sheet:last-child{break-after:auto}.sheet-body{grid-template-columns:1.15fr 1fr}.sheet-facts{grid-template-columns:repeat(5,1fr)}}.no-webgl{background:#e9edf1;flex-direction:column;display:flex}.no-webgl svg{flex:1;width:100%;min-height:0}.no-webgl-note{border-radius:var(--radius);color:var(--text);background:#12161beb;gap:4px;margin:10px;padding:10px 14px;font-size:.9rem;display:grid}.help{max-width:900px}.help video{aspect-ratio:16/9;background:#000;border-radius:14px;width:100%;margin:8px 0;display:block}.help .lead{color:#c6ccd3}.chapters{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px;margin:10px 0 20px;padding:0;list-style:none;display:grid}.chapters button{text-align:left;white-space:normal;justify-content:flex-start;width:100%}.chapters .time{font-variant-numeric:tabular-nums;color:var(--muted);min-width:38px}.chapters button.on .time{color:var(--accent-ink)}.placing canvas{cursor:crosshair}.place-banner{top:60px;left:calc(var(--left) + (100% - var(--left) - var(--right)) / 2);z-index:7;background:var(--accent);color:var(--accent-ink);white-space:nowrap;border-radius:999px;align-items:center;gap:10px;padding:6px 8px 6px 14px;font-weight:600;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 4px 14px #0006}.place-banner button{min-height:28px;color:var(--accent-ink);background:#00000026;border-color:#0000;padding:2px 10px}.toast{z-index:60;border:1px solid var(--line);background:#23303b;border-radius:10px;max-width:calc(100% - 32px);padding:10px 16px;position:fixed;bottom:90px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000073}.share-qr{border-radius:var(--radius);background:var(--panel-2);align-items:center;gap:12px;padding:10px;display:flex}.share-qr svg{border-radius:6px;flex:none}.views-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.views-list li{align-items:center;gap:6px;display:flex}.views-list li span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}
