:root{color-scheme:light;--bg: #f4f7fb;--surface: rgba(255, 255, 255, .88);--surface-solid: #ffffff;--soft: rgba(247, 249, 252, .92);--ink: #1f2630;--muted: #6c7480;--faint: #9aa3ae;--line: rgba(72, 86, 104, .12);--blue: #2d73ff;--blue-soft: rgba(45, 115, 255, .1);--green: #0f766e;--rose: #c43f58;--shadow: 0 18px 56px rgba(47, 65, 92, .13);--panel-blur: blur(22px)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 52% 17%,rgba(255,255,255,.94),transparent 34%),radial-gradient(circle at 76% 5%,rgba(219,229,243,.65),transparent 30%),linear-gradient(135deg,#eef3f9,#f7f9fc 48%,#eef2f7);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;letter-spacing:0}body{overflow:hidden}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}h1,h2,p{margin:0}.page-shell{position:relative;min-height:100vh;overflow:hidden}.customizer-header{position:absolute;inset:0 0 auto;z-index:20;height:76px;padding:20px 30px 0;display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:18px;align-items:start;pointer-events:none}.title-block{display:grid;gap:6px;min-width:0}.title-block h1{font-size:24px;line-height:1;letter-spacing:0}.title-block p{color:var(--muted);font-size:13px}.title-block .eyebrow{position:absolute;opacity:0;pointer-events:none}.model-picker{pointer-events:auto;display:grid;grid-template-columns:auto minmax(180px,250px);gap:10px;align-items:center;min-height:36px;padding:4px 5px 4px 12px;border:1px solid var(--line);border-radius:999px;background:#ffffffad;color:var(--muted);box-shadow:0 8px 24px #2f415c12;-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);font-size:12px}.model-picker select{min-width:0;height:28px;border:0;border-radius:999px;padding:0 28px 0 10px;background:#f4f7fbe6;color:var(--ink);outline:none}.top-actions{pointer-events:auto;display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}.ghost-action,.text-action,.icon-button{border:0;background:transparent;color:var(--muted)}.ghost-action{min-height:34px;padding:0 4px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:13px}.ghost-action:hover,.text-action:hover,.icon-button:hover{color:var(--ink)}.login-shortcut{min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:#ffffffb3;box-shadow:0 8px 22px #2f415c14}.session-pill{min-height:34px;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:#ffffffb8;color:var(--muted);box-shadow:0 8px 22px #2f415c14;font-size:13px;white-space:nowrap}.session-pill.ready{color:#07594e;background:#ddf5ef;border-color:#bce6dc}.session-pill.error{color:#a61f3f;background:#ffe7eb;border-color:#ffc4cf}.customizer-workspace{position:relative;min-height:100vh;padding:88px 58px 22px}.visual-stage{position:absolute;inset:72px 56px calc(min(53vh,520px) + 40px);display:grid;place-items:center;min-height:250px}.media-frame{position:relative;width:min(52vw,640px);height:100%;min-height:350px;display:grid;place-items:center;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;transition:transform .18s ease}.media-frame.is-zoomed{transform:scale(1.12)}.three-preview{width:100%;height:100%;min-width:0;display:none}.three-preview.active{display:block}.three-preview canvas{width:100%;height:100%;display:block;filter:drop-shadow(0 28px 22px rgba(62,76,96,.17))}.preview-loading{position:absolute;inset:0;z-index:8;display:grid;place-items:center;background:#ffffff47;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.preview-loading-panel{min-width:180px;padding:18px 22px;border:1px solid rgba(255,255,255,.78);border-radius:16px;background:#ffffffe6;box-shadow:var(--shadow);color:var(--ink);display:grid;justify-items:center;gap:12px}.preview-loading-panel strong{font-size:14px}.preview-spinner{width:42px;height:42px;border-radius:999px;border:4px solid rgba(45,115,255,.16);border-top-color:var(--blue);animation:preview-spin .78s linear infinite}@keyframes preview-spin{to{transform:rotate(360deg)}}.preview-tools{position:fixed;right:86px;top:25%;z-index:16;width:54px;padding:10px 7px;border:1px solid rgba(255,255,255,.66);border-radius:18px;background:#ffffffb8;box-shadow:0 14px 34px #2f415c1f;-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);display:grid;gap:8px}.tool-button{width:40px;min-height:42px;border:0;border-radius:14px;color:var(--muted);background:transparent;display:grid;place-items:center;gap:1px}.tool-button span{font-size:22px;line-height:1}.tool-button small{font-size:11px;line-height:1}.tool-button:hover,.tool-button.active{color:var(--blue);background:var(--blue-soft)}.tool-button:disabled{cursor:default;opacity:.38}.category-rail{position:fixed;left:72px;top:136px;z-index:18;width:120px;max-height:calc(100vh - min(53vh,520px) - 160px);overflow-y:auto;padding:8px;border:1px solid rgba(255,255,255,.68);border-radius:16px;background:#ffffffbd;box-shadow:0 18px 48px #2f415c1f;-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);display:grid;gap:4px;scrollbar-width:none}.category-rail::-webkit-scrollbar{display:none}.category-button{min-height:52px;border:0;border-radius:12px;padding:0 12px;color:#4d5561;background:transparent;display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:center;text-align:left}.category-button:hover{background:#2d73ff0f}.category-button.active{color:var(--blue);background:#fff;box-shadow:0 8px 24px #2f415c14;font-weight:700}.category-icon{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;color:currentColor;font-size:17px;line-height:1}.category-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.avatar-preview{width:min(36vw,380px);height:min(58vh,560px);min-height:360px;display:grid;place-items:center;perspective:1100px;background:transparent}.avatar-rig{position:relative;width:min(30vw,300px);height:min(46vw,440px);transform-style:preserve-3d;transform:rotateX(8deg) rotateY(-16deg);animation:idle-rotate 8s ease-in-out infinite}@keyframes idle-rotate{0%,to{transform:rotateX(8deg) rotateY(-16deg)}50%{transform:rotateX(6deg) rotateY(16deg)}}.avatar-rig>div{position:absolute;transform-style:preserve-3d;box-shadow:0 16px 30px #1e2b2321}.head{left:50%;top:42px;width:108px;height:122px;transform:translate(-50%) translateZ(72px);border-radius:42% 42% 46% 46%;background:linear-gradient(145deg,#f1d2bf,#d9a98e)}.neck{left:50%;top:148px;width:42px;height:48px;transform:translate(-50%) translateZ(58px);border-radius:14px;background:#d9ad93}.hair{top:24px;width:82px;height:168px;border-radius:48px 48px 36px 36px;background:linear-gradient(145deg,#1f2423,#46514d)}.hair-left{left:80px;transform:rotate(8deg) translateZ(84px)}.hair-right{right:80px;transform:rotate(-8deg) translateZ(84px)}.torso{left:50%;top:188px;width:150px;height:168px;transform:translate(-50%) translateZ(42px);border-radius:42px 42px 26px 26px;background:linear-gradient(145deg,#74b6a9,#0f6f5f)}.skirt{left:50%;top:318px;width:210px;height:96px;transform:translate(-50%) translateZ(34px) rotateX(4deg);clip-path:polygon(22% 0,78% 0,100% 100%,0 100%);background:linear-gradient(145deg,#f6c15c,#b7772a)}.arm{top:204px;width:42px;height:150px;border-radius:999px;background:linear-gradient(145deg,#e5bfaa,#c58c70)}.arm-left{left:84px;transform:rotate(12deg) translateZ(36px)}.arm-right{right:84px;transform:rotate(-12deg) translateZ(36px)}.leg{top:396px;width:48px;height:150px;border-radius:999px;background:linear-gradient(145deg,#ddd5c9,#8a8278)}.leg-left{left:142px;transform:translateZ(20px)}.leg-right{right:142px;transform:translateZ(20px)}.avatar-preview.variant-02 .torso{background:linear-gradient(145deg,#7d9bd8,#415a9d)}.avatar-preview.variant-02 .skirt{background:linear-gradient(145deg,#f0a2b4,#c43f58)}.avatar-preview.variant-12 .torso{background:linear-gradient(145deg,#89c9b8,#3867b7)}.avatar-preview.variant-12 .skirt{background:linear-gradient(145deg,#f1c66d,#c43f58)}.flow-panel{position:fixed;left:clamp(24px,5.8vw,72px);right:clamp(24px,5.8vw,72px);bottom:20px;z-index:15;max-height:min(53vh,520px);overflow-y:auto;overscroll-behavior:contain;border:1px solid rgba(255,255,255,.76);border-radius:18px;background:#ffffffc2;box-shadow:0 24px 72px #2f415c29;-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);scrollbar-width:thin;scrollbar-color:rgba(45,115,255,.26) transparent}.flow-panel::-webkit-scrollbar{width:8px}.flow-panel::-webkit-scrollbar-thumb{border-radius:999px;background:#2d73ff3d}.flow-section{display:grid;gap:12px;padding:12px 18px}.configure-section{padding-top:14px}.configure-section .panel-head{display:none}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-title{display:flex;align-items:center;gap:10px}.section-title span{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;color:#fff;background:var(--ink);font-size:12px;font-weight:700}.section-title h2{font-size:16px;line-height:1.2}.variant-strip{display:flex;align-items:center;justify-content:flex-end;min-width:0;gap:8px;overflow-x:auto;scrollbar-width:none}.variant-strip::-webkit-scrollbar{display:none}.variant-button{min-height:32px;border:1px solid var(--line);border-radius:999px;background:#ffffffc7;color:var(--muted);padding:6px 11px;white-space:nowrap;font-size:12px}.variant-button.active{color:var(--blue);border-color:#2d73ff61;background:#fff}.selection-summary{max-width:520px;color:var(--muted);font-size:12px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-groups{display:grid;gap:8px}.option-group{display:grid;grid-template-columns:110px minmax(0,1fr) 70px;gap:10px;align-items:center}.option-title{min-width:0;color:var(--ink);font-size:15px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.option-more{border:0;background:transparent;color:var(--muted);text-align:right;white-space:nowrap;font-size:12px}.option-more:hover{color:var(--blue)}.option-row{display:flex;flex-wrap:nowrap;gap:10px;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding:2px 0 5px;scrollbar-width:none;touch-action:pan-x}.option-row::-webkit-scrollbar{display:none}.option-button{position:relative;flex:0 0 118px;width:118px;min-height:58px;border:1px solid transparent;border-radius:8px;padding:5px;color:#4d5561;background:#f6f8fbdb;display:grid;gap:4px;justify-items:center;align-content:start;text-align:center;white-space:normal}.option-button.has-preview-image{flex-basis:118px;width:118px;padding:4px}.option-preview-image{width:100%;height:50px;display:block;border-radius:6px;object-fit:contain;object-position:center;background:#f2f5f9cc;opacity:0;transition:opacity .16s ease}.option-preview-image.is-loaded{opacity:1}.option-preview-image.is-pending,.option-preview-image.is-loading,.option-preview-image.is-error{opacity:0}.option-fallback-icon{width:100%;height:30px;border-radius:6px;color:#1f263094;background:#e8edf59e;display:grid;place-items:center;font-size:18px;font-weight:700}.option-label{max-width:100%;font-size:12px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-button small{display:none}.option-button.active{color:var(--blue);border-color:var(--blue);background:#fffffff2;box-shadow:inset 0 0 0 1px #2d73ff40}.option-button.active:after{content:"✓";position:absolute;right:4px;bottom:4px;width:16px;height:16px;border-radius:999px;color:#fff;background:var(--blue);display:grid;place-items:center;font-size:11px;line-height:1}.option-button:disabled{cursor:not-allowed;color:#4d556152;background:#eff2f675;opacity:.48}@media(hover:none)and (pointer:coarse){.option-row{cursor:grab}.option-row.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}}.upload-section{border-top:1px solid rgba(72,86,104,.09);background:#ffffff61}.upload-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1.35fr) minmax(140px,.8fr) minmax(140px,.8fr);gap:10px;align-items:stretch}.login-summary,.upload-cover-card,.privacy-lock,.readonly-value,.job-status-card,.job-result{border:1px solid var(--line);border-radius:12px;background:#ffffffb3}.login-summary{min-height:58px;padding:10px 12px;display:grid;align-content:center}.login-summary>div{display:grid;gap:4px;min-width:0}.login-summary span,.privacy-lock span,.upload-cover-card span,.field{color:var(--muted);font-size:12px}.login-summary strong,.upload-cover-card strong{min-width:0;color:var(--ink);overflow-wrap:anywhere}.upload-cover-card{min-height:58px;padding:8px;display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px;align-items:center}.upload-cover-image{width:78px;height:48px;border-radius:9px;object-fit:cover;background:#e8edf4}.upload-cover-card>div{display:grid;gap:4px;min-width:0}.privacy-lock{min-height:58px;padding:10px 12px;display:grid;align-content:center;gap:4px}.privacy-lock strong{color:var(--green)}.field{display:grid;gap:6px;min-width:0}.field input,.field select,.field textarea{width:100%;min-height:40px;border:1px solid var(--line);border-radius:12px;background:var(--surface-solid);color:var(--ink);padding:8px 10px}.readonly-field{grid-column:span 2}.readonly-value{min-height:38px;padding:9px 11px;color:var(--ink);line-height:1.35;overflow-wrap:anywhere}.primary-action,.secondary-action{min-height:42px;border-radius:999px;border:0;padding:0 20px;color:#fff;background:linear-gradient(135deg,#2879ff,#54a3ff);box-shadow:0 12px 28px #2d73ff38;white-space:nowrap}.primary-action:disabled,.secondary-action:disabled{cursor:default;opacity:.58}.upload-action{width:100%;justify-content:center}.job-status-card{padding:12px;display:grid;gap:9px}.job-status-card.succeeded{border-color:#bce6dc;background:#f0fbf7}.job-status-card.failed,.job-status-card.security_failed{border-color:#ffc4cf;background:#fff3f5}.job-status-card.running,.job-status-card.queued,.job-status-card.submitting{border-color:#d9c497;background:#fffaf0}.job-status-head{display:flex;align-items:center;gap:10px;min-width:0}.job-status-head strong{min-width:0;overflow-wrap:anywhere}.status-badge{min-height:26px;padding:5px 9px;border-radius:999px;color:var(--muted);background:#eef2ec;font-size:12px;font-weight:700;white-space:nowrap}.status-badge.succeeded{color:#07594e;background:#d8f3eb}.status-badge.failed,.status-badge.security_failed{color:#a61f3f;background:#ffe1e7}.status-badge.running,.status-badge.queued,.status-badge.submitting{color:#7c5417;background:#fff0ca}.job-status-body{display:grid;gap:7px;color:var(--muted);font-size:13px}.job-status-row{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;align-items:baseline}.job-status-row strong{color:var(--ink);font-weight:600;overflow-wrap:anywhere}.job-result{min-height:82px;padding:12px;color:var(--muted);font-family:Cascadia Mono,Consolas,monospace;font-size:12px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.login-dialog{width:min(520px,calc(100vw - 32px));border:0;padding:0;border-radius:22px;background:transparent;color:var(--ink)}.login-dialog::backdrop{background:#0c121975;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.login-modal{padding:22px;border:1px solid var(--line);border-radius:22px;background:var(--surface-solid);box-shadow:var(--shadow);display:grid;gap:18px}.modal-head{display:flex;align-items:start;justify-content:space-between;gap:14px}.modal-kicker{margin-bottom:6px;color:var(--blue);font-size:12px;font-weight:700;text-transform:uppercase}.modal-message{color:var(--muted);font-size:14px;line-height:1.55}.modal-message.error{min-height:40px;padding:10px 12px;border:1px solid #ffc4cf;border-radius:12px;color:#a61f3f;background:#fff3f5}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.login-form{display:grid;gap:14px}.text-action{min-height:40px;padding:0 10px}.icon-button{width:38px;height:38px;border-radius:999px;font-size:24px;line-height:1}@media(max-width:1180px){.category-rail{left:28px}.preview-tools{right:28px}.option-group{grid-template-columns:92px minmax(0,1fr) 62px}.option-button,.option-button.has-preview-image{flex-basis:106px;width:106px}}@media(max-width:920px){body{overflow:auto}.page-shell{overflow:visible}.customizer-header{position:static;height:auto;padding:18px;grid-template-columns:1fr}.top-actions{justify-content:start;flex-wrap:wrap}.model-picker{grid-template-columns:auto minmax(0,1fr)}.customizer-workspace{min-height:auto;padding:0 18px 22px;display:grid;gap:14px}.category-rail,.preview-tools,.flow-panel,.visual-stage{position:static}.category-rail{width:100%;display:flex;overflow-x:auto}.category-button{flex:0 0 110px}.visual-stage{min-height:460px}.media-frame{width:100%;min-height:460px}.preview-tools{width:100%;display:flex;justify-content:center}.flow-panel{max-height:none}.upload-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.title-block h1{font-size:21px}.customizer-header{gap:12px}.ghost-action{font-size:12px}.category-button{flex-basis:96px;min-height:46px;grid-template-columns:20px minmax(0,1fr);gap:7px;padding:0 9px}.option-group{grid-template-columns:1fr auto;align-items:start}.option-title{grid-column:1}.option-row{grid-column:1 / -1;grid-row:2}.option-more{grid-column:2}.upload-grid{grid-template-columns:1fr}.readonly-field{grid-column:span 1}}
