:root{--bg:#f3e9d9;--surface:#fbf4e8;--surface-2:#fffbf4;--surface-sunk:#eadcca;--ink:#3a2a1e;--ink-soft:#6e5849;--ink-faint:#9c8a7a;--line:#e0d0bb;--line-strong:#cebfa9;--accent:#dd6236;--accent-press:#b84d27;--accent-tint:#f8e1d2;--sage:#a9b388;--sage-deep:#7c8a5a;--sage-tint:#e7ecda;--clay:#b18973;--success:#7c8a5a;--warning:#c98a3c;--danger:#b8502c;--muted:#9c8a7a;--evening:#2e2722;--font-display:"Fredoka", system-ui, sans-serif;--font-voice:"Fraunces", Georgia, serif;--font-body:"Fredoka", system-ui, sans-serif;--font-wordmark:"Fredoka", system-ui, sans-serif;--text-display-lg:3.5rem;--text-display:2.75rem;--text-h1:2rem;--text-h2:1.5rem;--text-h3:1.25rem;--text-body:1rem;--text-small:.875rem;--text-caption:.75rem;--lh-heading:1.12;--lh-body:1.55;--tracking-label:.08em;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-card:20px;--radius-xl:28px;--radius-pill:999px;--shadow-sm:0 1px 3px #3a2a1e0f, 0 1px 2px #3a2a1e0a;--shadow-md:0 8px 24px #3a2a1e1a;--shadow-lg:0 20px 48px -16px #3a2a1e38;--shadow-pill:0 6px 20px #3a2a1e29;--glass-bg:linear-gradient(135deg, #fbf4e8b8, #fbf4e88c);--glass-border:#3a2a1e1a;--blur-nav:blur(20px) saturate(180%);--blur-backdrop:blur(12px);--duration-ui:.18s;--duration-panel:.22s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-smooth:cubic-bezier(.4, 0, .2, 1);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-12:48px;--space-16:64px;--bp-mobile:768px;--z-topbar:50;--z-sidebar:60;--z-step-bar:70;--z-modal:400;--sidebar-w:64px;--sidebar-w-exp:200px;--topbar-h:56px;--content-max:1320px}[data-theme=dark]{--bg:#1a140f;--surface:#241b14;--surface-2:#2e231a;--surface-sunk:#140f0b;--ink:#f4ece1;--ink-soft:#c9b6a4;--ink-faint:#8c7867;--line:#3a2c20;--line-strong:#4a3829;--accent:#e4733d;--accent-press:#f0875a;--accent-tint:#3a2218;--sage:#b7c091;--sage-deep:#9ca977;--sage-tint:#28281c;--clay:#c49a82;--success:#9ca977;--warning:#d4954a;--danger:#f0875a;--muted:#8c7867;--evening:#0d0a07;--glass-bg:linear-gradient(135deg, #241b14cc, #241b14a6);--glass-border:#f4ece114}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;min-height:100svh}body{font-family:var(--font-body);font-size:var(--text-body);line-height:var(--lh-body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:var(--lh-heading);color:var(--ink);font-weight:700}h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3)}p{line-height:var(--lh-body)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:var(--font-body);background:0 0;border:none}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1}}.font-display{font-family:var(--font-display)}.italic-voice{font-family:var(--font-voice);font-style:italic}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--ink-faint)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:0 var(--space-6);border-radius:var(--radius-pill);min-width:44px;height:44px;font-family:var(--font-body);font-size:var(--text-small);letter-spacing:.01em;cursor:pointer;transition:background var(--duration-ui) var(--ease-out), color var(--duration-ui) var(--ease-out), box-shadow var(--duration-ui) var(--ease-out);white-space:nowrap;border:none;font-weight:500;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary:disabled,.btn-accent:disabled{opacity:1;background:var(--surface-sunk);color:var(--ink-faint);box-shadow:none}.btn-primary{background:var(--accent);color:var(--surface-2)}.btn-primary:hover:not(:disabled){background:var(--accent-press);box-shadow:var(--shadow-sm)}.btn-primary:active:not(:disabled){background:var(--accent-press);box-shadow:none}.btn-secondary{background:var(--surface);color:var(--ink);border:1.5px solid var(--line)}.btn-secondary:hover:not(:disabled){background:var(--surface-sunk)}.btn-ghost{color:var(--ink-soft);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-sunk);color:var(--ink)}.btn-danger{color:#fff;background:#c0392b}.btn-danger:hover:not(:disabled){box-shadow:var(--shadow-sm);background:#a93226}.btn-danger:active:not(:disabled){box-shadow:none;background:#922b21}.btn-accent{background:var(--accent);color:var(--surface-2)}.btn-accent:hover:not(:disabled){background:var(--accent-press);box-shadow:var(--shadow-sm)}.btn-accent:active:not(:disabled){background:var(--accent-press)}.card{background:var(--surface);border-radius:var(--radius-card);border:1.5px solid var(--line);box-shadow:var(--shadow-sm);padding:var(--space-6);transition:box-shadow var(--duration-ui) var(--ease-smooth), transform var(--duration-ui) var(--ease-smooth)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.card-selected{background:var(--accent-tint);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.card-selected h1,.card-selected h2,.card-selected h3,.card-selected p{color:var(--ink)}.chip{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-caption);font-weight:500;font-family:var(--font-body);display:inline-flex}.chip-default{background:var(--surface-sunk);color:var(--ink-soft)}.chip-pass{background:var(--sage-tint);color:var(--sage-deep)}.chip-fail{background:var(--surface-sunk);color:var(--ink-soft)}.chip-unclear{background:var(--surface-sunk);color:var(--ink-soft);font-style:italic}.chip-accent{background:var(--accent-tint);color:var(--accent-press)}.chip-sage{background:var(--sage-tint);color:var(--sage-deep)}.badge{padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-caption);align-items:center;font-weight:600;line-height:1.4;display:inline-flex}.badge-default{background:var(--surface-sunk);color:var(--ink-soft)}.badge-accent{background:var(--accent-tint);color:var(--accent-press)}.badge-sage{background:var(--sage-tint);color:var(--sage-deep)}.badge-muted{background:var(--surface-sunk);color:var(--ink-faint)}.pill{align-items:center;gap:var(--space-1);padding:4px var(--space-3);border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--text-caption);white-space:nowrap;font-weight:600;display:inline-flex}.pill-default{background:var(--surface-sunk);color:var(--ink-soft)}.pill-accent{background:var(--accent-tint);color:var(--accent-press)}.pill-sage{background:var(--sage-tint);color:var(--sage-deep)}.theme-toggle-btn{border-radius:var(--radius-md);width:44px;height:44px;color:var(--ink-soft);cursor:pointer;transition:background var(--duration-ui) var(--ease-out), color var(--duration-ui) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.theme-toggle-btn:hover{background:var(--surface-sunk);color:var(--ink)}.modal-backdrop{z-index:var(--z-modal);-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop);padding:var(--space-4);animation:modal-backdrop-in var(--duration-ui) var(--ease-out) both;background:#3a2a1e80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.modal-backdrop{animation:none}}.modal-panel{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:480px;max-height:85vh;animation:modal-panel-in var(--duration-panel) var(--ease-out) both;outline:none;flex-direction:column;display:flex;overflow-y:auto}@keyframes modal-panel-in{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (prefers-reduced-motion:reduce){.modal-panel{animation:none}}.modal-panel-confirm{max-width:420px;padding:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.kawan-tooltip-wrap{align-items:center;display:inline-flex;position:relative}.kawan-tooltip-trigger{cursor:default;color:var(--ink-faint);border-radius:var(--radius-sm);transition:color var(--duration-ui) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;padding:2px;display:inline-flex}.kawan-tooltip-trigger:hover,.kawan-tooltip-trigger:focus-visible{color:var(--ink-soft);outline:none}.kawan-tooltip-trigger:focus-visible{box-shadow:0 0 0 2px var(--accent)}.kawan-tooltip-popover{z-index:var(--z-modal);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-2) var(--space-3);width:max-content;max-width:240px;font-size:var(--text-caption);color:var(--ink-soft);pointer-events:none;animation:tooltip-in var(--duration-ui) var(--ease-out) both;line-height:1.5;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}@keyframes tooltip-in{0%{opacity:0;transform:translate(-50%)translateY(4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (prefers-reduced-motion:reduce){.kawan-tooltip-popover{animation:none}}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg, transparent 0%, #ffffff75 50%, transparent 100%), var(--surface-sunk);min-width:1px;min-height:1px;animation:skeleton-shimmer 1.35s var(--ease-smooth) infinite;background-size:220% 100%;flex-shrink:0;display:inline-block;overflow:hidden}.skeleton-text{border-radius:var(--radius-pill);height:1em}.skeleton-block{display:block}.skeleton-circle{border-radius:50%}.skeleton-stack{gap:var(--space-2);flex-direction:column;width:100%;display:flex}@keyframes skeleton-shimmer{0%{background-position:180% 0}to{background-position:-40% 0}}@media (prefers-reduced-motion:reduce){.skeleton{background:linear-gradient(90deg, #ffffff2e, #ffffff2e), var(--surface-sunk);animation:none}}.skeleton-card-content{gap:var(--space-3);flex-direction:column;display:flex}.skeleton-row{align-items:center;gap:var(--space-3);display:flex}.skeleton-table{gap:var(--space-3);flex-direction:column;display:flex}.skeleton-table-row{gap:var(--space-3);grid-template-columns:28px minmax(120px,1.4fr) minmax(100px,1fr) 84px 96px 64px;align-items:center;min-height:36px;display:grid}.skeleton-audit-row{gap:var(--space-3);grid-template-columns:minmax(90px,1fr) minmax(120px,1.2fr) minmax(120px,1.2fr) 64px 96px;align-items:center;min-height:36px;display:grid}.skeleton-chart-grid{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=760px){.skeleton-chart-grid{grid-template-columns:1.5fr 1fr}}.skeleton-settings-grid{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=560px){.skeleton-settings-grid{grid-template-columns:repeat(3,1fr)}}.help-button{right:var(--space-6);bottom:var(--space-6);z-index:40;border:1.5px solid var(--line);background:var(--surface-2);width:52px;height:52px;color:var(--ink);box-shadow:var(--shadow-md);cursor:pointer;transition:background var(--duration-ui) var(--ease-out), box-shadow var(--duration-ui) var(--ease-out), transform var(--duration-ui) var(--ease-out);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:fixed}.help-button:hover{background:var(--accent-tint);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.help-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=768px){.help-button{right:var(--space-4);bottom:calc(72px + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:reduce){.help-button{transition:none}.help-button:hover{transform:none}}.help-confirm-dialog{gap:var(--space-4);padding:var(--space-6);flex-direction:column;display:flex}.help-confirm-title{font-size:var(--text-h3);color:var(--ink);margin:0;font-weight:600}.help-confirm-body{font-size:var(--text-small);color:var(--ink-soft);line-height:var(--lh-body);margin:0}.help-confirm-actions{gap:var(--space-3);justify-content:flex-end;display:flex}.welcome-bottom-options{justify-content:center;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.welcome-option-btn{color:var(--ink-soft);font-family:var(--font-body);font-size:var(--text-small);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:0 0;border:none}.welcome-option-btn:hover,.welcome-option-btn:focus-visible{color:var(--ink);background:var(--surface-sunk);outline:none}.demo-step-bar{top:var(--space-4);z-index:var(--z-step-bar);align-items:center;gap:var(--space-4);max-width:calc(100vw - var(--space-4));padding:var(--space-2) var(--space-4);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-pill);box-shadow:var(--shadow-lg);white-space:nowrap;pointer-events:auto;display:flex;position:fixed;left:50%;transform:translate(-50%)}.demo-step-bar--collapsed{gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3)}.demo-step-collapsed-label{font-size:var(--text-caption);color:var(--accent);font-weight:600}.demo-step-mobile-label{min-width:0;color:var(--accent);font-size:var(--text-caption);text-overflow:ellipsis;font-weight:600;display:none;overflow:hidden}.demo-step-list{align-items:center;gap:var(--space-1);margin:0;padding:0;list-style:none;display:flex}.demo-step-item{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-caption);color:var(--ink-faint);transition:color var(--duration-ui) var(--ease-out);display:flex}.demo-step-item-done{color:var(--ink-soft)}.demo-step-item-current{color:var(--accent);font-weight:600}.demo-step-dot{border:1.5px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.demo-step-item-done .demo-step-dot{background:var(--ink-soft);border-color:var(--ink-soft);color:var(--bg)}.demo-step-item-current .demo-step-dot{background:var(--accent);border-color:var(--accent);color:#fff}.demo-step-label{font-size:var(--text-caption)}@media (width<=640px){.demo-step-bar{gap:var(--space-2);width:max-content;max-width:calc(100vw - var(--space-4));padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3)}.demo-step-list{display:none}.demo-step-mobile-label{max-width:min(168px,100vw - 176px);display:inline-block}}.demo-step-skip{color:var(--ink-soft);font-family:var(--font-body);font-size:var(--text-caption);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:none;border-left:1px solid var(--line);margin-left:var(--space-1);padding-left:var(--space-3);transition:color var(--duration-ui) var(--ease-out);background:0 0}.demo-step-skip:hover,.demo-step-skip:focus-visible{color:var(--ink);outline:none}.demo-spotlight-ring{z-index:calc(var(--z-step-bar) - 1);border-radius:var(--radius-sm);outline:2px solid color-mix(in srgb, var(--accent) 78%, transparent);outline-offset:5px;box-shadow:0 0 0 9999px #140f0b0a, 0 0 0 8px color-mix(in srgb, var(--accent) 16%, transparent), 0 0 30px color-mix(in srgb, var(--accent) 42%, transparent);pointer-events:none;animation:demo-spotlight-pulse 1.8s var(--ease-out) infinite;position:fixed}.demo-spotlight-tooltip,.demo-spotlight-fallback{z-index:calc(var(--z-step-bar) - 1);align-items:center;gap:var(--space-2);max-width:min(320px, calc(100vw - var(--space-6)));padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb, var(--accent) 32%, var(--line));border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink);box-shadow:var(--shadow-md);font-size:var(--text-small);text-align:center;pointer-events:none;flex-direction:column;line-height:1.35;display:flex;position:fixed}.demo-spotlight-fallback{top:calc(var(--space-4) + 54px);left:50%;transform:translate(-50%)}.demo-spotlight-tooltip--interactive,.demo-spotlight-fallback--interactive{pointer-events:auto}.demo-spotlight-next{padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--accent);color:#fff;font-size:var(--text-small);cursor:pointer;border:none;align-self:center;font-weight:600;transition:filter .12s}.demo-spotlight-next:hover{filter:brightness(1.06)}@keyframes demo-spotlight-pulse{0%,to{box-shadow:0 0 0 9999px #140f0b0a, 0 0 0 8px color-mix(in srgb, var(--accent) 16%, transparent), 0 0 28px color-mix(in srgb, var(--accent) 36%, transparent)}50%{box-shadow:0 0 0 9999px #140f0b09, 0 0 0 10px color-mix(in srgb, var(--accent) 20%, transparent), 0 0 38px color-mix(in srgb, var(--accent) 48%, transparent)}}.tour-analytics-cta{bottom:var(--space-8);z-index:var(--z-step-bar);pointer-events:auto;position:fixed;left:50%;transform:translate(-50%)}.tour-analytics-finish-btn{padding:var(--space-3) var(--space-6);background:var(--accent);color:#fff;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--text-body);cursor:pointer;box-shadow:var(--shadow-md);transition:background var(--duration-ui) var(--ease-out), box-shadow var(--duration-ui) var(--ease-out), transform var(--duration-ui) var(--ease-out);border:none;font-weight:600}.tour-analytics-finish-btn:hover{background:var(--accent-dark,var(--accent));box-shadow:var(--shadow-lg);transform:translateY(-1px)}.tour-analytics-finish-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.demo-step-bar,.demo-spotlight-ring,.tour-analytics-finish-btn{transition:none;animation:none}.tour-analytics-finish-btn:hover{transform:none}}.shell-root{background:var(--bg);flex-direction:column;min-height:100svh;display:flex;position:relative}.shell-blobs{pointer-events:none;z-index:-1;position:fixed;inset:0;overflow:hidden}.shell-blob{border-radius:50%;position:absolute}.shell-blob-accent{background:var(--accent);opacity:.06;filter:blur(130px);width:560px;height:560px;top:-160px;right:-120px}.shell-blob-sage{background:var(--sage);opacity:.07;filter:blur(120px);width:480px;height:480px;bottom:-160px;left:-100px}.app-sidebar{z-index:60;background:var(--surface);border-right:1px solid var(--glass-border);width:var(--sidebar-w);transition:width .15s var(--ease-smooth), box-shadow .15s var(--ease-smooth);flex-direction:column;display:none;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.app-sidebar:hover{width:var(--sidebar-w-exp);box-shadow:var(--shadow-md)}@media (width>=769px){.app-sidebar{display:flex}}.sidebar-logo-strip{align-items:center;gap:var(--space-3);height:var(--topbar-h);transition:box-shadow .2s var(--ease-smooth);flex-shrink:0;padding:0 18px;display:flex;position:relative;box-shadow:0 1px 3px #3a2a1e0d}.sidebar-logo-strip:after{content:"";background:var(--glass-border);height:1px;transition:opacity .2s var(--ease-smooth);pointer-events:none;position:absolute;bottom:-1px;left:0;right:0}.app-sidebar:hover .sidebar-logo-strip{box-shadow:none}.app-sidebar:hover .sidebar-logo-strip:after{opacity:0}.sidebar-logo-link{align-items:center;gap:var(--space-2);color:var(--ink);opacity:.9;transition:opacity .15s var(--ease-out);flex-shrink:0;text-decoration:none;display:flex}.sidebar-logo-link:hover{opacity:1;text-decoration:none}.sidebar-logo-img{border-radius:var(--radius-sm);flex-shrink:0;width:36px;height:36px}.sidebar-logo-name{font-family:var(--font-wordmark);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;opacity:0;transition:opacity .15s var(--ease-smooth);font-size:1.14rem;font-weight:700}.app-sidebar:hover .sidebar-logo-name{opacity:1}.sidebar-nav{padding:var(--space-3) var(--space-2);flex-direction:column;flex:1;gap:2px;display:flex;overflow:hidden auto}.sidebar-section{margin-bottom:4px}.sidebar-section-heading{align-items:center;height:20px;margin-bottom:4px;display:flex;position:relative}.sidebar-section-line{left:var(--space-2);right:var(--space-2);background:var(--line);height:1px;transition:opacity .15s var(--ease-smooth);position:absolute}.sidebar-section-label{padding:0 var(--space-2);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink-faint);white-space:nowrap;opacity:0;transition:opacity .15s var(--ease-smooth);font-size:10px;font-weight:600}.app-sidebar:hover .sidebar-section-line{opacity:0}.app-sidebar:hover .sidebar-section-label{opacity:1}.sidebar-link{align-items:center;gap:var(--space-2);height:44px;padding:0 var(--space-2);border-radius:var(--radius-md);color:var(--ink-soft);font-size:var(--text-small);transition:background var(--duration-ui) var(--ease-out), color var(--duration-ui) var(--ease-out);font-weight:500;text-decoration:none;display:flex;position:relative}.sidebar-link:hover{background:var(--surface-sunk);color:var(--ink);text-decoration:none}.sidebar-link-active{background:var(--accent-tint);color:var(--accent-press)}.sidebar-link-active:before{content:"";background:var(--accent);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:0}.sidebar-link-active:hover{background:var(--accent-tint);color:var(--accent-press);text-decoration:none}.sidebar-link-icon{width:32px;color:inherit;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-link-label{white-space:nowrap;opacity:0;transition:opacity .15s var(--ease-smooth);flex:1}.app-sidebar:hover .sidebar-link-label{opacity:1}.sidebar-backdrop{z-index:55;pointer-events:none;opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur();transition:opacity .2s var(--ease-smooth), backdrop-filter .2s var(--ease-smooth);background:#3a2a1e0d;display:none;position:fixed;inset:0}@media (width>=769px){.sidebar-backdrop{display:block}.sidebar-backdrop-visible{pointer-events:auto;opacity:1;-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop)}}.mobile-drawer-container{z-index:70;pointer-events:none;position:fixed;inset:0}.mobile-drawer-container-open{pointer-events:auto}.mobile-drawer-backdrop{opacity:0;transition:opacity var(--duration-panel) var(--ease-out);background:#3a2a1e73;position:absolute;inset:0}.mobile-drawer-container-open .mobile-drawer-backdrop{opacity:1}.mobile-drawer{background:var(--surface);border-right:1px solid var(--line);width:260px;max-width:82vw;box-shadow:var(--shadow-md);transition:transform var(--duration-panel) var(--ease-out);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0;transform:translate(-100%)}.mobile-drawer-container-open .mobile-drawer{transform:translate(0)}.mobile-drawer-header{padding:0 var(--space-4);height:var(--topbar-h);border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.mobile-drawer-logo{align-items:center;gap:var(--space-2);color:var(--ink);text-decoration:none;display:flex}.mobile-drawer-logo:hover{text-decoration:none}.mobile-drawer-logo img{border-radius:var(--radius-sm);width:36px;height:36px}.mobile-drawer-logo span{font-family:var(--font-wordmark);text-transform:uppercase;letter-spacing:.06em;font-size:1.14rem;font-weight:700}.mobile-drawer-close{border-radius:var(--radius-md);width:44px;height:44px;color:var(--ink-soft);cursor:pointer;transition:background var(--duration-ui) var(--ease-out), color var(--duration-ui) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.mobile-drawer-close:hover{background:var(--surface-sunk);color:var(--ink)}.mobile-drawer-nav{padding:var(--space-3) var(--space-2);flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.mobile-drawer-link{align-items:center;gap:var(--space-3);height:44px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--ink-soft);font-size:var(--text-body);transition:background var(--duration-ui) var(--ease-out), color var(--duration-ui) var(--ease-out);font-weight:500;text-decoration:none;display:flex;position:relative}.mobile-drawer-link:hover{background:var(--surface-sunk);color:var(--ink);text-decoration:none}.mobile-drawer-link-active{background:var(--accent-tint);color:var(--accent-press)}.mobile-drawer-link-active:before{content:"";background:var(--accent);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:0}.mobile-drawer-link-active:hover{background:var(--accent-tint);color:var(--accent-press);text-decoration:none}.topbar{z-index:50;height:var(--topbar-h);padding:0 var(--space-4);-webkit-backdrop-filter:var(--blur-nav);backdrop-filter:var(--blur-nav);background:var(--glass-bg);border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 1px 3px #3a2a1e0d}@media (width>=769px){.topbar{left:var(--sidebar-w);padding:0 var(--space-6)}}.topbar-left{align-items:center;gap:var(--space-3);min-width:0;display:flex}.topbar-menu-btn{border-radius:var(--radius-md);width:44px;height:44px;color:var(--ink-soft);cursor:pointer;transition:background var(--duration-ui) var(--ease-out), color var(--duration-ui) var(--ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.topbar-menu-btn:hover{background:var(--surface-sunk);color:var(--ink)}@media (width>=769px){.topbar-menu-btn{display:none}}.topbar-title{font-family:var(--font-body);font-size:var(--text-body);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:600;line-height:var(--lh-heading);overflow:hidden}@media (width<=360px){.topbar-title{display:none}}.topbar-right{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.topbar-balance{padding:4px var(--space-3);border-radius:var(--radius-pill);background:var(--surface-sunk);font-size:var(--text-caption);color:var(--ink-soft);white-space:nowrap;align-items:center;font-weight:600;display:inline-flex}.topbar-account-btn{background:var(--accent-tint);width:36px;height:36px;color:var(--accent-press);font-family:var(--font-display);font-size:var(--text-small);cursor:pointer;transition:background var(--duration-ui) var(--ease-out);border:none;border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.topbar-account-btn:hover{background:var(--accent);color:var(--surface-2)}.topbar-popover-wrap{position:relative}.topbar-popover{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:200px;box-shadow:var(--shadow-lg);z-index:100;transform-origin:100% 0;animation:popover-in var(--duration-ui) var(--ease-out) both;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}@keyframes popover-in{0%{opacity:0;transform:scale(.95)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.topbar-popover-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line)}.topbar-popover-username{font-size:var(--text-small);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.topbar-popover-role{font-size:var(--text-caption);color:var(--ink-faint);margin-top:2px}.topbar-tier-chip{border-radius:var(--radius-pill);font-size:var(--text-caption);color:var(--surface-2);letter-spacing:.04em;margin-top:4px;padding:2px 8px;font-weight:600;display:inline-block}.topbar-popover-balance{font-size:var(--text-caption);color:var(--ink-soft);margin-top:var(--space-1)}.topbar-popover-body{padding:var(--space-2)}.topbar-popover-item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-small);color:var(--ink);cursor:pointer;font-family:var(--font-body);transition:background var(--duration-ui) var(--ease-out);background:0 0;border:none;font-weight:500;text-decoration:none;display:flex}.topbar-popover-item:hover{background:var(--surface-sunk);text-decoration:none}.topbar-popover-item-danger{color:var(--danger)}.topbar-popover-item-danger:hover{background:#b8502c14}.topbar-popover-divider{background:var(--line);height:1px;margin:var(--space-2) 0}.shell-content{padding-top:var(--topbar-h)}@media (width>=769px){.shell-content{margin-left:var(--sidebar-w)}}.page-scroll{z-index:1;background:var(--bg);min-height:100vh;margin-bottom:156px;position:relative}@media (width<=768px){.page-scroll{margin-bottom:0}}.shell-page{padding:var(--space-6) var(--space-4);max-width:var(--content-max);width:100%;margin:0 auto}@media (width>=769px){.shell-page{padding:var(--space-8) var(--space-8)}}.shell-footer{z-index:0;color:#3a2a1e;height:156px;transition:background-color var(--duration-panel) var(--ease-smooth), color var(--duration-panel) var(--ease-smooth), border-top-color var(--duration-panel) var(--ease-smooth);background:#ece5dc;border-top:1px solid #d8ccbd;position:fixed;bottom:0;left:0;right:0}@media (prefers-reduced-motion:reduce){.shell-footer{transition:none}}[data-theme=light] .shell-footer,:root:not([data-theme=dark]) .shell-footer{color:#3a2a1e;background:#ece5dc;border-top-color:#d8ccbd}[data-theme=dark] .shell-footer{color:#f4ece1;background:#140f0b;border-top-color:#3a2c20}@media (width>=769px){.shell-footer{left:var(--sidebar-w)}}@media (width<=768px){.shell-footer{display:none}}.shell-footer-inner{padding:var(--space-4) var(--space-6);max-width:var(--content-max);justify-content:center;align-items:flex-end;gap:var(--space-2);flex-direction:column;height:100%;margin:0 auto;display:flex}@media (width>=769px){.shell-footer-inner{padding:var(--space-3) var(--space-8)}}.shell-footer-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:0;display:flex}.shell-footer-row-logo{gap:0}.shell-footer-logo-link{align-items:center;gap:var(--space-2);text-decoration:none;display:flex}.shell-footer-logo-link:hover{text-decoration:none}.shell-footer-logo-img{border-radius:var(--radius-sm);display:block}.shell-footer-logo-name{font-family:var(--font-wordmark);text-transform:uppercase;letter-spacing:.06em;transition:color var(--duration-ui) var(--ease-out);font-size:1.14rem;font-weight:700}[data-theme=light] .shell-footer-logo-name,:root:not([data-theme=dark]) .shell-footer-logo-name{color:#3a2a1e}[data-theme=dark] .shell-footer-logo-name{color:#f4ece1}.shell-footer-logo-link:hover .shell-footer-logo-name{color:var(--accent)}.shell-footer-row-links{gap:var(--space-4)}.shell-footer-link{font-size:var(--text-small);cursor:pointer;transition:color var(--duration-ui) var(--ease-out);text-decoration:none}[data-theme=light] .shell-footer-link,:root:not([data-theme=dark]) .shell-footer-link{color:#9c8a7a}[data-theme=dark] .shell-footer-link{color:#8c7867}.shell-footer-link:hover{color:var(--accent);text-decoration:none}.bottom-tab-bar{z-index:10;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0);flex-shrink:0;display:none;position:sticky;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #3a2a1e0f}.bottom-tab-list{align-items:stretch;height:56px;list-style:none;display:flex}.bottom-tab-item{flex:1}.bottom-tab-link{width:100%;height:100%;color:var(--ink-soft);min-height:44px;transition:color var(--duration-ui) var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.bottom-tab-link-active{color:var(--accent)}.bottom-tab-link:hover{color:var(--ink);text-decoration:none}.bottom-tab-icon{align-items:center;display:flex}.bottom-tab-label{font-size:var(--text-caption);font-weight:500;line-height:1}@media (width<=768px){.bottom-tab-bar{display:block}}.notif-bell-wrap{position:relative}.notif-bell-btn{border-radius:var(--radius-md);width:36px;height:36px;color:var(--ink-soft);cursor:pointer;transition:background var(--duration-ui) var(--ease-out), color var(--duration-ui) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.notif-bell-btn:hover{background:var(--surface-sunk);color:var(--ink)}.notif-bell-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.notif-badge{border-radius:var(--radius-pill);background:var(--accent);color:#fff;min-width:16px;height:16px;font-size:10px;font-weight:700;font-family:var(--font-body);text-align:center;padding:0 4px;line-height:16px;position:absolute;top:2px;right:2px}.notif-popover{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-lg);width:320px;max-width:calc(100vw - 24px);box-shadow:var(--shadow-lg);z-index:100;transform-origin:100% 0;animation:popover-in var(--duration-ui) var(--ease-out) both;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.notif-popover-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.notif-popover-title{font-size:var(--text-small);color:var(--ink);font-weight:600}.notif-clear-btn{font-size:var(--text-caption);color:var(--ink-faint);cursor:pointer;font-family:var(--font-body);transition:color var(--duration-ui) var(--ease-out);background:0 0;border:none;padding:0}.notif-clear-btn:hover{color:var(--accent)}.notif-popover-body{max-height:360px;overflow-y:auto}.notif-empty{align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-4);text-align:center;flex-direction:column;display:flex}.notif-empty-text{font-size:var(--text-small);color:var(--ink-faint)}.notif-list{padding:var(--space-2);flex-direction:column;gap:2px;margin:0;list-style:none;display:flex}.notif-item{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);transition:background var(--duration-ui) var(--ease-out);display:flex}.notif-item:hover{background:var(--surface-sunk)}.notif-item-link{align-items:flex-start;gap:var(--space-2);min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex:1;padding:0;display:flex}.notif-item-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notif-item-title{font-size:var(--text-small);color:var(--ink);font-weight:500;line-height:var(--lh-body)}.notif-item-detail{font-size:var(--text-caption);color:var(--ink-soft);line-height:var(--lh-body)}.notif-item-time{font-size:var(--text-caption);color:var(--ink-faint);margin-top:2px}.notif-item-dismiss{width:24px;height:24px;color:var(--ink-faint);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--duration-ui) var(--ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.notif-item-dismiss:hover{color:var(--ink)}.dev-toggle-btn{font-size:var(--text-caption);color:var(--ink-faint);background:var(--surface-sunk);border:1px dashed var(--line);border-radius:var(--radius-sm);padding:4px var(--space-3);cursor:pointer}.dev-toggle-btn:hover{color:var(--ink-soft)}.landing-root{background:var(--bg);min-height:100svh;position:relative}.landing-scroll{z-index:1;background:var(--bg);flex-direction:column;min-height:100svh;margin-bottom:156px;display:flex;position:relative}@media (width>=769px){.landing-root .shell-footer{left:0}}@media (width<=768px){.landing-scroll{margin-bottom:0}}.landing-header{padding:var(--space-6) var(--space-6)}.landing-logo-row{align-items:center;gap:var(--space-3);display:flex}.landing-logo{border-radius:var(--radius-md);width:47px;height:47px}.landing-logo-text{font-family:var(--font-wordmark);text-transform:uppercase;letter-spacing:.06em;color:var(--ink);font-size:1.625rem;font-weight:700}.landing-main{text-align:center;padding:var(--space-8) var(--space-6);justify-content:center;align-items:center;gap:var(--space-6);flex-direction:column;flex:1;display:flex}.landing-eye{color:var(--accent);font-size:3.5rem;animation:3s ease-in-out infinite pulse-eye}@keyframes pulse-eye{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.95)}}@media (prefers-reduced-motion:reduce){.landing-eye{animation:none}}.landing-headline{font-size:clamp(var(--text-h1), 6vw, var(--text-display));color:var(--ink);line-height:var(--lh-heading);max-width:560px}.landing-headline-sub{color:var(--accent)}.landing-body{max-width:480px;color:var(--ink-soft);font-size:var(--text-body);line-height:var(--lh-body)}.landing-cta-group{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.landing-cta-btn{min-width:220px;font-size:var(--text-body);height:52px}.landing-cta-note{font-size:var(--text-caption);color:var(--muted)}.landing-doodle{align-items:center;gap:var(--space-4);margin-top:var(--space-6);opacity:.4;display:flex}.landing-doodle-line{background:var(--ink);border-radius:2px;width:60px;height:3px}.landing-doodle-dot{border-radius:var(--radius-pill);background:var(--ink);width:10px;height:10px}.landing-how{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:var(--space-8) var(--space-6)}.landing-how-inner{gap:var(--space-6);grid-template-columns:1fr;max-width:720px;margin:0 auto;display:grid}@media (width>=560px){.landing-how-inner{grid-template-columns:repeat(3,1fr)}}.landing-how-item{align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;display:flex}.landing-how-icon{border-radius:var(--radius-md);background:var(--surface-sunk);width:44px;height:44px;margin-bottom:var(--space-1);justify-content:center;align-items:center;display:flex}.landing-how-title{font-family:var(--font-display);font-size:var(--text-body);color:var(--ink);font-weight:600}.landing-how-desc{font-size:var(--text-small);color:var(--ink-soft);line-height:var(--lh-body)}.sign-in-root{min-height:100svh;display:flex}.sign-in-brand{background:linear-gradient(145deg, var(--accent) 0%, #a8411e 60%, #7a2e13 100%);display:none;position:relative;overflow:hidden}@media (width>=1024px){.sign-in-brand{padding:var(--space-12);flex-direction:column;flex-shrink:0;justify-content:center;width:50%;display:flex}}.sign-in-brand-blob-1{filter:blur(80px);pointer-events:none;background:#ffffff0f;border-radius:50%;width:400px;height:400px;position:absolute;top:-120px;right:-80px}.sign-in-brand-blob-2{filter:blur(100px);pointer-events:none;background:#a9b3881a;border-radius:50%;width:360px;height:360px;position:absolute;bottom:-100px;left:-60px}.sign-in-brand-logo{border-radius:var(--radius-md);width:48px;height:48px;margin-bottom:var(--space-8)}.sign-in-brand-heading{font-family:var(--font-display);font-size:var(--text-h1);color:#fbf8f3;font-weight:600;line-height:var(--lh-heading);margin-bottom:var(--space-3)}.sign-in-brand-tagline{font-size:var(--text-body);color:#fbf8f3b8;line-height:var(--lh-body)}.sign-in-form-panel{padding:var(--space-8) var(--space-6);background:var(--bg);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex;position:relative}.sign-in-theme-toggle{top:var(--space-4);right:var(--space-4);position:absolute}.sign-in-form-inner{gap:var(--space-6);flex-direction:column;width:100%;max-width:360px;display:flex}.sign-in-heading{font-family:var(--font-display);font-size:var(--text-h2);color:var(--ink);line-height:var(--lh-heading)}.sign-in-explainer{font-size:var(--text-caption);color:var(--ink-faint);line-height:var(--lh-body)}.auth-methods{align-items:stretch;gap:var(--space-3);flex-direction:column;width:100%;display:flex}.auth-methods-btn{width:100%}.auth-page-eye{color:var(--accent);font-size:2.5rem}.auth-page-heading{font-size:var(--text-h2);color:var(--ink);line-height:var(--lh-heading)}.auth-methods-divider{align-items:center;gap:var(--space-3);width:100%;color:var(--muted);font-size:var(--text-caption);display:flex}.auth-methods-divider:before,.auth-methods-divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-methods-form{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.auth-methods-label{font-size:var(--text-small);color:var(--ink);font-weight:500}.auth-methods-input{width:100%;height:44px;padding:0 var(--space-4);border-radius:var(--radius-md);border:1.5px solid var(--line);background:var(--surface);font-family:var(--font-body);font-size:var(--text-body);color:var(--ink);box-sizing:border-box;transition:border-color var(--duration-ui) var(--ease-out)}.auth-methods-input:focus{border-color:var(--accent);outline:none}.auth-methods-input:disabled{opacity:.5;cursor:not-allowed}.auth-methods-error{font-size:var(--text-small);color:var(--accent);text-align:center}.auth-methods-switch{font-size:var(--text-small);color:var(--ink-soft);text-align:center}.auth-methods-switch a{color:var(--accent);font-weight:500;text-decoration:none}.auth-methods-switch a:hover{text-decoration:underline}.welcome-root{background:var(--bg);flex-direction:column;min-height:100svh;display:flex;position:relative}.welcome-header{z-index:1;padding:var(--space-6) var(--space-6);position:absolute;top:0;left:0}.welcome-brand-link{color:var(--ink);align-items:center;text-decoration:none;display:flex}.welcome-brand-link:hover{color:var(--ink);text-decoration:none}.welcome-brand-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius-md)}.welcome-logo{border-radius:var(--radius-md);width:36px;height:36px}.welcome-wordmark{font-family:var(--font-wordmark);font-size:var(--text-h3);color:var(--ink);margin-left:var(--space-3);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.welcome-main{min-height:100svh;padding:var(--space-12) var(--space-6);justify-content:center;align-items:center;gap:var(--space-6);flex-direction:column;flex:1;width:100%;max-width:1024px;margin:0 auto;display:flex}@media (width<=719px){.welcome-main{padding-top:calc(var(--space-12) + var(--space-8));justify-content:flex-start}}.welcome-kicker{font-family:var(--font-display);font-size:var(--text-small);color:var(--accent);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:600}.welcome-heading{font-size:var(--text-h1);text-align:center}.welcome-sub{font-size:var(--text-small);color:var(--ink-soft);text-align:center;max-width:560px;line-height:var(--lh-body)}.welcome-demo-grid{gap:var(--space-5);grid-template-columns:1fr;width:100%;max-width:960px;display:grid}@media (width>=720px){.welcome-demo-grid{grid-template-columns:repeat(3,1fr)}}.welcome-demo-card{gap:var(--space-4);min-height:224px;padding:var(--space-6);border:1.5px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.welcome-demo-icon{border-radius:var(--radius-md);background:var(--surface-sunk);width:40px;height:40px;color:var(--accent);justify-content:center;align-items:center;display:flex}.welcome-demo-title{font-family:var(--font-display);font-size:var(--text-h3);color:var(--ink);font-weight:600;line-height:var(--lh-heading)}.welcome-demo-body{font-size:var(--text-body);color:var(--ink-soft);line-height:var(--lh-body)}.welcome-demo-note{text-align:center;max-width:420px;font-size:var(--text-small);color:var(--ink-faint);line-height:var(--lh-body)}.persona-grid{gap:var(--space-4);grid-template-columns:1fr;width:100%;display:grid}@media (width>=560px){.persona-grid{grid-template-columns:repeat(3,1fr)}}.persona-grid-welcome{max-width:640px}.persona-card{cursor:pointer;transition:box-shadow var(--duration-ui) var(--ease-out);gap:var(--space-2);flex-direction:column;display:flex}.persona-card:hover{box-shadow:var(--shadow-md)}.persona-card-name{font-family:var(--font-display);font-size:var(--text-h3);font-weight:600}.persona-card-archetype{font-size:var(--text-small);color:var(--ink-soft);font-weight:500}.card-selected .persona-card-archetype{color:var(--ink-soft)}.persona-card-tone{font-size:var(--text-caption);color:var(--ink-soft);line-height:var(--lh-body)}.card-selected .persona-card-tone{color:var(--ink-soft)}.welcome-continue-btn{min-width:240px;height:52px;font-size:var(--text-body)}.welcome-finished-main{text-align:center;justify-content:center}.welcome-finished-icon{justify-content:center;align-items:center;display:flex}.auth-callback-root{background:var(--bg);justify-content:center;align-items:center;min-height:100svh;display:flex}.auth-callback-spinner{align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:var(--radius-pill);width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{border-color:var(--accent);animation:none}}.auth-callback-message{font-size:var(--text-body);color:var(--ink-soft)}.not-found-root{justify-content:center;align-items:center;gap:var(--space-4);background:var(--bg);text-align:center;min-height:100svh;padding:var(--space-8);flex-direction:column;display:flex}.not-found-eye{color:var(--muted);font-size:3rem}.not-found-heading{font-size:var(--text-display);color:var(--ink)}.not-found-sub{font-size:var(--text-body);color:var(--ink-soft)}.page-header{margin-bottom:var(--space-6);gap:var(--space-2);flex-direction:column;display:flex}.page-subtitle{font-family:var(--font-display);font-size:var(--text-small);color:var(--ink-soft)}.page-not-found{color:var(--ink-soft);font-style:italic}.empty-state{align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-4);color:var(--ink-soft);text-align:center;flex-direction:column;display:flex}.empty-state-icon{color:var(--muted);font-size:2.5rem}.empty-state-card{align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-8);text-align:center;flex-direction:column;display:flex}.empty-state-icon-wrap{background:var(--surface-sunk);width:64px;height:64px;margin-bottom:var(--space-2);border-radius:50%;justify-content:center;align-items:center;display:flex}.empty-state-heading{font-family:var(--font-display);font-size:var(--text-h3);color:var(--ink);font-weight:600}.empty-state-body{font-size:var(--text-small);color:var(--ink-soft);line-height:var(--lh-body);max-width:380px}.home-idle{align-items:center;gap:var(--space-4);padding:var(--space-12) 0;text-align:center;flex-direction:column;display:flex}.home-idle-eye{color:var(--accent);font-size:3rem}.home-idle-heading{font-size:var(--text-h2)}.home-idle-sub{max-width:360px;color:var(--ink-soft);font-size:var(--text-small)}.home-active{gap:var(--space-4);flex-direction:column;display:flex}.dev-toggle{margin-bottom:var(--space-4)}.dev-toggle-btn{font-size:var(--text-caption);color:var(--muted);border:1px dashed var(--muted);border-radius:var(--radius-sm);padding:2px var(--space-3);cursor:pointer;background:0 0}.commitment-list{gap:var(--space-4);flex-direction:column;list-style:none;display:flex}.commitment-card{cursor:pointer;transition:box-shadow var(--duration-ui) var(--ease-out);gap:var(--space-3);flex-direction:column;display:flex}.commitment-card:hover{box-shadow:var(--shadow-md)}.commitment-card-header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.commitment-card-action{font-family:var(--font-display);font-size:var(--text-h3);color:var(--ink);font-weight:600}.commitment-card-deliverable{font-size:var(--text-small);color:var(--ink-soft);line-height:var(--lh-body)}.commitment-card-meta{gap:var(--space-2);flex-wrap:wrap;display:flex}.detail-two-col{gap:var(--space-6);grid-template-columns:1fr;align-items:start;display:grid}@media (width>=900px){.detail-two-col{grid-template-columns:1fr 200px}}.detail-content{gap:var(--space-2);flex-direction:column;display:flex}.detail-index-col{display:none}@media (width>=900px){.detail-index-col{top:calc(var(--topbar-h) + var(--space-6));display:block;position:sticky}}.on-this-page{gap:var(--space-3);flex-direction:column;display:flex}.on-this-page-heading{font-size:var(--text-caption);color:var(--ink-faint);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:600}.on-this-page-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.on-this-page-link{text-align:left;width:100%;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-small);color:var(--ink-soft);cursor:pointer;transition:background var(--duration-ui) var(--ease-out), color var(--duration-ui) var(--ease-out);background:0 0;border:none;display:block}.on-this-page-link:hover{background:var(--surface-sunk);color:var(--ink)}.on-this-page-link-active{color:var(--accent-press);background:var(--accent-tint);font-weight:600}.detail-section{gap:var(--space-3);padding-top:var(--space-4);flex-direction:column;display:flex}.detail-section-heading{align-items:center;gap:var(--space-1);font-family:var(--font-display);font-size:var(--text-body);color:var(--ink-soft);font-weight:600;display:flex}.detail-fields-note{font-size:var(--text-small);color:var(--ink-faint);margin-top:var(--space-2)}.detail-overview-card{gap:var(--space-4);flex-direction:column;display:flex}.detail-overview-note{font-size:var(--text-small);color:var(--ink-faint);padding:var(--space-3) var(--space-4);background:var(--surface-sunk);border-radius:var(--radius-md);font-style:italic}.detail-overview-stats{gap:var(--space-6);display:flex}.detail-overview-stat{flex-direction:column;gap:2px;display:flex}.detail-overview-stat-number{font-family:var(--font-display);font-size:var(--text-h2);color:var(--accent);font-weight:700;line-height:1}.detail-overview-stat-label{font-size:var(--text-caption);color:var(--ink-soft);letter-spacing:.04em}.detail-overview-last-verdict{font-size:var(--text-small);color:var(--ink-soft)}.detail-overview-empty{font-size:var(--text-small);color:var(--ink-faint);font-style:italic}.detail-timeline-empty{font-size:var(--text-small);color:var(--ink-faint);padding:var(--space-4) 0}.detail-card{gap:var(--space-4);flex-direction:column;display:flex}.detail-card-note{font-size:var(--text-small);color:var(--ink-soft);padding:var(--space-3) var(--space-4);background:var(--surface-sunk);border-radius:var(--radius-md)}.detail-fields{flex-direction:column;gap:0;display:flex}.detail-field{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--line);display:flex}.detail-field:last-child{border-bottom:none}.detail-field-label{font-size:var(--text-small);color:var(--ink-soft);align-items:center;gap:var(--space-1);flex-shrink:0;font-weight:500;display:flex}.detail-field-value{font-size:var(--text-small);color:var(--ink);text-align:right}.timeline-container{flex-direction:column;gap:0;display:flex;position:relative}.timeline-container:before{content:"";background:var(--line);border-radius:1px;width:2px;position:absolute;top:0;bottom:0;left:12px}.timeline-event{gap:var(--space-4);padding:var(--space-4) 0;display:flex;position:relative}.timeline-dot{border-radius:var(--radius-pill);z-index:1;border:2px solid var(--bg);flex-shrink:0;width:24px;height:24px;margin-top:2px}.timeline-dot-checkin{background:var(--accent)}.timeline-dot-evidence{background:var(--sage)}.timeline-dot-proposal{background:var(--surface-sunk);border-color:var(--line)}.timeline-event-body{gap:var(--space-2);flex-direction:column;flex:1;display:flex}.timeline-event-header{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.timeline-event-time{font-size:var(--text-caption);color:var(--muted);margin-left:auto}.timeline-event-message{font-family:var(--font-voice);font-size:var(--text-small);color:var(--ink-soft);line-height:var(--lh-body);font-style:italic}.proposal-actions{gap:var(--space-2);margin-top:var(--space-2);display:flex}.proposal-btn{font-size:var(--text-caption);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--surface-sunk);border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;opacity:.6;min-height:32px;font-weight:600}.proposal-btn-dismiss{color:var(--muted)}.page-header-row{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.page-header-actions{align-items:center;gap:var(--space-3);flex-shrink:0;padding-top:4px;display:flex}.timeline-check-now{font-size:var(--text-small);padding:var(--space-2) var(--space-4)}.timeline-check-error{font-size:var(--text-small);color:var(--ink-soft);margin-top:var(--space-2)}.timeline-loading{font-size:var(--text-small);color:var(--muted);padding:var(--space-4) 0}.timeline-live-dot{border-radius:var(--radius-pill);background:var(--sage);flex-shrink:0;width:8px;height:8px;display:inline-block}.momentum-strip{align-items:center;gap:var(--space-4);padding:var(--space-4) 0;margin-bottom:var(--space-4);display:flex}.momentum-dots{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.momentum-dot{border-radius:var(--radius-pill);flex-shrink:0;width:14px;height:14px}.momentum-dot.is-pass{background:var(--accent)}.momentum-dot.is-neutral{border:2px solid var(--muted);background:0 0}.momentum-count{font-size:var(--text-caption);color:var(--ink-soft);white-space:nowrap}.momentum-empty{font-size:var(--text-small);color:var(--muted);font-style:italic}.timeline-beat{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);border:1px solid var(--line);display:flex}.timeline-beat-celebrate{background:color-mix(in srgb, var(--sage) 18%, var(--surface))}.timeline-beat-neutral{background:var(--surface)}.timeline-beat-message{font-family:var(--font-voice);font-size:var(--text-small);color:var(--ink);font-style:italic;line-height:var(--lh-body);flex:1;margin:0}.timeline-beat-dismiss{cursor:pointer;color:var(--muted);font-size:var(--text-body);background:0 0;border:none;flex-shrink:0;padding:0;line-height:1}.habit-loop-close{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.habit-loop-beat{font-family:var(--font-voice);font-size:var(--text-body);color:var(--ink);font-style:italic;line-height:var(--lh-body);margin:0}.habit-loop-debrief{gap:var(--space-2);flex-direction:column;display:flex}.habit-loop-debrief-label{font-size:var(--text-small);color:var(--ink-soft);font-weight:600}.habit-loop-debrief-input{font-family:var(--font-body);font-size:var(--text-small);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3);resize:vertical;line-height:var(--lh-body)}.habit-loop-debrief-input:focus{outline:2px solid var(--accent);outline-offset:2px}.habit-loop-debrief-save{font-size:var(--text-small);color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-4);cursor:pointer;background:0 0;align-self:flex-start;font-weight:600}.habit-loop-debrief-save:disabled{opacity:.4;cursor:default}.habit-loop-debrief-hint{font-size:var(--text-caption);color:var(--muted)}.habit-loop-repeat{align-self:flex-start}.settings-section{margin-bottom:var(--space-8);gap:var(--space-4);flex-direction:column;display:flex}.settings-section-title{font-size:var(--text-small);color:var(--ink-soft);letter-spacing:var(--tracking-label);font-weight:600;font-family:var(--font-body);text-transform:none}.balance-row{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.balance-label{font-size:var(--text-small);color:var(--ink-soft)}.balance-value{font-family:var(--font-display);font-size:var(--text-h2);color:var(--ink);font-weight:600}.balance-note{font-size:var(--text-caption);color:var(--muted)}.toggle-row{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.toggle-label{font-size:var(--text-body);color:var(--ink);font-weight:500}.toggle-sub{font-size:var(--text-caption);color:var(--ink-soft);margin-top:2px}.toggle-btn{border-radius:var(--radius-pill);background:var(--surface-sunk);border:1.5px solid var(--line);cursor:pointer;width:52px;height:30px;transition:background var(--duration-ui) var(--ease-out);flex-shrink:0;position:relative}.toggle-btn-on{background:var(--accent);border-color:var(--accent)}.toggle-knob{border-radius:var(--radius-pill);background:var(--surface);width:20px;height:20px;transition:transform var(--duration-ui) var(--ease-out);position:absolute;top:3px;left:3px}.toggle-btn-on .toggle-knob{transform:translate(22px)}.settings-danger{padding-top:var(--space-4);border-top:1.5px solid var(--line)}.audit-table-wrapper{overflow-x:auto}.audit-table{border-collapse:collapse;width:100%;font-size:var(--text-small)}.audit-table th{text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--text-caption);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;border-bottom:1.5px solid var(--line);white-space:nowrap;font-weight:600}.audit-table td{padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--line);color:var(--ink);vertical-align:middle}.audit-value-old{color:var(--muted);text-decoration:line-through}.audit-time{font-size:var(--text-caption);color:var(--ink-soft);white-space:nowrap}.home-loading{padding:var(--space-12) var(--space-4);flex:1;justify-content:center;align-items:center;display:flex}.home-loading-text{font-size:var(--text-small);color:var(--muted)}.page-header-card{margin-bottom:var(--space-6);padding:var(--space-12) var(--space-8);border-radius:var(--radius-card);background:linear-gradient(135deg, var(--surface) 0%, var(--accent-tint) 100%);border:1px solid var(--line);min-height:120px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.page-header-card:before{content:"";background:var(--accent);opacity:.06;pointer-events:none;filter:blur(48px);border-radius:50%;width:140px;height:140px;position:absolute;top:-40px;right:-40px}.page-header-card-image{z-index:0;object-fit:contain;opacity:.9;pointer-events:none;width:clamp(112px,16vw,176px);height:clamp(112px,16vw,176px);position:absolute;top:50%;right:clamp(12px,3vw,40px);transform:translateY(-50%)}.page-header-card-body{z-index:1;justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex;position:relative}.page-header-card-text{gap:var(--space-1);flex-direction:column;display:flex}.page-header-card-with-image .page-header-card-text{max-width:min(56%,520px)}.page-header-card-title{font-family:var(--font-display);font-size:var(--text-h2);color:var(--ink);font-weight:600;line-height:var(--lh-heading)}.page-header-card-sub{font-family:var(--font-display);font-size:var(--text-body);color:var(--ink-soft);line-height:var(--lh-body)}.page-header-card-actions{z-index:2;align-items:center;gap:var(--space-3);flex-shrink:0;display:flex;position:relative}@media (width<=720px){.page-header-card{padding-right:var(--space-6)}.page-header-card-image{right:var(--space-2);opacity:.72;width:120px;height:120px}.page-header-card-body{flex-direction:column}.page-header-card-with-image .page-header-card-text{max-width:72%}}.faq-filters-legend,.commitments-filter-legend{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.faq-filters,.commitments-filter-row{border:none;margin:0;padding:0}.faq-controls{gap:var(--space-3);margin-bottom:var(--space-6);flex-direction:column;display:flex}.faq-search{width:100%;height:44px;padding:0 var(--space-4);border-radius:var(--radius-md);border:1.5px solid var(--line);background:var(--surface-2);color:var(--ink);font-family:var(--font-body);font-size:var(--text-body);box-sizing:border-box;transition:border-color var(--duration-ui) var(--ease-out)}.faq-search:focus{border-color:var(--accent);outline:none}.faq-search::placeholder{color:var(--ink-faint)}.faq-filters{gap:var(--space-2);flex-wrap:wrap;display:flex}.faq-filter-chip{height:32px;padding:0 var(--space-4);border-radius:var(--radius-pill);border:1.5px solid var(--line);background:var(--surface);color:var(--ink-soft);font-family:var(--font-body);font-size:var(--text-small);cursor:pointer;transition:background var(--duration-ui) var(--ease-out), color var(--duration-ui) var(--ease-out), border-color var(--duration-ui) var(--ease-out);align-items:center;font-weight:500;display:inline-flex}.faq-filter-chip:hover{background:var(--surface-sunk);color:var(--ink)}.faq-filter-chip-active{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-press)}.faq-filter-chip-active:hover{background:var(--accent-tint);color:var(--accent-press)}.faq-empty{font-size:var(--text-small);color:var(--ink-faint);padding:var(--space-8) 0;text-align:center}.faq-list{flex-direction:column;gap:0;display:flex}.faq-item{border-bottom:1px solid var(--line)}.faq-item:first-child{border-top:1px solid var(--line)}.faq-question{font-family:var(--font-body);font-size:var(--text-body);color:var(--ink);padding:var(--space-4) 0;cursor:pointer;justify-content:space-between;align-items:center;gap:var(--space-3);-webkit-user-select:none;user-select:none;font-weight:600;line-height:var(--lh-body);list-style:none;display:flex}.faq-question::-webkit-details-marker{display:none}.faq-question:after{content:"+";font-size:var(--text-h3);color:var(--ink-faint);transition:transform var(--duration-ui) var(--ease-out);flex-shrink:0;font-weight:300}.faq-item[open] .faq-question:after{content:"+";transform:rotate(45deg)}@media (prefers-reduced-motion:reduce){.faq-question:after{transition:none}}.faq-answer{font-size:var(--text-small);color:var(--ink-soft);line-height:var(--lh-body);padding:0 0 var(--space-4);max-width:640px}.faq-pagination{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);display:flex}.faq-page-node{border-radius:var(--radius-pill);border:1.5px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--ink-soft);font-family:var(--font-body);font-size:var(--text-small);cursor:pointer;transition:background var(--duration-ui) var(--ease-out), border-color var(--duration-ui) var(--ease-out), color var(--duration-ui) var(--ease-out), transform var(--duration-ui) var(--ease-out);font-weight:700}.faq-page-node:hover{background:var(--surface-sunk);color:var(--ink);transform:translateY(-1px)}.faq-page-node-active,.faq-page-node-active:hover{background:var(--accent);border-color:var(--accent);color:var(--surface-2)}@media (prefers-reduced-motion:reduce){.faq-page-node{transition:none}.faq-page-node:hover{transform:none}}.privacy-page{gap:var(--space-5);flex-direction:column;display:flex}.privacy-grid{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=860px){.privacy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.privacy-card{padding:var(--space-5)}.privacy-card h3{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:var(--text-h3);color:var(--ink)}.privacy-card p{color:var(--ink-soft);font-size:var(--text-small);line-height:var(--lh-body);margin:0}.privacy-card p+p{margin-top:var(--space-3)}.privacy-note{color:var(--ink-faint);font-style:italic}.privacy-principles-list{margin:var(--space-3) 0 0;padding-left:var(--space-5);color:var(--ink-soft);font-size:var(--text-small);line-height:var(--lh-body)}.privacy-principles-list li+li{margin-top:var(--space-2)}.privacy-reference-links{gap:var(--space-2);flex-wrap:wrap;display:flex}.privacy-reference-links a{min-height:34px;padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--line);color:var(--ink-soft);font-size:var(--text-small);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.privacy-reference-links a:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.home-bento-v5{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=900px){.home-bento-v5{min-height:calc(100svh - var(--topbar-h) - 2 * var(--space-8) - 200px);grid-template-rows:1fr;grid-template-columns:1fr 364px;align-items:stretch}}.home-left-col{gap:var(--space-4);grid-template-rows:1fr 1fr;display:grid}.home-left-bottom-row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.home-card-commitment{gap:var(--space-2);cursor:pointer;height:100%;transition:box-shadow var(--duration-ui) var(--ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.home-card-commitment:hover{box-shadow:var(--shadow-md)}.home-card-commitment:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-small-cards-row{gap:var(--space-4);grid-template-columns:1fr 1fr;height:100%;display:grid}.home-card-small{gap:var(--space-2);cursor:pointer;height:100%;min-height:120px;transition:box-shadow var(--duration-ui) var(--ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.home-card-small:hover{box-shadow:var(--shadow-md)}.home-card-small:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-right-rail-v5{flex-direction:column;height:100%;display:flex}.home-rail-card-v5{gap:var(--space-3);flex-direction:column;height:100%;min-height:240px;display:flex;position:relative;overflow:hidden}.home-card-copy{z-index:1;gap:var(--space-2);flex-direction:column;max-width:min(50%,360px);display:flex;position:relative}.home-rail-copy{max-width:none;padding-bottom:min(60%,176px)}.home-card-illustration{right:var(--space-3);bottom:var(--space-3);z-index:0;aspect-ratio:1;object-fit:contain;pointer-events:none;width:min(44%,196px);position:absolute}.home-card-illustration-wide{right:var(--space-4);bottom:var(--space-4);width:min(34%,280px)}.home-rail-illustration{right:var(--space-2);bottom:var(--space-4);opacity:.9;width:min(72%,184px)}@media (width<=720px){.home-left-bottom-row{grid-template-columns:1fr}.home-card-copy{max-width:min(58%,360px)}}.home-rail-heading-v5{font-family:var(--font-display);font-size:var(--text-body);color:var(--ink);font-weight:600}.home-recent-list-v5{gap:var(--space-2);flex-direction:column;flex:1;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.home-recent-empty{font-size:var(--text-body);color:var(--ink-faint);line-height:var(--lh-body)}.home-widget-icon{border-radius:var(--radius-md);background:var(--surface-sunk);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.home-widget-label{font-family:var(--font-display);font-size:var(--text-small);color:var(--ink);font-weight:600}.home-widget-sub{font-size:var(--text-body);color:var(--ink-soft);line-height:var(--lh-body)}.home-widget-sentence{font-size:var(--text-small);color:var(--ink);line-height:var(--lh-body);flex:1}.home-widget-deliverable{color:var(--accent)}.home-widget-meta{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.home-widget-stat{align-items:baseline;gap:var(--space-1);margin-top:auto;display:flex}.home-widget-stat-number{font-family:var(--font-display);font-size:var(--text-h2);color:var(--accent);font-weight:700;line-height:1}.home-widget-stat-label{font-size:var(--text-caption);color:var(--ink-soft);letter-spacing:var(--tracking-label)}.home-recent-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.home-recent-item{display:flex}.home-recent-btn{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px)saturate(1.08);backdrop-filter:blur(12px)saturate(1.08);cursor:pointer;text-align:left;font-family:var(--font-body);transition:background var(--duration-ui) var(--ease-out), border-color var(--duration-ui) var(--ease-out), box-shadow var(--duration-ui) var(--ease-out);background:#fff8ed94;border:1px solid #dbc4a894;display:flex;box-shadow:inset 0 1px #ffffff80}.home-recent-btn:hover{border-color:var(--line);box-shadow:inset 0 1px 0 #ffffffa6, var(--shadow-sm);background:#fff8edc7}.home-recent-action{font-size:var(--text-body);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:500;overflow:hidden}.ws-modal-backdrop{z-index:80;-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop);padding:var(--space-4);animation:fade-in var(--duration-ui) var(--ease-out) both;background:#3a2a1e80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.ws-modal-backdrop{animation:none}}.ws-modal-panel{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:480px;max-height:80vh;animation:modal-in var(--duration-panel) var(--ease-out) both;outline:none;flex-direction:column;display:flex;overflow-y:auto}@keyframes modal-in{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (prefers-reduced-motion:reduce){.ws-modal-panel{animation:none}}.ws-modal-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.ws-modal-title{font-family:var(--font-display);font-size:var(--text-h3);color:var(--ink);font-weight:600}.ws-modal-close{border-radius:var(--radius-md);width:36px;height:36px;color:var(--ink-soft);cursor:pointer;transition:background var(--duration-ui) var(--ease-out), color var(--duration-ui) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.ws-modal-close:hover{background:var(--surface-sunk);color:var(--ink)}.ws-modal-empty{align-items:center;gap:var(--space-4);padding:var(--space-8) var(--space-6);text-align:center;flex-direction:column;display:flex}.ws-modal-empty-text{font-size:var(--text-small);color:var(--ink-soft)}.ws-modal-list{padding:var(--space-2);flex-direction:column;gap:2px;margin:0;list-style:none;display:flex}.ws-modal-item{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);cursor:pointer;text-align:left;font-family:var(--font-body);transition:background var(--duration-ui) var(--ease-out);background:0 0;border:none;display:flex}.ws-modal-item:hover{background:var(--surface-sunk)}.ws-modal-item-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ws-modal-item-action{font-size:var(--text-small);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.ws-modal-item-deliverable{font-size:var(--text-caption);color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.home-bento{gap:var(--space-4);flex-direction:column;display:flex}.home-hero-card{gap:var(--space-4);background:linear-gradient(135deg, var(--surface) 0%, var(--accent-tint) 100%);flex-direction:column;display:flex}.home-hero-body{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.home-hero-text{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.home-hero-label{font-size:var(--text-caption);color:var(--ink-soft);letter-spacing:.04em;font-weight:600}.home-hero-sentence{font-family:var(--font-display);font-size:var(--text-h3);color:var(--ink);line-height:var(--lh-body)}.home-hero-deliverable{color:var(--accent)}.home-hero-meta{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.home-hero-stat{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;display:flex}.home-hero-stat-number{font-family:var(--font-display);font-size:var(--text-display);color:var(--accent);font-weight:700;line-height:1}.home-hero-stat-label{font-size:var(--text-caption);color:var(--ink-soft);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:600}.home-hero-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.home-quick-access{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=560px){.home-quick-access{grid-template-columns:repeat(4,1fr)}}.home-quick-card{cursor:pointer;gap:var(--space-2);transition:box-shadow var(--duration-ui) var(--ease-out);flex-direction:column;display:flex}.home-quick-card:hover{box-shadow:var(--shadow-md)}.home-quick-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-quick-label{font-family:var(--font-display);font-size:var(--text-small);color:var(--ink);font-weight:600}.home-quick-sub{font-size:var(--text-caption);color:var(--ink-soft)}.home-activity-card{gap:var(--space-3);cursor:pointer;flex-direction:column;display:flex}.home-activity-label{font-size:var(--text-caption);color:var(--ink-soft);letter-spacing:.04em;font-weight:600}.home-activity-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.home-activity-item{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--line);display:flex}.home-activity-item:last-child{border-bottom:none}.home-activity-dot{border-radius:var(--radius-pill);flex-shrink:0;width:10px;height:10px}.home-activity-dot-checkin{background:var(--accent)}.home-activity-dot-evidence{background:var(--sage)}.home-activity-text{font-size:var(--text-small);color:var(--ink);flex:1}.home-activity-time{font-size:var(--text-caption);color:var(--ink-faint);white-space:nowrap}.home-stats-row{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=560px){.home-stats-row{grid-template-columns:repeat(4,1fr)}}.home-stat-card{gap:var(--space-1);flex-direction:column;display:flex}.home-stat-number{font-family:var(--font-display);font-size:var(--text-h1);color:var(--accent);font-weight:700;line-height:1}.home-stat-label{font-size:var(--text-caption);color:var(--ink-soft);letter-spacing:.04em;font-weight:600}.home-lower-row{gap:var(--space-3);grid-template-columns:1fr;display:grid}@media (width>=769px){.home-lower-row{grid-template-columns:1fr 220px;align-items:start}}.home-companion-card{align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;display:flex}.home-companion-avatar{background:var(--accent-tint);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.home-companion-text{gap:var(--space-1);flex-direction:column;display:flex}.home-companion-name{font-family:var(--font-display);font-size:var(--text-h3);color:var(--ink);font-weight:600}.home-companion-archetype{font-size:var(--text-caption);color:var(--ink-soft)}.home-companion-change{font-size:var(--text-caption);color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);cursor:pointer;font-weight:500;font-family:var(--font-body);transition:background var(--duration-ui) var(--ease-out);background:0 0}.home-companion-change:hover{background:var(--accent-tint)}.home-activity-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.home-activity-link{align-items:center;gap:var(--space-1);font-size:var(--text-caption);color:var(--accent);font-weight:500;display:flex}.home-activity-kind{color:var(--ink-faint);font-style:italic}.home-balance-card{padding:var(--space-4) var(--space-6)}.home-balance-body{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.home-balance-left{align-items:center;gap:var(--space-2);display:flex}.home-balance-label{font-size:var(--text-small);color:var(--ink-soft)}.home-balance-value{font-family:var(--font-display);font-size:var(--text-h2);color:var(--ink);font-weight:600}.commitments-stats-row{gap:var(--space-3);margin-bottom:var(--space-6);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=560px){.commitments-stats-row{grid-template-columns:repeat(4,1fr)}}.commitments-stat-card{gap:var(--space-1);flex-direction:column;display:flex}.commitments-stat-number{font-family:var(--font-display);font-size:var(--text-h1);color:var(--accent);font-weight:700;line-height:1}.commitments-stat-label{font-size:var(--text-caption);color:var(--ink-soft);letter-spacing:.04em;font-weight:600}.commitments-dashboard-body{gap:var(--space-6);grid-template-columns:1fr;display:grid}@media (width>=900px){.commitments-dashboard-body{grid-template-columns:1fr 286px;align-items:start}}.commitments-main{gap:var(--space-4);padding:var(--space-6);flex-direction:column;display:flex}.pipeline-rail{gap:var(--space-3);flex-direction:column;display:flex}.pipeline-rail-heading{font-size:var(--text-caption);color:var(--ink-soft);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:600}.pipeline-rail-steps{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.pipeline-rail-step{gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line);display:flex}.pipeline-rail-step:last-child{border-bottom:none}.pipeline-rail-dot{background:var(--accent-tint);width:24px;height:24px;color:var(--accent-press);font-size:var(--text-caption);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;font-weight:700;display:flex}.pipeline-rail-text{flex-direction:column;gap:2px;display:flex}.pipeline-rail-label{font-size:var(--text-small);color:var(--ink);font-weight:600}.pipeline-rail-desc{font-size:var(--text-caption);color:var(--ink-soft);line-height:var(--lh-body)}.commitments-selection-toolbar{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--accent-tint);border:1px solid var(--accent);border-radius:var(--radius-md);display:flex}.commitments-selection-count{font-size:var(--text-small);color:var(--accent-press);flex:1;font-weight:600}.commitments-selection-action{min-width:0;height:32px;padding:0 var(--space-4);font-size:var(--text-small)}.commitments-confirm-overlay{z-index:90;-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop);padding:var(--space-4);background:#3a2a1e80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.commitments-confirm-panel{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-6);gap:var(--space-4);flex-direction:column;width:100%;max-width:420px;display:flex}.commitments-confirm-heading{font-family:var(--font-display);font-size:var(--text-h3);color:var(--ink);font-weight:600}.commitments-confirm-body{font-size:var(--text-small);color:var(--ink-soft);line-height:var(--lh-body)}.commitments-confirm-actions{gap:var(--space-3);justify-content:flex-end;display:flex}.kawan-checkbox-label{align-items:center;gap:var(--space-2);cursor:pointer;justify-content:center;min-width:44px;min-height:44px;display:inline-flex}.kawan-checkbox{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.kawan-checkbox-box{border-radius:var(--radius-sm);border:1.5px solid var(--line-strong);background:var(--surface-2);width:16px;height:16px;transition:border-color var(--duration-ui) var(--ease-out), background var(--duration-ui) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.kawan-checkbox:checked+.kawan-checkbox-box{border-color:var(--accent);background:var(--accent)}.kawan-checkbox:checked+.kawan-checkbox-box:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:9px;height:5px;display:block;transform:rotate(-45deg)translateY(-1px)}.kawan-checkbox:focus-visible+.kawan-checkbox-box{outline:2px solid var(--accent);outline-offset:2px}.kawan-checkbox-text{font-size:var(--text-small);color:var(--ink);-webkit-user-select:none;user-select:none}.kawan-select{display:inline-block;position:relative}.kawan-select-disabled{opacity:.5;pointer-events:none}.kawan-select-trigger{align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-3);border-radius:var(--radius-md);border:1.5px solid var(--line);background:var(--surface-2);color:var(--ink);font-family:var(--font-body);font-size:var(--text-small);cursor:pointer;min-width:120px;transition:border-color var(--duration-ui) var(--ease-out), box-shadow var(--duration-ui) var(--ease-out);justify-content:space-between;display:inline-flex}.kawan-select-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kawan-select-open .kawan-select-trigger{border-color:var(--accent)}.kawan-select-value{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.kawan-select-chevron{color:var(--ink-faint);transition:transform var(--duration-ui) var(--ease-out);flex-shrink:0}.kawan-select-open .kawan-select-chevron{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.kawan-select-chevron{transition:none}}.kawan-select-list{min-width:100%;max-height:240px;padding:var(--space-1) 0;border-radius:var(--radius-md);border:1.5px solid var(--line);background:var(--surface-2);box-shadow:var(--shadow-lg);z-index:200;list-style:none;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.kawan-select-option{padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--text-small);color:var(--ink);cursor:pointer;transition:background var(--duration-ui) var(--ease-out)}.kawan-select-option:hover,.kawan-select-option-active{background:var(--surface-sunk)}.kawan-select-option-selected{color:var(--accent);font-weight:600}.kawan-select-option-selected.kawan-select-option-active{background:var(--accent-tint)}.companion-selector{gap:var(--space-2);flex-direction:column;display:flex}.companion-selector-row{align-items:flex-start;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1.5px solid var(--line);background:var(--surface);cursor:pointer;transition:border-color var(--duration-ui) var(--ease-out), background var(--duration-ui) var(--ease-out);display:flex}.companion-selector-row:hover{border-color:var(--line-strong);background:var(--surface-2)}.companion-selector-row-selected{border-color:var(--accent);background:var(--accent-tint)}.companion-selector-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.companion-selector-name{font-family:var(--font-display);font-size:var(--text-body);color:var(--ink);font-weight:600}.companion-selector-archetype{font-size:var(--text-small);color:var(--ink-soft)}.companion-selector-tone{font-size:var(--text-caption);color:var(--ink-faint);font-style:italic}.commitments-main-card{padding:0;overflow:hidden}.pipeline-rail-card{padding:var(--space-6)}.commitments-table-wrapper{overflow-x:auto}.commitments-table{border-collapse:collapse;width:100%;font-size:var(--text-small)}.commitments-table th{text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--text-caption);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;border-bottom:1.5px solid var(--line);white-space:nowrap;font-weight:600}.commitments-table td{padding:var(--space-3);border-bottom:1px solid var(--line);color:var(--ink);vertical-align:middle}.commitments-table-check-col{width:40px}.commitments-table-check-col .kawan-checkbox-label{justify-content:center;align-items:center;display:flex}.commitments-table-action{font-weight:600}.commitments-table-deliverable{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;max-width:220px;overflow:hidden}.commitments-table-view-btn{justify-content:center;align-items:center;gap:var(--space-1);min-height:24px;padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-caption);color:var(--accent-press);background:var(--accent-tint);cursor:pointer;font-weight:600;line-height:1.4;font-family:var(--font-body);transition:background var(--duration-ui) var(--ease-out), border-color var(--duration-ui) var(--ease-out);border:1px solid #0000;display:inline-flex}.commitments-table-view-btn:hover{background:var(--surface-sunk);border-color:var(--line)}.commitments-filter-row-wrap{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.commitments-filter-row-wrap .commitments-selection-toolbar{padding:var(--space-2) var(--space-3);flex-shrink:0}.commitments-filter-row{gap:var(--space-2);border:none;flex-wrap:wrap;margin:0;padding:0;display:flex}.commitments-filter-chip{height:32px;padding:0 var(--space-4);border-radius:var(--radius-pill);border:1.5px solid var(--line);background:var(--surface);color:var(--ink-soft);font-family:var(--font-body);font-size:var(--text-small);cursor:pointer;transition:background var(--duration-ui) var(--ease-out), color var(--duration-ui) var(--ease-out), border-color var(--duration-ui) var(--ease-out);align-items:center;font-weight:500;display:inline-flex}.commitments-filter-chip:hover{background:var(--surface-sunk);color:var(--ink)}.commitments-filter-chip-active{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-press)}.detail-actions{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.detail-status-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.detail-status-label{font-size:var(--text-caption);color:var(--ink-soft);letter-spacing:.04em;font-weight:600}.detail-status-strip{align-items:center;gap:var(--space-2);margin:var(--space-1) 0 var(--space-2);flex-wrap:wrap;display:flex}.detail-deadline-pill{min-height:26px;padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface) 78%, var(--surface-sunk));color:var(--ink-soft);font-size:var(--text-caption);align-items:center;font-weight:600;display:inline-flex}.detail-overview-card{gap:var(--space-5)}.detail-overview-copy{max-width:760px}.detail-overview-title{margin:0 0 var(--space-2);color:var(--ink);font-family:var(--font-display);font-size:var(--text-h3);font-weight:700;line-height:var(--lh-tight)}.detail-overview-note{color:var(--ink-soft);font-size:var(--text-body);font-style:normal;line-height:var(--lh-body);background:0 0;border-radius:0;margin:0;padding:0}.detail-overview-stats{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.detail-overview-stat{min-height:88px;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-sunk);justify-content:center}.detail-overview-meta{gap:var(--space-2) var(--space-4);color:var(--ink-soft);font-size:var(--text-small);flex-wrap:wrap;display:flex}.detail-next-step-card{gap:var(--space-4);border-color:color-mix(in srgb, var(--accent) 28%, var(--line));grid-template-columns:1fr;align-items:center;display:grid}@media (width>=680px){.detail-next-step-card{grid-template-columns:1fr auto}}.detail-next-step-card-good{background:color-mix(in srgb, var(--sage-tint) 52%, var(--surface));border-color:color-mix(in srgb, var(--sage) 30%, var(--line))}.detail-next-step-card-warning{background:color-mix(in srgb, var(--accent-tint) 55%, var(--surface));border-color:color-mix(in srgb, var(--accent) 36%, var(--line))}.detail-next-step-card-danger{background:color-mix(in srgb, var(--danger) 10%, var(--surface));border-color:color-mix(in srgb, var(--danger) 35%, var(--line))}.detail-next-step-content{gap:var(--space-1);flex-direction:column;display:flex}.detail-next-step-eyebrow{color:var(--accent-press);font-size:var(--text-caption);letter-spacing:var(--tracking-label);text-transform:uppercase;margin:0;font-weight:700}.detail-next-step-title{color:var(--ink);font-family:var(--font-display);font-size:var(--text-h3);line-height:var(--lh-tight);margin:0}.detail-next-step-body{max-width:640px;color:var(--ink-soft);font-size:var(--text-body);line-height:var(--lh-body);margin:0}.detail-progress-card{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=700px){.detail-progress-card{grid-template-columns:repeat(4,minmax(0,1fr))}}.detail-progress-item{justify-content:center;gap:var(--space-1);min-height:92px;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-sunk);flex-direction:column;display:flex}.detail-progress-item-wide{grid-column:span 2}.detail-progress-value{color:var(--accent);font-family:var(--font-display);font-size:var(--text-h3);font-weight:700;line-height:var(--lh-tight)}.detail-progress-label{color:var(--ink-soft);font-size:var(--text-caption);font-weight:600}.detail-progress-reasoning{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 70%, var(--surface-sunk));color:var(--ink-soft);font-size:var(--text-small);line-height:var(--lh-body);grid-column:1/-1;margin:0}.detail-danger-card{justify-content:space-between;align-items:center;gap:var(--space-4);border-color:color-mix(in srgb, var(--danger) 28%, var(--line));flex-wrap:wrap;display:flex}.detail-danger-copy{align-items:flex-start;gap:var(--space-3);color:var(--danger);display:flex}.detail-danger-title{margin:0 0 var(--space-1);color:var(--ink);font-weight:700}.detail-danger-body{color:var(--ink-soft);font-size:var(--text-small);margin:0}@media (width<=560px){.detail-overview-stats,.detail-progress-card{grid-template-columns:1fr}.detail-progress-item-wide{grid-column:auto}}.analytics-panel{gap:var(--space-4);margin-bottom:var(--space-6);flex-direction:column;display:flex}.analytics-stat-row{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=560px){.analytics-stat-row{grid-template-columns:repeat(4,1fr)}}.analytics-stat-card{gap:var(--space-1);flex-direction:column;display:flex}.analytics-stat-number{font-family:var(--font-display);font-size:var(--text-h1);color:var(--accent);font-weight:700;line-height:1}.analytics-stat-label{font-size:var(--text-caption);color:var(--ink-soft);letter-spacing:.04em;font-weight:600}.analytics-charts-row{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=560px){.analytics-charts-row{grid-template-columns:1fr 1fr}}.analytics-chart-card{gap:var(--space-3);flex-direction:column;display:flex}.analytics-chart-title{align-items:center;gap:var(--space-1);font-size:var(--text-small);color:var(--ink-soft);align-self:flex-start;font-weight:600;display:inline-flex}.analytics-empty{padding:var(--space-8) var(--space-4);justify-content:center;align-items:center;display:flex}.analytics-empty-text{font-size:var(--text-small);color:var(--ink-faint);text-align:center;font-style:italic}.analytics-legend{gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.analytics-legend-item{align-items:center;gap:var(--space-1);font-size:var(--text-caption);color:var(--ink-soft);display:flex}.analytics-legend-dot{border-radius:var(--radius-pill);flex-shrink:0;width:10px;height:10px}.page-placeholder-body{font-size:var(--text-body);color:var(--ink-soft);padding:var(--space-6) 0}.kawan-datepicker{display:inline-block;position:relative}.kawan-datepicker-trigger{align-items:center;gap:var(--space-2);height:44px;padding:0 var(--space-4);border-radius:var(--radius-md);border:2px dashed var(--line);background:var(--surface-2);color:var(--ink);font-family:var(--font-body);font-size:var(--text-body);cursor:pointer;min-width:200px;transition:border-color var(--duration-ui) var(--ease-out), box-shadow var(--duration-ui) var(--ease-out);justify-content:space-between;display:inline-flex}.kawan-datepicker-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kawan-datepicker-open .kawan-datepicker-trigger{border-color:var(--accent);border-style:solid}.kawan-datepicker-disabled .kawan-datepicker-trigger{opacity:.72;cursor:not-allowed}.kawan-datepicker-value{text-align:left;white-space:nowrap;text-overflow:ellipsis;color:var(--ink);flex:1;overflow:hidden}.kawan-datepicker-trigger:not(.kawan-datepicker-open) .kawan-datepicker-value:empty:before,.kawan-datepicker-value[data-empty=true]{color:var(--muted)}.kawan-datepicker-popover{z-index:200;background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-4);gap:var(--space-3);flex-direction:column;width:280px;display:flex;position:absolute;top:calc(100% + 6px);left:0}.kawan-dp-nav{justify-content:space-between;align-items:center;display:flex}.kawan-dp-nav-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--ink-soft);cursor:pointer;transition:background var(--duration-ui) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.kawan-dp-nav-btn:hover{background:var(--surface-sunk);color:var(--ink)}.kawan-dp-nav-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kawan-dp-month-label{font-size:var(--text-small);color:var(--ink);font-weight:600}.kawan-dp-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.kawan-dp-dow{color:var(--ink-faint);text-align:center;letter-spacing:.04em;padding-bottom:var(--space-1);font-size:10px;font-weight:600}.kawan-dp-cell{aspect-ratio:1;font-size:var(--text-caption);justify-content:center;align-items:center;display:flex}.kawan-dp-cell-empty{background:0 0}.kawan-dp-day{border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;font-family:var(--font-body);font-size:var(--text-caption);width:100%;height:100%;transition:background var(--duration-ui) var(--ease-out);background:0 0;border:none}.kawan-dp-day:hover{background:var(--surface-sunk)}.kawan-dp-day:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kawan-dp-day-today{color:var(--accent);font-weight:700}.kawan-dp-grid .kawan-dp-day-selected{background:var(--accent);color:#fff;font-weight:700}.kawan-dp-time{align-items:center;gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--line);display:flex}.kawan-dp-time-label{font-size:var(--text-caption);color:var(--ink-soft);flex-shrink:0;font-weight:600}.kawan-dp-time-inputs{align-items:center;gap:var(--space-1);display:flex}.kawan-dp-time-input{width:48px;height:32px;padding:0 var(--space-2);border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--surface-sunk);color:var(--ink);font-family:var(--font-body);font-size:var(--text-small);text-align:center}.kawan-dp-time-input:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.kawan-dp-time-input::-webkit-outer-spin-button{-webkit-appearance:none}.kawan-dp-time-input::-webkit-inner-spin-button{-webkit-appearance:none}.kawan-dp-time-input[type=number]{appearance:textfield}.kawan-dp-time-sep{font-size:var(--text-small);color:var(--ink-soft);font-weight:600}.kawan-dp-footer{justify-content:flex-end;display:flex}.kawan-dp-done-btn{height:32px;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--accent);color:#fff;font-family:var(--font-body);font-size:var(--text-small);cursor:pointer;transition:background var(--duration-ui) var(--ease-out);border:none;font-weight:600}.kawan-dp-done-btn:hover{background:var(--accent-press)}.kawan-dp-done-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.compose-commitment-card{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.compose-field-label{font-size:var(--text-caption);color:var(--ink-soft);letter-spacing:var(--tracking-label);margin-bottom:var(--space-1);font-weight:600;display:block}.persona-picker-check{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;width:22px;height:22px;display:flex}.persona-picker-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.commitments-pagination{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-4) 0 var(--space-2);border-top:1px solid var(--line);margin-top:var(--space-2);display:flex}.commitments-pagination-indicator{font-size:var(--text-small);color:var(--ink-soft);white-space:nowrap;margin:0}@media (prefers-reduced-motion:reduce){.commitments-pagination *{transition:none}}.home-active-cards{gap:var(--space-3);margin-bottom:var(--space-3);flex-direction:column;display:flex}.home-active-card{cursor:pointer;transition:box-shadow var(--duration-ui) var(--ease-out), transform var(--duration-ui) var(--ease-out)}.home-active-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){.home-active-card{transition:none}.home-active-card:hover{transform:none}}.home-active-cards-more{margin:0}.home-active-cards-viewall{font-size:var(--text-small);color:var(--accent);font-weight:600;text-decoration:none}.home-active-cards-viewall:hover{text-decoration:underline}[data-theme=dark] .home-active-cards-viewall{color:var(--accent)}.identity-title-block{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--sage-tint);border-radius:var(--radius-md);margin-bottom:var(--space-5);display:flex}.identity-title-icon{color:var(--sage-deep);flex-shrink:0}.identity-title-name{align-items:center;gap:var(--space-1);display:inline-flex}.identity-title-label{font-family:var(--font-display);font-size:var(--text-h3);color:var(--sage-deep);font-weight:600;line-height:1}.identity-title-hint{font-family:var(--font-body);font-size:var(--text-caption);color:var(--ink-soft);margin-left:auto}.productivity-meter{gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--sage-tint);border-radius:var(--radius-md);margin-bottom:var(--space-5);flex-direction:column;display:flex}.productivity-meter-header{align-items:center;gap:var(--space-2);display:flex}.productivity-meter-icon{color:var(--sage-deep);flex-shrink:0}.productivity-meter-label{font-family:var(--font-display);font-size:var(--text-small);color:var(--sage-deep);font-weight:600;line-height:1}.productivity-meter-value{font-family:var(--font-body);font-size:var(--text-caption);color:var(--ink-soft);margin-left:auto}.productivity-meter-track{background:var(--surface-sunk);border-radius:var(--radius-pill);height:8px;position:relative;overflow:visible}.productivity-meter-fill{inset-block:0;background:var(--sage-deep);border-radius:var(--radius-pill);transition:width .4s var(--ease-out);position:absolute;left:0}@media (prefers-reduced-motion:reduce){.productivity-meter-fill{transition:none}}.productivity-meter-tick{background:var(--surface-sunk);border-radius:1px;width:2px;height:12px;position:absolute;top:-2px;transform:translate(-50%)}.productivity-meter-tick.is-reached{background:var(--sage)}.productivity-meter-hint{font-family:var(--font-body);font-size:var(--text-caption);color:var(--ink-soft);margin:0}.achievements-section{margin-top:var(--space-6);margin-bottom:var(--space-6);gap:var(--space-4);padding:var(--space-4);flex-direction:column;display:flex}.achievements-header{align-items:center;gap:var(--space-2);display:flex}.achievements-header-icon{color:var(--sage-deep);flex-shrink:0}.achievements-header-label{font-family:var(--font-display);font-size:var(--text-small);color:var(--sage-deep);font-weight:600;line-height:1}.achievements-count-chip{font-family:var(--font-body);font-size:var(--text-caption);color:var(--sage-deep);background:var(--sage-tint);padding:2px var(--space-2);border-radius:var(--radius-pill);margin-left:auto;line-height:1.4}.achievements-empty{text-align:center;padding:var(--space-4) 0;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.achievements-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin:0;padding:0;list-style:none;display:grid}.achievements-see-more{justify-content:center;display:flex}.achievements-see-more-btn{min-width:132px}.achievements-tile{gap:var(--space-1);padding:var(--space-3);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;display:flex}.achievements-tile.is-locked{opacity:.55}.achievements-tile-icon{color:var(--sage-deep);margin-bottom:var(--space-1)}.achievements-tile.is-locked .achievements-tile-icon{color:var(--ink-faint)}.achievements-tile-label{font-family:var(--font-display);font-size:var(--text-small);color:var(--ink);font-weight:600;line-height:1.2}.achievements-tile-desc{font-family:var(--font-body);font-size:var(--text-caption);color:var(--ink-soft);line-height:1.4}.achievements-tile-date{font-family:var(--font-body);font-size:var(--text-caption);color:var(--ink-faint);margin-top:var(--space-1)}.achievements-tile-locked-row{align-items:center;gap:var(--space-1);color:var(--ink-faint);margin-top:var(--space-1);display:flex}.achievements-modal-panel{max-width:920px;padding:var(--space-5);gap:var(--space-4)}.achievements-modal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.achievements-modal-title{font-family:var(--font-display);font-size:var(--text-h3);color:var(--ink);margin:0;font-weight:600}.achievements-modal-subtitle{margin:var(--space-1) 0 0;font-family:var(--font-body);font-size:var(--text-small);color:var(--ink-soft)}.achievements-modal-close{flex-shrink:0}.achievements-modal-grid{padding-right:var(--space-1);overflow-y:auto}@media (width<=560px){.achievements-modal-panel{padding:var(--space-4)}.achievements-modal-header{flex-direction:column}}.share-win-entry{margin-top:var(--space-4);justify-content:flex-start;display:flex}.share-win-panel{width:100%;max-width:560px;padding:var(--space-6);box-sizing:border-box}.share-win-dialog{gap:var(--space-4);flex-direction:column;display:flex}.share-win-dialog-header{justify-content:space-between;align-items:center;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--line);display:flex}.share-win-dialog-title{font-family:var(--font-display);font-size:var(--text-h3);color:var(--ink);margin:0;font-weight:600}.share-win-close{width:32px;height:32px;color:var(--ink-soft);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:flex}.share-win-close:hover{background:var(--surface-sunk);color:var(--ink)}.share-win-preview{min-height:120px;padding:var(--space-4);background:var(--surface-sunk);border-radius:var(--radius-md);justify-content:center;align-items:center;display:flex;overflow:hidden}.share-win-preview-img{border-radius:var(--radius-md);object-fit:contain;width:auto;max-width:min(100%,360px);max-height:460px;display:block}.share-win-status{font-family:var(--font-body);font-size:var(--text-small);color:var(--ink-soft);margin:0}.share-win-error{align-items:center;gap:var(--space-3);padding:var(--space-4);text-align:center;color:var(--ink-soft);font-size:var(--text-small);flex-direction:column;display:flex}.share-win-actions{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.share-win-actions .btn{width:100%;padding-inline:var(--space-4)}@media (width<=480px){.share-win-panel{padding:var(--space-4)}.share-win-preview-img{max-width:100%;max-height:380px}}.workspace-root{color:#f4ece1;background:#161009;flex-direction:column;height:100svh;min-height:100svh;display:flex;position:relative}.workspace-topbar{padding:0 var(--space-4);z-index:50;height:52px;-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop);background:#161009d1;border-bottom:1px solid #f4ece112;flex-shrink:0;justify-content:space-between;align-items:center;display:flex;position:relative}.workspace-title{white-space:nowrap;text-overflow:ellipsis;max-width:min(46vw,520px);font-size:var(--text-body);letter-spacing:.01em;color:#f4ece1eb;pointer-events:none;margin:0;font-weight:600;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.workspace-back-btn{align-items:center;gap:var(--space-2);color:#f4ece18c;font-family:var(--font-body);font-size:var(--text-small);cursor:pointer;min-width:44px;min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-md);transition:background var(--duration-ui) var(--ease-smooth), color var(--duration-ui) var(--ease-smooth);background:0 0;border:none;font-weight:500;display:flex}.workspace-back-btn:hover{color:#f4ece1;background:#f4ece114}.workspace-back-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.workspace-mode-toggle{width:fit-content;margin:0 auto var(--space-3);border-radius:var(--radius-pill);background:#f4ece112;border:1px solid #f4ece11a;align-self:center;gap:2px;padding:3px;display:flex}.workspace-mode-btn{color:#f4ece180;font-family:var(--font-body);font-size:var(--text-small);padding:var(--space-1) var(--space-4);border-radius:var(--radius-pill);cursor:pointer;min-width:44px;min-height:32px;transition:background var(--duration-ui) var(--ease-smooth), color var(--duration-ui) var(--ease-smooth);background:0 0;border:none;font-weight:500}.workspace-mode-btn-active{color:#f4ece1;background:#f4ece121;box-shadow:0 1px 3px #00000040}.workspace-mode-btn:hover:not(.workspace-mode-btn-active){color:#f4ece1cc}.workspace-mode-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.workspace-spacer{min-width:80px}.workspace-stage{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.workspace-loading{filter:blur(12px);pointer-events:none;opacity:.35}.workspace-loading-spinner{z-index:9999;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:fixed;inset:0}.workspace-spinner-ring{border:3px solid #f4ece133;border-top-color:#f4ece1d9;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite workspace-spinner-spin;display:block}.workspace-spinner-label{font-family:var(--font-body);font-size:var(--text-small);color:#f4ece1bf;letter-spacing:.04em;font-weight:500}@keyframes workspace-spinner-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.workspace-spinner-ring{opacity:.7;border-top-color:#f4ece1d9;animation:none}}.char-stage-placeholder{height:100%;padding-bottom:var(--space-12);animation:stage-fade-in var(--duration-panel) var(--ease-smooth) both;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.stage-character-area .char-stage-placeholder{position:absolute;inset:0}.char-stage-silhouette{align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.char-stage-eye{color:var(--accent);opacity:.65;transition:opacity var(--duration-panel) var(--ease-smooth)}.char-stage-eye:hover{opacity:.85}.char-stage-label{font-family:var(--font-voice);font-style:italic;font-size:var(--text-small);color:#f4ece173;letter-spacing:.08em}.stage-mode{flex-direction:column;flex:1;height:100%;display:flex;position:relative}.stage-character-area{border-bottom:2px solid color-mix(in srgb, var(--accent) 45%, transparent);box-shadow:0 2px 10px -6px color-mix(in srgb, var(--accent) 30%, transparent);background:radial-gradient(70% 80% at 50% 35%,#241810 0%,#161009 60%,#0e0b06 100%);flex:1;position:relative;overflow:hidden}.live2d-stage-container{position:absolute;inset:0}.live2d-stage-container canvas{width:100%;height:100%;display:block}.live2d-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.stage-dev-controls{top:var(--space-3);gap:var(--space-2);z-index:20;flex-wrap:wrap;justify-content:center;display:flex;position:absolute;left:50%;transform:translate(-50%)}.stage-dev-btn{border-radius:var(--radius-sm);color:#f4ece1d9;font-family:var(--font-body);font-size:var(--text-caption);padding:2px var(--space-2);cursor:pointer;min-width:44px;min-height:28px;transition:background var(--duration-ui) var(--ease-smooth);background:#d9643a40;border:1px solid #d9643a73;align-items:center;gap:4px;display:inline-flex}.stage-dev-btn:hover{background:#d9643a73}.stage-dev-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stage-action-surface{gap:var(--space-3);z-index:10;width:min(340px,90vw);animation:stage-fade-in var(--duration-panel) var(--ease-smooth) both;flex-direction:column;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.stage-option-card{border-radius:var(--radius-card);padding:var(--space-4);color:#f4ece1e6;font-family:var(--font-body);font-size:var(--text-small);text-align:left;cursor:pointer;min-height:44px;-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop);transition:background var(--duration-ui) var(--ease-smooth), border-color var(--duration-ui) var(--ease-smooth);background:#161009b3;border:1.5px solid #f4ece121}.stage-option-card:hover{background:#d9643a2e;border-color:#d9643a80}.stage-option-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stage-text-input{border-radius:var(--radius-md);width:100%;padding:var(--space-3) var(--space-4);color:#f4ece1e6;font-family:var(--font-body);font-size:var(--text-body);min-height:44px;-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop);background:#161009a6;border:1.5px solid #f4ece121}.stage-text-input::placeholder{color:#f4ece159}.stage-text-input:focus{border-color:var(--accent);outline:none}.stage-dialogue-box{margin:var(--space-8) auto var(--space-6);width:min(860px, calc(100vw - var(--space-8)));border-radius:var(--radius-card);-webkit-backdrop-filter:blur(16px)saturate(160%);backdrop-filter:blur(16px)saturate(160%);padding:var(--space-6) var(--space-7);animation:stage-fade-in var(--duration-panel) var(--ease-smooth) both;background:#1a120ae0;border:1.5px solid #f4ece11a;position:relative;box-shadow:0 8px 32px #00000073}.stage-dialogue-inner{gap:var(--space-3);flex-direction:column;display:flex}.stage-speaker-name{font-family:var(--font-display);font-size:var(--text-caption);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent);font-weight:700}.stage-dialogue-line{font-family:var(--font-display);font-size:var(--text-body);line-height:var(--lh-body);color:#f4ece1eb}.stage-advance-btn{right:var(--space-3);bottom:var(--space-3);border-radius:var(--radius-pill);background:var(--accent);color:#fff;cursor:pointer;width:36px;height:36px;transition:background var(--duration-ui) var(--ease-smooth), transform var(--duration-ui) var(--ease-smooth);border:none;justify-content:center;align-items:center;display:flex;position:absolute}.stage-advance-btn:hover:not(:disabled){background:var(--accent-press);transform:scale(1.08)}.stage-advance-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stage-advance-btn:disabled{opacity:.35}@keyframes stage-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.stage-dialogue-box,.stage-action-surface,.char-stage-placeholder{animation:none}.stage-advance-btn:hover:not(:disabled){transform:none}}.messages-mode{background:radial-gradient(80% 60% at 50% 0,#1e1409 0%,#161009 55%);flex-direction:column;flex:1;height:100%;min-height:0;display:flex;overflow:hidden}.message-row{gap:var(--space-2);align-items:flex-end;display:flex}.message-row-user{flex-direction:row-reverse}.message-avatar{color:var(--accent);opacity:.8;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.message-avatar-portrait{border:1px solid #d9643a4d;border-radius:50%;overflow:hidden}.message-avatar-img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.message-avatar-fallback{font-family:var(--font-display);font-size:var(--text-caption);color:var(--accent);background:#d9643a33;border:1px solid #d9643a4d;border-radius:50%;font-weight:700}.message-bubble{max-width:75%;padding:var(--space-5) var(--space-6);border-radius:var(--radius-card)}.bubble-kawan{border-bottom-left-radius:var(--radius-sm);background:#d9643a29;border:1px solid #d9643a38}.bubble-user{border-bottom-right-radius:var(--radius-sm);background:#f4ece114;border:1px solid #f4ece11a}.message-text{font-family:var(--font-display);font-size:var(--text-body);color:#f4ece1e6;line-height:var(--lh-body)}.bubble-user .message-text{font-family:var(--font-body);color:#f4ece1cc}.message-options{margin-top:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.message-option-btn{border-radius:var(--radius-md);color:#f4ece1b3;font-family:var(--font-body);font-size:var(--text-small);padding:var(--space-2) var(--space-3);cursor:default;text-align:left;background:#f4ece10f;border:1px solid #f4ece11a;min-height:44px}.messages-input-bar{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0));-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop);background:#161009bf;border-top:1px solid #f4ece112;flex-direction:column;display:flex}.messages-input-row{gap:var(--space-2);width:100%;max-width:720px;display:flex}.messages-input{border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);color:#f4ece1e6;font-family:var(--font-body);font-size:var(--text-body);background:#f4ece112;border:1.5px solid #f4ece11f;flex:1;min-height:44px}.messages-input::placeholder{color:#f4ece14d}.messages-input:disabled{opacity:.5}.messages-input:focus{border-color:var(--accent);outline:none}.messages-send-btn{border-radius:var(--radius-pill);background:var(--accent);color:#fff;cursor:pointer;width:44px;height:44px;transition:background var(--duration-ui) var(--ease-smooth), transform var(--duration-ui) var(--ease-smooth);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.messages-send-btn:hover:not(:disabled){background:var(--accent-press);transform:scale(1.06)}.messages-send-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.messages-send-btn:disabled{opacity:.35}.new-commitment-root{background:var(--bg);color:var(--ink)}.new-commitment-content{padding:var(--space-8) var(--space-4);flex:1;width:100%;max-width:640px;margin:0 auto;overflow-y:auto}@media (width>=769px){.new-commitment-content{padding:var(--space-12) var(--space-8)}}.new-commitment-footer{gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1.5px solid var(--line);background:var(--surface);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0));flex-shrink:0;justify-content:flex-end;display:flex}.compose-step{gap:var(--space-6);flex-direction:column;display:flex}.compose-heading{font-size:var(--text-h2)}.compose-sentence{align-items:center;gap:var(--space-2);font-size:var(--text-h3);flex-wrap:wrap;line-height:2;display:flex}.compose-prefix,.compose-infix{font-family:var(--font-body);color:var(--ink-soft)}.compose-chip{height:44px;padding:0 var(--space-4);border-radius:var(--radius-md);border:2px dashed var(--line);background:var(--surface-2);color:var(--ink);font-family:var(--font-body);font-size:var(--text-body);cursor:pointer;transition:border-color var(--duration-ui) var(--ease-out);align-items:center;min-width:120px;display:inline-flex}.compose-chip-action{appearance:none;padding-right:calc(var(--space-4) + 20px);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236e5849' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;cursor:pointer;background-size:16px 16px}.compose-chip-deadline{cursor:pointer;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark] .compose-chip-deadline{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.compose-chip-deliverable{text-align:left;flex:1;min-width:200px}.compose-chip-deliverable::placeholder{color:var(--muted)}.compose-hint{font-size:var(--text-small);color:var(--ink-soft)}.context-step{gap:var(--space-6);flex-direction:column;display:flex}.context-heading{font-size:var(--text-h2)}.context-sub{font-size:var(--text-small);color:var(--ink-soft)}.context-chat-placeholder{gap:var(--space-4);background:var(--surface);border-radius:var(--radius-xl);border:1.5px solid var(--line);padding:var(--space-4);flex-direction:column;display:flex}.context-message{gap:var(--space-2);align-items:flex-end;display:flex}.context-message .message-avatar{color:var(--accent)}.context-message .bubble-kawan{background:#c16a471a;border:1px solid #c16a4726}.context-message .message-text{color:var(--ink)}.context-input-bar{display:flex}.context-input-bar .messages-input{background:var(--surface-sunk);border-color:var(--line);color:var(--ink)}.context-input-bar .messages-input::placeholder{color:var(--muted)}.plan-step{gap:var(--space-6);flex-direction:column;display:flex}.plan-heading{font-size:var(--text-h2)}.plan-roadmap-list{gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.plan-roadmap-item{font-size:var(--text-small);color:var(--ink-soft);padding:var(--space-2) 0;border-bottom:1px solid var(--line)}.plan-setting-row{padding:var(--space-3) 0;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.plan-setting-label{align-items:center;gap:var(--space-1);font-size:var(--text-small);color:var(--ink-soft);font-weight:500;display:inline-flex}.plan-setting-value{font-size:var(--text-small);color:var(--ink)}.compose-error{font-size:var(--text-small);color:var(--accent);padding:var(--space-2) 0}.context-stub-notice{background:var(--surface);border-radius:var(--radius-xl);border:1.5px dashed var(--line);padding:var(--space-6);gap:var(--space-3);flex-direction:column;display:flex}.context-stub-label{font-size:var(--text-small);color:var(--ink-soft);font-weight:600}.context-stub-sub{font-size:var(--text-small);color:var(--muted)}.plan-locked-fields{background:var(--surface-sunk);border-radius:var(--radius-lg);border:1.5px solid var(--line);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.plan-locked-note{font-size:var(--text-caption);color:var(--ink-soft);font-style:italic}.plan-locked-row{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--line);display:flex}.plan-locked-row:last-child{border-bottom:none}.plan-locked-label{font-size:var(--text-small);color:var(--muted);flex-shrink:0;font-weight:500}.plan-locked-value{font-size:var(--text-small);color:var(--ink);text-align:right;word-break:break-word}.plan-setting-select,.plan-setting-input{font-size:var(--text-small);color:var(--ink);background:var(--surface-sunk);border:1.5px solid var(--line);border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);min-height:36px;font-family:var(--font-body)}.plan-setting-input{width:100%;max-width:220px}.plan-setting-repo{align-items:flex-start;gap:var(--space-2);flex-direction:column}.persona-picker{gap:var(--space-6);flex-direction:column;display:flex}.persona-picker-heading{font-size:var(--text-h2);font-family:var(--font-display);color:var(--ink);line-height:var(--lh-heading)}.persona-picker-sub{font-size:var(--text-small);color:var(--ink-soft);line-height:var(--lh-body);max-width:480px}.persona-picker-grid{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=560px){.persona-picker-grid{grid-template-columns:repeat(3,1fr)}}.persona-picker-card{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-card);border:2px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;transition:border-color var(--duration-ui) var(--ease-out), box-shadow var(--duration-ui) var(--ease-out), background var(--duration-ui) var(--ease-out);flex-direction:column;display:flex}.persona-picker-card:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong)}.persona-picker-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.persona-picker-card-selected{border-color:var(--accent);background:var(--accent-tint);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent)}.persona-picker-card-selected:hover{border-color:var(--accent-press)}.persona-picker-portrait{aspect-ratio:3/4;border-radius:var(--radius-lg);background:var(--surface-sunk);flex-shrink:0;width:100%;overflow:hidden}.persona-portrait-img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.persona-portrait-fallback{width:100%;height:100%;font-family:var(--font-display);font-size:var(--text-display);color:var(--ink-faint);background:var(--surface-sunk);justify-content:center;align-items:center;font-weight:700;display:flex}.persona-picker-info{gap:var(--space-1);flex-direction:column;display:flex}.persona-picker-name{font-family:var(--font-display);font-size:var(--text-h3);color:var(--ink);font-weight:600}.persona-picker-archetype{font-size:var(--text-small);color:var(--ink-soft);font-weight:500}.persona-picker-tone{font-size:var(--text-caption);color:var(--ink-faint);line-height:var(--lh-body)}.plan-trust-label{font-size:var(--text-caption);color:var(--sage-deep);margin-left:var(--space-2);font-weight:600}.nc-root{background:var(--bg);color:var(--ink)}.nc-topbar-title{font-family:var(--font-display);font-size:var(--text-small);color:#f4ece1b3;letter-spacing:.02em;text-align:center;flex:1;font-weight:600}.nc-body{flex:1;overflow:hidden}.nc-steps{height:100%;padding-bottom:88px;overflow-y:auto}.nc-island-col{display:none}@media (width>=900px){.nc-island-col{top:calc(52px + var(--space-6));right:var(--space-6);display:block;position:fixed}}.nc-island{gap:var(--space-2);padding:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;display:flex}.nc-island-heading{font-size:var(--text-caption);color:var(--ink-faint);letter-spacing:var(--tracking-label);text-transform:uppercase;margin-bottom:var(--space-1);font-weight:600}.nc-island-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.nc-island-link{text-align:left;width:100%;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-small);color:var(--ink-soft);cursor:pointer;justify-content:space-between;align-items:center;gap:var(--space-2);transition:background var(--duration-ui) var(--ease-out), color var(--duration-ui) var(--ease-out);background:0 0;border:none;display:flex}.nc-island-link:hover{background:var(--surface-sunk);color:var(--ink)}.nc-island-link-active{color:var(--accent-press);background:var(--accent-tint);font-weight:600}.nc-island-label{flex:1}.nc-island-tick{background:var(--sage-deep);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.nc-step-panel{display:none}.nc-step-panel-active{flex-direction:column;justify-content:center;min-height:calc(100svh - 140px);display:flex}.nc-step-panel-motion.nc-step-panel-active{animation:nc-step-in .3s var(--ease-out) both}@keyframes nc-step-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.nc-step-panel-motion.nc-step-panel-active{animation:none}}.nc-section-inner{width:100%;max-width:620px;padding:var(--space-12) var(--space-6);gap:var(--space-6);background:var(--bg);color:var(--ink);flex-direction:column;margin:0 auto;display:flex}.nc-section-heading{font-family:var(--font-display);font-size:var(--text-h2);color:var(--ink);font-weight:600;line-height:var(--lh-heading)}.nc-bottom-island{bottom:var(--space-6);align-items:center;gap:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop);z-index:40;white-space:nowrap;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #0000002e}.nc-bottom-back{font-family:var(--font-body);font-size:var(--text-small);color:var(--ink-soft);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);min-width:44px;min-height:36px;transition:color var(--duration-ui) var(--ease-out), background var(--duration-ui) var(--ease-out);background:0 0;border:none;font-weight:500}.nc-bottom-back:hover:not(:disabled){color:var(--ink);background:var(--surface-sunk)}.nc-bottom-back:disabled{opacity:.3;cursor:default}.nc-bottom-back:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nc-bottom-counter{font-family:var(--font-body);font-size:var(--text-caption);color:var(--ink-faint);text-align:center;min-width:64px}.nc-madlib{align-items:center;gap:var(--space-2);font-size:var(--text-h3);flex-wrap:wrap;line-height:2.2;display:flex}.nc-madlib-prose{font-family:var(--font-body);color:var(--ink-soft);font-size:var(--text-h3)}.nc-madlib-field{flex-direction:column;gap:2px;display:inline-flex}.nc-madlib-deliverable-wrap{flex:1;min-width:200px;position:relative}.nc-deliverable-counter{font-size:var(--text-caption);font-variant-numeric:tabular-nums;color:var(--ink-faint);pointer-events:none;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.nc-deliverable-counter--full{color:var(--accent)}.nc-madlib-input{height:44px;padding:0 var(--space-3);border-radius:var(--radius-md);border:1.5px solid var(--line);background:var(--surface-2);font-family:var(--font-body);font-size:var(--text-body);color:var(--ink);width:100%;transition:border-color var(--duration-ui) var(--ease-out)}.nc-madlib-input:focus{border-color:var(--accent);outline:none}.nc-madlib-input::placeholder{color:var(--ink-faint)}.nc-madlib-deliverable-wrap .nc-madlib-input{padding-right:48px}.nc-madlib .kawan-select-trigger{height:44px;font-size:var(--text-body)}.nc-sentence-preview{font-family:var(--font-voice);font-size:var(--text-small);color:var(--ink-soft);padding:var(--space-3) var(--space-4);border-left:3px solid var(--accent-tint);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-style:italic}.nc-sentence-preview em{color:var(--accent);font-style:italic}.nc-plan-settings{gap:var(--space-3);flex-direction:column;display:flex}.nc-context-stub{background:var(--surface);border-radius:var(--radius-xl);border:1.5px dashed var(--line);padding:var(--space-8) var(--space-6);align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;display:flex}.nc-context-stub-icon{margin-bottom:var(--space-2)}.nc-context-stub-label{font-size:var(--text-small);color:var(--ink-soft);font-weight:600}.nc-context-stub-sub{font-size:var(--text-small);color:var(--ink-faint);line-height:var(--lh-body);max-width:380px}.nc-companion-sub{font-size:var(--text-small);color:var(--ink-soft);line-height:var(--lh-body)}.nc-companion-grid{gap:var(--space-4);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:var(--space-2);flex-direction:row;display:flex;overflow-x:auto}.nc-companion-card{scroll-snap-align:start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-card);border:2px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;transition:border-color var(--duration-ui) var(--ease-out), box-shadow var(--duration-ui) var(--ease-out), background var(--duration-ui) var(--ease-out);flex-direction:column;flex:0 0 180px;display:flex;position:relative}.nc-companion-card:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong)}.nc-companion-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nc-companion-card-selected{border-color:var(--accent);background:var(--accent-tint);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent)}.nc-companion-card-selected:hover{border-color:var(--accent-press)}@media (width>=620px){.nc-companion-grid{scroll-snap-type:none;overflow-x:visible}.nc-companion-card{flex:1 1 0;min-width:0}}.nc-companion-portrait{aspect-ratio:3/4;border-radius:var(--radius-lg);background:var(--surface-sunk);flex-shrink:0;width:100%;overflow:hidden}.nc-companion-portrait-img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.nc-companion-portrait-fallback{width:100%;height:100%;font-family:var(--font-display);font-size:var(--text-display);color:var(--ink-faint);background:var(--surface-sunk);justify-content:center;align-items:center;font-weight:700;display:flex}.nc-companion-card-body{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.nc-companion-name{font-family:var(--font-display);font-size:var(--text-body);color:var(--ink);font-weight:600}.nc-companion-archetype{font-size:var(--text-small);color:var(--ink-soft);font-weight:500}.nc-companion-tone{font-size:var(--text-caption);color:var(--ink-faint);line-height:var(--lh-body)}.nc-companion-check{background:var(--accent);color:#fff;width:20px;height:20px;top:var(--space-3);right:var(--space-3);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.nc-cta-hint{font-size:var(--text-small);color:var(--ink-faint);font-style:italic}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}fieldset.stage-voice-controls{border:none;margin:0;padding:0}.stage-voice-controls{top:var(--space-3);right:var(--space-3);gap:var(--space-2);z-index:15;display:flex;position:absolute}.stage-voice-btn{border-radius:var(--radius-pill);color:#f4ece1b3;cursor:pointer;width:36px;height:36px;-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop);transition:background var(--duration-ui) var(--ease-smooth), color var(--duration-ui) var(--ease-smooth);background:#161009b8;border:1px solid #f4ece124;justify-content:center;align-items:center;display:flex}.stage-voice-btn:hover:not(:disabled){color:#f4ece1;background:#f4ece11f}.stage-voice-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stage-voice-btn:disabled{opacity:.4;cursor:default}.stage-mic-bar-btn{right:52px;bottom:var(--space-3);border-radius:var(--radius-pill);color:#f4ece18c;cursor:pointer;width:32px;height:32px;transition:background var(--duration-ui) var(--ease-smooth), color var(--duration-ui) var(--ease-smooth);background:#16100999;border:1px solid #f4ece11a;justify-content:center;align-items:center;display:flex;position:absolute}.stage-mic-bar-btn:hover:not(:disabled){color:var(--accent);background:#d9643a33}.stage-mic-bar-btn[aria-pressed=true]{color:var(--accent);background:#d9643a4d;border-color:#d9643a80}.stage-mic-bar-btn:disabled{opacity:.3;cursor:default}.stage-dialogue-box .stage-advance-btn{right:var(--space-3)}.stage-mic-transcript{border-radius:var(--radius-card);padding:var(--space-2) var(--space-4);align-items:center;gap:var(--space-3);-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop);z-index:20;background:#161009e0;border:1px solid #f4ece11f;max-width:min(480px,90vw);display:flex;position:absolute;bottom:120px;left:50%;transform:translate(-50%)}.stage-mic-label{font-family:var(--font-body);font-size:var(--text-caption);color:var(--accent);white-space:nowrap;letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:500}.stage-mic-text{font-family:var(--font-display);font-size:var(--text-small);color:#f4ece1d9;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.stage-dev-text{border-radius:var(--radius-sm);color:#f4ece1d9;font-family:var(--font-body);font-size:var(--text-caption);padding:2px var(--space-2);background:#f4ece114;border:1px solid #f4ece126;width:200px;min-height:28px}.stage-mic-btn{flex-shrink:0;min-width:36px;height:36px;padding:0}@media (prefers-reduced-motion:reduce){.stage-voice-btn,.stage-mic-bar-btn{transition:none}}.bubble-kawan--refusal{background:#d9643a1a;border-color:#d9643a4d;border-left-style:dashed;border-left-width:3px}.message-refusal-chip{font-size:var(--text-caption);color:var(--accent);letter-spacing:var(--tracking-label);text-transform:uppercase;margin-bottom:var(--space-2);opacity:.8;align-items:center;gap:4px;font-weight:600;display:inline-flex}.stage-refusal-chip{font-size:var(--text-caption);color:var(--accent);letter-spacing:var(--tracking-label);text-transform:uppercase;margin-bottom:var(--space-1);opacity:.8;align-items:center;gap:4px;font-weight:600;display:inline-flex}.stage-dialogue-box--refusal{background:#1a0e08eb;border-left:3px dashed #d9643a99}.proposal-card{margin-top:var(--space-2);border-radius:var(--radius-card);padding:var(--space-4);gap:var(--space-2);-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop);background:#161009c7;border:1.5px solid #f4ece124;flex-direction:column;max-width:100%;display:flex}.proposal-card--applied{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#16100980;border-color:#f4ece114;flex-direction:row}.proposal-card-icon{color:var(--sage-deep,#6a9a7a);flex-shrink:0}.proposal-card-applied-text{font-size:var(--text-small);color:#f4ece199;font-style:italic}.proposal-card-header{align-items:center;gap:var(--space-2);display:flex}.proposal-card-label{font-size:var(--text-caption);letter-spacing:var(--tracking-label);color:var(--accent);text-transform:uppercase;font-weight:700}.proposal-card-field{font-size:var(--text-caption);color:#f4ece199;text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:500}.proposal-card-value{font-family:var(--font-display);font-size:var(--text-body);color:#f4ece1f2;font-weight:600;line-height:var(--lh-heading)}.proposal-card-reason{font-size:var(--text-small);color:#f4ece199;line-height:var(--lh-body);font-style:italic}.proposal-card-error{font-size:var(--text-small);color:var(--accent)}.proposal-card-actions{gap:var(--space-2);margin-top:var(--space-1);justify-content:flex-end;display:flex}.proposal-card-btn{align-items:center;gap:var(--space-1);font-family:var(--font-body);font-size:var(--text-small);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);cursor:pointer;min-width:44px;min-height:36px;transition:background var(--duration-ui) var(--ease-smooth), border-color var(--duration-ui) var(--ease-smooth);font-weight:500;display:inline-flex}.proposal-card-btn:disabled{opacity:.4;cursor:default}.proposal-card-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.proposal-card-btn--dismiss{color:#f4ece199;background:0 0;border:1px solid #f4ece126}.proposal-card-btn--dismiss:hover:not(:disabled){background:#f4ece112;border-color:#f4ece140}.proposal-card-btn--apply{background:var(--accent);color:#fff;border:1px solid #0000}.proposal-card-btn--apply:hover:not(:disabled){background:var(--accent-press)}.stage-proposal-area{margin:0 auto var(--space-2);width:min(520px, calc(100vw - var(--space-8)));z-index:5;position:relative}.stage-thinking{border-radius:var(--radius-pill);padding:var(--space-2) var(--space-3);-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop);z-index:8;background:#161009d1;border:1px solid #f4ece11a;align-items:center;gap:5px;display:flex;position:absolute;top:38%;bottom:auto;left:50%;transform:translate(-50%,-50%)}.stage-thinking-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite thinking-bounce}.stage-thinking-dot:nth-child(2){animation-delay:.2s}.stage-thinking-dot:nth-child(3){animation-delay:.4s}@keyframes thinking-bounce{0%,80%,to{opacity:.5;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.stage-thinking-dot{opacity:.7;animation:none}}.stage-error{margin:0 auto var(--space-2);width:min(520px, calc(100vw - var(--space-8)));font-size:var(--text-small);color:var(--accent);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);text-align:center;z-index:5;background:#d9643a1a;border:1px solid #d9643a40;position:relative}.stage-input-bar{gap:var(--space-2);margin:0 auto var(--space-4);width:min(580px, calc(100vw - var(--space-8)));align-items:center;display:flex;position:relative}.stage-input{border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);color:#f4ece1e6;font-family:var(--font-body);font-size:var(--text-body);min-height:44px;-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop);transition:border-color var(--duration-ui) var(--ease-smooth);background:#161009a6;border:1.5px solid #f4ece121;flex:1}.stage-input::placeholder{color:#f4ece159}.stage-input:focus{border-color:var(--accent);outline:none}.stage-input:disabled{opacity:.5}.stage-send-btn{border-radius:var(--radius-pill);background:var(--accent);color:#fff;cursor:pointer;width:44px;height:44px;transition:background var(--duration-ui) var(--ease-smooth), transform var(--duration-ui) var(--ease-smooth);border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:600;line-height:1;display:flex}.stage-send-btn:hover:not(:disabled){background:var(--accent-press);transform:scale(1.06)}.stage-send-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stage-send-btn:disabled{opacity:.35;cursor:default}.stage-starter-chip{border-radius:var(--radius-card);padding:var(--space-3) var(--space-4);color:#f4ece1bf;font-family:var(--font-body);font-size:var(--text-small);text-align:left;cursor:pointer;min-height:44px;-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop);transition:background var(--duration-ui) var(--ease-smooth), border-color var(--duration-ui) var(--ease-smooth), color var(--duration-ui) var(--ease-smooth);background:#161009b8;border:1.5px solid #f4ece121}.stage-starter-chip:hover{color:#f4ece1eb;background:#d9643a24;border-color:#d9643a66}.stage-starter-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.messages-starter-chips{gap:var(--space-2);padding:var(--space-2) 0;flex-direction:column;display:flex}.messages-starter-chip{border-radius:var(--radius-card);padding:var(--space-3) var(--space-4);color:#f4ece199;font-family:var(--font-body);font-size:var(--text-small);text-align:left;cursor:pointer;min-height:44px;transition:background var(--duration-ui) var(--ease-smooth), border-color var(--duration-ui) var(--ease-smooth), color var(--duration-ui) var(--ease-smooth);background:#f4ece10d;border:1.5px solid #f4ece11a}.messages-starter-chip:hover{color:#f4ece1d9;background:#d9643a1a;border-color:#d9643a4d}.messages-starter-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.message-col{gap:var(--space-2);flex-direction:column;max-width:75%;display:flex}.message-row-user .message-col{align-items:flex-end}.messages-thread{flex-direction:column;flex:1;justify-content:safe flex-end;min-height:0;display:flex;overflow-y:auto}.messages-thread-inner{width:100%;max-width:720px;padding:var(--space-6) var(--space-4) var(--space-4);gap:var(--space-3);flex-direction:column;margin:0 auto;display:flex}.stage-dialogue-box{max-width:min(860px, calc(100vw - var(--space-8)))}.stage-error{align-items:center;gap:var(--space-2);justify-content:center;display:flex}.stage-error-retry,.messages-error-retry{border-radius:var(--radius-md);color:var(--accent);font-family:var(--font-body);font-size:var(--text-caption);padding:var(--space-1) var(--space-2);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #d9643a66;min-height:28px;font-weight:500}.stage-error-retry:hover,.messages-error-retry:hover{background:#d9643a1f}.messages-error-row{align-items:center;gap:var(--space-2);display:flex}.stage-starter-chips{gap:var(--space-2);width:min(420px, calc(100vw - var(--space-8)));max-height:calc(100% - var(--space-6));z-index:6;flex-direction:column;margin:0;padding:0;list-style:none;display:flex;position:absolute;top:38%;bottom:auto;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.messages-starters-row{gap:var(--space-2);padding:var(--space-3) 0 var(--space-1);margin-top:var(--space-2);flex-direction:column;display:flex}.stage-intake-progress{top:var(--space-3);align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop);z-index:10;background:#161009b8;border:1px solid #f4ece11a;display:flex;position:absolute;left:50%;transform:translate(-50%)}.stage-intake-progress-label{font-size:var(--text-caption);color:#f4ece180;letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:500}.stage-intake-skip-ahead,.messages-intake-skip-ahead{font-size:var(--text-caption);color:#f4ece159;cursor:pointer;text-underline-offset:2px;letter-spacing:0;text-transform:none;background:0 0;border:none;margin-left:auto;padding:0;font-weight:400;line-height:1;text-decoration:underline}.stage-intake-skip-ahead:hover,.messages-intake-skip-ahead:hover{color:#f4ece1a6}.stage-intake-dot{width:8px;height:8px;transition:background var(--duration-ui) var(--ease-smooth);background:#f4ece133;border:1px solid #f4ece140;border-radius:50%}.stage-intake-dot--filled{background:var(--accent);border-color:var(--accent)}.messages-intake-progress{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:#16100966;border-bottom:1px solid #f4ece10f;display:flex}.messages-intake-label{font-size:var(--text-caption);color:#f4ece173;letter-spacing:var(--tracking-label);text-transform:uppercase;margin-right:var(--space-1);font-weight:500}.messages-intake-dot{width:7px;height:7px;transition:background var(--duration-ui) var(--ease-smooth);background:#f4ece12e;border:1px solid #f4ece138;border-radius:50%}.messages-intake-dot--filled{background:var(--accent);border-color:var(--accent)}fieldset.stage-intake-menu,fieldset.messages-intake-menu{border:none;margin:0 auto;padding:0}.stage-intake-menu{gap:var(--space-2);width:min(420px, calc(100vw - var(--space-8)));z-index:6;flex-direction:column;display:flex;position:absolute;top:38%;bottom:auto;left:50%;transform:translate(-50%,-50%)}.stage-intake-btn{border-radius:var(--radius-pill);padding:var(--space-3) var(--space-4);color:#f4ece1d1;font-family:var(--font-body);font-size:var(--text-small);text-align:center;cursor:pointer;width:100%;min-height:44px;-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop);transition:border-color var(--duration-ui) var(--ease-smooth), border-width var(--duration-ui) var(--ease-smooth), transform var(--duration-ui) var(--ease-smooth);background:#161009c7;border:1.5px solid #f4ece124}.stage-intake-btn:hover:not(:disabled){border-width:2px;border-color:#f4ece180;transform:scale(1.02)}@media (prefers-reduced-motion:reduce){.stage-intake-btn:hover:not(:disabled){transform:none}}.stage-intake-btn:disabled{opacity:.4;cursor:default}.stage-intake-btn--secondary{color:#f4ece1e0;background:#f4ece10d;border-style:dashed;border-color:#f4ece161}.stage-intake-btn--secondary:hover:not(:disabled){color:#f4ece1;background:#f4ece11a;border-color:#f4ece199}.stage-intake-btn--skip{color:#f4ece166;font-size:var(--text-caption);background:0 0;border-color:#f4ece114}.stage-intake-btn--skip:hover:not(:disabled){color:#f4ece199;background:#f4ece10a}.stage-intake-cancel-btn{color:#f4ece166;cursor:pointer;padding:0 var(--space-1);background:0 0;border:none;justify-content:center;align-items:center;min-width:32px;min-height:44px;font-size:20px;line-height:1;display:flex}.stage-intake-cancel-btn:hover{color:#f4ece1b3}.stage-intake-own-bar{gap:var(--space-2);margin:0 auto var(--space-4);width:min(580px, calc(100vw - var(--space-8)));z-index:20;align-items:center;display:flex;position:relative}.stage-intake-own-field{flex:1;position:relative}.stage-input--with-send{width:100%;padding-right:52px}.stage-intake-send-inline{border-radius:var(--radius-pill);background:var(--accent);color:#fff;cursor:pointer;width:36px;height:36px;transition:background var(--duration-ui) var(--ease-smooth);border:none;justify-content:center;align-items:center;font-size:18px;font-weight:600;line-height:1;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.stage-intake-send-inline:hover:not(:disabled){background:var(--accent-press)}.stage-intake-send-inline:disabled{opacity:.35;cursor:default}.stage-intake-send-inline:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.messages-intake-menu{gap:var(--space-2);padding:var(--space-3) var(--space-4);box-sizing:border-box;background:#1610098c;border-top:1px solid #f4ece10f;flex-direction:column;width:100%;max-width:720px;margin:0 auto;display:flex}.messages-intake-btn{border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);color:#f4ece1c7;font-family:var(--font-body);font-size:var(--text-small);text-align:center;cursor:pointer;width:100%;min-height:44px;transition:border-color var(--duration-ui) var(--ease-smooth), border-width var(--duration-ui) var(--ease-smooth), transform var(--duration-ui) var(--ease-smooth);background:#f4ece10f;border:1.5px solid #f4ece11f}.messages-intake-btn:hover:not(:disabled){border-width:2px;border-color:#f4ece180;transform:scale(1.02)}@media (prefers-reduced-motion:reduce){.messages-intake-btn:hover:not(:disabled){transform:none}}.messages-intake-btn:disabled{opacity:.4;cursor:default}.messages-intake-btn--secondary{color:#f4ece1e0;background:#f4ece10d;border-style:dashed;border-color:#f4ece161}.messages-intake-btn--secondary:hover:not(:disabled){color:#f4ece1;background:#f4ece11a;border-color:#f4ece199}.messages-intake-btn--skip{color:#f4ece161;font-size:var(--text-caption);background:0 0;border-color:#f4ece112}.messages-intake-btn--skip:hover:not(:disabled){color:#f4ece18c}.messages-intake-cancel{color:#f4ece166;cursor:pointer;padding:0 var(--space-1);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;min-width:32px;min-height:44px;font-size:20px;display:flex}.messages-intake-cancel:hover{color:#f4ece1a6}.messages-intake-own-bar{gap:var(--space-2);padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0));-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop);box-sizing:border-box;background:#161009bf;border-top:1px solid #f4ece112;align-items:center;width:100%;max-width:720px;margin:0 auto;display:flex}.messages-intake-own-field{flex:1;position:relative}.messages-input--with-send{width:100%;padding-right:52px}.messages-intake-send-inline{border-radius:var(--radius-pill);background:var(--accent);color:#fff;cursor:pointer;width:36px;height:36px;transition:background var(--duration-ui) var(--ease-smooth);border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.messages-intake-send-inline:hover:not(:disabled){background:var(--accent-press)}.messages-intake-send-inline:disabled{opacity:.35;cursor:default}.messages-intake-send-inline:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.messages-input-bar .messages-intake-menu,.messages-input-bar .messages-intake-own-bar{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-top:none;padding:0}.stage-intake-skip-btn,.messages-intake-skip-btn{color:#f4ece161;font-family:var(--font-body);font-size:var(--text-caption);cursor:pointer;padding:0 var(--space-2);white-space:nowrap;background:0 0;border:none;flex-shrink:0;min-height:44px}.stage-intake-skip-btn:hover:not(:disabled),.messages-intake-skip-btn:hover:not(:disabled){color:#f4ece1a6}.stage-intake-skip-btn:disabled,.messages-intake-skip-btn:disabled{opacity:.35;cursor:default}.message-proposal-sep{margin-top:var(--space-3)}.message-typing-indicator{padding:var(--space-1) 0;align-items:center;gap:4px;display:flex}.typing-dot{background:#f4ece180;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite thinking-bounce}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.messages-error-row{margin:0 var(--space-4) var(--space-2);font-size:var(--text-small);color:var(--accent);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:#d9643a14;border:1px solid #d9643a33}.messages-mic-bar{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:#161009d1;border-top:1px solid #f4ece112;display:flex}.messages-mic-btn{flex-shrink:0}.message-row .message-bubble{max-width:100%}.ws-drawer-backdrop{z-index:44;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:ws-drawer-fade var(--duration-ui) var(--ease-smooth) both;background:#0a070480;position:fixed;inset:0}@keyframes ws-drawer-fade{0%{opacity:0}to{opacity:1}}.ws-drawer{--ws-tab-w:34px;top:calc(52px + var(--space-3));bottom:var(--space-3);z-index:46;pointer-events:none;align-items:center;display:flex;position:fixed}.ws-drawer--left{left:0}.ws-drawer--right{right:0}.ws-drawer-tab{z-index:1;pointer-events:auto;align-items:center;gap:var(--space-2);width:var(--ws-tab-w);padding:var(--space-3) 0;-webkit-backdrop-filter:var(--blur-backdrop);backdrop-filter:var(--blur-backdrop);color:#f4ece1;font-size:var(--text-caption);letter-spacing:.04em;cursor:pointer;transition:background var(--duration-ui) var(--ease-smooth);background:#1a120aeb;border:1px solid #f4ece124;flex-direction:column;font-weight:600;display:flex;position:relative}.ws-drawer-tab:hover{background:#2a1e12f5}.ws-drawer--left .ws-drawer-tab{border-radius:0 var(--radius-card) var(--radius-card) 0;border-left:none}.ws-drawer--right .ws-drawer-tab{border-radius:var(--radius-card) 0 0 var(--radius-card);border-right:none}.ws-drawer-tab-label{writing-mode:vertical-rl;text-orientation:mixed}.ws-drawer--right .ws-drawer-tab-label{transform:rotate(180deg)}.ws-drawer-panel{width:min(340px, calc(84vw - var(--ws-tab-w)));gap:var(--space-2);padding:var(--space-1);pointer-events:auto;scrollbar-width:thin;scrollbar-color:#f4ece138 transparent;transition:transform var(--duration-panel) var(--ease-smooth);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;overflow-y:auto}.ws-drawer--left .ws-drawer-panel{left:var(--ws-tab-w);transform:translateX(calc(-100% - var(--ws-tab-w) - var(--space-3)))}.ws-drawer--right .ws-drawer-panel{right:var(--ws-tab-w);transform:translateX(calc(100% + var(--ws-tab-w) + var(--space-3)))}.ws-drawer--open .ws-drawer-panel{transform:translate(0)}.ws-drawer--instant .ws-drawer-panel{transition:none}.ws-drawer-panel::-webkit-scrollbar{width:6px}.ws-drawer-panel::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:#f4ece138}.ws-drawer-panel::-webkit-scrollbar-track{background:0 0}@media (width<=768px){.ws-drawer--open{z-index:60}.ws-drawer--left.ws-drawer--open{z-index:61}.ws-drawer--right.ws-drawer--open{z-index:60}.ws-drawer-panel{width:min(88vw,360px);max-height:calc(100svh - 52px - var(--space-6));overflow-y:auto}}.workspace-island-bottom{bottom:160px;right:var(--space-3);z-index:30;pointer-events:auto;max-width:280px;position:absolute}.workspace-failure-overlay{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#161009eb;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.workspace-win-overlay{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#161009eb;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.ws-confetti{pointer-events:none;z-index:1;width:100vw;height:100vh;position:fixed;inset:0}.checkin-island-locked{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;font-size:var(--text-small);color:#7fae8ff2;display:flex}.ws-island{border-radius:var(--radius-card);-webkit-backdrop-filter:blur(14px)saturate(150%);backdrop-filter:blur(14px)saturate(150%);width:100%;animation:stage-fade-in var(--duration-panel) var(--ease-smooth) both;background:#161009d1;border:1px solid #f4ece121;flex-shrink:0;overflow:hidden;box-shadow:0 4px 20px #0006}.ws-island-header{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);color:#f4ece1b3;font-family:var(--font-body);font-size:var(--text-caption);letter-spacing:var(--tracking-label);text-transform:uppercase;text-align:left;cursor:pointer;width:100%;transition:background var(--duration-ui) var(--ease-smooth);background:0 0;border:none;font-weight:600;display:flex}.ws-island-header:hover{background:#f4ece10d}.ws-island-header:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}div.ws-island-header{cursor:default}div.ws-island-header:hover{background:0 0}.ws-island-title{min-width:0;font-size:var(--text-small);font-weight:700;line-height:var(--lh-tight);flex:1}.ws-island-body{padding:var(--space-3) var(--space-4) var(--space-4);gap:var(--space-2);border-top:1px solid #f4ece112;flex-direction:column;display:flex}.ws-island-body[hidden]{display:none}.ws-island-empty{font-family:var(--font-body);font-size:var(--text-caption);color:#f4ece166;padding:var(--space-1) 0;font-style:italic}.ws-island-error{font-family:var(--font-body);font-size:var(--text-caption);color:var(--accent)}.context-island-dots{align-items:center;gap:4px;display:flex}.context-dot{width:8px;height:8px;transition:background var(--duration-ui) var(--ease-smooth);background:#f4ece133;border:1px solid #f4ece140;border-radius:50%;flex-shrink:0}.context-dot--filled{background:var(--accent);border-color:var(--accent)}.context-island-body{max-height:180px;overflow-y:auto}.context-slot-row{padding:var(--space-1) 0;border-bottom:1px solid #f4ece112;flex-direction:column;gap:2px;display:flex}.context-slot-row:last-child{border-bottom:none}.context-slot-label{font-size:var(--text-caption);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent);opacity:.8;font-weight:600}.context-slot-value{font-family:var(--font-display);font-size:var(--text-caption);color:#f4ece1cc;line-height:var(--lh-body)}.details-row{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-1) 0;border-bottom:1px solid #f4ece112;display:flex}.details-row:last-child{border-bottom:none}.details-label{font-size:var(--text-caption);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent);opacity:.8;flex-shrink:0;font-weight:600}.details-value{font-size:var(--text-caption);color:#f4ece1d9;text-align:right;line-height:var(--lh-body)}.plan-island-body{max-height:240px;overflow-y:auto}.plan-island-row{gap:var(--space-2);padding:var(--space-1) 0;border-bottom:1px solid #f4ece10f;align-items:flex-start;display:flex}.plan-island-row:last-of-type{border-bottom:none}.plan-island-time{font-family:var(--font-body);font-size:var(--text-caption);color:#f4ece173;white-space:nowrap;flex-shrink:0;min-width:64px}.plan-island-step-content{flex-direction:column;gap:2px;min-width:0;display:flex}.plan-island-step-label{font-family:var(--font-display);font-size:var(--text-caption);color:#f4ece1d9;line-height:var(--lh-body)}.plan-island-row--boundary .plan-island-step-label{color:var(--accent);font-weight:600}.plan-island-step-note{font-size:var(--text-caption);color:#f4ece173;line-height:var(--lh-body);font-style:italic}.plan-island-note{font-size:var(--text-caption);color:#f4ece18c;font-style:italic;line-height:var(--lh-body);padding-top:var(--space-1)}.plan-island-readonly-notice{font-size:var(--text-caption);color:#f4ece14d;text-align:right;margin-top:var(--space-1);font-style:italic}.checkin-island--late{border-color:#d9643a59}.checkin-island-reprimand{font-family:var(--font-display);font-size:var(--text-caption);color:var(--accent);line-height:var(--lh-body)}.checkin-island-timer{font-size:var(--text-caption);color:#f4ece1b3;text-align:center}.checkin-island-timer strong{color:#f4ece1f2;font-variant-numeric:tabular-nums}.checkin-island-timer-late{color:var(--accent);font-weight:600}.checkin-island-brief{font-family:var(--font-display);font-size:var(--text-caption);color:#f4ece1cc;line-height:var(--lh-body);font-style:italic}.checkin-island-trigger-btn,.finish-island-trigger-btn{background:var(--accent);border-radius:var(--radius-md);color:#fff;font-family:var(--font-body);font-size:var(--text-small);padding:var(--space-2) var(--space-3);cursor:pointer;width:100%;min-height:36px;transition:background var(--duration-ui) var(--ease-smooth);border:none;font-weight:600}.checkin-island-trigger-btn:hover,.finish-island-trigger-btn:hover{background:var(--accent-press)}.checkin-island-trigger-btn:focus-visible,.finish-island-trigger-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.checkin-island-denial,.finish-island-denial{gap:var(--space-2);flex-direction:column;display:flex}.checkin-island-denial-text,.finish-island-denial-text{font-size:var(--text-caption);color:#f4ece1a6;line-height:var(--lh-body)}.checkin-island-retry-btn,.finish-island-retry-btn,.checkin-island-done-btn{border-radius:var(--radius-md);color:#f4ece1a6;font-family:var(--font-body);font-size:var(--text-caption);padding:var(--space-1) var(--space-2);cursor:pointer;min-height:32px;transition:background var(--duration-ui) var(--ease-smooth), color var(--duration-ui) var(--ease-smooth);background:0 0;border:1px solid #f4ece133;font-weight:500}.checkin-island-retry-btn:hover,.finish-island-retry-btn:hover,.checkin-island-done-btn:hover{color:#f4ece1d9;background:#f4ece112}.checkin-island-retry-btn:focus-visible,.finish-island-retry-btn:focus-visible,.checkin-island-done-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.finish-island-sub{font-size:var(--text-caption);color:#f4ece199;line-height:var(--lh-body)}.activity-card-header{cursor:default}.activity-card-body{max-height:200px;overflow-y:auto}.activity-event-row{padding:var(--space-1) 0;border-bottom:1px solid #f4ece112;flex-direction:column;gap:2px;display:flex}.activity-event-row:last-child{border-bottom:none}.activity-event-time{font-size:var(--text-caption);color:#f4ece166}.activity-event-label{font-family:var(--font-display);font-size:var(--text-caption);color:#f4ece1bf}.verdict-card{border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);gap:var(--space-1);flex-direction:column;display:flex}.verdict-card--pass{background:#50a05026;border:1px solid #50a05059}.verdict-card--fail{background:#b43c3c26;border:1px solid #b43c3c59}.verdict-card--unclear{background:#f4ece10f;border:1px solid #f4ece12e}.verdict-card-header{align-items:center;gap:var(--space-2);display:flex}.verdict-card-icon{flex-shrink:0}.verdict-card--pass .verdict-card-icon{color:#50a050}.verdict-card--fail .verdict-card-icon{color:#c85050}.verdict-card--unclear .verdict-card-icon{color:#f4ece199}.verdict-card-label{font-family:var(--font-body);font-size:var(--text-caption);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:600}.verdict-card--pass .verdict-card-label{color:#50a050}.verdict-card--fail .verdict-card-label{color:#c85050}.verdict-card--unclear .verdict-card-label{color:#f4ece1a6}.verdict-card-reasoning{font-size:var(--text-caption);color:#f4ece199;line-height:var(--lh-body);font-style:italic}.submission-panel{gap:var(--space-2);flex-direction:column;display:flex}.submission-mode-row{gap:var(--space-2);display:flex}.submission-mode-btn{align-items:center;gap:var(--space-1);border-radius:var(--radius-md);color:#f4ece1b3;font-family:var(--font-body);font-size:var(--text-caption);padding:var(--space-1) var(--space-2);cursor:pointer;min-height:32px;transition:background var(--duration-ui) var(--ease-smooth), border-color var(--duration-ui) var(--ease-smooth), color var(--duration-ui) var(--ease-smooth);background:#f4ece112;border:1px solid #f4ece126;flex:1;justify-content:center;font-weight:500;display:inline-flex}.submission-mode-btn:hover{color:#f4ece1e6;background:#d9643a24;border-color:#d9643a66}.submission-mode-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.submission-content{gap:var(--space-2);flex-direction:column;display:flex}.submission-header{justify-content:space-between;align-items:center;display:flex}.submission-mode-label{align-items:center;gap:var(--space-1);font-size:var(--text-caption);color:#f4ece199;text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:600;display:inline-flex}.submission-close-btn{color:#f4ece166;cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;min-width:28px;min-height:28px;display:flex}.submission-close-btn:hover{color:#f4ece1bf;background:#f4ece112}.submission-close-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.submission-pick-btn{border-radius:var(--radius-md);color:#f4ece199;font-family:var(--font-body);font-size:var(--text-caption);padding:var(--space-2) var(--space-3);cursor:pointer;text-align:center;width:100%;min-height:36px;transition:background var(--duration-ui) var(--ease-smooth), border-color var(--duration-ui) var(--ease-smooth);background:#f4ece10f;border:1.5px dashed #f4ece12e}.submission-pick-btn:hover{background:#d9643a1a;border-color:#d9643a4d}.submission-pick-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.submission-preview-area{gap:var(--space-1);flex-direction:column;align-items:flex-start;display:flex}.submission-img-preview{border-radius:var(--radius-sm);object-fit:contain;background:#f4ece10d;max-width:100%;max-height:100px}.submission-file-preview{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.submission-filename{font-size:var(--text-caption);color:#f4ece1bf;word-break:break-all;flex:1;min-width:0}.submission-filesize{font-size:var(--text-caption);color:#f4ece166;flex-shrink:0}.submission-change-btn{color:var(--accent);font-size:var(--text-caption);cursor:pointer;padding:0 var(--space-1);background:0 0;border:none;flex-shrink:0;text-decoration:underline}.submission-url-input{border-radius:var(--radius-md);width:100%;padding:var(--space-2) var(--space-3);color:#f4ece1e6;font-family:var(--font-body);font-size:var(--text-caption);box-sizing:border-box;background:#f4ece112;border:1.5px solid #f4ece121;min-height:36px}.submission-url-input::placeholder{color:#f4ece14d}.submission-url-input:focus{border-color:var(--accent);outline:none}.submission-url-input:disabled{opacity:.5}.submission-error{font-size:var(--text-caption);color:var(--accent);line-height:var(--lh-body)}.submission-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);display:flex}.submission-cancel-text{font-family:var(--font-body);font-size:var(--text-caption);color:#f4ece173;cursor:pointer;padding:var(--space-1) var(--space-2);background:0 0;border:none;min-height:32px}.submission-cancel-text:hover:not(:disabled){color:#f4ece1b3}.submission-cancel-text:disabled{opacity:.4;cursor:default}.submission-submit-btn{background:var(--accent);border-radius:var(--radius-md);color:#fff;font-family:var(--font-body);font-size:var(--text-caption);padding:var(--space-1) var(--space-3);cursor:pointer;min-width:60px;min-height:32px;transition:background var(--duration-ui) var(--ease-smooth);border:none;font-weight:600}.submission-submit-btn:hover:not(:disabled){background:var(--accent-press)}.submission-submit-btn:disabled{opacity:.4;cursor:default}.submission-submit-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ending-sequence{width:100%;max-width:480px;padding:var(--space-8) var(--space-6);text-align:center;flex-direction:column;align-items:center;display:flex}.workspace-win-overlay .ending-sequence{z-index:2;position:relative}.ending-win-content,.ending-failure-content{gap:var(--space-4);flex-direction:column;align-items:center;display:flex}.ending-win-headline{font-family:var(--font-display);font-size:var(--text-h2);color:#f4ece1f2;font-weight:700;line-height:var(--lh-heading)}.ending-failure-headline{font-family:var(--font-display);font-size:var(--text-h2);color:#f4ece1b3;font-weight:700;line-height:var(--lh-heading)}.ending-win-sub,.ending-failure-sub{font-size:var(--text-body);color:#f4ece199;line-height:var(--lh-body);max-width:380px}.ending-win-actions,.ending-failure-actions{gap:var(--space-2);flex-direction:column;width:100%;max-width:320px;display:flex}.ending-btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:var(--text-small);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);cursor:pointer;min-height:44px;transition:background var(--duration-ui) var(--ease-smooth), color var(--duration-ui) var(--ease-smooth);border:none;font-weight:600;display:inline-flex}.ending-btn--share{background:var(--accent);color:#fff}.ending-btn--share:hover{background:var(--accent-press)}.ending-btn--new{color:#f4ece1d9;background:#f4ece11a;border:1px solid #f4ece133}.ending-btn--new:hover{background:#f4ece126}.ending-btn--ghost{color:#f4ece180;background:0 0}.ending-btn--ghost:hover{color:#f4ece1bf}.ending-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.ws-island{animation:none}}@media (width<=480px){.workspace-island-bottom{display:none}}[data-theme=light] .workspace-root{background:var(--bg);color:var(--ink)}[data-theme=light] .workspace-topbar{background:color-mix(in srgb, var(--surface) 88%, transparent);border-bottom-color:var(--line)}[data-theme=light] .workspace-title{color:var(--ink)}[data-theme=light] .workspace-back-btn{color:var(--ink-soft)}[data-theme=light] .workspace-back-btn:hover{color:var(--ink);background:var(--surface-sunk)}[data-theme=light] .workspace-mode-toggle{background:var(--surface-sunk);border-color:var(--line)}[data-theme=light] .workspace-mode-btn{color:var(--ink-soft)}[data-theme=light] .workspace-mode-btn-active{background:var(--surface-2);color:var(--ink);box-shadow:var(--shadow-sm)}[data-theme=light] .workspace-mode-btn:hover:not(.workspace-mode-btn-active){color:var(--ink)}[data-theme=light] .nc-topbar-title{color:var(--ink-soft)}[data-theme=light] .workspace-spinner-ring{border-color:color-mix(in srgb, var(--ink-soft) 45%, transparent);border-top-color:var(--accent)}[data-theme=light] .workspace-spinner-label{color:var(--ink-soft)}[data-theme=light] .stage-character-area{background:radial-gradient(ellipse 70% 80% at 50% 35%, var(--surface-2) 0%, var(--surface) 54%, var(--surface-sunk) 100%)}[data-theme=light] .messages-mode{background:radial-gradient(ellipse 80% 60% at 50% 0%, var(--surface-2) 0%, var(--bg) 62%)}[data-theme=light] .char-stage-label{color:var(--ink-faint)}[data-theme=light] .stage-dev-btn{background:var(--accent-tint);border-color:color-mix(in srgb, var(--accent) 35%, var(--line));color:var(--ink)}[data-theme=light] .stage-dev-btn:hover{background:color-mix(in srgb, var(--accent-tint) 70%, var(--surface-2))}[data-theme=light] .stage-option-card{background:color-mix(in srgb, var(--surface) 86%, transparent);border-color:var(--line);color:var(--ink)}[data-theme=light] .stage-option-card:hover{background:var(--accent-tint);border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}[data-theme=light] .stage-text-input{background:color-mix(in srgb, var(--surface-2) 88%, transparent);border-color:var(--line);color:var(--ink)}[data-theme=light] .stage-text-input::placeholder{color:var(--ink-faint)}[data-theme=light] .stage-dialogue-box{background:color-mix(in srgb, var(--surface) 90%, transparent);border-color:var(--line);box-shadow:var(--shadow-lg)}[data-theme=light] .stage-dialogue-box--refusal{background:color-mix(in srgb, var(--accent-tint) 50%, var(--surface))}[data-theme=light] .stage-dialogue-line{color:var(--ink)}[data-theme=light] .stage-speaker-name{color:var(--accent-press)}[data-theme=light] .stage-voice-btn{background:color-mix(in srgb, var(--surface) 82%, transparent);border-color:var(--line);color:var(--ink-soft)}[data-theme=light] .stage-voice-btn:hover:not(:disabled){background:var(--surface-sunk);color:var(--ink)}[data-theme=light] .stage-mic-bar-btn{background:var(--surface-sunk);border-color:var(--line);color:var(--ink-soft)}[data-theme=light] .stage-mic-transcript{background:color-mix(in srgb, var(--surface) 90%, transparent);border-color:var(--line)}[data-theme=light] .stage-mic-text{color:var(--ink)}[data-theme=light] .stage-dev-text{background:var(--surface-2);border-color:var(--line);color:var(--ink)}[data-theme=light] .messages-input-bar{background:color-mix(in srgb, var(--surface) 90%, transparent);border-top-color:var(--line)}[data-theme=light] .messages-input{background:var(--surface-2);border-color:var(--line);color:var(--ink)}[data-theme=light] .messages-input::placeholder{color:var(--ink-faint)}[data-theme=light] .message-avatar-portrait{border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}[data-theme=light] .message-avatar-fallback{background:var(--accent-tint);border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}[data-theme=light] .bubble-kawan{background:color-mix(in srgb, var(--accent-tint) 70%, var(--surface));border-color:color-mix(in srgb, var(--accent) 24%, var(--line))}[data-theme=light] .bubble-user{background:var(--surface-2);border-color:var(--line)}[data-theme=light] .bubble-kawan--refusal{background:color-mix(in srgb, var(--accent-tint) 74%, var(--surface));border-color:color-mix(in srgb, var(--accent) 36%, var(--line))}[data-theme=light] .message-text,[data-theme=light] .bubble-user .message-text{color:var(--ink)}[data-theme=light] .message-option-btn{background:var(--surface);border-color:var(--line);color:var(--ink-soft)}[data-theme=light] .proposal-card{background:color-mix(in srgb, var(--surface) 92%, transparent);border-color:var(--line)}[data-theme=light] .proposal-card--applied{background:var(--surface-sunk);border-color:var(--line)}[data-theme=light] .proposal-card-applied-text,[data-theme=light] .proposal-card-field{color:var(--ink-soft)}[data-theme=light] .proposal-card-value{color:var(--ink)}[data-theme=light] .proposal-card-reason{color:var(--ink-soft)}[data-theme=light] .proposal-card-btn--dismiss{border-color:var(--line);color:var(--ink-soft)}[data-theme=light] .proposal-card-btn--dismiss:hover:not(:disabled){background:var(--surface-sunk);border-color:var(--line-strong)}[data-theme=light] .stage-thinking{background:color-mix(in srgb, var(--surface) 88%, transparent);border-color:var(--line)}[data-theme=light] .stage-input{background:color-mix(in srgb, var(--surface-2) 90%, transparent);border-color:var(--line);color:var(--ink)}[data-theme=light] .stage-input::placeholder{color:var(--ink-faint)}[data-theme=light] .stage-starter-chip{background:color-mix(in srgb, var(--surface) 88%, transparent);border-color:var(--line);color:var(--ink)}[data-theme=light] .stage-starter-chip:hover{background:var(--accent-tint);border-color:color-mix(in srgb, var(--accent) 35%, var(--line));color:var(--ink)}[data-theme=light] .messages-starter-chip{background:var(--surface);border-color:var(--line);color:var(--ink-soft)}[data-theme=light] .messages-starter-chip:hover{background:var(--accent-tint);border-color:color-mix(in srgb, var(--accent) 35%, var(--line));color:var(--ink)}[data-theme=light] .stage-intake-progress{background:color-mix(in srgb, var(--surface) 88%, transparent);border-color:var(--line)}[data-theme=light] .stage-intake-progress-label{color:var(--ink-soft)}[data-theme=light] .stage-intake-skip-ahead{color:var(--ink-faint)}[data-theme=light] .stage-intake-skip-ahead:hover{color:var(--ink-soft)}[data-theme=light] .stage-intake-dot{background:var(--surface-sunk);border-color:var(--line-strong)}[data-theme=light] .messages-intake-progress{background:var(--surface);border-bottom-color:var(--line)}[data-theme=light] .messages-intake-label{color:var(--ink-soft)}[data-theme=light] .messages-intake-skip-ahead{color:var(--ink-faint)}[data-theme=light] .messages-intake-skip-ahead:hover{color:var(--ink-soft)}[data-theme=light] .messages-intake-dot{background:var(--surface-sunk);border-color:var(--line-strong)}[data-theme=light] .stage-intake-btn{background:color-mix(in srgb, var(--surface) 84%, transparent);border-color:var(--line);color:var(--ink)}[data-theme=light] .stage-intake-btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--line-strong)}[data-theme=light] .stage-intake-btn:focus-visible{outline-color:var(--accent)}[data-theme=light] .stage-intake-btn--secondary{color:var(--ink-soft);background:color-mix(in srgb, var(--surface) 60%, transparent)}[data-theme=light] .stage-intake-btn--secondary:hover:not(:disabled){color:var(--ink);background:var(--accent-tint);border-color:color-mix(in srgb, var(--accent) 30%, var(--line))}[data-theme=light] .stage-intake-btn--skip{color:var(--ink-faint);border-color:var(--line)}[data-theme=light] .stage-intake-btn--skip:hover:not(:disabled){color:var(--ink-soft);background:var(--surface-sunk)}[data-theme=light] .stage-intake-cancel-btn{color:var(--ink-faint)}[data-theme=light] .stage-intake-cancel-btn:hover{color:var(--ink-soft)}[data-theme=light] .messages-intake-menu{background:var(--surface);border-top-color:var(--line)}[data-theme=light] .messages-intake-btn{background:var(--surface-2);border-color:var(--line);color:var(--ink)}[data-theme=light] .messages-intake-btn:hover:not(:disabled){background:var(--accent-tint);border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}[data-theme=light] .messages-intake-btn--secondary{color:var(--ink-soft)}[data-theme=light] .messages-intake-btn--secondary:hover:not(:disabled){color:var(--ink);background:var(--surface-sunk)}[data-theme=light] .messages-intake-btn--skip{color:var(--ink-faint);border-color:var(--line)}[data-theme=light] .messages-intake-btn--skip:hover:not(:disabled){color:var(--ink-soft)}[data-theme=light] .messages-intake-cancel{color:var(--ink-faint)}[data-theme=light] .messages-intake-cancel:hover{color:var(--ink-soft)}[data-theme=light] .messages-intake-own-bar{background:color-mix(in srgb, var(--surface) 90%, transparent);border-top-color:var(--line)}[data-theme=light] .messages-input-bar .messages-intake-menu,[data-theme=light] .messages-input-bar .messages-intake-own-bar{background:0 0;border-top:none}[data-theme=light] .stage-intake-skip-btn,[data-theme=light] .messages-intake-skip-btn{color:var(--ink-faint)}[data-theme=light] .stage-intake-skip-btn:hover:not(:disabled),[data-theme=light] .messages-intake-skip-btn:hover:not(:disabled){color:var(--ink-soft)}[data-theme=light] .typing-dot{background:var(--ink-faint)}[data-theme=light] .messages-mic-bar{background:color-mix(in srgb, var(--surface) 90%, transparent);border-top-color:var(--line)}[data-theme=light] .workspace-failure-overlay,[data-theme=light] .workspace-win-overlay{background:color-mix(in srgb, var(--surface) 82%, transparent)}[data-theme=light] .ws-island{background:color-mix(in srgb, var(--surface) 90%, transparent);border-color:var(--line);box-shadow:var(--shadow-md)}[data-theme=light] .ws-island-header{color:var(--ink-soft)}[data-theme=light] .ws-island-title{color:var(--ink)}[data-theme=light] .ws-island-header:hover{background:var(--surface-sunk)}[data-theme=light] div.ws-island-header:hover{background:0 0}[data-theme=light] .ws-island-body{border-top-color:var(--line)}[data-theme=light] .ws-island-empty{color:var(--ink-soft)}[data-theme=light] .ws-island-error{color:var(--danger)}[data-theme=light] .context-dot{background:var(--surface-sunk);border-color:var(--line-strong)}[data-theme=light] .context-dot--filled{background:var(--accent);border-color:var(--accent)}[data-theme=light] .context-slot-row{border-bottom-color:var(--line)}[data-theme=light] .context-slot-label{color:var(--ink-soft);opacity:1}[data-theme=light] .context-slot-value{color:var(--ink)}[data-theme=light] .details-row{border-bottom-color:var(--line)}[data-theme=light] .details-label{color:var(--ink-soft);opacity:1}[data-theme=light] .details-value{color:var(--ink)}[data-theme=light] .plan-island-row{border-bottom-color:var(--line)}[data-theme=light] .plan-island-time{color:var(--ink-soft)}[data-theme=light] .plan-island-step-label{color:var(--ink)}[data-theme=light] .plan-island-step-note,[data-theme=light] .plan-island-note,[data-theme=light] .plan-island-readonly-notice{color:var(--ink-soft)}[data-theme=light] .checkin-island-locked,[data-theme=light] .checkin-island-brief{color:var(--ink)}[data-theme=light] .checkin-island-denial-text,[data-theme=light] .checkin-island-timer{color:var(--ink-soft)}[data-theme=light] .checkin-island-timer strong{color:var(--ink)}[data-theme=light] .finish-island-denial-text{color:var(--ink-soft)}[data-theme=light] .checkin-island-retry-btn,[data-theme=light] .finish-island-retry-btn,[data-theme=light] .checkin-island-done-btn{border-color:var(--line);color:var(--ink-soft)}[data-theme=light] .checkin-island-retry-btn:hover,[data-theme=light] .finish-island-retry-btn:hover,[data-theme=light] .checkin-island-done-btn:hover{background:var(--surface-sunk);color:var(--ink)}[data-theme=light] .finish-island-sub{color:var(--ink-soft)}[data-theme=light] .activity-event-row{border-bottom-color:var(--line)}[data-theme=light] .activity-event-time{color:var(--ink-soft)}[data-theme=light] .activity-event-label{color:var(--ink)}[data-theme=light] .verdict-card--pass{background:var(--sage-tint);border-color:color-mix(in srgb, var(--success) 38%, var(--line))}[data-theme=light] .verdict-card--fail{background:color-mix(in srgb, var(--danger) 12%, var(--surface));border-color:color-mix(in srgb, var(--danger) 38%, var(--line))}[data-theme=light] .verdict-card--unclear{background:var(--surface-sunk);border-color:var(--line)}[data-theme=light] .verdict-card--unclear .verdict-card-icon,[data-theme=light] .verdict-card--unclear .verdict-card-label,[data-theme=light] .verdict-card-reasoning{color:var(--ink-soft)}[data-theme=light] .submission-mode-btn{background:var(--surface-2);border-color:var(--line);color:var(--ink-soft)}[data-theme=light] .submission-mode-btn:hover{background:var(--accent-tint);border-color:color-mix(in srgb, var(--accent) 35%, var(--line));color:var(--ink)}[data-theme=light] .submission-mode-label{color:var(--ink-soft)}[data-theme=light] .submission-close-btn{color:var(--ink-faint)}[data-theme=light] .submission-close-btn:hover{color:var(--ink-soft);background:var(--surface-sunk)}[data-theme=light] .submission-pick-btn{background:var(--surface-2);border-color:var(--line-strong);color:var(--ink-soft)}[data-theme=light] .submission-pick-btn:hover{background:var(--accent-tint);border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}[data-theme=light] .submission-img-preview{background:var(--surface-sunk)}[data-theme=light] .submission-filename{color:var(--ink)}[data-theme=light] .submission-filesize{color:var(--ink-soft)}[data-theme=light] .submission-url-input{background:var(--surface-2);border-color:var(--line);color:var(--ink)}[data-theme=light] .submission-url-input::placeholder{color:var(--ink-faint)}[data-theme=light] .submission-cancel-text,[data-theme=light] .submission-cancel-text:hover:not(:disabled){color:var(--ink-soft)}[data-theme=light] .ending-win-headline{color:var(--ink)}[data-theme=light] .ending-failure-headline,[data-theme=light] .ending-win-sub,[data-theme=light] .ending-failure-sub{color:var(--ink-soft)}[data-theme=light] .ending-btn--new{background:var(--surface-2);border-color:var(--line);color:var(--ink)}[data-theme=light] .ending-btn--new:hover{background:var(--surface-sunk)}[data-theme=light] .ending-btn--ghost{color:var(--ink-soft)}[data-theme=light] .ending-btn--ghost:hover{color:var(--ink)}
