:root{font-family:Inter,Avenir Next,Noto Sans JP,Hiragino Kaku Gothic ProN,sans-serif;color:#f4f5ef;background:#071019;font-synthesis:none;text-rendering:geometricPrecision}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:320px;background:#071019}button,input{font:inherit}button{color:inherit}#scene{position:fixed;inset:0;width:100%;height:100%;outline:none}.scene-glow{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 40% 48%,rgba(56,121,133,.12),transparent 37%),linear-gradient(180deg,rgba(1,6,10,.2),transparent 30%,rgba(1,4,7,.4));mix-blend-mode:screen;transition:opacity .7s ease}body[data-mode=day] .scene-glow{opacity:.25}.topbar{position:fixed;z-index:5;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;height:84px;padding:0 34px;pointer-events:none}.brand{display:inline-flex;align-items:center;gap:13px;color:#f4f5ef;text-decoration:none;pointer-events:auto}.brand-mark{position:relative;display:flex;align-items:flex-end;gap:2px;width:28px;height:28px}.brand-mark:after{position:absolute;right:0;bottom:1px;left:0;height:1px;background:#f4f5ef;content:""}.brand-mark i{display:block;width:8px;border:1px solid #f4f5ef;border-bottom:0;transform:skewY(-12deg)}.brand-mark i:nth-child(1){height:13px}.brand-mark i:nth-child(2){height:21px}.brand-mark i:nth-child(3){height:16px}.brand strong,.brand small{display:block}.brand strong{font-size:12px;letter-spacing:.2em;line-height:1.2}.brand small{margin-top:4px;color:#f4f5ef8c;font-size:8px;font-weight:600;letter-spacing:.34em}.model-status{display:flex;align-items:center;gap:9px;color:#f4f5ef99;font-size:9px;font-weight:600;letter-spacing:.2em}.model-status span{width:6px;height:6px;border-radius:50%;background:#53e1bf;box-shadow:0 0 13px #53e1bfcc}.mode-switch{position:fixed;z-index:7;top:24px;left:50%;display:flex;padding:3px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#070d1294;box-shadow:0 10px 30px #0000002e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transform:translate(-50%)}.mode-switch button{min-width:72px;padding:8px 15px;border:0;border-radius:999px;background:transparent;color:#ffffff7a;font-size:10px;font-weight:700;letter-spacing:.12em;cursor:pointer;transition:.18s ease}.mode-switch button.is-active{background:#ebede4;color:#0b1114;box-shadow:0 3px 12px #00000038}.control-panel{position:fixed;z-index:6;top:104px;right:30px;width:286px;border:1px solid rgba(255,255,255,.1);border-radius:4px;background:#080e12c2;box-shadow:0 22px 80px #0000004d;-webkit-backdrop-filter:blur(22px) saturate(125%);backdrop-filter:blur(22px) saturate(125%);transition:transform .3s ease,background .5s ease}body[data-mode=day] .control-panel{background:#121816bd}.panel-header{display:flex;align-items:center;justify-content:space-between;min-height:82px;padding:19px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.eyebrow,.control-label{color:#ffffff6b;font-size:8px;font-weight:700;letter-spacing:.23em}.panel-header h1{margin:7px 0 0;font-size:15px;font-weight:600;letter-spacing:.06em}.icon-button{position:relative;width:30px;height:30px;border:1px solid rgba(255,255,255,.1);border-radius:50%;background:#ffffff09;cursor:pointer}.icon-button span{position:absolute;top:14px;left:9px;width:10px;height:1px;background:#ffffffb8;transition:transform .24s ease}.icon-button span:nth-child(2){transform:rotate(90deg) scaleX(0)}.control-panel.is-collapsed .icon-button span:nth-child(2){transform:rotate(90deg) scaleX(1)}.panel-content{max-height:calc(100vh - 215px);overflow:auto;scrollbar-width:none;transition:max-height .3s ease,opacity .2s ease}.panel-content::-webkit-scrollbar{display:none}.control-panel.is-collapsed .panel-content{max-height:0;opacity:0;overflow:hidden}.status-control{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.status-control strong,.status-control small{display:block}.status-control strong{font-size:11px;font-weight:600;letter-spacing:.05em}.status-control small{margin-top:4px;color:#ffffff61;font-size:8px;letter-spacing:.08em}.toggle{position:relative;width:36px;height:20px;padding:0;border:0;border-radius:999px;background:#ffffff2b;cursor:pointer;transition:background .18s ease}.toggle i{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0000004d;transition:transform .18s ease}.toggle.is-on{background:#38cfad}.toggle.is-on i{transform:translate(16px)}.control-section{padding:17px 20px 19px;border-bottom:1px solid rgba(255,255,255,.08)}.control-label{display:block;margin-bottom:12px}.preset-list{display:grid;gap:5px}.preset{display:flex;align-items:center;gap:11px;width:100%;padding:8px;border:1px solid transparent;border-radius:3px;background:transparent;color:#ffffff9e;text-align:left;cursor:pointer;transition:.18s ease}.preset:hover{background:#ffffff0b}.preset.is-active{border-color:#62ddc652;background:#37a08f1c;color:#fff}.preset>i{width:37px;height:27px;flex:0 0 auto;border-radius:2px;box-shadow:inset 0 0 0 1px #ffffff21}.preset>i.ocean{background:radial-gradient(circle at 75% 30%,#ff6d32,transparent 25%),linear-gradient(135deg,#062b68,#09b6a4)}.preset>i.memory{background:repeating-conic-gradient(from 13deg,#5a104b 0 12deg,#d63419 13deg 25deg,#edb83d 26deg 28deg)}.preset>i.grid{background-color:#053943;background-image:linear-gradient(rgba(109,237,220,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(109,237,220,.5) 1px,transparent 1px);background-size:7px 7px}.preset span,.preset small{display:block}.preset span{font-size:10px;font-weight:600;letter-spacing:.04em}.preset small{margin-top:3px;color:#ffffff4d;font-size:7px;font-weight:700;letter-spacing:.16em}.slider-section{display:grid;grid-template-columns:1fr;gap:8px}.slider-section label{display:flex;align-items:center;justify-content:space-between;margin-top:3px;color:#ffffff8f;font-size:9px}.slider-section output{color:#ffffffd1;font-variant-numeric:tabular-nums;letter-spacing:.05em}input[type=range]{width:100%;height:12px;margin:0 0 5px;appearance:none;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,#62ddc6 var(--progress),rgba(255,255,255,.13) var(--progress))}input[type=range]::-webkit-slider-thumb{width:10px;height:10px;margin-top:-4px;appearance:none;border:2px solid #baf2e8;border-radius:50%;background:#143c39;box-shadow:0 0 0 3px #62ddc61a}input[type=range]::-moz-range-track{height:2px;background:#ffffff21}input[type=range]::-moz-range-progress{height:2px;background:#62ddc6}input[type=range]::-moz-range-thumb{width:8px;height:8px;border:2px solid #baf2e8;border-radius:50%;background:#143c39}.camera-list{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.camera-list button{padding:8px 3px;border:1px solid rgba(255,255,255,.09);border-radius:2px;background:#ffffff06;color:#ffffff70;font-size:9px;cursor:pointer;transition:.16s ease}.camera-list button.is-active,.camera-list button:hover{border-color:#62ddc64d;color:#ccfff5;background:#62ddc614}.export-button{position:relative;display:flex;align-items:center;flex-wrap:wrap;width:calc(100% - 40px);margin:18px 20px 20px;padding:12px 39px 11px 13px;border:1px solid rgba(255,255,255,.13);border-radius:3px;background:#ffffff0f;text-align:left;cursor:pointer;transition:.18s ease}.export-button:hover{border-color:#62ddc661;background:#62ddc61a}.export-button:disabled{opacity:.55;cursor:wait}.export-button span,.export-button small{width:100%}.export-button span{font-size:10px;font-weight:600}.export-button small{margin-top:4px;color:#ffffff54;font-size:7px;letter-spacing:.14em}.export-button b{position:absolute;top:50%;right:14px;font-size:16px;font-weight:300;transform:translateY(-50%)}.model-caption{position:fixed;z-index:4;bottom:33px;left:34px;display:flex;align-items:center;gap:12px;pointer-events:none}.model-caption>span{display:grid;width:33px;height:33px;border:1px solid rgba(255,255,255,.16);border-radius:50%;place-items:center;color:#ffffff80;font-size:8px;letter-spacing:.1em}.model-caption strong,.model-caption small{display:block}.model-caption strong{font-size:10px;font-weight:600;letter-spacing:.08em}.model-caption small{margin-top:5px;color:#ffffff5c;font-size:7px;font-weight:600;letter-spacing:.16em}.interaction-hint{position:fixed;z-index:4;bottom:37px;left:50%;color:#ffffff59;font-size:8px;letter-spacing:.09em;pointer-events:none;transform:translate(-50%)}.interaction-hint i{display:inline-block;width:10px;height:13px;margin-right:8px;border:1px solid rgba(255,255,255,.36);border-radius:6px;vertical-align:-3px}.interaction-hint i:after{display:block;width:2px;height:3px;margin:2px auto;border-radius:2px;background:#ffffff80;content:""}@media(max-width:760px){.topbar{height:70px;padding:0 17px}.model-status,.interaction-hint{display:none}.mode-switch{top:79px}.control-panel{inset:auto 12px 12px;width:auto}.panel-header{min-height:68px;padding:14px 16px}.panel-content{max-height:min(58vh,510px)}.model-caption{top:133px;bottom:auto;left:17px}}@media(max-height:720px)and (min-width:761px){.control-panel{top:86px}.panel-content{max-height:calc(100vh - 180px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
