:root{color-scheme:dark;--bg:#111224;--panel:#16172b;--panel2:#1e2038;--line:rgba(202,193,255,.12);--text:#eeeaff;--muted:#9f9cb8;--accent:#bf9afc;--accent2:#81bbf3;--radius:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Outfit,'Noto Sans SC',system-ui,sans-serif;overflow:hidden}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid #c6b3ff;outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}.app-shell{height:100dvh;min-height:560px;display:grid;grid-template-columns:290px minmax(320px,1fr) 292px;overflow:hidden}.side{background:#151629;z-index:2;min-width:0;display:flex;flex-direction:column;box-shadow:0 0 25px rgba(0,0,0,.13)}.left-side{border-right:1px solid var(--line)}.right-side{border-left:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;padding:26px 23px 18px}.brand-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#a98de8,#4d588b);box-shadow:0 7px 23px #a68dff33;color:white;font-size:25px}.brand h1{font-size:22px;line-height:1.2;letter-spacing:2px;margin:5px 0 2px;font-weight:700}.brand h1 small{color:var(--accent);font-size:10px;letter-spacing:0}.brand p{font-size:10px;color:var(--muted);margin:4px 0 0}.eyebrow{font-size:8px;letter-spacing:1.5px;color:#a6a2c7}.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:0 14px 15px;border-bottom:1px solid var(--line)}.tab{border:0;background:transparent;padding:10px 2px 12px;color:#908caa;font-size:12px;position:relative}.tab.active{color:#e8dbff}.tab.active:after{content:'';position:absolute;bottom:0;left:12%;width:76%;height:2px;border-radius:3px;background:var(--accent)}.side-scroll,.right-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#45415e transparent}.tab-panel{padding:23px 18px 18px}.hidden{display:none!important}.section-head span,.right-title>span{font-size:9px;letter-spacing:1.8px;color:var(--accent)}.section-head h2,.right-title h2{font-size:21px;margin:7px 0 8px;font-weight:650;letter-spacing:.5px}.section-head p,.right-title p{margin:0 0 20px;color:var(--muted);font-size:11px;line-height:1.65}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.choice{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;background:#202239;border:1px solid #333451;border-radius:13px;padding:14px 12px;color:#d8d5ed;min-height:103px;position:relative}.choice.selected,.pose-choice.selected,.face-grid button.selected,.scene-grid button.selected{border-color:#bb97f9;background:linear-gradient(135deg,#343052,#282541);box-shadow:inset 0 0 0 1px #a888da33}.choice.selected:after{content:'✓';position:absolute;right:10px;top:9px;color:#d6baff;font-size:11px}.choice-symbol{font-size:21px;color:#cab8ff}.choice strong{font-size:12px;font-weight:550}.choice small{font-size:10px;color:#a19ab7}.divider{height:1px;background:var(--line);margin:22px 0 20px}.subheading{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:12px;font-weight:600;color:#e6defc;margin:0 0 13px}.subheading span{font-size:8px;letter-spacing:1px;color:#8c87aa;font-weight:500}.toggle-line{display:flex;justify-content:space-between;align-items:center;min-height:42px;position:relative;color:#d7d0ed;font-size:12px;cursor:pointer}.toggle-line span small{font-size:10px;color:#87829e;margin-left:7px}.toggle-line input{position:absolute;opacity:0;right:0}.toggle-line i{width:35px;height:19px;border-radius:20px;background:#464258;display:block;position:relative;transition:background .2s;flex-shrink:0}.toggle-line i:before{content:'';position:absolute;width:13px;height:13px;left:3px;top:3px;background:#c4c0d1;border-radius:50%;transition:transform .2s}.toggle-line input:checked+i{background:#8e6ec8}.toggle-line input:checked+i:before{transform:translateX(16px);background:#fff}.color-row{display:flex;gap:9px}.color-row label{flex:1;display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid #36334e;border-radius:9px;background:#23223a;color:#cfc8e4;font-size:11px}.color-row input{width:30px;height:25px;padding:0;border:0;background:transparent;cursor:pointer}.space-top{margin-top:19px}.segmented{display:flex;gap:4px;background:#202038;padding:4px;border-radius:10px}.segmented button{flex:1;border:0;border-radius:7px;background:transparent;color:#aaa4c2;font-size:11px;min-height:32px;white-space:nowrap}.segmented button.active{color:#f2eaff;background:#51456f}.left-footer,.right-footer{border-top:1px solid var(--line);padding:15px 18px;color:#8884a6;font-size:9px;display:flex;gap:7px;align-items:center;justify-content:space-between}.dot,.pulse{width:6px;height:6px;border-radius:100%;background:#94e2c4;box-shadow:0 0 8px #94e2c480}.left-footer .tiny{color:#74708e}.viewport-area{position:relative;overflow:hidden;background:#101226;min-width:0}.world-background{position:absolute;inset:0;pointer-events:none;transition:background .4s}.studio-bg{background:radial-gradient(ellipse 65% 80% at 53% 45%,#44446b 0%,#252746 48%,#11152b 100%)}.forest-bg{background:radial-gradient(ellipse 75% 85% at 50% 32%,#394f65 0%,#233044 45%,#101b28 100%)}.lake-bg{background:radial-gradient(ellipse 75% 85% at 60% 25%,#34466e 0%,#1d2c50 48%,#11162e 100%)}.white-bg{background:linear-gradient(145deg,#e7e5ee,#babccf)}#sceneCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}#sceneCanvas.splash-cursor{cursor:crosshair}#sceneCanvas:active{cursor:grabbing}.viewport-top{position:absolute;left:25px;right:25px;top:26px;display:flex;justify-content:space-between;gap:12px;pointer-events:none}.chip{font-size:9px;letter-spacing:1.2px;display:inline-flex;align-items:center;gap:8px;color:#dcdef7;border:1px solid #aaa8de34;background:#1a1b34a6;padding:9px 12px;border-radius:7px;backdrop-filter:blur(8px)}.chip.muted{letter-spacing:.2px;color:#bbb3dd}.character-tag{position:absolute;bottom:116px;left:27px;display:flex;gap:14px;align-items:center;text-shadow:0 1px 10px #0008;pointer-events:none}.tag-line{width:3px;height:52px;border-radius:3px;background:linear-gradient(#e9bcff,#6c8eeb)}.character-tag span:not(.tag-line){font-size:9px;color:#c9b6ed;letter-spacing:2px}.character-tag strong{display:block;font-size:19px;letter-spacing:1px;margin:4px 0}.character-tag small{color:#bab3d4;font-size:10px}.right-hints{position:absolute;right:23px;bottom:116px;text-align:right;font-size:15px;color:#d9caff85;pointer-events:none}.right-hints div{margin:10px 0}.right-hints span{font-size:10px;color:#aaa9c3;margin-left:7px}.axis-mark{position:absolute;top:76px;right:26px;color:#b1aed5a0;font-size:9px;letter-spacing:2px;pointer-events:none}.axis-mark i{font-size:14px;font-style:normal;margin-left:9px;color:#c5a1ff}.viewport-controls{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:9px 13px;border:1px solid #a4a1d33a;border-radius:13px;background:#16182cdd;backdrop-filter:blur(16px);box-shadow:0 10px 30px #0003;white-space:nowrap}.mode-switch{display:flex;gap:4px}.mode-switch button,.tool-buttons button{border:0;background:transparent;color:#b9b4d1;padding:11px 12px;border-radius:8px;font-size:12px}.mode-switch button.active{color:#efe7ff;background:#544673}.tool-divider{height:28px;width:1px;background:#ffffff22}.tool-buttons{display:flex;gap:2px}.tool-buttons button.emphasis{background:linear-gradient(135deg,#aa89e4,#6f79c5);color:white}.tool-buttons button span{font-size:11px}.right-title{padding:29px 21px 4px;border-bottom:1px solid var(--line)}.right-scroll{padding:17px 15px 21px}.panel-card{padding:17px 15px 19px;border:1px solid #32324a;border-radius:13px;background:#1b1d33;margin-bottom:14px}.panel-card .subheading{margin-bottom:10px}.helper{font-size:10px;line-height:1.8;color:#a5a0bb;margin:0 0 12px}.effect-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:13px 0 14px}.effect-grid button{height:65px;border:1px solid #383751;border-radius:9px;background:#25243d;color:#cfc9e8;font-size:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.effect-grid button.selected{background:#4a416b;border-color:#ab8de4}.effect-grid button span{font-size:9px}.range-row{display:block;font-size:11px;color:#c7c1da;margin:13px 0 11px;position:relative}.range-row output{float:right;color:#a992e4;font-size:11px}.range-row input{width:100%;margin:10px 0 0;accent-color:#b78bf8;cursor:pointer}.meter-line{display:flex;justify-content:space-between;font-size:10px;color:#aaa7c6;margin:14px 0 7px}.meter{height:6px;background:#33304d;border-radius:6px;overflow:hidden}.meter>div{width:0;height:100%;background:linear-gradient(90deg,#6ca5e6,#b8e2ff);transition:width .25s}.toggle-line.compact{min-height:35px;margin-top:8px}.export-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.export-grid button{min-height:66px;border:1px solid #615780;border-radius:10px;background:linear-gradient(135deg,#3d365c,#302b4a);color:#e5d9fd;font-size:22px}.export-grid button span{display:block;font-size:10px;margin-top:5px}.tip{font-size:10px;line-height:1.7;color:#928bab;margin:12px 0 0}.text-input{width:100%;background:#111429;border:1px solid #393651;color:#ece9f9;border-radius:8px;padding:10px;font-size:11px;outline:0}.text-input:focus{border-color:#a68be2}.input-caption{display:block;font-size:10px;margin:9px 0;color:#bab2d4}.compact-buttons{display:flex;gap:7px;margin-top:10px}.compact-buttons button{flex:1;background:#302d48;border:1px solid #4a4567;color:#ded4f4;font-size:10px;border-radius:8px;min-height:37px}.saved-presets{margin:14px 0;display:flex;flex-direction:column;gap:6px;max-height:170px;overflow:auto}.empty-state{font-size:10px;text-align:center;padding:13px;color:#817c9d;border:1px dashed #403c59;border-radius:7px}.preset-item{display:flex;gap:6px;align-items:center}.preset-item button{padding:8px;background:#28253e;border:1px solid #3f3b58;border-radius:7px;color:#ded6f0;font-size:10px}.preset-item button:first-child{flex:1;text-align:left}.preset-item .delete-preset{color:#e8acbf}.small-note{font-size:10px;line-height:1.85;color:#8d87a6;padding:4px 5px}.small-note strong{color:#c9b5ed}.right-footer{font-size:8px;letter-spacing:.5px}.pose-grid,.face-grid,.scene-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.pose-choice,.face-grid button,.scene-grid button{border:1px solid #37344e;background:#22233a;color:#d6cfeb;border-radius:11px}.pose-choice{height:80px;font-size:25px;color:#c5a8fb}.pose-choice span{display:block;color:#d5cde8;font-size:11px;margin-top:3px}.face-grid button{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px;font-size:12px}.face-grid button span{font-size:24px;color:#d9bafb}.scene-grid button{text-align:left;padding:6px 6px 9px}.scene-grid button strong{display:block;font-weight:500;font-size:10px;padding:8px 2px 0}.scene-swatch{height:65px;display:block;border-radius:7px}.camera-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.camera-choices button{min-height:34px;border:1px solid #48415f;background:#28273e;color:#ddd2ee;border-radius:7px;font-size:11px}.wide-button{width:100%;border:1px solid #585073;background:#37314f;color:#e4d6f7;padding:11px;border-radius:8px}.toast{position:absolute;top:84px;left:50%;transform:translateX(-50%);background:#2f294dce;border:1px solid #bfa2f67d;color:#faf5ff;padding:10px 18px;border-radius:8px;font-size:11px;pointer-events:none;opacity:0;transition:opacity .2s;max-width:85%;text-align:center}.toast.show{opacity:1}
@media(max-width:1050px){.app-shell{grid-template-columns:250px minmax(320px,1fr) 255px}.brand{padding-left:15px;padding-right:13px}.tab-panel{padding:18px 13px}.right-scroll{padding-left:8px;padding-right:8px}.right-title{padding-left:14px}.viewport-controls{gap:4px;padding:7px}.mode-switch button,.tool-buttons button{padding:10px 7px;font-size:11px}.right-hints{display:none}}
@media(max-width:800px){body{overflow:auto}.app-shell{height:auto;min-height:100dvh;display:flex;flex-direction:column;overflow:visible}.viewport-area{order:0;height:70dvh;min-height:440px}.left-side{order:1;box-shadow:none;border:0;border-top:1px solid var(--line)}.right-side{order:2;box-shadow:none;border:0}.brand{padding:17px 20px}.tabs{padding-left:13px;padding-right:13px}.side-scroll,.right-scroll{overflow:visible}.left-footer,.right-footer{display:none}.tab-panel{padding:20px}.right-title{padding:22px 20px 4px}.right-scroll{padding:18px 14px}.choice-grid,.pose-grid,.scene-grid{grid-template-columns:repeat(2,1fr)}.viewport-top{left:14px;right:14px;top:17px}.character-tag{bottom:105px;left:17px}.axis-mark{display:none}.viewport-controls{bottom:15px;width:max-content;max-width:96%}.mode-switch button,.tool-buttons button{font-size:11px}.chip{font-size:8px}.character-tag strong{font-size:16px}.character-tag small{font-size:9px}}
@media(max-width:420px){.viewport-area{height:62dvh;min-height:375px}.character-tag{bottom:93px}.viewport-controls{gap:3px}.mode-switch button{padding:9px 6px}.tool-buttons button{padding:9px 5px}.tool-buttons button span{font-size:9px}.chip.muted{display:none}.character-tag small{display:none}.character-tag strong{font-size:14px}.tag-line{height:38px}}
