:root{--bg:#e6e9ed;--shell:#eef0f3;--card:#f6f7f9;--card-2:#fbfbfc;--sunken:#e9ecf0;--line:#11141812;--ink:#121417;--ink-2:#3a3f47;--muted:#8b919b;--faint:#b6bbc3;--accent:#b5f36b;--accent-2:#9be15d;--accent-ink:#2f5d0a;--danger:#f4a3a3;--danger-ink:#a12d2d;--warn:#f7cf6b;--warn-ink:#5a4100;--info:#8fd3ff;--info-ink:#08324d;--pill:#121417;--pill-ink:#fff;--shadow-out:10px 10px 28px #96a0af47, -10px -10px 24px #ffffffe6;--shadow-soft:4px 4px 12px #96a0af40, -4px -4px 10px #ffffffd9;--shadow-in:inset 4px 4px 10px #96a0af47, inset -4px -4px 10px #ffffffe6;--radius-xl:28px;--radius-lg:22px;--radius-md:16px;--radius-sm:12px;--font:"Inter", "PingFang SC", "HarmonyOS Sans SC", "Hiragino Sans", "Microsoft YaHei UI", "Microsoft YaHei", "Yu Gothic UI", system-ui, sans-serif;--mono:"JetBrains Mono", "Cascadia Code", Consolas, "Courier New", monospace;--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#0b0d10;--shell:#111418;--card:#171b20;--card-2:#1c2127;--sunken:#0f1216;--line:#ffffff0f;--ink:#f2f4f7;--ink-2:#c9ced6;--muted:#7c838e;--faint:#4b525c;--pill:#f2f4f7;--pill-ink:#0b0d10;--accent-ink:#1d3d03;--shadow-out:10px 10px 30px #0000008c, -6px -6px 20px #ffffff06;--shadow-soft:4px 4px 12px #00000080, -3px -3px 10px #ffffff08;--shadow-in:inset 4px 4px 10px #0000008c, inset -3px -3px 8px #ffffff08;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}.auth-app{height:100%}.auth-loading{place-content:center;min-height:100vh;display:grid}.force-password-screen{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.force-password-screen .auth-panel{width:min(100%,560px)}.force-password-screen h2{font-size:clamp(24px,4vw,30px)}.auth-screen{grid-template-columns:1.1fr 1fr;gap:60px;max-width:1500px;min-height:100vh;margin:auto;padding:44px;display:grid}.auth-story{flex-direction:column;justify-content:space-between;gap:64px;padding:20px 36px;display:flex}.auth-wordmark{align-items:center;gap:12px;font-size:24px;font-weight:800;display:flex}.auth-story h1{letter-spacing:-3px;margin:20px 0;font-size:clamp(42px,5vw,76px);line-height:1.2}.auth-story p{color:var(--ink-2);max-width:360px;line-height:1.9}.auth-wave{align-items:center;gap:5px;height:100px;margin:40px 0 0;display:flex}.auth-wave i{background:var(--accent-2);border-radius:10px;width:6px}.auth-panel{background:var(--card);box-shadow:var(--shadow-out);border-radius:32px;align-items:center;padding:clamp(28px,4vw,64px);display:flex}.auth-panel form{width:100%;max-width:420px;margin:auto}.auth-panel h2{margin:12px 0 8px;font-size:30px}.stack-sm{flex-direction:column;gap:8px;display:flex}.account-strip{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:18px;padding:18px 28px 0;display:flex}.credit-badge{background:var(--accent);color:#254809;cursor:pointer;border:0;border-radius:24px;padding:8px 16px;font-weight:700}.commerce-page{flex-direction:column;gap:24px;display:flex}.commerce-page .page-head{margin-bottom:0}.wallet-hero{background:var(--ink);color:var(--shell);border-radius:24px;justify-content:space-between;align-items:center;gap:30px;padding:32px;display:flex}.wallet-hero strong{color:var(--accent);font-size:60px;line-height:1.4;display:block}.wallet-rule{max-width:430px;font-size:13px;line-height:1.9}.wallet-rule h3{margin-bottom:8px;font-size:18px}.package-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px;display:grid}.package-card{border:1px solid var(--line);background:var(--card-2);border-radius:20px;flex-direction:column;gap:14px;padding:24px;display:flex}.package-card h3{font-size:18px}.package-card strong{font-size:36px}.package-card .muted{min-height:42px;font-size:13px}.package-price{font-size:28px;font-weight:750}.package-card .btn{margin-top:auto}.commerce-form{flex-direction:column;gap:18px;max-width:560px;display:flex}.commerce-form label{flex-direction:column;gap:8px;display:flex}.commerce-form label.row{flex-direction:row}.commerce-form .btn{align-self:flex-start}.admin-tabs{flex-wrap:wrap;gap:10px;display:flex}.table-scroll{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:14px 12px;font-weight:500}.data-table td{border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere;max-width:380px;padding:16px 12px}.data-table tr:last-child td{border-bottom:0}.data-table details{min-width:180px}.data-table summary{cursor:pointer}.job-fulltext{white-space:pre-wrap;overflow-wrap:anywhere;max-height:200px;margin-top:10px;overflow:auto}.empty-table{text-align:center;padding:30px}.pagination{justify-content:flex-end;margin-top:16px}.credit-plus{color:var(--accent-ink)}.stat-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.stat-value{margin-top:12px;font-size:30px;display:block}.payment-panel{text-align:center;align-items:center}.payment-qr{background:#fff;border-radius:16px;width:240px;height:240px;padding:12px;display:block}.wrap{flex-wrap:wrap}.credit-estimate{flex-wrap:wrap;justify-content:space-between;gap:12px;margin:12px 0;font-size:13px;display:flex}@media (width<=900px){.auth-screen{gap:30px;padding:24px}.auth-story{padding:12px}.stat-grid{grid-template-columns:repeat(2,1fr)}.wallet-hero{flex-direction:column;align-items:flex-start}}@media (width<=600px){.auth-screen{flex-direction:column;gap:24px;padding:20px;display:flex}.auth-story{gap:12px}.auth-story>div:nth-child(2),.auth-story>.small{display:none}.auth-panel{padding:28px 24px}.account-strip{gap:12px;padding:12px 12px 0;font-size:12px}.account-name{display:none}.commerce-page{gap:18px}.stat-grid{gap:12px}.stat-value{font-size:24px}.wallet-hero{padding:24px}.wallet-hero strong{font-size:48px}.admin-tabs .btn{padding:8px 10px;font-size:12px}}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;transition:background .4s var(--ease), color .4s var(--ease);font-size:14px;line-height:1.5}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:#111}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#828c9b4d;border-radius:8px}::-webkit-scrollbar-track{background:0 0}:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";letter-spacing:-.02em}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:12px}.uppercase{text-transform:uppercase}.text-danger{color:var(--danger-ink)!important}[data-theme=dark] .text-danger{color:var(--danger)!important}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.row{align-items:center;gap:10px;display:flex}.col{flex-direction:column;gap:20px;min-width:0;display:flex}.stack{flex-direction:column;gap:18px;display:flex}.stack-lg{flex-direction:column;gap:20px;display:flex}.center-pad{place-items:center;padding:80px 0;display:grid}.app-frame{height:100vh;padding:14px;display:flex}.shell{background:var(--shell);border-radius:34px;flex:1;min-width:0;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 80px #3c465a2e,inset 0 1px #ffffffb3}[data-theme=dark] .shell{box-shadow:0 30px 80px #0009,inset 0 1px #ffffff0a}.sidebar{z-index:5;flex-direction:column;flex-shrink:0;align-items:center;gap:6px;width:76px;padding:22px 0 18px;display:flex}.logo{cursor:pointer;width:42px;height:42px;transition:transform .3s var(--ease);background:0 0;border:0;margin-bottom:22px;padding:0}.logo:hover{transform:rotate(-6deg)scale(1.06)}.logo img{border-radius:12px;width:100%;height:100%;display:block}.side-nav{flex-direction:column;gap:6px;display:flex}.side-btn{width:46px;height:46px;color:var(--muted);cursor:pointer;transition:color .25s, background .25s, transform .25s var(--ease);background:0 0;border:none;border-radius:50%;place-items:center;display:grid;position:relative}.side-btn:hover{color:var(--ink);transform:scale(1.06)}.side-btn.active{background:var(--pill);color:var(--pill-ink);box-shadow:0 8px 20px #0000002e}.side-dot{width:9px;height:9px;box-shadow:0 0 0 2px var(--shell);border-radius:50%;position:absolute;top:9px;right:9px}.side-dot-ok{background:var(--accent-2)}.side-dot-warn{background:var(--warn);animation:1.2s infinite blink}.side-dot-error{background:#ff6b6b}.side-spacer{flex:1}.side-tip{background:var(--pill);color:var(--pill-ink);white-space:nowrap;pointer-events:none;z-index:50;border-radius:10px;padding:6px 12px;font-size:12px;font-weight:600;position:absolute;top:50%;left:58px;transform:translateY(-50%)}.tip-sub{opacity:.6;font-weight:500}.quick-col{z-index:4;flex-direction:column;flex-shrink:0;align-items:center;gap:14px;width:72px;padding-top:84px;display:flex}.quick-btn{cursor:pointer;background:var(--card-2);width:54px;height:54px;color:var(--ink);box-shadow:var(--shadow-soft);border:none;border-radius:50%;place-items:center;transition:box-shadow .3s;display:grid;position:relative}.quick-btn.primary{background:var(--accent);color:#111;box-shadow:0 10px 24px #9be15d73}.quick-btn.primary svg{margin-left:3px}.quick-btn.running{background:var(--pill);color:var(--accent);box-shadow:0 10px 24px #00000040}.quick-label{background:var(--pill);color:var(--pill-ink);white-space:nowrap;pointer-events:none;border-radius:12px;padding:8px 14px;font-size:14px;font-weight:700;position:absolute;top:50%;left:66px;transform:translateY(-50%)}.quick-label.green{color:var(--accent)}[data-theme=dark] .quick-label.green{color:var(--accent-ink);background:var(--accent)}.main{flex:1;min-width:0;padding:22px 22px 22px 6px;position:relative;overflow:hidden auto}.page{max-width:1480px;margin:0 auto;padding-bottom:24px}.page-narrow{max-width:760px}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin:4px 4px 20px;display:flex}.page-title{letter-spacing:-.01em;margin:0;font-size:26px;font-weight:800}.page-sub{color:var(--muted);margin-top:4px;font-size:13px}.head-pill{padding:8px 14px}.card{background:var(--card);border-radius:var(--radius-xl);box-shadow:var(--shadow-out);border:1px solid #ffffff80;min-width:0;padding:22px 24px;position:relative}[data-theme=dark] .card{border-color:#ffffff08}.card.hoverable{transition:transform .35s var(--ease), box-shadow .35s;cursor:pointer}.card.hoverable:hover{transform:translateY(-3px)}.card.flat{box-shadow:none;background:var(--card-2)}.card.sunken{box-shadow:var(--shadow-in);background:var(--sunken)}.card:before{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%), #b5f36b29, transparent 45%);opacity:0;transition:opacity .35s;position:absolute;inset:0}.card:hover:before{opacity:1}[data-theme=dark] .card:before{background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%), #b5f36b17, transparent 45%)}.card>*{position:relative}.card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.card-head-text{min-width:0}.card-eyebrow{color:var(--muted);margin-bottom:2px;font-size:12px}.card-title{letter-spacing:.01em;margin:0;font-size:17px;font-weight:800}.card-arrow{color:var(--ink-2);top:22px;right:24px;position:absolute!important}.collapse-head{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block}.collapse-head .card-head{align-items:center;margin-bottom:0}.collapse-head+*{margin-top:18px}.chev{transition:transform .3s var(--ease)}.chev.open{transform:rotate(180deg)}.big-num{letter-spacing:-.03em;font-size:40px;font-weight:800;line-height:1}.big-num small{color:var(--ink-2);letter-spacing:0;margin:0 4px 0 3px;font-size:13px;font-weight:600}.pill{background:var(--sunken);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-flex}.pill.dark{background:var(--pill);color:var(--pill-ink)}.pill.green{background:var(--accent);color:#1c3a05}.pill.red{background:var(--danger);color:var(--danger-ink)}.pill.tilt{padding:8px 16px;font-size:15px;transform:rotate(-8deg);box-shadow:0 10px 22px #0000002e}.chip{white-space:nowrap;background:var(--sunken);height:24px;color:var(--ink-2);border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.chip-ok{background:var(--accent);color:#1c3a05}.chip-warn{background:var(--warn);color:var(--warn-ink)}.chip-error{background:var(--danger);color:var(--danger-ink)}.chip-info{background:var(--pill);color:var(--pill-ink)}.chip-muted{color:var(--muted)}.chip-btn{cursor:pointer;box-shadow:var(--shadow-soft);background:var(--card-2);transition:transform .2s var(--ease), background .2s;border:none}.chip-btn:hover{background:var(--accent);color:#1c3a05;transform:translateY(-1px)}.pulse-dot{background:currentColor;border-radius:50%;width:6px;height:6px;animation:1.2s infinite blink}.chip-info .pulse-dot{background:var(--accent)}.btn{cursor:pointer;background:var(--card-2);height:42px;color:var(--ink);box-shadow:var(--shadow-soft);transition:transform .2s var(--ease), box-shadow .2s, opacity .2s, background .2s;white-space:nowrap;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:14px;font-weight:700;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){box-shadow:var(--shadow-in);transform:translateY(1px)scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.dark{background:var(--pill);color:var(--pill-ink);box-shadow:0 10px 22px #0000002e}.btn.green{background:var(--accent);color:#142a03;box-shadow:0 10px 24px #9be15d73}.btn.red{background:var(--danger);color:var(--danger-ink)}.btn.ghost{box-shadow:none;background:0 0}.btn.ghost:hover:not(:disabled){background:var(--sunken)}.btn.sm{height:32px;padding:0 14px;font-size:12.5px}.btn.lg{height:52px;padding:0 28px;font-size:15px}.btn.block{width:100%}.round-icon{background:var(--card-2);width:42px;height:42px;box-shadow:var(--shadow-soft);cursor:pointer;color:var(--ink);transition:transform .25s var(--ease), background .2s, color .2s;border:none;border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.round-icon:hover:not(:disabled){transform:scale(1.08)}.round-icon.sm{width:34px;height:34px}.round-icon.dark{background:var(--pill);color:var(--pill-ink)}.round-icon.danger:hover:not(:disabled){background:var(--danger);color:var(--danger-ink)}.round-icon:disabled{opacity:.4;cursor:not-allowed}.link{color:var(--ink);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--accent-2);text-decoration-color:var(--accent-2);text-underline-offset:4px;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:13px;font-weight:700;text-decoration-thickness:2px;display:inline-flex}.link:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.seg{background:var(--sunken);box-shadow:var(--shadow-in);isolation:isolate;border-radius:999px;align-self:flex-start;max-width:100%;padding:4px;display:inline-flex;position:relative}.seg.block{align-self:stretch;display:flex}.seg button{cursor:pointer;height:34px;color:var(--muted);z-index:1;white-space:nowrap;background:0 0;border:none;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:13px;font-weight:700;transition:color .3s;display:inline-flex;position:relative}.seg button:hover{color:var(--ink-2)}.seg button.on{color:var(--pill-ink)}.seg .seg-thumb{background:var(--pill);z-index:-1;border-radius:999px;position:absolute;inset:0;box-shadow:0 6px 16px #0003}.seg.light button.on{color:var(--ink)}.seg.light .seg-thumb{background:var(--card-2);box-shadow:var(--shadow-soft)}.seg-sm button{height:28px;padding:0 12px;font-size:12px}.field{flex-direction:column;gap:8px;display:flex}.field-label{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.field-extra{color:var(--faint);font-weight:500}.field-hint{color:var(--muted);font-size:12px}.field-error{color:var(--danger-ink);font-size:12px;font-weight:600}[data-theme=dark] .field-error{color:var(--danger)}.input,.select,.textarea{background:var(--sunken);height:46px;box-shadow:var(--shadow-in);border:1px solid #0000;border-radius:14px;outline:none;width:100%;padding:0 16px;transition:border-color .2s,box-shadow .2s}.textarea{resize:vertical;height:auto;min-height:210px;padding:14px 18px;font-size:15px;line-height:1.8}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent-2);box-shadow:var(--shadow-in), 0 0 0 4px #b5f36b40}.input-error{border-color:var(--danger)}.select{cursor:pointer;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 20px),calc(100% - 15px);background-repeat:no-repeat;background-size:5px 5px;border-radius:999px;width:auto;min-width:160px;height:40px;padding:0 36px 0 16px;font-size:13px;font-weight:600}.check{cursor:pointer;color:var(--ink-2);align-items:center;gap:10px;font-size:13px;display:inline-flex}.check input{accent-color:#121417;cursor:pointer;flex-shrink:0;width:18px;height:18px}[data-theme=dark] .check input{accent-color:var(--accent)}.slider{appearance:none;cursor:pointer;background:linear-gradient(to right, var(--ink) 0 var(--pct), var(--sunken) var(--pct) 100%);width:100%;height:8px;box-shadow:var(--shadow-in);border-radius:999px}.slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:3px solid var(--pill);border-radius:50%;width:20px;height:20px;box-shadow:0 3px 8px #00000040}.slider::-moz-range-thumb{background:var(--accent);border:3px solid var(--pill);border-radius:50%;width:16px;height:16px}.slider:disabled{opacity:.5}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--sunken);color:var(--ink-2);border-radius:999px;align-items:center;gap:3px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.tag button{cursor:pointer;color:inherit;opacity:.6;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.tag-input{background:var(--sunken);min-height:46px;box-shadow:var(--shadow-in);border:1px solid #0000;border-radius:14px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;display:flex}.tag-input:focus-within{border-color:var(--accent-2);box-shadow:var(--shadow-in), 0 0 0 4px #b5f36b40}.tag-input .tag{background:var(--pill);color:var(--pill-ink)}.tag-input input{background:0 0;border:0;outline:none;flex:1;min-width:120px;height:30px}.alert{border-radius:16px;align-items:flex-start;gap:10px;padding:12px 16px;font-size:13px;font-weight:500;line-height:1.6;display:flex}.alert svg{flex-shrink:0;margin-top:2px}.alert-error{background:var(--danger);color:var(--danger-ink)}.alert-warn{color:var(--warn-ink);background:#f7cf6b59}[data-theme=dark] .alert-warn{color:var(--warn);background:#f7cf6b24}.alert-info{background:var(--sunken);color:var(--ink-2);box-shadow:var(--shadow-in)}.progress{background:var(--sunken);height:12px;box-shadow:var(--shadow-in);border-radius:999px;padding:2px;overflow:hidden}.progress span{background:var(--accent);height:100%;transition:width .5s var(--ease);border-radius:999px;display:block}.progress-indeterminate span{width:35%;animation:1.4s ease-in-out infinite indeterminate}.progress-active span{background-image:linear-gradient(110deg, var(--accent) 30%, #e4ffc4 50%, var(--accent) 70%);background-size:220% 100%;min-width:8%;animation:1.6s linear infinite shimmer}.spinner{border:2.5px solid var(--faint);border-top-color:var(--ink);border-radius:50%;flex-shrink:0;width:20px;height:20px;animation:.8s linear infinite spin;display:inline-block}.spinner.sm{border-width:2px;border-color:#0000 currentColor currentColor;width:14px;height:14px}.spinner.lime{border-color:#b5f36b4d;border-top-color:var(--accent);width:22px;height:22px}.live-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.6s infinite pulse-ring;display:inline-block}.live-dot.warn{background:var(--warn)}.avatar{color:#fff;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-soft), inset 0 1px 0 #ffffff59;border-radius:50%;flex-shrink:0;place-items:center;font-weight:800;display:inline-grid}.player{align-items:center;gap:14px;min-width:0;display:flex}.play-btn{cursor:pointer;background:var(--pill);width:48px;height:48px;color:var(--accent);transition:transform .25s var(--ease);border:none;border-radius:50%;flex-shrink:0;place-items:center;display:grid;box-shadow:0 10px 22px #0003}.play-btn:hover:not(:disabled){transform:scale(1.07)}.play-btn:disabled{opacity:.4;cursor:not-allowed}.play-btn svg{margin-left:2px}.play-btn.is-playing{background:var(--accent);color:#111;animation:1.6s infinite pulse-ring;box-shadow:0 10px 24px #9be15d73}.play-btn.is-playing svg{margin-left:0}.wave{cursor:pointer;touch-action:none;background:var(--sunken);min-width:0;height:56px;box-shadow:var(--shadow-in);border-radius:16px;flex:1;padding:6px 10px}.wave svg{width:100%;height:100%;display:block}.wave .bar{fill:var(--faint);transition:fill .1s}.wave .bar.played{fill:var(--ink)}.wave:hover .bar:not(.played){fill:var(--muted)}.player .time{color:var(--muted);text-align:right;flex-shrink:0;min-width:34px;font-size:12px;font-weight:600}.player-compact{gap:8px}.player-compact .play-btn{width:34px;height:34px;box-shadow:var(--shadow-soft);background:var(--card-2);color:var(--ink)}.player-compact .play-btn.is-playing{background:var(--accent);color:#111}.player-compact .time{min-width:0}.mini-progress{background:var(--sunken);width:56px;height:6px;box-shadow:var(--shadow-in);border-radius:999px;overflow:hidden}.mini-progress span{background:var(--ink);border-radius:999px;height:100%;display:block}.studio-grid{grid-template-columns:minmax(300px,.95fr) minmax(380px,1.25fr) minmax(300px,.9fr);align-items:start;gap:20px;display:grid}.editor-foot{justify-content:space-between;gap:12px;margin-top:10px;padding:0 4px;display:flex}.segments{flex-wrap:wrap;gap:6px;max-height:120px;margin-top:12px;padding:2px;display:flex;overflow:auto}.segment{background:var(--card-2);max-width:280px;box-shadow:var(--shadow-soft);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 12px 4px 4px;font-size:12px;display:inline-flex;overflow:hidden}.segment b{background:var(--pill);min-width:20px;height:20px;color:var(--pill-ink);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;display:inline-grid}.gen-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;display:flex}.speech-speed{flex-direction:column;gap:10px;margin-top:18px;font-size:13px;font-weight:700;display:flex}.speech-speed-head,.speech-speed-scale{justify-content:space-between;align-items:center;gap:12px;display:flex}.speech-speed-head output{text-align:right;min-width:64px}.speech-speed-scale{color:var(--muted);font-size:11px}.queue-list{flex-direction:column;gap:8px;max-height:430px;margin-top:14px;padding:3px;display:flex;overflow-y:auto}.queue-item{border:1px solid var(--line);border-radius:18px;align-items:center;gap:10px;padding:12px;display:flex}.queue-item.selected{background:var(--sunken)}.queue-select{min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:5px;padding:0;display:flex}.queue-select strong{max-width:100%;font-size:13px;display:block}.queue-status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.audio-clip-editor{border:1px solid var(--line);border-radius:18px;padding:16px}.audio-clip-editor audio{width:100%;min-width:0;display:block}.clip-time-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.clip-time-fields label{flex-direction:column;gap:8px;font-size:12px;display:flex}.clip-time-fields .input{width:100%;min-width:0}.welcome-bonus{text-align:center;padding:12px 0}.welcome-bonus>strong{font-size:52px;line-height:1.2}.synthesis-mode{margin-top:16px}.gen-btn{flex:1;max-width:300px}.gen-errors{color:var(--danger-ink);flex-direction:column;gap:6px;margin:14px 0 0;padding:0;font-size:12.5px;font-weight:600;list-style:none;display:flex}[data-theme=dark] .gen-errors{color:var(--danger)}.gen-errors li{align-items:center;gap:6px;display:flex}.result-empty{background:var(--sunken);box-shadow:var(--shadow-in);color:var(--muted);border-radius:20px;flex-direction:column;align-items:center;gap:8px;padding:30px 0;font-size:13px;display:flex}.result-running{flex-direction:column;gap:12px;display:flex}.result-running .btn{align-self:flex-start}.result-running-head{color:var(--ink-2);justify-content:space-between;font-size:13px;font-weight:700;display:flex}.result-done{flex-direction:column;gap:14px;display:flex}.result-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.overview-tilt{top:22px;right:22px;position:absolute!important}.stat-row{grid-template-columns:1fr 1fr;gap:12px;margin:26px 0 16px;display:grid}.recent-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.recent-list li{border-radius:16px;align-items:center;gap:10px;margin:0 -8px;padding:8px;transition:background .2s;display:flex}.recent-list li:hover{background:var(--card-2)}.recent-text{flex-direction:column;flex:1;min-width:0;font-size:13px;font-weight:600;display:flex}.recent-text small{font-weight:500}.picker{flex-direction:column;gap:12px;display:flex;position:relative}.picker-trigger{text-align:left;cursor:pointer;background:var(--sunken);width:100%;box-shadow:var(--shadow-in);border:1px solid #0000;border-radius:18px;align-items:center;gap:12px;min-height:62px;padding:10px 14px;transition:border-color .2s;display:flex}.picker-trigger:hover,.picker-trigger.open{border-color:var(--accent-2)}.picker-text{flex-direction:column;flex:1;min-width:0;display:flex}.picker-text strong{text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.picker-text small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.picker-chevron{color:var(--muted);flex-shrink:0}.picker-pop{z-index:30;background:var(--card);box-shadow:var(--shadow-out), 0 24px 60px #0000002e;border-radius:22px;padding:6px;position:absolute;top:70px;left:0;right:0;overflow:hidden}.picker-search{background:var(--sunken);height:40px;box-shadow:var(--shadow-in);color:var(--muted);border-radius:999px;align-items:center;gap:8px;margin:4px 4px 6px;padding:0 12px;display:flex}.picker-search input{color:var(--ink);background:0 0;border:0;outline:none;flex:1}.picker-pop ul{max-height:320px;margin:0;padding:0;list-style:none;overflow:auto}.picker-pop li{border-radius:16px;align-items:center;gap:4px;padding-right:8px;display:flex}.picker-pop li:hover{background:var(--card-2)}.picker-pop li.selected{background:var(--pill);color:var(--pill-ink)}.picker-pop li.selected .picker-text small,.picker-pop li.selected .muted{color:inherit;opacity:.6}.picker-item{text-align:left;cursor:pointer;min-width:0;color:inherit;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:8px;display:flex}.picker-none{justify-content:center;padding:14px}.picker-empty{background:var(--sunken);box-shadow:var(--shadow-in);border-radius:20px;flex-direction:column;align-items:flex-start;gap:12px;padding:18px;display:flex}.emotion{flex-direction:column;gap:16px;display:flex}.emo-modes{grid-template-columns:1fr 1fr;gap:10px;display:grid}.emo-mode{background:var(--card-2);box-shadow:var(--shadow-soft);text-align:left;cursor:pointer;color:var(--ink);transition:transform .25s var(--ease), background .25s, color .25s;border:none;border-radius:18px;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:12px 14px;display:grid}.emo-mode svg{color:var(--muted)}.emo-mode strong{font-size:13px;font-weight:800}.emo-mode small{color:var(--muted);grid-column:1/-1;margin-top:3px;font-size:11.5px;line-height:1.4}.emo-mode:hover{transform:translateY(-2px)}.emo-mode.active{background:var(--pill);color:var(--pill-ink);box-shadow:0 10px 22px #0000002e}.emo-mode.active svg{color:var(--accent)}.emo-mode.active small{color:inherit;opacity:.65}.emo-body{flex-direction:column;gap:12px;display:flex}.emo-presets{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.emo-grid{background:var(--sunken);box-shadow:var(--shadow-in);border-radius:20px;flex-direction:column;gap:12px;padding:14px 16px;display:flex}.emo-row{grid-template-columns:78px 1fr 36px;align-items:center;gap:10px;display:grid}.emo-row .slider{background:linear-gradient(to right, var(--emo) 0 var(--pct), var(--card-2) var(--pct) 100%);box-shadow:none;height:6px}.emo-row .slider::-webkit-slider-thumb{background:var(--card-2);border:3px solid var(--emo);width:16px;height:16px}.emo-name{color:var(--ink-2);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.emo-name i{background:var(--emo);border-radius:50%;width:8px;height:8px}.emo-val{text-align:right;color:var(--muted)}.emo-sum{color:var(--muted);align-items:center;gap:10px;font-weight:600;display:flex}.emo-stack{background:var(--sunken);height:10px;box-shadow:var(--shadow-in);border-radius:999px;flex:1;display:flex;overflow:hidden}.emo-foot{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:14px;display:flex}.emo-alpha{color:var(--ink-2);grid-template-columns:auto 1fr 40px;align-items:center;gap:12px;font-size:13px;font-weight:700;display:grid}.params-grid{flex-direction:column;gap:16px;display:flex}.param{flex-direction:column;gap:8px;display:flex}.param-head{color:var(--ink-2);justify-content:space-between;align-items:center;font-size:13px;font-weight:600;display:flex}.param-num{background:var(--sunken);width:80px;height:30px;box-shadow:var(--shadow-in);text-align:center;font-family:var(--mono);border:1px solid #0000;border-radius:999px;outline:none;padding:0 8px;font-size:12px}.param-num.changed{background:var(--accent);color:#142a03;box-shadow:none;font-weight:700}.params-foot{justify-content:flex-end;margin-top:14px;display:flex}.drop{cursor:pointer;text-align:left;background:var(--sunken);box-shadow:var(--shadow-in);border:2px dashed #0000;border-radius:22px;justify-content:center;align-items:center;gap:16px;padding:28px;transition:border-color .2s,background .2s;display:flex}.drop:hover,.drop-over{border-color:var(--accent-2)}.drop-over{background:#b5f36b1f}.drop-icon{background:var(--pill);width:52px;height:52px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;display:grid;box-shadow:0 10px 22px #0000002e}.drop-title{font-weight:700}.drop-hint{color:var(--muted);margin-top:2px;font-size:12px}.drop-compact{padding:16px}.drop-compact .drop-icon{width:40px;height:40px}.picked{background:var(--card-2);box-shadow:var(--shadow-soft);border-radius:22px;flex-direction:column;gap:12px;padding:16px;display:flex}.picked-head{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.picked-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:700;overflow:hidden}.tips{background:var(--sunken);box-shadow:var(--shadow-in);color:var(--ink-2);border-radius:22px;align-items:center;gap:18px;padding:14px 18px;font-size:13px;display:flex}.tips strong{color:var(--ink);font-weight:800}.tips ul{margin:6px 0 0;padding-left:18px;line-height:1.8}.illus{border-radius:18px;flex-shrink:0;width:128px;height:auto}.recorder{background:var(--sunken);box-shadow:var(--shadow-in);border-radius:22px;flex-direction:column;gap:16px;padding:18px;display:flex}.rec-prompt p{margin-top:4px;font-size:15px;font-weight:500;line-height:1.8}.rec-prompt .muted{font-size:12px;font-weight:700}.rec-main{align-items:center;gap:20px;display:flex}.rec-btn{--ring:0deg;cursor:pointer;width:72px;height:72px;color:var(--accent);background:var(--pill);border:0;border-radius:50%;flex-shrink:0;place-items:center;display:grid;position:relative;box-shadow:0 10px 24px #00000040}.rec-btn:before{content:"";z-index:-1;background:conic-gradient(var(--accent) var(--ring), var(--card-2) var(--ring));box-shadow:var(--shadow-soft);border-radius:50%;position:absolute;inset:-6px}.rec-btn.is-recording{color:#fff;background:#ff5d5d;box-shadow:0 10px 24px #ff5d5d66}.rec-side{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.rec-levels{align-items:center;gap:3px;height:48px;display:flex}.rec-levels span{background:var(--ink);opacity:.85;border-radius:999px;flex:1;transition:height 80ms}.rec-status{align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.rec-dot{background:#ff5d5d;border-radius:50%;width:8px;height:8px;animation:1s infinite blink}.consent{background:var(--sunken);box-shadow:var(--shadow-in);border-radius:18px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.consent .check{align-items:flex-start;font-weight:600}.consent .check input{margin-top:2px}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:0 4px 20px;display:flex}.search{background:var(--sunken);width:360px;max-width:100%;height:44px;box-shadow:var(--shadow-in);color:var(--muted);border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:0 16px;display:flex}.search:focus-within{border-color:var(--accent-2);box-shadow:var(--shadow-in), 0 0 0 4px #b5f36b40}.search input{color:var(--ink);background:0 0;border:0;outline:none;flex:1}.voice-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px;display:grid}.voice-card{flex-direction:column;gap:14px;display:flex}.voice-card-head{align-items:center;gap:12px;display:flex}.voice-card-title{flex-direction:column;flex:1;min-width:0;display:flex}.voice-card-title h3{font-size:16px;font-weight:800}.voice-card-actions{opacity:0;gap:6px;transition:opacity .2s;display:flex}.voice-card:hover .voice-card-actions,.voice-card:focus-within .voice-card-actions{opacity:1}.voice-desc{color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.voice-player .wave{height:46px}.voice-player .play-btn{width:42px;height:42px}.empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:30px 20px 50px;display:flex}.empty-img{width:320px;max-width:80%;height:auto;box-shadow:var(--shadow-out);border-radius:28px;margin-bottom:10px}.empty h3{font-size:18px;font-weight:800}.empty p{color:var(--muted);max-width:380px;margin-bottom:12px}.history-list{flex-direction:column;gap:14px;display:flex}.card.history-item{border-radius:24px;padding:0}.history-row{align-items:center;gap:14px;padding:14px 18px;display:flex}.history-main{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:3px;min-width:0;padding:0;display:flex}.history-text{font-weight:700}.history-sub{flex-wrap:wrap;gap:12px;font-weight:500;display:flex}.history-player{justify-content:flex-end;width:130px;display:flex}.history-progress{align-items:center;gap:8px;width:100%;display:flex}.history-progress .progress{flex:1}.history-actions{gap:6px;display:flex}.history-detail{border-top:1px solid var(--line);flex-direction:column;gap:14px;padding:16px 18px 20px 68px;display:flex}.detail-block{flex-direction:column;gap:6px;min-width:0;display:flex}.detail-label{color:var(--muted);align-items:center;gap:12px;font-size:12px;font-weight:700;display:flex}.detail-label .link{font-size:12px}.detail-text{white-space:pre-wrap;color:var(--ink);background:var(--sunken);box-shadow:var(--shadow-in);border-radius:16px;padding:12px 16px;line-height:1.8}.detail-cols{grid-template-columns:1fr 1fr;gap:16px;display:grid}.detail-params{color:var(--ink-2);flex-wrap:wrap;gap:6px;display:flex}.detail-params span{background:var(--sunken);border-radius:999px;padding:2px 10px}.pager{justify-content:center;align-items:center;gap:14px;margin-top:22px;display:flex}.kv{grid-template-columns:110px 1fr;gap:12px 16px;margin:0;font-size:13px;display:grid}.kv dt{color:var(--muted);font-weight:600}.kv dd{margin:0;font-weight:700}.about-text{color:var(--ink-2);font-size:13px;line-height:1.8}.modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);perspective:1200px;background:#0f121659;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal.card{outline:none;flex-direction:column;width:100%;max-height:88vh;padding:0;display:flex}.modal-head{justify-content:space-between;align-items:center;padding:22px 24px 8px;display:flex}.modal-body{flex-direction:column;flex:1;gap:22px;padding:10px 24px 20px;display:flex;overflow-y:auto}.modal-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:14px 24px 20px;display:flex}.confirm-text{color:var(--ink-2);line-height:1.7}.toasts{z-index:2000;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%)}.toast{cursor:pointer;pointer-events:auto;background:var(--pill);color:var(--pill-ink);border-radius:999px;align-items:center;gap:10px;max-width:min(560px,90vw);padding:10px 18px;font-size:13px;font-weight:700;display:flex;box-shadow:0 14px 30px #00000040}.toast-dot{background:var(--info);border-radius:8px;flex-shrink:0;width:8px;height:8px}.toast-success .toast-dot{background:var(--accent)}.toast-error .toast-dot{background:#ff6b6b}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{50%{opacity:.35}}@keyframes pulse-ring{0%{box-shadow:0 0 #b5f36b99}to{box-shadow:0 0 0 14px #b5f36b00}}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(300%)}}@media (width<=1380px){.studio-grid{grid-template-columns:minmax(300px,.9fr) minmax(360px,1.2fr)}.studio-grid>.col:nth-child(3){grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;display:grid}}@media (width<=1100px){.quick-col{display:none}.main{padding-left:16px}}@media (width<=900px){.studio-grid{grid-template-columns:minmax(0,1fr)}.studio-grid>.col:nth-child(3){display:flex}}@media (width<=720px){.app-frame{height:auto;min-height:100vh;padding:0}.shell{border-radius:0;flex-direction:column;overflow:visible}.sidebar{z-index:20;background:var(--shell);border-bottom:1px solid var(--line);flex-direction:row;gap:4px;width:100%;padding:10px 12px;position:sticky;top:0}.logo{width:36px;height:36px;margin:0 6px 0 0}.side-nav{flex-direction:row;gap:4px}.side-btn{width:40px;height:40px}.side-tip{display:none}.main{padding:16px 12px 40px;overflow:visible}.page-head{flex-direction:column;align-items:flex-start}.card{border-radius:24px;padding:18px}.emo-modes{grid-template-columns:1fr}.gen-btn{max-width:none}.history-row{flex-wrap:wrap}.history-player{width:auto}.history-detail{padding-left:18px}.detail-cols{grid-template-columns:1fr}.tips .illus{display:none}.segment{max-width:200px}}
