:root{--ink:#20233b;--muted:#74758a;--paper:#fbf9ff;--line:#e8e4f0;--purple:#6b54d9;--lav:#eee9ff}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Hiragino Kaku Gothic ProN,Meiryo,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}.loading{place-items:center;min-height:100vh;display:grid}.shell{min-height:100vh;display:flex}aside{border-right:1px solid var(--line);background:#fff;flex-direction:column;width:238px;height:100vh;padding:28px 16px;display:flex;position:fixed}.brand{color:var(--ink);text-align:left;background:0 0;border:0;margin:0 10px 38px;font-size:23px;font-weight:800}nav{gap:5px;display:grid}nav button{color:#55566b;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:13px;padding:12px;display:flex}nav button.on,nav button:hover{background:var(--lav);color:#4939a2;font-weight:700}nav b{text-align:center;width:18px}.new,.primary{background:var(--purple);color:#fff;border:0;border-radius:11px;font-weight:700;box-shadow:0 8px 18px #6b54d930}.new{margin:29px 8px 0;padding:13px}.shell aside>small{color:#9695a5;margin:auto 10px 4px}.content{width:calc(100% - 238px);max-width:1500px;margin-left:238px;padding:52px clamp(24px,6vw,90px)}header,.editor-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:35px;display:flex}.eyebrow{color:#887ad0;letter-spacing:.14em;margin:0 0 10px;font-size:11px;font-weight:800}h1{letter-spacing:-.06em;margin:0;font-size:clamp(30px,4vw,46px)}.lede{max-width:600px;color:var(--muted);margin:12px 0 0;line-height:1.7}.primary{white-space:nowrap;padding:13px 18px}.home,.two-panel{grid-template-columns:1.6fr 1fr;gap:20px;display:grid}.card,.panel,.scene-editor{border:1px solid var(--line);background:#fff;border-radius:20px;padding:27px;box-shadow:0 10px 28px #48378308}.hero{background:linear-gradient(120deg,#efeaff,#fff0f7)}em{color:#705abe;background:#fff;border-radius:99px;padding:5px 9px;font-size:11px;font-style:normal;font-weight:800;display:inline-block}.hero ol{color:#5b5b70;padding-left:20px;line-height:2}.link{color:#5d48c5;background:0 0;border:0;padding:0;font-weight:700}.stats{text-align:center;grid-template-columns:repeat(3,1fr);align-items:center;display:grid}.stats div+div{border-left:1px solid var(--line)}.stats b{font-size:28px;display:block}.stats div{color:var(--muted);font-size:12px}.section-title{justify-content:space-between;align-items:center;margin:45px 0 17px;display:flex}.section-title h2,.section-title h3{margin:0}.grid,.characters{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:17px;display:grid}.project{border:1px solid var(--line);text-align:left;background:#fff;border-radius:16px;padding:0 0 15px;overflow:hidden}.art{color:#765fc8;background:linear-gradient(145deg,#e8ddff,#ffddec);place-items:center;height:116px;margin-bottom:14px;font-family:Georgia,serif;font-size:45px;display:grid}.project small,.project h3,.project p{margin-left:16px;margin-right:16px}.project small,.project p{color:var(--muted);font-size:12px}.project h3{margin-top:6px;margin-bottom:6px}.empty{text-align:center;background:#fff;border:1px dashed #cfc6e7;border-radius:18px;padding:48px 24px}.empty>span{color:var(--purple);font-size:30px}.empty h2{margin:10px 0}.empty p,.hint{color:var(--muted);line-height:1.7}.characters{grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}.character{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:74px 1fr;gap:16px;padding:20px;display:grid}.avatar{color:#b75078;background:#ffe2eb;border-radius:50%;place-items:center;width:62px;height:62px;font-size:26px;font-weight:700;display:grid}label{color:#535469;gap:6px;margin-top:10px;font-size:12px;font-weight:700;display:grid}input,textarea,select{width:100%;color:var(--ink);background:#fff;border:1px solid #dfdbe8;border-radius:8px;padding:10px}textarea{resize:vertical;min-height:74px}select[multiple]{min-height:84px}.character footer{grid-column:1/-1;justify-content:space-between;display:flex}.character footer button{color:var(--purple);background:0 0;border:0;font-weight:700}.character footer small{color:#b28809}.project-title{letter-spacing:-.05em;background:0 0;border:0;padding:0;font-size:clamp(26px,4vw,40px);font-weight:800}.editor-header p{color:var(--muted);font-size:12px}.steps{justify-content:space-between;gap:7px;margin-bottom:24px;display:flex;overflow:auto}.steps span{color:#aaa8b4;justify-items:center;gap:5px;min-width:48px;font-size:12px;display:grid}.steps small{white-space:nowrap;font-size:10px}.steps .done{color:var(--purple);font-weight:800}.tabs{border-bottom:1px solid var(--line);gap:23px;margin-bottom:24px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:11px 2px;font-weight:700}.tabs .active{border-color:var(--purple);color:var(--purple)}.edit-grid{grid-template-columns:260px minmax(0,1fr);gap:25px;display:grid}.scene-list{border:1px solid var(--line);background:#fff;border-radius:15px;width:auto;height:auto;padding:13px;position:static}.scene-list .section-title{margin:4px 4px 12px}.scene-list .section-title button,.scene-editor .section-title button{background:var(--lav);color:var(--purple);border:0;border-radius:7px;font-weight:700}.scene-list>button{text-align:left;background:0 0;border:0;border-radius:10px;gap:10px;width:100%;margin:4px 0;padding:10px;display:flex}.scene-list>button.selected{background:var(--lav)}.scene-list>button b{color:#6d6690;background:#f2eff8;border-radius:7px;place-items:center;width:25px;height:25px;font-size:12px;display:grid}.scene-list span small,.slot small{color:var(--muted);font-size:10px;display:block}.slot{color:#aaa8b4;justify-content:space-between;margin:4px 0;padding:10px;font-size:12px;display:flex}.scene-editor .section-title{margin:0 0 21px}.scene-editor .section-title button+button{margin-left:7px}.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.upload{color:#6c657e;background:#fcfbff;border:1px dashed #c7bfdc;border-radius:11px;gap:8px;margin-top:15px;padding:17px;font-size:12px;display:grid}.upload p{margin:0}.upload small{background:#f5f2fb;padding:6px}.actions{justify-content:space-between;align-items:center;margin-top:24px;display:flex}.two-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.deco{background:linear-gradient(145deg,#fff5fa,#f0ebff);border-radius:12px;place-items:center;min-height:125px;margin-top:17px;font-size:60px;display:grid}.preview{text-align:center}.stage{color:#fff;background:linear-gradient(145deg,#cbbdf4,#f8c9dc);border-radius:21px;min-height:330px;padding:22px}.stage>div{background:#3c315b33;border:1px solid #ffffff8c;border-radius:14px;align-content:center;place-items:center;min-height:235px;padding:30px;display:grid}.stage span{font-size:40px}.stage h1{margin:10px 0;font-family:Georgia,serif;font-size:32px}.stage p{max-width:470px;margin:0}.timeline{border:1px solid var(--line);text-align:left;background:#fff;border-radius:13px;gap:8px;margin:23px 0;padding:16px;display:grid}.timeline div{color:var(--muted);grid-template-columns:72px 1fr;align-items:center;gap:10px;font-size:12px;display:grid}.track{background:#8b76e7;border-radius:4px;height:13px;display:block}.t1{background:#f294bd;width:33%;margin-left:17%}.t2{background:#b9aae8;width:85%}.t3{background:#7ac7bb;width:92%}.library{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:16px;flex-wrap:wrap;gap:10px;padding:23px;display:flex}.library span{background:var(--lav);color:#5f5791;border-radius:8px;padding:8px 11px;font-size:13px}.danger{color:#b22d51;background:#fff;border:1px solid #f0cad4;border-radius:9px;padding:10px 14px;font-weight:700}.notice{z-index:5;background:var(--ink);color:#fff;border-radius:10px;padding:13px 18px;position:fixed;top:25px;right:25px;box-shadow:0 10px 30px #0003}@media (max-width:760px){.shell>aside{z-index:3;border-top:1px solid var(--line);border-right:0;flex-direction:row;justify-content:space-around;width:100%;height:64px;padding:7px 8px;position:fixed;bottom:0}.brand,.new,.shell aside>small{display:none}nav{flex:1;justify-content:space-around;display:flex}nav button{place-items:center;gap:2px;padding:4px;font-size:10px;display:grid}.content{width:100%;margin:0;padding:30px 18px 88px}header,.editor-header{flex-direction:column}.home,.two-panel,.edit-grid{grid-template-columns:1fr}.editor-header{margin-bottom:16px}.scene-list{max-height:240px;overflow:auto}.two,.characters{grid-template-columns:1fr}.tabs{gap:14px;overflow:auto}.stage{min-height:250px}.notice{top:15px;left:15px;right:15px}}
@media (max-width:760px){.shell>aside{z-index:3;background:linear-gradient(145deg,#211d3c,#17142b);border:1px solid #b9abef;border-bottom:0;border-radius:26px 26px 0 0;flex-direction:row;justify-content:space-around;width:100%;height:122px;padding:12px 10px 15px;position:fixed;bottom:0;box-shadow:0 -12px 32px #251d4f3b}.shell aside nav{flex:1;justify-content:space-around;gap:4px;display:flex}.shell aside nav button{color:#ddd9f0;background:0 0;border-radius:14px;flex:1;place-items:center;gap:5px;min-width:0;padding:0;font-size:10px;font-weight:700;line-height:1.1;display:grid}.shell aside nav button b{color:#fff;background:linear-gradient(145deg,#3e3961,#292442);border:1px solid #ffffff24;border-radius:14px;place-items:center;width:44px;height:44px;font-size:22px;display:grid;box-shadow:inset 0 1px #ffffff20,0 5px 12px #07051466}.shell aside nav button.on,.shell aside nav button:hover{color:#fff;background:0 0}.shell aside nav button.on b{background:linear-gradient(145deg,#927cff,#6248da);border-color:#d2c8ff;box-shadow:0 0 0 3px #a995ff42,0 8px 16px #09061d88}.content{padding-bottom:146px}}
.shell{--dashboard-panel:#fff;--dashboard-soft:#f2efff;--dashboard-ink:#20233b;--dashboard-muted:#74758a;background:var(--paper)}.theme-midnight{--paper:#141326;--ink:#f4f2ff;--muted:#bbb7cf;--line:#393553;--purple:#9b88ff;--lav:#2d2947;--dashboard-panel:#211f37;--dashboard-soft:#2c2945}.theme-ocean{--paper:#f2fbfa;--ink:#153a42;--muted:#628087;--line:#d6ebe8;--purple:#168b91;--lav:#dcf5f1;--dashboard-panel:#fff;--dashboard-soft:#e4f7f4}.theme-rose{--paper:#fff7f8;--ink:#4a2632;--muted:#8d6b75;--line:#f0dbe1;--purple:#d65782;--lav:#ffe7ef;--dashboard-panel:#fff;--dashboard-soft:#fff0f4}.shell .content{background:var(--paper)}.shell .content>header{border:1px solid var(--line);background:linear-gradient(135deg, var(--dashboard-panel) 0%, var(--dashboard-soft) 100%);border-radius:24px;min-height:190px;margin-bottom:24px;padding:30px;position:relative;overflow:hidden;box-shadow:0 18px 42px #33236e0c}.shell .content>header:after{background:var(--purple);content:"";opacity:.12;border-radius:50%;width:220px;height:220px;position:absolute;bottom:-65px;right:-45px}.shell .content>header>*{z-index:1;position:relative}.shell .hero{background:linear-gradient(145deg, var(--purple), #27234e);color:#fff;border:0;min-height:260px;padding:32px;box-shadow:0 18px 34px #30215d2b}.shell .hero h2{margin-top:22px;font-size:30px}.shell .hero em{color:#fff;background:#ffffff24}.shell .hero ol{color:#f4f1ff}.shell .hero .link{color:#fff}.shell .stats{background:var(--dashboard-panel);border:0;overflow:hidden;box-shadow:0 16px 34px #33236e0d}.shell .stats div{padding:17px 4px;position:relative}.shell .stats b{color:var(--purple);font-size:36px}.shell .home+section{border:1px solid var(--line);background:var(--dashboard-panel);border-radius:22px;margin-top:24px;padding:26px}.shell .home+section .section-title{margin:0 0 18px}.settings-dashboard{gap:20px;display:grid}.setting-card{border:1px solid var(--line);background:var(--dashboard-panel);border-radius:22px;padding:28px;box-shadow:0 14px 30px #33236e0a}.setting-card h2{margin:4px 0 8px}.appearance-card{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);align-items:start;gap:28px;display:grid}.theme-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.theme-choice{border:1px solid var(--line);background:var(--paper);color:var(--ink);text-align:left;border-radius:14px;grid-template-columns:34px 1fr;align-items:center;gap:2px 10px;padding:12px;display:grid}.theme-choice:hover,.theme-choice.selected{border-color:var(--purple);box-shadow:0 0 0 3px #6b54d91c}.theme-choice small{color:var(--muted);grid-column:2;font-size:11px;line-height:1.4}.theme-swatch{border-radius:11px;grid-row:span 2;width:34px;height:34px;display:block}.theme-swatch.lavender{background:linear-gradient(145deg,#6b54d9,#eee9ff)}.theme-swatch.midnight{background:linear-gradient(145deg,#17142b,#9b88ff)}.theme-swatch.ocean{background:linear-gradient(145deg,#168b91,#dcf5f1)}.theme-swatch.rose{background:linear-gradient(145deg,#d65782,#fff0f4)}.avatar-studio{border:1px solid var(--line);background:linear-gradient(135deg, var(--dashboard-panel), var(--dashboard-soft));border-radius:22px;grid-template-columns:minmax(240px,.9fr) minmax(0,1.1fr);gap:28px;margin:0 0 22px;padding:28px;display:grid;box-shadow:0 14px 30px #33236e0a}.avatar-studio h2{margin:5px 0 8px}.avatar-form{border:1px solid var(--line);background:var(--dashboard-panel);border-radius:16px;gap:10px;padding:17px;display:grid}.consent-check{grid-template-columns:18px 1fr;align-items:start;margin:5px 0 4px;line-height:1.5}.consent-check input{width:16px;height:16px;margin-top:1px}.avatar-form .primary:disabled{cursor:wait;opacity:.7}.avatar-message{color:var(--purple);margin:0;font-size:13px;font-weight:700;line-height:1.5}.ai-settings,.byok-card{gap:10px;display:grid}.ai-settings h2,.byok-card h2{margin:2px 0}.ai-endpoints{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;display:grid}.ai-endpoints button{border:1px solid var(--line);background:var(--dashboard-soft);min-height:42px;color:var(--ink);border-radius:9px;align-self:end;font-weight:700}.avatar img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.theme-midnight .card,.theme-midnight .panel,.theme-midnight .scene-editor,.theme-midnight .project,.theme-midnight .character,.theme-midnight .empty,.theme-midnight .scene-list,.theme-midnight .library,.theme-midnight input,.theme-midnight textarea,.theme-midnight select{background:var(--dashboard-panel);color:var(--ink)}@media (max-width:760px){.shell .content>header{border-radius:20px;min-height:0;padding:25px 22px}.shell .home{gap:14px}.shell .hero{min-height:0;padding:25px 22px}.shell .hero h2{font-size:27px}.shell .home+section{padding:20px}.appearance-card{grid-template-columns:1fr;gap:18px}.avatar-studio{grid-template-columns:1fr;gap:18px;padding:22px}.theme-choices,.ai-endpoints{grid-template-columns:1fr}}
