:root{--navy: #021a54;--navy-2: #0a2668;--navy-3: #12327d;--line: rgba(245, 245, 245, .12);--text: #f5f5f5;--muted: #a9b6d3;--accent: #ffd23f;--red: #e63946;font-family:Segoe UI,system-ui,Arial,sans-serif;color:var(--text);background:#01123d}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:#01123d;overflow:hidden}.app{display:grid;grid-template-columns:280px minmax(0,1fr) 290px;grid-template-rows:56px minmax(0,1fr) auto;grid-template-areas:"top top top" "side stage props" "side time props";height:100vh}.topbar{grid-area:top;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--navy);border-bottom:2px solid var(--accent)}.brand{display:flex;align-items:center;gap:10px}.brand-mark{height:34px;width:auto;display:block}.logo-accent{color:var(--accent)}.logo{font-weight:800;letter-spacing:.08em;font-size:18px}.by{color:var(--muted);font-size:12px}.actions{display:flex;align-items:center;gap:8px}.sep{width:1px;height:24px;background:var(--line);margin:0 4px}.btn{background:var(--navy-3);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:7px 12px;font:inherit;font-size:13px;cursor:pointer}.btn:hover:not(:disabled){background:#1a3f96}.btn:disabled{opacity:.4;cursor:default}.btn.accent{background:var(--accent);color:var(--navy);font-weight:700;border-color:var(--accent)}.btn.accent:hover:not(:disabled){background:#ffdc66}.btn.danger:hover:not(:disabled){background:var(--red)}.btn.icon{padding:6px 10px;min-width:36px;font-size:15px}.btn.small{padding:5px 9px;font-size:12px}.btn.play{background:var(--accent);color:var(--navy);border-color:var(--accent);min-width:46px}.text,select{width:100%;background:#01123d;color:var(--text);border:1px solid var(--line);border-radius:6px;padding:6px 8px;font:inherit;font-size:13px}.text:focus,select:focus{outline:1px solid var(--accent)}textarea.text{resize:vertical}.sidebar{grid-area:side;overflow-y:auto;background:var(--navy);border-right:1px solid var(--line);padding:12px;display:flex;flex-direction:column;gap:12px}.panel{background:var(--navy-2);border:1px solid var(--line);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px}.panel h3,.props h3{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.panel-head{display:flex;justify-content:space-between;align-items:center}.row{display:flex;gap:8px;align-items:flex-end}.row.tight{gap:6px;align-items:center;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:3px;flex:1;font-size:11px;color:var(--muted);min-width:0}.field.narrow{flex:0 0 64px}.check{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.check.small{font-size:11px;color:var(--muted)}.check input{accent-color:var(--accent)}.colors{justify-content:space-between}.swatch{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--muted);cursor:pointer}.swatch input{width:44px;height:26px;border:1px solid var(--line);border-radius:5px;background:none;padding:0;cursor:pointer}.hint{font-size:12px;color:var(--muted);line-height:1.5;margin:0}.hint.small{font-size:11px}.stage{grid-area:stage;display:flex;flex-direction:column;gap:8px;padding:10px 16px 12px;min-height:0;min-width:0}.board{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.pitch{width:100%;height:100%;max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 10px 40px #00000073;touch-action:none;-webkit-user-select:none;user-select:none}.tool-select .token{cursor:grab}.tool-select .token:active{cursor:grabbing}.tool-select .ann{cursor:move}.pitch:not(.tool-select){cursor:crosshair}.tool-chain .token,.handle{cursor:pointer}.toolbar{display:flex;flex-direction:column;gap:6px}.tools{display:flex;flex-wrap:wrap;gap:4px}.tool{display:flex;align-items:center;gap:6px;background:var(--navy-2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:5px 9px;font:inherit;font-size:12px;cursor:pointer}.tool:hover{background:var(--navy-3)}.tool.active{background:var(--accent);color:var(--navy);border-color:var(--accent);font-weight:700}.tool-icon{font-size:14px;width:16px;text-align:center}.tool-hint{font-size:12px;color:var(--muted);min-height:16px}.board-hint{position:absolute;top:10px;left:50%;transform:translate(-50%);background:#021a54eb;border:1px solid var(--accent);border-radius:6px;padding:6px 10px;font-size:12px;display:flex;gap:10px;align-items:center;white-space:nowrap}.inline-edit{position:absolute;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:3px;z-index:5}.inline-edit input,.inline-edit textarea{background:var(--navy);color:#fff;border:2px solid var(--accent);border-radius:6px;padding:4px 8px;font:inherit;font-size:14px;font-weight:600;text-align:center;min-width:160px;outline:none}.inline-tip{font-size:10px;color:var(--muted);background:#01123dd9;padding:1px 6px;border-radius:4px}.props{grid-area:props;overflow-y:auto;background:var(--navy);border-left:1px solid var(--line);padding:12px;display:flex;flex-direction:column;gap:10px}.props-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.prop-group{background:var(--navy-2);border:1px solid var(--line);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px}.prop-group h4{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.prop{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted)}.prop.column{flex-direction:column;align-items:stretch;gap:4px}.prop select{width:auto;flex:1;max-width:160px}.prop.column select{max-width:none}.prop input[type=color]{width:44px;height:24px;border:1px solid var(--line);border-radius:5px;background:none;padding:0;cursor:pointer}.prop.range input{flex:1;accent-color:var(--accent);min-width:0}.prop.range span{min-width:64px}.prop.range em{font-style:normal;font-variant-numeric:tabular-nums;min-width:44px;text-align:right;color:var(--text)}.anchors{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.anchors b{color:var(--text)}.link{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;font-size:11px;text-decoration:underline;padding:0 2px}.timeline{grid-area:time;background:var(--navy);border-top:1px solid var(--line);padding:10px 16px 12px;display:flex;flex-direction:column;gap:10px;min-width:0}.transport{display:flex;align-items:center;gap:6px}.scrub{flex:1;accent-color:var(--accent);margin:0 8px;min-width:60px}.clock{font-variant-numeric:tabular-nums;font-size:13px;color:var(--muted);min-width:100px;text-align:right}.speed{width:auto}.frames{display:flex;align-items:center;gap:8px;overflow-x:auto;padding-bottom:2px}.frame{display:flex;flex-direction:column;align-items:center;gap:4px}.frame-btn{background:var(--navy-2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:8px 12px;font:inherit;font-size:13px;white-space:nowrap;cursor:pointer}.frame.active .frame-btn{background:var(--accent);color:var(--navy);font-weight:700;border-color:var(--accent)}.dur{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--muted);height:20px}.dur input{width:48px;background:#01123d;color:var(--text);border:1px solid var(--line);border-radius:4px;padding:2px 4px;font:inherit;font-size:11px}.dur-start{font-size:11px;color:var(--muted)}.ball-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#fff;border:1px solid #111;margin-left:6px;vertical-align:middle}.btn.add{margin-left:4px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000618b3;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:var(--navy);border:1px solid var(--line);border-radius:12px;width:min(1100px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;box-shadow:0 20px 60px #0009}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:18px}.modal-body{display:grid;grid-template-columns:340px 1fr;gap:18px;padding:16px 18px;overflow:auto;min-height:0}.export-left{display:flex;flex-direction:column;gap:8px}.export-left h4{margin:8px 0 2px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.formats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.format{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;background:var(--navy-2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit;cursor:pointer}.format small{color:var(--muted);font-size:10.5px;line-height:1.3}.format.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.format-shape{display:block;border:2px solid var(--muted);border-radius:2px}.format.active .format-shape{border-color:var(--accent)}.f-16x9{width:32px;height:18px}.f-9x16{width:12px;height:21px}.f-1x1{width:18px;height:18px}.f-pitch{width:30px;height:20px;background:#2f6b3a}.export-right{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.preview-frame{width:100%;display:flex;justify-content:center;align-items:center;height:460px;background:#01123d;border-radius:8px;padding:10px}.preview{max-width:100%;max-height:100%;box-shadow:0 6px 24px #00000080}.modal-foot{display:flex;gap:8px;justify-content:flex-end;align-items:center;padding:12px 18px;border-top:1px solid var(--line)}.progress{flex:1;height:8px;background:var(--navy-3);border-radius:4px;overflow:hidden}.progress div{height:100%;background:var(--accent);transition:width .1s}.error{margin:0 18px;padding:8px 10px;background:#e6394626;border:1px solid var(--red);border-radius:6px;font-size:13px}@media(max-width:1280px){.app{grid-template-columns:250px minmax(0,1fr) 260px}.tool-label{display:none}}@media(max-width:900px){body{overflow:auto}.app{grid-template-columns:1fr;grid-template-rows:auto auto auto auto auto;grid-template-areas:"top" "stage" "time" "props" "side";height:auto}.topbar{flex-wrap:wrap;gap:8px;padding:8px 16px}.stage{padding:8px}.pitch{height:auto}.modal-body{grid-template-columns:1fr}.preview-frame{height:320px}}.kit-box{display:flex;flex-direction:column;gap:6px}.kit-row{display:flex;align-items:center;gap:6px}.kit-preview{flex:none;background:#2f6b3a;border-radius:6px}.kit-open{flex:1;justify-content:center}.kit-details summary{cursor:pointer;font-size:12px;color:var(--muted);padding:2px 0}.kit-details[open]{display:flex;flex-direction:column;gap:6px}.kit-details .row.colors{flex-wrap:wrap;gap:6px}.kit-details .swatch input{width:36px;height:22px}.kit-gk-label{font-size:11px;color:var(--muted);align-self:center;min-width:40px}.hint.warn{color:#ffb4a2}.kit-name{font-size:12px;color:var(--text, #f5f5f5);line-height:1.3}.kit-picker{width:min(1180px,100%);height:min(760px,calc(100vh - 32px))}.kit-picker .modal-head{gap:12px}.kit-picker .modal-head h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.kit-search{flex:1;max-width:340px;margin-left:auto}.kit-picker-body{display:grid;grid-template-columns:190px 1fr;min-height:0;flex:1}.kit-tabs{display:flex;flex-direction:column;gap:2px;padding:12px 8px;border-right:1px solid var(--line);overflow-y:auto}.kit-tab{display:flex;justify-content:space-between;align-items:center;gap:8px;background:none;border:1px solid transparent;border-radius:6px;color:var(--text);font:inherit;font-size:14px;padding:8px 10px;text-align:left;cursor:pointer}.kit-tab:hover{background:var(--navy-2)}.kit-tab em{font-style:normal;font-size:11px;color:var(--muted)}.kit-tab.active{background:var(--navy-3);border-color:var(--accent)}.kit-tab.active em{color:var(--accent)}.kit-grid-wrap{overflow-y:auto;padding:12px 18px 18px;min-height:0}.kit-group{margin:6px 0 10px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.kit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-bottom:14px}.kit-card{background:var(--navy-2);border:1px solid var(--line);border-radius:8px;padding:8px 10px 10px}.kit-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:6px;margin-bottom:6px}.kit-card-name{font-size:13px;font-weight:600;line-height:1.25}.kit-card-variants{display:flex;gap:6px}.kit-variant{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;background:#01123d;border:1px solid var(--line);border-radius:6px;padding:5px 6px 4px;color:var(--muted);font:inherit;font-size:11px;cursor:pointer}.kit-variant:hover{border-color:var(--muted);color:var(--text)}.kit-variant.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent)}.kit-variant-shirts{display:flex;align-items:flex-end;gap:3px}.kit-clash{position:absolute;top:2px;right:4px;color:#ffb4a2;font-size:12px}.kit-picker-foot{justify-content:flex-start}@media(max-width:700px){.kit-picker-body{grid-template-columns:1fr;grid-template-rows:auto 1fr}.kit-tabs{flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--line)}.kit-tab{white-space:nowrap}}.settings{position:relative}.settings-btn{font-size:17px}.settings-btn.active{border-color:var(--accent);color:var(--accent)}.settings-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:280px;background:var(--navy);border:1px solid var(--line);border-radius:10px;padding:12px 14px;box-shadow:0 14px 40px #0000008c;display:flex;flex-direction:column;gap:10px}.settings-pop h4{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.settings-row{display:flex;flex-direction:column;gap:6px;font-size:13px}.settings-pop .hint{margin:0}.seg{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.seg-btn{flex:1;background:var(--navy-2);color:var(--text);border:none;font:inherit;font-size:13px;padding:7px 10px;cursor:pointer}.seg-btn+.seg-btn{border-left:1px solid var(--line)}.seg-btn:hover{background:var(--navy-3)}.seg-btn.active{background:var(--accent);color:var(--navy);font-weight:700}.feedback-btn{text-align:center;text-decoration:none;justify-content:center}.app-version{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:8px}.app-version b{color:var(--text);font-weight:600}.multi-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;font-size:13px}.multi-list em{color:var(--muted);font-style:normal;font-size:11px;margin-left:4px}
