:root{--bg: #0b0b0d;--bg-raised: #131317;--panel: rgba(20, 20, 24, .78);--panel-solid: #16161a;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .16);--text: #f2efe9;--text-dim: #a19d96;--text-faint: #6d6a65;--accent: #e8c58a;--accent-ink: #1a1408;--accent-soft: rgba(232, 197, 138, .14);--danger: #f08a7e;--captured: #8fd3b6;--generated: #b9a4f5;--radius: 14px;--radius-sm: 9px;--shadow: 0 20px 60px rgba(0, 0, 0, .45);--font: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif;--display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line-strong);background:#ffffff0a;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,transform .1s}.btn:hover{background:#ffffff17}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent;font-weight:600}.btn.primary:hover{background:#f1d29d}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:#ffffff0f}.btn.danger{color:var(--danger)}.btn.sm{height:30px;padding:0 11px;font-size:13px}.btn.lg{height:46px;padding:0 22px;font-size:15px}.btn.icon{width:36px;padding:0}.btn.icon.sm{width:30px}.btn.active{background:var(--accent-soft);border-color:#e8c58a80;color:var(--accent)}.input,.textarea,.select{width:100%;background:#ffffff0a;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:9px 12px;outline:none;transition:border-color .15s}.input:focus,.textarea:focus,.select:focus{border-color:#e8c58a99}.textarea{resize:vertical;min-height:72px}.label{display:block;font-size:12px;color:var(--text-dim);margin:0 0 6px;letter-spacing:.02em}.field{margin-bottom:14px}.muted{color:var(--text-dim)}.faint{color:var(--text-faint)}.row{display:flex;align-items:center;gap:8px}.spacer{flex:1}.kbd{font-size:11px;padding:1px 6px;border-radius:5px;border:1px solid var(--line-strong);color:var(--text-dim)}.badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;font-size:11.5px;font-weight:500;letter-spacing:.01em;background:#ffffff0f;color:var(--text-dim)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.captured{color:var(--captured);background:#8fd3b61a}.badge.generated{color:var(--generated);background:#b9a4f51a}.badge.mixed{color:var(--accent);background:var(--accent-soft)}input[type=range]{width:100%;accent-color:var(--accent)}.library{height:100%;overflow-y:auto}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;padding:14px 28px;background:linear-gradient(var(--bg) 60%,transparent)}.logo{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:-.01em;text-decoration:none}.logo svg{width:26px;height:26px;color:var(--accent)}.logo-sub{font-weight:400;color:var(--text-dim);margin-left:-4px}.hero{max-width:1120px;margin:0 auto;padding:56px 28px 24px}.hero h1{font-family:var(--display);font-weight:400;font-size:clamp(34px,5vw,58px);line-height:1.05;letter-spacing:-.02em;margin:0 0 14px;max-width:760px}.hero h1 em{color:var(--accent);font-style:italic}.hero p{color:var(--text-dim);font-size:16px;max-width:560px;margin:0}.starts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}.start-card{text-align:left;padding:20px;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-raised);cursor:pointer;transition:border-color .2s,transform .2s,background .2s;display:flex;flex-direction:column;gap:6px;min-height:140px}.start-card:hover{border-color:#e8c58a66;transform:translateY(-2px);background:#17171c}.start-card .ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);margin-bottom:8px}.start-card strong{font-size:15px}.start-card span{color:var(--text-dim);font-size:13px}.section{max-width:1120px;margin:0 auto;padding:24px 28px 64px}.section h2{font-size:13px;font-weight:500;color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;margin:0 0 14px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.card{border-radius:var(--radius);overflow:hidden;background:var(--bg-raised);border:1px solid var(--line);cursor:pointer;transition:border-color .2s,transform .2s;position:relative}.card:hover{border-color:var(--line-strong);transform:translateY(-2px)}.card .thumb{aspect-ratio:16/10;background:#1b1b20 center/cover no-repeat;display:grid;place-items:center;color:var(--text-faint)}.card .meta{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px}.card .meta strong{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card .actions{position:absolute;top:10px;right:10px;display:flex;gap:6px;opacity:0;transition:opacity .15s}.card:hover .actions{opacity:1}.card .actions .btn{background:#0000008c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-color:transparent}.empty{border:1px dashed var(--line-strong);border-radius:var(--radius);padding:36px;text-align:center;color:var(--text-dim)}.scrim{position:fixed;inset:0;z-index:50;background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:16px;animation:fade .18s ease}.modal{width:min(560px,100%);max-height:calc(100vh - 32px);overflow-y:auto;background:var(--panel-solid);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:24px;animation:rise .22s cubic-bezier(.2,.8,.2,1)}.modal h3{font-family:var(--display);font-weight:400;font-size:26px;margin:0 0 4px;letter-spacing:-.01em}.modal .sub{color:var(--text-dim);margin:0 0 20px}.modal .foot{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.drop{border:1.5px dashed var(--line-strong);border-radius:var(--radius);padding:28px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;color:var(--text-dim)}.drop.over,.drop:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.drop strong{color:var(--text);display:block;margin-bottom:4px;font-weight:500}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:8px 12px;border-radius:12px;border:1px solid var(--line-strong);background:transparent;cursor:pointer;text-align:left}.chip small{display:block;color:var(--text-faint);font-size:11.5px}.chip.on{border-color:var(--accent);background:var(--accent-soft)}.tabs{display:flex;gap:4px;padding:4px;background:#ffffff0a;border-radius:999px;margin-bottom:18px}.tabs button{flex:1;height:32px;border:0;background:transparent;border-radius:999px;cursor:pointer;color:var(--text-dim);font-size:13px}.tabs button.on{background:#ffffff1a;color:var(--text)}.note{font-size:12.5px;color:var(--text-dim);background:#ffffff0a;border-radius:var(--radius-sm);padding:10px 12px}.note code{color:var(--accent)}.error{color:var(--danger);font-size:13px;margin-top:10px}.stage{position:fixed;inset:0;background:var(--bg)}.viewer-host{position:absolute;inset:0}.viewer-canvas{width:100%;height:100%;display:block;touch-action:none}.viewer-canvas.recording{object-fit:contain}.viewer-host.placing .viewer-canvas{cursor:crosshair}.loading{position:absolute;inset:0;z-index:4;display:grid;place-items:center;background:var(--bg) center/cover no-repeat;transition:opacity .5s,visibility 0s}.loading:before{content:"";position:absolute;inset:0;-webkit-backdrop-filter:blur(24px) brightness(.5);backdrop-filter:blur(24px) brightness(.5)}.loading .box{position:relative;text-align:center;width:min(320px,80vw)}.loading .bar{height:3px;border-radius:3px;background:#ffffff1f;overflow:hidden;margin-top:14px}.loading .bar i{display:block;height:100%;background:var(--accent);transition:width .2s}.loading.done{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s,visibility 0s .5s}.float{position:absolute;z-index:6}.glass{background:var(--panel);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.studio-top{top:14px;left:14px;display:flex;align-items:center;gap:8px;padding:6px 8px 6px 6px;border-radius:999px;max-width:calc(100vw - 400px)}.name-input{background:transparent;border:0;outline:none;font-weight:500;min-width:80px;width:22ch;padding:4px 6px;border-radius:6px}.name-input:hover,.name-input:focus{background:#ffffff0f}.toolbar{bottom:18px;left:calc((100vw - 360px)/2);transform:translate(-50%);display:flex;gap:4px;padding:6px;border-radius:999px}.toolbar .sep{width:1px;background:var(--line-strong);margin:6px 4px}.inspector{top:14px;right:14px;bottom:14px;width:340px;display:flex;flex-direction:column;overflow:hidden}.inspector .tabs{margin:12px 12px 0}.inspector .body{flex:1;overflow-y:auto;padding:16px}.inspector h4{margin:0 0 10px;font-size:12px;font-weight:500;color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase}.presets{display:grid;gap:8px;margin-bottom:18px}.preset{display:flex;gap:12px;align-items:center;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#ffffff05;cursor:pointer;transition:border-color .15s,background .15s}.preset:hover{border-color:var(--line-strong)}.preset.on{border-color:#e8c58a99;background:var(--accent-soft)}.preset .glyph{width:34px;height:34px;border-radius:9px;background:#ffffff0d;display:grid;place-items:center;flex:none;color:var(--accent)}.preset b{font-weight:500;display:block}.preset small{color:var(--text-dim);font-size:12px}.slider-row{display:flex;justify-content:space-between;font-size:12px;color:var(--text-dim);margin-bottom:4px}.progress{height:3px;border-radius:3px;background:#ffffff1a;overflow:hidden;margin-top:10px}.progress i{display:block;height:100%;background:var(--accent)}.story{border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:8px;background:#ffffff05}.story.on{border-color:#e8c58a80}.story .head{display:flex;align-items:center;gap:8px}.story .num{width:22px;height:22px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-size:12px;font-weight:700;display:grid;place-items:center;flex:none}.story .title-input{flex:1;background:transparent;border:0;outline:none;font-weight:500;padding:4px;border-radius:6px;min-width:0}.story .title-input:focus{background:#ffffff0d}.story textarea{margin-top:8px;min-height:60px;font-size:13px}.formats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.format{padding:10px 6px;border-radius:12px;border:1px solid var(--line);background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;color:var(--text-dim)}.format.on{border-color:#e8c58a99;color:var(--text);background:var(--accent-soft)}.format i{display:block;border:1.5px solid currentColor;border-radius:3px}.reel-preview{width:100%;border-radius:12px;background:#000;margin:10px 0;max-height:360px}.pins{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}.pin{position:absolute;left:0;top:0;pointer-events:auto;cursor:pointer;border:0;padding:0;background:none;display:flex;align-items:center;gap:8px;will-change:transform;transition:opacity .2s}.pin .dot{width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-size:12px;font-weight:700;flex:none;box-shadow:0 0 0 5px #e8c58a38,0 6px 18px #0006}.pin .tag{background:#0a0a0cb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:5px 10px;border-radius:999px;font-size:12.5px;white-space:nowrap;opacity:0;transform:translate(-4px);transition:opacity .2s,transform .2s;max-width:220px;overflow:hidden;text-overflow:ellipsis}.pin:hover .tag,.pin.on .tag{opacity:1;transform:none}.pin.on .dot{animation:pulse 1.8s infinite}.place-hint{top:74px;left:50%;transform:translate(-50%);padding:10px 16px;border-radius:999px;font-size:13px}.tour-top{top:16px;left:16px;right:16px;display:flex;align-items:center;gap:10px;pointer-events:none}.tour-top>*{pointer-events:auto}.tour-title{padding:10px 16px;border-radius:999px;display:flex;align-items:center;gap:10px}.tour-title{min-width:0;flex:0 1 auto}.tour-title strong{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.tour-top .btn{flex:none}.tour-card{left:50%;bottom:20px;transform:translate(-50%);width:min(520px,calc(100vw - 32px));padding:18px 18px 14px}.tour-card h5{font-family:var(--display);font-weight:400;font-size:22px;margin:0 0 6px;letter-spacing:-.01em}.tour-card p{margin:0 0 14px;color:var(--text-dim);white-space:pre-wrap}.dots{display:flex;gap:5px}.dots i{width:6px;height:6px;border-radius:50%;background:#fff3}.dots i.on{background:var(--accent);width:18px;border-radius:3px}.made-with{position:absolute;z-index:6;right:16px;bottom:16px;font-size:11.5px;color:var(--text-faint);text-decoration:none}.tour-start{text-align:center}.tour-start h2{font-family:var(--display);font-weight:400;font-size:clamp(30px,6vw,46px);margin:0 0 8px;letter-spacing:-.02em}.toast{position:fixed;z-index:80;left:50%;bottom:84px;transform:translate(-50%);padding:10px 16px;border-radius:999px;animation:rise .2s ease;font-size:13px}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes pulse{50%{box-shadow:0 0 0 10px #e8c58a14,0 6px 18px #0006}}.toast{animation:none}@media(max-width:860px){.starts{grid-template-columns:1fr}.topbar,.hero,.section{padding-left:16px;padding-right:16px}.hero{padding-top:28px}.inspector{inset:auto 8px 8px;width:auto;height:46vh}.studio-top{max-width:calc(100vw - 28px)}.toolbar{left:50%;bottom:calc(46vh + 18px)}.place-hint{top:64px;width:max-content;max-width:calc(100vw - 32px)}}.training-stage{background:var(--bg) center/cover no-repeat;display:grid;place-items:center;padding:16px}.training-scrim{position:absolute;inset:0;backdrop-filter:blur(30px) brightness(.45);-webkit-backdrop-filter:blur(30px) brightness(.45)}.training-card{position:relative;width:min(520px,100%);padding:26px}.training-card h3{font-family:var(--display);font-weight:400;font-size:26px;margin:6px 0 4px;letter-spacing:-.01em}.eyebrow{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.stages{list-style:none;padding:0;margin:20px 0 14px;display:grid;gap:10px}.stages li{display:flex;align-items:center;gap:12px;color:var(--text-faint)}.stages li .grow{flex:1}.stages li small{color:var(--text-faint)}.stages .mark{width:24px;height:24px;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;font-size:12px;flex:none}.stages li.done{color:var(--text-dim)}.stages li.done .mark{background:var(--captured);border-color:transparent;color:#0b1a13;font-weight:700}.stages li.active{color:var(--text)}.stages li.active .mark{border-color:var(--accent);color:var(--accent);animation:pulse 1.8s infinite}.stages li.fail .mark{background:var(--danger);border-color:transparent;color:#200;font-weight:700}.log{margin:12px 0 0;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tips{margin:12px 0 0;padding-left:18px;color:var(--text-dim);font-size:12.5px}.tips li{margin-bottom:3px}.card .status{position:absolute;left:10px;top:10px}.route-enter{animation:route-in .22s ease both;height:100%}@keyframes route-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.route-enter,.modal,.scrim{animation:none}}a.btn{text-decoration:none;color:inherit}.tour-top nav,.tour-top{gap:8px}@media(max-width:520px){.hide-sm{display:none}.tour-top .btn:has(.hide-sm){width:36px;padding:0}.tour-title{padding:8px 12px}}.credits{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:12.5px;font-weight:500;white-space:nowrap}.signin-hint{font-size:12px;color:var(--text-dim)}
