:root{--bg:#f5f1ea;--bg-card:#fbf8f2;--bg-elevated:#fff;--ink:#161513;--ink-2:#3a352e;--ink-3:#6b635a;--ink-4:#a39a8c;--line:#e5dece;--line-2:#d6cdb8;--accent:#c8553d;--accent-deep:#9e3e2a;--accent-soft:#f2d9cf;--gold:#b89455;--sage:#5c7a5a;--plum:#6f4063;--shadow-sm:0 1px 0 #1615130a, 0 2px 6px #1615130a;--shadow-md:0 4px 14px #1615130f, 0 1px 0 #1615130a;--shadow-lg:0 20px 60px -20px #1615132e, 0 6px 20px #1615130f;--radius-sm:8px;--radius:14px;--radius-lg:22px;--serif:"Noto Serif TC", "Songti TC", Georgia, serif;--sans:"Noto Sans TC", -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-feature-settings:"palt";min-height:100vh}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,textarea{font-family:inherit}.grain{pointer-events:none;z-index:1;opacity:.4;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.1 0 0 0 0 0.09 0 0 0 0 0.07 0 0 0 0.06 0'/></filter><rect width='240' height='240' filter='url(%23n)'/></svg>");position:fixed;inset:0}.app{z-index:2;flex-direction:column;min-height:100vh;display:flex;position:relative}.topbar{border-bottom:1px solid var(--line);background:var(--bg);z-index:50;justify-content:space-between;align-items:center;padding:18px 32px;display:flex;position:sticky;top:0}.topbar.compact{padding:14px 32px}.brand{cursor:pointer;align-items:center;gap:12px;display:flex}.brand-mark{background:var(--ink);width:32px;height:32px;color:var(--bg);font-family:var(--serif);border-radius:8px;place-items:center;font-size:16px;font-weight:700;display:grid;position:relative}.brand-mark:after{content:"";border:1px solid var(--ink);opacity:.3;border-radius:10px;position:absolute;inset:-4px}.brand-name{font-family:var(--serif);letter-spacing:.02em;font-size:18px;font-weight:700}.brand-tag{color:var(--ink-3);letter-spacing:.18em;text-transform:uppercase;font-size:11px;font-family:var(--mono)}.topbar-nav{align-items:center;gap:4px;display:flex}.topbar-nav button{color:var(--ink-3);border-radius:8px;padding:8px 14px;font-size:13px;transition:all .15s}.topbar-nav button:hover{background:var(--bg-card);color:var(--ink)}.topbar-nav button.active{color:var(--ink);background:var(--bg-card);font-weight:500}.user-chip{border:1px solid var(--line);background:var(--bg-card);border-radius:100px;align-items:center;gap:10px;padding:6px 14px 6px 6px;display:flex}.user-avatar{background:var(--ink);width:28px;height:28px;color:var(--bg);border-radius:50%;place-items:center;font-size:12px;font-weight:600;display:grid}.user-meta{flex-direction:column;line-height:1.2;display:flex}.user-meta .n{font-size:13px;font-weight:500}.user-meta .r{color:var(--ink-3);font-size:10px}.main{flex:1}.container{max-width:1240px;margin:0 auto;padding:40px 32px 80px}.container-narrow{max-width:720px;margin:0 auto;padding:40px 32px 80px}.eyebrow{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;font-size:11px;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);width:18px;height:1px}.h-display{font-family:var(--serif);letter-spacing:-.01em;text-wrap:balance;font-size:clamp(36px,5vw,56px);font-weight:700;line-height:1.08}.h-page{font-family:var(--serif);letter-spacing:-.005em;font-size:32px;font-weight:700;line-height:1.2}.h-section{font-family:var(--serif);font-size:22px;font-weight:600;line-height:1.3}.lede{color:var(--ink-2);max-width:60ch;font-size:16px;line-height:1.7}.btn{white-space:nowrap;border:1px solid #0000;border-radius:100px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-size:14px;font-weight:500;transition:all .18s;display:inline-flex}.btn-primary{background:var(--ink);color:var(--bg)}.btn-primary:hover{background:var(--accent);transform:translateY(-1px)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-deep)}.btn-ghost{color:var(--ink);border:1px solid var(--line-2);background:0 0}.btn-ghost:hover{background:var(--bg-card);border-color:var(--ink-3)}.btn-lg{padding:16px 32px;font-size:15px}.btn-sm{padding:8px 14px;font-size:12px}.card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:28px}.card-elev{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.auth-shell{background:var(--bg);z-index:2;grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid;position:relative}.auth-art{background:var(--ink);color:var(--bg);flex-direction:column;justify-content:space-between;padding:56px;display:flex;position:relative;overflow:hidden}.auth-art:before{content:"";pointer-events:none;background:radial-gradient(at 100% 0,#c8553d38,#0000 55%),radial-gradient(at 0 100%,#b894551f,#0000 60%);position:absolute;inset:0}.auth-art-grid{pointer-events:none;background-image:linear-gradient(#f5f1ea0a 1px,#0000 1px),linear-gradient(90deg,#f5f1ea0a 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0}.auth-brand{z-index:2;align-items:center;gap:12px;display:flex;position:relative}.auth-brand .brand-mark{background:var(--bg);color:var(--ink)}.auth-brand .brand-name{color:var(--bg)}.auth-art-hero{z-index:2;position:relative}.auth-art-hero h1{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 22px;font-size:56px;font-weight:900;line-height:1.05}.auth-art-hero h1 em{color:var(--accent);font-style:italic;font-weight:900}.auth-art-hero p{color:#f5f1eab8;max-width:36ch;margin:0;font-size:16px;line-height:1.7}.auth-quotes{z-index:2;flex-direction:column;gap:14px;display:flex;position:relative}.auth-quote{border-left:2px solid var(--accent);font-family:var(--serif);color:#f5f1eac7;padding:4px 0 4px 16px;font-size:15px;line-height:1.6}.auth-quote .who{font-family:var(--mono);letter-spacing:.2em;color:#f5f1ea73;text-transform:uppercase;margin-top:6px;font-size:10px;display:block}.auth-form{flex-direction:column;justify-content:center;gap:28px;padding:56px 8vw;display:flex}.auth-form h2{font-family:var(--serif);margin:0;font-size:32px;font-weight:700}.auth-form .sub{color:var(--ink-3);margin-top:-18px;font-size:14px}.field{flex-direction:column;gap:8px;display:flex}.field label{letter-spacing:.1em;color:var(--ink-3);text-transform:uppercase;font-size:12px;font-family:var(--mono)}.input{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--ink);padding:14px 16px;font-size:15px;transition:border .15s}.input:focus{border-color:var(--accent);outline:none}.auth-actions{flex-direction:column;gap:12px;display:flex}.auth-help{color:var(--ink-3);justify-content:space-between;font-size:12px;display:flex}.auth-help a{color:var(--accent);text-decoration:none}.divider{color:var(--ink-4);font-size:11px;font-family:var(--mono);letter-spacing:.2em;align-items:center;gap:14px;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.social-row{gap:10px;display:flex}.social-btn{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--bg-elevated);flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:13px;display:flex}.social-btn:hover{border-color:var(--ink-3)}.stepper{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-4);align-items:center;gap:12px;margin-bottom:36px;font-size:11px;display:flex}.stepper .dot{background:var(--line-2);border-radius:50%;width:6px;height:6px}.stepper .step.active{color:var(--ink)}.stepper .step.active .dot{background:var(--accent)}.stepper .step.done .dot{background:var(--ink)}.stepper .sep{background:var(--line);flex:0 0 30px;height:1px}.industry-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:24px;display:grid}.industry-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;text-align:left;padding:22px 20px;transition:all .18s;position:relative;overflow:hidden}.industry-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.industry-card.selected{background:var(--ink);color:var(--bg);border-color:var(--ink)}.industry-card.selected .ic-label{color:var(--accent-soft)}.industry-card .ic-icon{width:36px;height:36px;font-family:var(--serif);background:var(--bg-elevated);border:1px solid var(--line);border-radius:8px;place-items:center;margin-bottom:18px;font-size:18px;font-weight:700;display:grid}.industry-card.selected .ic-icon{background:var(--accent);color:#fff;border-color:var(--accent)}.industry-card .ic-name{font-family:var(--serif);margin-bottom:4px;font-size:18px;font-weight:600}.industry-card .ic-label{font-family:var(--mono);letter-spacing:.15em;color:var(--ink-4);text-transform:uppercase;margin-bottom:10px;font-size:10px}.industry-card .ic-desc{color:var(--ink-3);font-size:12px;line-height:1.5}.industry-card.selected .ic-desc{color:#f5f1eab3}.disc-progress{background:var(--line);border-radius:4px;height:4px;margin:24px 0;overflow:hidden}.disc-progress .fill{background:var(--accent);height:100%;transition:width .4s}.disc-q{font-family:var(--serif);margin-bottom:24px;font-size:26px;font-weight:600;line-height:1.4}.disc-opts{flex-direction:column;gap:10px;display:flex}.disc-opt{text-align:left;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:14px;padding:18px 20px;transition:all .15s;display:flex}.disc-opt:hover{border-color:var(--accent);background:var(--bg-elevated)}.disc-opt .letter{background:var(--bg-elevated);border:1px solid var(--line-2);width:28px;height:28px;font-family:var(--mono);border-radius:50%;place-items:center;font-size:12px;font-weight:500;display:grid}.disc-result-grid{grid-template-columns:1fr 1fr;gap:14px;margin:28px 0;display:grid}.disc-bar{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.disc-bar .row{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.disc-bar .nm{font-family:var(--serif);font-size:16px;font-weight:600}.disc-bar .pc{font-family:var(--mono);font-size:14px;font-weight:500}.disc-bar .meter{background:var(--line);border-radius:4px;height:6px;overflow:hidden}.disc-bar .meter .v{height:100%}.disc-bar.D .meter .v{background:#c8553d}.disc-bar.I .meter .v{background:#b89455}.disc-bar.S .meter .v{background:#5c7a5a}.disc-bar.C .meter .v{background:#6f4063}.disc-bar .desc{color:var(--ink-3);margin-top:8px;font-size:12px;line-height:1.5}.home-hero{grid-template-columns:1.4fr 1fr;align-items:stretch;gap:32px;margin-bottom:40px;display:grid}.hero-main{background:var(--ink);color:var(--bg);border-radius:var(--radius-lg);flex-direction:column;justify-content:space-between;min-height:280px;padding:44px;display:flex;position:relative;overflow:hidden}.hero-main:before{content:"";background:radial-gradient(at 80% 20%,#c8553d4d,#0000 55%);position:absolute;inset:0}.hero-main>*{z-index:1;position:relative}.hero-greeting{font-family:var(--serif);margin:12px 0;font-size:36px;font-weight:700;line-height:1.15}.hero-greeting em{color:var(--accent);font-style:italic}.hero-sub{color:#f5f1eab3;max-width:36ch;font-size:14px;line-height:1.6}.hero-stats{border-top:1px solid #f5f1ea1f;gap:28px;margin-top:28px;padding-top:24px;display:flex}.hero-stat .v{font-family:var(--serif);align-items:baseline;gap:4px;font-size:28px;font-weight:700;display:flex}.hero-stat .v .u{font-size:12px;font-family:var(--mono);color:#f5f1ea80}.hero-stat .l{color:#f5f1ea8c;font-size:11px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.15em;margin-top:2px}.hero-side{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;gap:14px;padding:28px;display:flex}.hero-side h3{font-family:var(--serif);margin:0;font-size:16px;font-weight:600}.disc-tag{background:var(--accent-soft);color:var(--accent-deep);font-family:var(--mono);letter-spacing:.1em;border-radius:100px;align-items:center;gap:8px;width:fit-content;padding:6px 12px;font-size:11px;font-weight:600;display:inline-flex}.disc-tag .pill{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;display:grid}.weak-list{flex-direction:column;gap:10px;display:flex}.weak-item{background:var(--bg-elevated);border:1px solid var(--line);border-radius:10px;gap:12px;padding:10px 12px;font-size:13px;display:flex}.weak-item .badge{font-family:var(--mono);background:var(--accent-soft);color:var(--accent-deep);border-radius:4px;align-self:center;height:fit-content;padding:2px 6px;font-size:10px;font-weight:600}.feature-block{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-lg);margin-top:28px;position:relative;overflow:hidden}.feature-block:before{content:"";background:var(--accent-local,var(--accent));width:4px;position:absolute;top:0;bottom:0;left:0}.feature-block .fb-head{border-bottom:1px dashed var(--line-2);grid-template-columns:60px 90px 1fr auto;align-items:center;gap:28px;padding:30px 32px 24px;display:grid}.feature-block .fb-num{font-family:var(--serif);color:var(--ink-4);letter-spacing:-.02em;font-size:44px;font-weight:700;line-height:1}.feature-block .fb-tagline{border-left:1px solid var(--line-2);padding-left:24px}.feature-block .fb-tagline .ch{font-family:var(--serif);letter-spacing:-.02em;font-size:44px;font-weight:700;line-height:1}.feature-block .fb-tagline .en{font-family:var(--mono);letter-spacing:.25em;color:var(--ink-4);margin-top:6px;font-size:10px}.feature-block .fb-titles h3{font-family:var(--serif);letter-spacing:-.005em;margin:0 0 4px;font-size:24px;font-weight:700}.feature-block .fb-titles .st{color:var(--ink-2);margin:0 0 8px;font-size:14px;font-weight:500}.feature-block .fb-titles .bd{color:var(--ink-3);max-width:64ch;margin:0;font-size:13px;line-height:1.6}.feature-block .fb-body{padding:22px 32px 28px}.mini-scenario{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius);text-align:left;cursor:pointer;padding:16px 14px;transition:all .15s}.mini-scenario:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.mini-scenario .ix{font-family:var(--mono);color:var(--ink-4);letter-spacing:.15em;margin-bottom:8px;font-size:10px}.mini-scenario .nm{font-family:var(--serif);margin-bottom:4px;font-size:16px;font-weight:600}.mini-scenario .lv{color:var(--ink-3);font-size:11px;font-family:var(--mono);letter-spacing:.05em}.mini-tag{background:var(--bg-elevated);border:1px solid var(--line);border-radius:100px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;display:inline-flex}.metric-prev{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.metric-prev .nm{font-family:var(--serif);margin-bottom:6px;font-size:14px;font-weight:600}.metric-prev .vl{font-family:var(--serif);font-size:24px;font-weight:700;line-height:1}.metric-prev .vl span{font-family:var(--mono);color:var(--ink-4);margin-left:4px;font-size:11px}.metric-prev .meter{background:var(--line);border-radius:2px;height:4px;margin:10px 0 8px;overflow:hidden}.metric-prev .meter .v{height:100%}.metric-prev .hint{font-family:var(--mono);color:var(--ink-3);letter-spacing:.03em;font-size:11px}.rewrite-mini{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:1fr auto 1.4fr;align-items:center;gap:22px;padding:18px 22px;display:grid}.rewrite-mini .col{flex-direction:column;gap:6px;display:flex}.rewrite-mini .lbl{font-family:var(--mono);letter-spacing:.18em;color:var(--ink-4);text-transform:uppercase;font-size:10px}.rewrite-mini .raw{color:var(--ink-3);font-size:14px;line-height:1.6}.rewrite-mini .opt{font-family:var(--serif);color:var(--ink);font-size:15px;font-weight:500;line-height:1.6}.rewrite-mini .arr{background:var(--gold);color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:14px;font-weight:600;display:grid}@media (width<=900px){.feature-block .fb-head{grid-template-columns:1fr;gap:14px;padding:22px}.feature-block .fb-tagline{border-left:none;align-items:baseline;gap:12px;padding-left:0;display:flex}.feature-block .fb-tagline .ch,.feature-block .fb-num{font-size:32px}.rewrite-mini{grid-template-columns:1fr}}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:20px;display:grid}.feature-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;text-align:left;flex-direction:column;gap:14px;min-height:180px;padding:26px;transition:all .18s;display:flex;position:relative}.feature-card:hover{box-shadow:var(--shadow-md);border-color:var(--ink-3);transform:translateY(-3px)}.feature-card .num{font-family:var(--mono);color:var(--ink-4);letter-spacing:.2em;font-size:11px}.feature-card .nm{font-family:var(--serif);font-size:20px;font-weight:600;line-height:1.3}.feature-card .d{color:var(--ink-3);flex:1;font-size:13px;line-height:1.6}.feature-card .arr{font-size:12px;font-family:var(--mono);color:var(--accent);text-transform:uppercase;letter-spacing:.15em;align-items:center;gap:6px;display:flex}.feature-card.featured{background:var(--accent);color:#fff;border-color:var(--accent)}.feature-card.featured .num,.feature-card.featured .d{color:#ffffffb3}.feature-card.featured .arr{color:#fff}.section-title-row{justify-content:space-between;align-items:baseline;margin:48px 0 12px;display:flex}.section-title-row h2{font-family:var(--serif);margin:0;font-size:26px;font-weight:600}.section-title-row .more{color:var(--ink-3);font-size:12px;font-family:var(--mono);letter-spacing:.1em}.scenario-grid{grid-template-columns:repeat(2,1fr);gap:18px;margin-top:24px;display:grid}.scenario-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;text-align:left;padding:28px;transition:all .18s;position:relative;overflow:hidden}.scenario-card:before{content:"";background:var(--accent);transform-origin:0;height:4px;transition:transform .3s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.scenario-card:hover:before{transform:scaleX(1)}.scenario-card:hover{border-color:var(--ink-3)}.scenario-card.selected{border-color:var(--ink);background:var(--bg-elevated)}.scenario-card.selected:before{background:var(--ink);transform:scaleX(1)}.scenario-card .sc-tag{font-family:var(--mono);letter-spacing:.2em;color:var(--ink-4);text-transform:uppercase;align-items:center;gap:6px;margin-bottom:14px;font-size:10px;display:inline-flex}.scenario-card .sc-tag .lvl{background:var(--accent-soft);color:var(--accent-deep);border-radius:4px;padding:2px 6px}.scenario-card .sc-tag .lvl.hi{color:#9e3e2a;background:#fce4d9}.scenario-card .sc-tag .lvl.md{color:#7a5a1a;background:#f5e8c9}.scenario-card h3{font-family:var(--serif);margin:0 0 10px;font-size:26px;font-weight:700}.scenario-card p{color:var(--ink-3);margin:0;font-size:14px;line-height:1.6}.scenario-card .sc-meta{border-top:1px dashed var(--line-2);color:var(--ink-3);gap:18px;margin-top:18px;padding-top:18px;font-size:12px;display:flex}.role-row{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px;display:grid}.role-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;text-align:left;align-items:center;gap:16px;padding:22px;transition:all .15s;display:flex}.role-card:hover{border-color:var(--ink-3);transform:translateY(-2px)}.role-card.selected{border-color:var(--accent);background:var(--accent-soft)}.role-avatar{width:52px;height:52px;font-family:var(--serif);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;font-size:20px;font-weight:700;display:grid}.role-card .nm{font-family:var(--serif);font-size:18px;font-weight:600}.role-card .d{color:var(--ink-3);margin-top:2px;font-size:12px}.mode-toggle{background:var(--bg-card);border:1px solid var(--line);border-radius:100px;margin-top:8px;padding:4px;display:inline-flex}.mode-toggle button{color:var(--ink-3);border-radius:100px;align-items:center;gap:6px;padding:8px 18px;font-size:13px;display:flex}.mode-toggle button.active{background:var(--ink);color:var(--bg)}.chat-shell{background:var(--bg);grid-template-columns:280px 1fr 320px;gap:0;height:calc(100vh - 73px);display:grid;overflow:hidden}.app:has(.chat-shell){height:100vh;min-height:0;overflow:hidden}.app:has(.chat-shell) .chat-shell{flex:1;height:auto;min-height:0}.chat-side{background:var(--bg-card);border-right:1px solid var(--line);flex-direction:column;gap:22px;padding:24px 22px;display:flex;overflow-y:auto}.chat-side .label{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-4);margin-bottom:8px;font-size:10px}.chat-side .scenario-summary{background:var(--bg-elevated);border:1px solid var(--line);border-radius:10px;padding:14px}.chat-side .scenario-summary h4{font-family:var(--serif);margin:0 0 4px;font-size:16px}.chat-side .scenario-summary p{color:var(--ink-3);margin:0;font-size:12px;line-height:1.5}.chat-side .role-summary{background:var(--bg-elevated);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}.chat-side .role-summary .role-avatar{width:38px;height:38px;font-size:16px}.chat-side .role-summary .nm{font-size:14px;font-weight:600}.chat-side .role-summary .d{color:var(--ink-3);font-size:11px}.objectives{flex-direction:column;gap:8px;display:flex}.objective{color:var(--ink-2);background:var(--bg-elevated);border:1px solid var(--line);border-radius:8px;gap:10px;padding:8px 10px;font-size:12px;line-height:1.5;display:flex}.objective .chk{border:1px solid var(--ink-4);border-radius:4px;flex-shrink:0;width:14px;height:14px;margin-top:2px}.objective.done .chk{background:var(--sage);border-color:var(--sage);position:relative}.objective.done .chk:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:0;left:3px;transform:rotate(45deg)}.objective.done{color:var(--ink-3);text-decoration:line-through;-webkit-text-decoration-color:var(--ink-4);text-decoration-color:var(--ink-4)}.coach-tip{background:var(--ink);color:var(--bg);border-radius:12px;padding:14px;font-size:12px;line-height:1.6}.coach-tip .ct-label{font-family:var(--mono);letter-spacing:.18em;color:var(--accent);text-transform:uppercase;margin-bottom:6px;font-size:10px;display:block}.chat-main{background:var(--bg);flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;position:relative}.chat-header{border-bottom:1px solid var(--line);background:var(--bg);justify-content:space-between;align-items:center;gap:16px;padding:16px 40px;display:flex}.chat-header-info{flex:1;align-items:center;gap:16px;min-width:0;display:flex}.chat-header-tag{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--sage);white-space:nowrap;background:#5c7a5a1a;border-radius:100px;align-items:center;gap:6px;padding:4px 10px;font-size:10px;font-weight:600;display:inline-flex}.chat-header-tag:before{content:"";background:var(--sage);border-radius:50%;width:6px;height:6px;animation:1.6s infinite pulse}.chat-header-title{font-family:var(--serif);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.chat-header-progress{font-family:var(--mono);color:var(--ink-3);letter-spacing:.1em;border:1px solid var(--line-2);white-space:nowrap;border-radius:100px;padding:4px 10px;font-size:11px}.btn-end-session{background:var(--accent);color:#fff;font-size:13px;font-weight:600;font-family:var(--sans);white-space:nowrap;letter-spacing:.02em;border-radius:100px;flex-shrink:0;align-items:center;gap:10px;padding:10px 18px 10px 16px;transition:all .18s;display:inline-flex;box-shadow:0 4px 14px #c8553d52,inset 0 -1px #0000001f}.btn-end-session:hover{background:var(--accent-deep);transform:translateY(-1px);box-shadow:0 6px 18px #c8553d6b,inset 0 -1px #00000026}.btn-end-session .dot{background:#fff;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #ffffff40}.btn-end-session .arr{font-size:16px;line-height:1;transition:transform .18s}.btn-end-session:hover .arr{transform:translate(3px)}.chat-scroll{flex-direction:column;flex:1;gap:14px;min-height:0;padding:32px 40px 20px;display:flex;overflow-y:auto}.chat-header,.composer{flex-shrink:0}.message-row{gap:12px;max-width:720px;animation:.3s slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-row.user{flex-direction:row-reverse;align-self:flex-end}.msg-avatar{width:34px;height:34px;font-family:var(--serif);border-radius:50%;flex-shrink:0;place-items:center;font-size:14px;font-weight:600;display:grid}.msg-avatar.user{background:var(--ink);color:var(--bg)}.msg-bubble{border-radius:18px;max-width:540px;padding:14px 18px;font-size:14px;line-height:1.65}.message-row.ai .msg-bubble{background:var(--bg-card);border:1px solid var(--line);border-top-left-radius:4px}.message-row.user .msg-bubble{background:var(--ink);color:var(--bg);border-top-right-radius:4px}.message-row .who{color:var(--ink-3);font-size:11px;font-family:var(--mono);letter-spacing:.05em;margin-bottom:4px}.typing{gap:4px;padding:8px 0;display:flex}.typing span{background:var(--ink-3);border-radius:50%;width:6px;height:6px;animation:1.2s infinite tp}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes tp{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.composer{border-top:1px solid var(--line);background:var(--bg);padding:18px 40px 24px}.composer-suggest{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.suggest-chip{background:var(--bg-card);border:1px solid var(--line);color:var(--ink-2);cursor:pointer;border-radius:100px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;transition:all .15s;display:inline-flex}.suggest-chip:hover{border-color:var(--accent);color:var(--accent)}.suggest-chip .lbl{font-family:var(--mono);color:var(--ink-4);text-transform:uppercase;letter-spacing:.1em;font-size:9px}.composer-input{background:var(--bg-elevated);border:1px solid var(--line-2);border-radius:18px;align-items:end;gap:12px;padding:14px 16px;transition:border .15s;display:flex}.composer-input:focus-within{border-color:var(--ink)}.composer-input textarea{resize:none;color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-height:22px;max-height:120px;font-family:inherit;font-size:14px;line-height:1.6}.composer-input button.send{background:var(--ink);width:34px;height:34px;color:var(--bg);border-radius:50%;flex-shrink:0;place-items:center;transition:all .15s;display:grid}.composer-input button.send:hover{background:var(--accent)}.composer-input button.send:disabled{background:var(--line-2);cursor:not-allowed}.composer-input button.optimize{border:1px solid var(--accent);color:var(--accent);border-radius:100px;flex-shrink:0;align-items:center;gap:6px;padding:8px 14px;font-size:12px;display:flex}.composer-input button.optimize:hover{background:var(--accent);color:#fff}.composer-meta{color:var(--ink-4);font-size:11px;font-family:var(--mono);letter-spacing:.1em;justify-content:space-between;align-items:center;margin-top:10px;display:flex}.composer-meta .end-btn{color:var(--accent);text-transform:uppercase;cursor:pointer}.live-panel{background:var(--bg-card);border-left:1px solid var(--line);flex-direction:column;gap:22px;padding:24px 22px;display:flex;overflow-y:auto}.live-panel h4{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-4);margin:0 0 10px;font-size:10px}.temp-bar-wrap{background:var(--bg-elevated);border:1px solid var(--line);border-radius:12px;padding:16px}.temp-bar-wrap .nm{font-family:var(--serif);align-items:center;gap:6px;margin-bottom:4px;font-size:14px;font-weight:600;display:flex}.temp-bar-wrap .nm .pulse{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.6s infinite pulse}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.temp-bar-wrap .vl{font-family:var(--mono);color:var(--ink-3);margin-bottom:10px;font-size:11px}.temp-bar{background:linear-gradient(90deg,#5c7a5a 0%,#b89455 50%,#c8553d 100%);border-radius:4px;height:8px;position:relative}.temp-bar .mark{background:var(--ink);width:4px;height:14px;box-shadow:0 0 0 2px var(--bg-elevated);border-radius:2px;transition:left .5s;position:absolute;top:-3px}.temp-bar-wrap .labels{font-size:10px;font-family:var(--mono);color:var(--ink-4);letter-spacing:.05em;justify-content:space-between;margin-top:8px;display:flex}.live-metric{background:var(--bg-elevated);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.live-metric .row{justify-content:space-between;align-items:baseline;display:flex}.live-metric .nm{font-size:13px}.live-metric .pc{font-family:var(--mono);font-size:13px;font-weight:600}.live-metric .pc.warn{color:var(--accent)}.live-metric .pc.good{color:var(--sage)}.live-metric .meter{background:var(--line);border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.live-metric .meter .v{height:100%;transition:width .5s}.live-metric .meter .v.warn{background:var(--accent)}.live-metric .meter .v.good{background:var(--sage)}.live-metric .meter .v.gold{background:var(--gold)}.jargon-list{flex-direction:column;gap:8px;display:flex}.jargon-item{background:var(--bg-elevated);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:8px;padding:10px 12px;font-size:12px}.jargon-item .q{font-family:var(--serif);color:var(--ink);margin-bottom:4px;font-weight:500}.jargon-item .a{color:var(--ink-3);line-height:1.5}.voice-shell{background:radial-gradient(ellipse at center, #c8553d0f, transparent 60%), var(--bg);justify-content:center;align-items:center;height:calc(100vh - 73px);display:flex;position:relative}.voice-stage{text-align:center;flex-direction:column;align-items:center;gap:28px;max-width:580px;display:flex}.voice-orb{background:var(--ink);width:220px;height:220px;color:var(--bg);font-family:var(--serif);border-radius:50%;place-items:center;font-size:48px;font-weight:700;display:grid;position:relative;box-shadow:0 30px 80px #16151340}.voice-orb:before,.voice-orb:after{content:"";border:1px solid var(--accent);opacity:.3;border-radius:50%;animation:2.5s ease-out infinite ripple;position:absolute;inset:-16px}.voice-orb:after{animation-delay:1.25s;inset:-32px}@keyframes ripple{0%{opacity:.5;transform:scale(.95)}to{opacity:0;transform:scale(1.2)}}.voice-state{font-family:var(--mono);letter-spacing:.2em;color:var(--accent);text-transform:uppercase;font-size:12px}.voice-text{font-family:var(--serif);text-wrap:balance;font-size:22px;font-weight:500;line-height:1.55}.voice-controls{gap:14px;margin-top:8px;display:flex}.voice-btn{background:var(--bg-card);border:1px solid var(--line-2);border-radius:50%;place-items:center;width:56px;height:56px;transition:all .15s;display:grid}.voice-btn:hover{border-color:var(--ink)}.voice-btn.mic{background:var(--accent);border-color:var(--accent);color:#fff;width:72px;height:72px}.voice-btn.mic:hover{background:var(--accent-deep)}.voice-btn.mic.recording{animation:1.4s infinite pulseRing}@keyframes pulseRing{0%{box-shadow:0 0 #c8553d66}to{box-shadow:0 0 0 20px #c8553d00}}.voice-suggest{flex-wrap:wrap;justify-content:center;gap:10px;max-width:600px;display:flex}.report-hero{grid-template-columns:1fr auto;align-items:start;gap:32px;margin-bottom:28px;display:grid}.report-hero .meta{font-family:var(--mono);color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;gap:24px;font-size:11px;display:flex}.score-card{background:var(--ink);color:var(--bg);border-radius:var(--radius-lg);text-align:center;min-width:220px;padding:32px;position:relative;overflow:hidden}.score-card:before{content:"";background:radial-gradient(at top,#c8553d33,#0000 60%);position:absolute;inset:0}.score-card .lbl{font-family:var(--mono);letter-spacing:.2em;color:#f5f1ea99;text-transform:uppercase;font-size:11px}.score-card .num{font-family:var(--serif);margin:8px 0;font-size:84px;font-weight:700;line-height:1;position:relative}.score-card .num em{color:var(--accent);font-style:normal}.score-card .num .sl{color:#f5f1ea80;margin-left:4px;font-size:24px}.score-card .gr{color:var(--accent);font-size:12px;font-family:var(--mono);letter-spacing:.15em;position:relative}.metric-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0 40px;display:grid}.metric-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;position:relative;overflow:hidden}.metric-card .top{justify-content:space-between;align-items:start;margin-bottom:14px;display:flex}.metric-card .nm{font-family:var(--serif);font-size:16px;font-weight:600}.metric-card .ic{width:28px;height:28px;font-family:var(--mono);border-radius:8px;place-items:center;font-size:11px;font-weight:600;display:grid}.metric-card.warn .ic{background:var(--accent-soft);color:var(--accent-deep)}.metric-card.good .ic{color:#2e4a2c;background:#dce7db}.metric-card.ok .ic{color:#7a5a1a;background:#f5e8c9}.metric-card .vl{font-family:var(--serif);align-items:baseline;gap:4px;font-size:36px;font-weight:700;line-height:1;display:flex}.metric-card .vl .sl{font-size:16px;font-family:var(--mono);color:var(--ink-3)}.metric-card .delta{font-family:var(--mono);letter-spacing:.05em;color:var(--ink-3);margin-top:8px;font-size:11px}.metric-card .delta.up{color:var(--accent)}.metric-card .delta.down{color:var(--sage)}.metric-card .arc{background:var(--line);border-radius:2px;height:4px;margin-top:12px;overflow:hidden}.metric-card .arc .v{height:100%}.metric-card.warn .arc .v{background:var(--accent)}.metric-card.good .arc .v{background:var(--sage)}.metric-card.ok .arc .v{background:var(--gold)}.report-section{margin-bottom:40px}.report-section h2{font-family:var(--serif);align-items:center;gap:12px;margin:0 0 16px;font-size:22px;font-weight:600;display:flex}.report-section h2 .sm{font-family:var(--mono);letter-spacing:.15em;color:var(--ink-4);text-transform:uppercase;font-size:11px;font-weight:400}.transcript-list{flex-direction:column;gap:10px;display:flex}.transcript-item{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:80px 1fr 200px;align-items:start;gap:20px;padding:18px 22px;display:grid}.transcript-item .ts{font-family:var(--mono);color:var(--ink-4);letter-spacing:.05em;padding-top:2px;font-size:11px}.transcript-item .ut{font-size:14px;line-height:1.65}.transcript-item .ut .hl{background:var(--accent-soft);color:var(--accent-deep);cursor:help;border-radius:3px;padding:0 4px;position:relative}.transcript-item .ut .hl.gold{color:#7a5a1a;background:#f5e8c9}.transcript-item .ut .hl.sage{color:#2e4a2c;background:#dce7db}.transcript-item .tags{flex-direction:column;gap:6px;display:flex}.transcript-item .tag{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;background:var(--bg-elevated);border:1px solid var(--line);color:var(--ink-3);border-radius:4px;align-items:center;gap:6px;width:fit-content;padding:4px 8px;font-size:10px;display:inline-flex}.transcript-item .tag.warn{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-deep)}.transcript-item .tag.good{border-color:var(--sage);color:var(--sage);background:#dce7db}.transcript-item .tag.gold{border-color:var(--gold);color:#7a5a1a;background:#f5e8c9}.transcript-item .tag .dot{background:currentColor;border-radius:50%;width:5px;height:5px}.rewrite-card{background:var(--bg-elevated);border:1px solid var(--accent);border-radius:var(--radius);grid-template-columns:1fr auto 1fr;align-items:stretch;gap:22px;padding:22px;display:grid;position:relative}.rewrite-card .col{flex-direction:column;gap:8px;display:flex}.rewrite-card .lbl{font-family:var(--mono);letter-spacing:.18em;color:var(--ink-4);text-transform:uppercase;font-size:10px}.rewrite-card .original{color:var(--ink-3);font-size:14px;line-height:1.65}.rewrite-card .original.strike{text-decoration:line-through;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.rewrite-card .improved{font-family:var(--serif);font-size:16px;font-weight:500;line-height:1.65}.rewrite-card .arrow{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;align-self:center;place-items:center;width:32px;height:32px;font-size:14px;font-weight:600;display:grid;box-shadow:0 4px 12px #c8553d4d}.rewrite-explain{background:var(--bg-card);color:var(--ink-2);border-radius:10px;gap:12px;margin-top:14px;padding:14px 16px;font-size:13px;line-height:1.6;display:flex}.rewrite-explain b{font-family:var(--serif);color:var(--accent)}.reco-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.reco-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.reco-card .n{font-family:var(--mono);color:var(--ink-4);letter-spacing:.2em;margin-bottom:12px;font-size:11px}.reco-card h4{font-family:var(--serif);margin:0 0 8px;font-size:17px;font-weight:600}.reco-card p{color:var(--ink-3);margin:0;font-size:13px;line-height:1.65}.optim-shell{grid-template-columns:1fr 1fr;align-items:stretch;gap:14px;margin-top:24px;display:grid}.optim-side{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:22px;display:flex}.optim-side .lbl{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-4);margin-bottom:10px;font-size:10px}.optim-side textarea{resize:none;color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-height:220px;font-family:inherit;font-size:15px;line-height:1.7}.optim-side .footer{border-top:1px dashed var(--line-2);color:var(--ink-3);justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;font-size:12px;display:flex}.optim-output{background:var(--ink);color:var(--bg);border-color:var(--ink);position:relative}.optim-output .lbl{color:var(--accent)}.optim-output .out-text{font-family:var(--serif);flex:1;min-height:220px;font-size:17px;line-height:1.7}.optim-output .footer{color:#f5f1ea80;border-top-color:#f5f1ea1f}.tone-pill-row{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.tone-pill{background:var(--bg-card);border:1px solid var(--line);cursor:pointer;border-radius:100px;padding:8px 14px;font-size:12px;transition:all .15s}.tone-pill:hover{border-color:var(--ink-3)}.tone-pill.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.sample-list{flex-direction:column;gap:8px;margin-top:18px;display:flex}.sample-item{background:var(--bg-card);border:1px solid var(--line);cursor:pointer;color:var(--ink-2);border-radius:10px;gap:10px;padding:12px 14px;font-size:13px;line-height:1.55;display:flex}.sample-item:hover{border-color:var(--accent)}.sample-item .qm{font-family:var(--mono);color:var(--ink-4);flex-shrink:0;padding-top:2px;font-size:10px}.empty{text-align:center;color:var(--ink-3);padding:64px 20px}.subtle-link{color:var(--ink-3);background:0 0;border-radius:0;padding:0;font-size:13px}.subtle-link:hover{color:var(--accent)}.flex{display:flex}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.mb-4{margin-bottom:16px}@media (width<=1100px){.chat-shell{grid-template-columns:240px 1fr 280px}}@media (width<=900px){.auth-shell{grid-template-columns:1fr}.auth-art{display:none}.home-hero,.scenario-grid,.role-row,.chat-shell{grid-template-columns:1fr}.chat-side,.live-panel{display:none}.metric-grid{grid-template-columns:repeat(2,1fr)}.rewrite-card{grid-template-columns:1fr}.rewrite-card .arrow{justify-self:center;transform:rotate(90deg)}.reco-grid,.optim-shell{grid-template-columns:1fr}}
