@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Noto+Serif+SC:wght@600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');
:root { --ink:#1f2b23; --paper:#f5f1e8; --panel:#fffdf7; --line:#d9d4c8; --muted:#7e817a; --moss:#243f31; --leaf:#4d7358; --gold:#bd8b45; --danger:#b7403b; }
*{box-sizing:border-box} body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 'Noto Sans SC',sans-serif} button,input,textarea,select{font:inherit} button{cursor:pointer} button:disabled{opacity:.55;cursor:wait}
#login-view[hidden],#app-view[hidden]{display:none!important}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 72% 22%,#e2d4bc 0 1px,transparent 2px) 0 0/22px 22px,var(--paper)}.login-card{width:min(460px,100%);padding:54px;border:1px solid var(--line);background:var(--panel);box-shadow:12px 12px 0 #ded7c9}.eyebrow{margin:0 0 8px;font:500 11px/1 'DM Mono',monospace;letter-spacing:.13em;color:var(--leaf)}h1,h2{font-family:'Noto Serif SC',serif}h1{font-size:38px;letter-spacing:-.06em;margin:0 0 12px}h2{font-size:23px;margin:0;letter-spacing:-.04em}.login-card>p:not(.eyebrow){color:var(--muted);margin:0 0 30px}.login-card form{display:grid;gap:13px}.login-card label,.controls-grid label,.script-label,.sliders label{display:grid;gap:8px;font-weight:600}.login-card input,input,textarea,select{border:1px solid var(--line);border-radius:0;background:#fffdf8;color:var(--ink);padding:12px 13px;outline:none}.login-card input:focus,input:focus,textarea:focus,select:focus{border-color:var(--moss);box-shadow:0 0 0 3px #d9e4d6}.login-card button,.primary{border:0;background:var(--moss);color:#fff;padding:13px 18px;font-weight:700}.error{color:var(--danger);min-height:1.2em}.topbar{max-width:1280px;margin:auto;padding:42px 28px 30px;display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--line)}.topbar h1{font-size:34px;margin:0}.topbar-actions{display:flex;gap:20px;align-items:center}.status-dot{font-size:12px;color:var(--leaf)}.status-dot:before{content:'';display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--leaf)}.text-button{border:0;border-bottom:1px solid var(--ink);padding:0 0 2px;background:none;color:var(--ink)}.workspace{max-width:1280px;margin:auto;padding:32px 28px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px}.compose-panel,.side-card,.history-wrap{background:var(--panel);border:1px solid var(--line)}.compose-panel{padding:32px}.section-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:25px}.section-title.compact{margin:0}.section-title>span{font:500 11px 'DM Mono',monospace;color:var(--muted);padding-top:8px}.script-label textarea{resize:vertical;min-height:225px;line-height:1.7;font-size:16px}.controls-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.controls-grid label:first-child{grid-column:1/-1}.controls-grid label:first-child input{margin-bottom:-8px}.sliders{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:28px 0}.sliders label{font-size:13px}.sliders output{float:right;font:500 12px 'DM Mono',monospace;color:var(--leaf)}input[type=range]{accent-color:var(--moss);padding:0;box-shadow:none}.generate-row{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:25px;align-items:center}.generate-row p{margin:0;color:var(--muted);font-size:12px;max-width:440px}.primary{min-width:130px;white-space:nowrap}.right-rail{display:grid;gap:20px;align-content:start}.side-card{padding:24px}.side-card p:not(.eyebrow){color:var(--muted);font-size:13px}.voice-mark{margin-top:26px;width:52px;height:52px;display:grid;place-items:center;background:var(--gold);color:#fff;font:600 27px 'Noto Serif SC',serif}.tips{background:var(--moss);border-color:var(--moss)}.tips .eyebrow,.tips p:not(.eyebrow){color:#e8e3d9}.history-wrap{max-width:1224px;margin:0 auto 50px;padding:28px}.history-list{display:grid;gap:0}.history-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 0;border-top:1px solid var(--line)}.play{width:56px;height:34px;border:1px solid var(--moss);background:none;color:var(--moss);font-weight:700}.history-copy strong{font-size:13px}.history-copy p{margin:4px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.history-copy small{font:11px 'DM Mono',monospace;color:var(--muted)}.download{font-size:13px;color:var(--moss);text-underline-offset:3px}.muted{color:var(--muted)}
@media(max-width:760px){.topbar{align-items:flex-start;gap:20px;flex-direction:column}.workspace{grid-template-columns:1fr;padding:18px}.compose-panel,.history-wrap{padding:22px}.controls-grid,.sliders{grid-template-columns:1fr}.generate-row{align-items:flex-start;flex-direction:column}.topbar-actions{width:100%;justify-content:space-between}.history-item{grid-template-columns:60px minmax(0,1fr)}.download{grid-column:2}.history-copy p{white-space:normal}}
