
:root{color-scheme:dark;--ink:#171a1b;--panel:#202425;--line:#363a3a;--paper:#efebe1;--muted:#a1a6a3;--copper:#d49b74}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--copper);outline-offset:4px}button:disabled{opacity:.4;cursor:wait}.masthead{height:84px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:26px;letter-spacing:-1.2px;font-weight:600;display:flex;align-items:center;gap:12px}.brand-mark{color:var(--copper);font-size:37px;font-weight:300}.brand-tag{font-size:9px;letter-spacing:2px;font-weight:400;color:var(--muted);margin:5px 0 0 16px}.header-right{display:flex;align-items:center;gap:34px;font-size:12px}.privacy{color:var(--muted)}.privacy i,.live-dot{display:inline-block;border-radius:50%;width:6px;height:6px;background:#aac39b;margin-right:8px}.workspace{display:grid;grid-template-columns:290px 1fr;height:calc(100dvh - 84px)}.sidebar{padding:32px 26px 20px;border-right:1px solid var(--line);overflow-y:auto;display:flex;flex-direction:column;gap:24px}.eyebrow,.small-label{font-size:9px;letter-spacing:1.8px;font-weight:600;color:var(--muted)}.eyebrow{display:flex;justify-content:space-between}.eyebrow span{color:#6c7470}h1{font:normal 35px/1.12 Georgia,serif;letter-spacing:-1px;margin:0}p{margin:0}.intro{color:var(--muted);font-size:12px;line-height:1.65;margin-top:-8px}.scene-card{display:block;text-align:left;padding:0;border:1px solid #b88865;border-radius:7px;background:#292d2c;overflow:hidden;flex-shrink:0}.scene-art{height:98px;display:flex;align-items:flex-end;justify-content:center;gap:0;background:linear-gradient(165deg,#424c46,#202c27);position:relative;overflow:hidden}.scene-art:after{content:'';position:absolute;bottom:-32px;width:190px;height:75px;background:#928c77;transform:rotate(-13deg) skew(20deg)}.scene-art i{border:3px solid #c28b62;width:56px;height:80px;border-radius:50% 50% 0 0;transform:skewY(-14deg);margin-left:-26px;position:relative;z-index:1;box-shadow:2px 0 0 #75513a}.scene-card-bottom{padding:14px 13px;display:flex;align-items:center;justify-content:space-between}.scene-card strong{font-size:12px;font-weight:500;display:block}.scene-card small{display:block;color:var(--muted);font-size:8px;letter-spacing:1px;margin-top:6px}.import-box{border-bottom:1px solid var(--line);padding-bottom:24px}.import-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:transparent;border:1px dashed #68716b;border-radius:5px;margin:11px 0}.import-button:hover{border-color:var(--copper);background:#292d2b}.import-button span{font-size:19px;color:var(--copper)}.import-box p{font-size:10px;line-height:1.7;color:var(--muted);text-align:center}.scene-details h2{font-size:14px;font-weight:500;margin:13px 0 7px}.scene-details p{color:var(--muted);font-size:10px}dl{margin:20px 0 0;font-size:11px}dl div{display:flex;justify-content:space-between;margin:12px 0}dt{color:var(--muted)}dd{margin:0;font-variant-numeric:tabular-nums}.sidebar-foot{margin-top:auto;padding-top:8px;font:italic 15px Georgia,serif;display:flex;flex-direction:column;gap:12px}.sidebar-foot small,.sidebar-foot a{font:9px/1.6 -apple-system,sans-serif;color:#9a9f9c}.stage{min-width:0;min-height:0;position:relative;padding:22px 26px 0;display:flex;flex-direction:column}.stage-bar{height:31px;display:flex;justify-content:space-between;align-items:flex-start;font-size:11px;color:var(--muted);flex-shrink:0}.stage-tags{display:flex;gap:22px;font-size:9px;letter-spacing:1px}.viewport{position:relative;min-height:180px;flex:1;overflow:hidden;background:radial-gradient(ellipse at 50% 55%,#313b37 0%,#242c29 56%,#1f2523 100%);border:1px solid #414942;border-radius:8px}#canvas{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:none}.viewport-title{position:absolute;left:27px;top:27px;pointer-events:none;max-width:260px}.viewport-title .small-label{color:#a8b0a4}.viewport-title h2{font:normal 35px/1.03 Georgia,serif;letter-spacing:-.7px;margin:12px 0}.viewport-title p{font-size:10px;color:#bcc1b6;line-height:1.6;max-width:215px}.loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;background:#202724b8;pointer-events:none}.loading span{width:31px;height:31px;border:1px solid #777e75;border-top-color:var(--copper);border-radius:50%;animation:turn 1s linear infinite}.loading p{font-size:12px;color:var(--paper)}@keyframes turn{to{transform:rotate(360deg)}}#message{position:absolute;left:22px;right:22px;bottom:50px;color:#ffe1cc;background:#4a3029ee;padding:16px;border:1px solid #a37151;border-radius:6px;font-size:12px;line-height:1.6;z-index:4}#message[hidden]{display:none}#progress{position:absolute;bottom:0;left:0;height:2px;background:var(--copper);transition:width .2s}.axis{position:absolute;bottom:25px;left:31px;width:37px;height:48px;font-size:9px;color:#adb7ad;pointer-events:none}.axis i{position:absolute;width:1px;height:25px;background:#b0b8aa;top:15px;left:6px}.axis i:after,.axis i:before{content:'';position:absolute;height:1px;width:21px;background:#b0b8aa;top:24px;transform-origin:left;transform:rotate(-26deg)}.axis i:after{transform:rotate(28deg)}.axis span{position:absolute;left:3px}.axis b{position:absolute;left:31px;top:26px;font-weight:400}.axis em{position:absolute;left:30px;top:47px;font-style:normal}.view-chip{position:absolute;bottom:23px;right:24px;display:flex;gap:12px;font-size:9px;color:#b0b7ab;pointer-events:none}.view-chip span:nth-child(2){color:#676f65}.control-bar{height:66px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.controls{display:flex;align-items:center;gap:5px}.control-bar button{border:0;background:transparent;padding:9px 11px;color:#c3c9c1;font-size:14px;border-radius:5px;white-space:nowrap}.control-bar button span{font-size:10px;margin-left:6px}.control-bar button:hover,.control-bar button[aria-pressed=true]{background:#333b35;color:var(--paper)}.control-bar button[aria-pressed=true]{color:var(--copper)}.separator{height:17px;width:1px;background:var(--line);margin:0 10px}.stage-footer{height:47px;display:flex;justify-content:space-between;align-items:center;color:#858e86;font-size:8px;letter-spacing:1.2px;flex-shrink:0}.stage-footer span span{padding:0 12px}.stage-footer>span:last-child{font:italic 12px Georgia,serif;letter-spacing:0}.help-panel{position:absolute;z-index:5;right:26px;bottom:110px;width:min(510px,calc(100% - 52px));padding:22px;border:1px solid #596251;border-radius:8px;background:#242c27f5;box-shadow:0 20px 60px #0007}.help-panel h3{font:21px Georgia,serif;margin:0 0 15px}.help-panel p{font-size:11px;line-height:1.9;margin:9px 0}.help-panel .muted{color:var(--muted);font-size:10px}.help-panel button{border:1px solid #737d6b;background:transparent;padding:8px 12px;border-radius:4px;font-size:11px}kbd{font:10px monospace;background:#3e483e;border-radius:3px;padding:3px 5px}.drop-overlay{position:absolute;inset:12px;border:2px dashed var(--copper);background:#222c26ec;z-index:6;border-radius:5px;display:none;flex-direction:column;align-items:center;justify-content:center;font:30px Georgia,serif}.drop-overlay span{font:12px sans-serif;color:var(--muted);margin-top:15px}body.dragging .drop-overlay{display:flex}@media(max-height:820px)and(min-width:901px){.sidebar{gap:18px;padding-top:24px}.scene-art{height:80px}.scene-details{display:none}.sidebar-foot{font-size:13px}.sidebar-foot small{display:none}}@media(max-width:1100px){.workspace{grid-template-columns:245px 1fr}.sidebar{padding:24px 20px}.stage{padding:20px 18px 0}.brand-tag{display:none}.privacy{display:none}.control-bar button{padding:9px 7px}.control-bar button span{font-size:9px}.separator{margin:0 3px}.viewport-title h2{font-size:29px}.stage-tags>span:first-child{display:none}}@media(max-width:760px){.masthead{height:64px;padding:0 20px}.brand{font-size:23px}.workspace{height:calc(100dvh - 64px);grid-template-columns:1fr}.sidebar{display:none}.stage{padding:16px 14px 0}.viewport-title{top:22px;left:22px}.viewport-title h2{font-size:29px}.viewport-title p{max-width:170px}.control-bar{height:65px}.control-bar button span{display:none}.control-bar button{font-size:22px;padding:9px 13px}.stage-footer{height:37px;font-size:7px}.stage-footer>span:last-child{display:none}.stage-bar{height:28px}.header-right{font-size:11px}.help-panel{right:14px;width:calc(100% - 28px);bottom:103px}.brand-mark{font-size:31px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition:none!important}}

#mobile-import{border:1px solid #626d61;background:transparent;border-radius:4px;font-size:10px;margin-top:-5px;padding:5px 9px;display:none}@media(max-width:760px){#mobile-import{display:block}.stage-tags{gap:12px}}

.scene-card{border-color:var(--line)}.scene-card[aria-pressed=true]{border-color:var(--copper)}
.scene-picker{display:flex;align-items:center;gap:8px;margin-top:-6px;letter-spacing:0;font-size:10px}
.scene-picker select{max-width:190px;background:#242b26;color:var(--paper);border:1px solid #596452;border-radius:4px;padding:5px 24px 5px 8px;font:11px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}
.scene-picker select:focus-visible{outline:2px solid var(--copper);outline-offset:2px}
#scene-credit{margin-top:12px;font-size:10px;line-height:1.6}#scene-credit a{pointer-events:auto;text-decoration:underline;text-underline-offset:3px}
.asset-about{border-top:1px solid var(--line);padding-top:14px;margin-top:15px}.asset-about h3{font:14px -apple-system,sans-serif;margin-bottom:8px}.asset-about a{font-size:10px;color:var(--copper);text-decoration:underline;text-underline-offset:3px}
.help-panel{max-height:calc(100% - 160px);overflow:auto}.stage-tags{align-items:flex-start;gap:16px}.stage-tags>span:first-of-type{display:none}
@media(max-width:760px){.stage-bar>span{max-width:110px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.stage-tags{gap:9px}.scene-picker>span{display:none}.scene-picker select{max-width:138px;padding-right:15px;font-size:10px}.stage-tags #fps{display:none}.viewport-title{max-width:235px}.help-panel{max-height:calc(100% - 155px)}}

/* Scene selection and camera work stay visible without competing with the canvas. */
.sidebar{gap:19px}
.scene-library{display:grid;gap:8px}
.scene-library .scene-card{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:start;gap:10px;width:100%;min-height:74px;padding:13px;text-align:left;background:#252b29;border:1px solid var(--line);border-radius:6px}
.scene-library .scene-card:hover{background:#2d3530;border-color:#7f8b7e}
.scene-library .scene-card[aria-pressed=true]{border-color:var(--copper);background:#30332e}
.scene-card-index{color:var(--copper);font-size:10px;line-height:1.4;font-variant-numeric:tabular-nums}
.scene-card-copy{display:grid;gap:6px;min-width:0}
.scene-card-copy strong{font-size:12px;font-weight:600}
.scene-card-copy small{margin:0;font-size:10px;line-height:1.35;letter-spacing:0;color:var(--muted)}
.scene-card-action{font-size:10px;color:var(--muted);white-space:nowrap}
.scene-library .scene-card[aria-pressed=true] .scene-card-action{color:var(--copper)}
.import-box{padding-bottom:18px}
.scene-picker{display:none}
.camera-bar{min-height:58px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}
.camera-bar-intro{display:grid;gap:4px;min-width:0}
.camera-bar-intro strong{font-size:11px;font-weight:600}
.camera-bar-intro span{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.camera-bar-actions,.camera-nav{display:flex;align-items:center;gap:8px}
.camera-nav[hidden]{display:none}
.camera-bar button{border:1px solid #596452;background:#242b26;border-radius:4px;padding:7px 9px;color:var(--paper);font-size:10px;white-space:nowrap}
.camera-bar button:hover{border-color:var(--copper)}
.camera-nav button{font-size:15px;line-height:1;padding:5px 9px}
.camera-nav span{min-width:50px;text-align:center;font-size:10px;font-variant-numeric:tabular-nums}
.camera-index-label input{width:48px;padding:5px 3px;background:#19221e;border:1px solid #66786a;border-radius:4px;color:var(--paper);font:11px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-align:center;font-variant-numeric:tabular-nums}
.camera-index-label input:focus-visible{outline:2px solid var(--copper);outline-offset:2px}
#camera-total{min-width:35px;text-align:left}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.view-feedback{position:absolute;z-index:7;right:26px;bottom:174px;max-width:min(390px,calc(100% - 52px));display:grid;gap:8px;padding:12px 14px;background:#27322d;border:1px solid #73927c;border-radius:6px;box-shadow:0 10px 30px #0006;font-size:11px;line-height:1.5}
.view-feedback[hidden],.view-feedback input[hidden]{display:none}
.view-feedback input{width:100%;padding:7px 8px;background:#19201d;border:1px solid #667a68;border-radius:3px;color:var(--paper);font:10px monospace}
.control-bar .control-icon{display:inline-block;min-width:16px;text-align:center;font-size:16px}
.help-panel{bottom:174px}
@media(max-width:760px){
  .scene-picker{display:flex}
  .camera-bar{min-height:58px}
  .camera-bar-intro span{display:none}
  .camera-bar-actions{gap:5px}
  .camera-bar button{padding:7px;font-size:9px}
  .camera-nav{gap:4px}
  .camera-nav button{font-size:14px;padding:5px 7px}
  .camera-nav span{min-width:42px;font-size:9px}
  .camera-index-label input{width:39px;padding:5px 1px;font-size:10px}
  #camera-total{min-width:25px}
  .control-bar{gap:0}
  .controls{flex:1;justify-content:space-between;gap:0}
  .control-bar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;padding:5px 3px;font-size:10px}
  .control-bar button span{display:block;margin:0;font-size:9px;line-height:1.1}
  .control-bar button .control-icon{font-size:19px}
  .separator{display:none}
  .view-feedback{right:14px;bottom:166px;max-width:calc(100% - 28px)}
  .help-panel{bottom:166px;max-height:calc(100% - 205px)}
}
