:root{--surface-base: #111318;--surface-panel: rgba(21, 26, 32, .85);--surface-chat: #141d26;--surface-header: #1a1f28;--surface-elevated: #1e2a3a;--surface-input: rgba(10, 15, 20, .65);--surface-dropdown: rgba(8, 12, 16, .9);--surface-hover: rgba(255, 255, 255, .08);--surface-active: rgba(255, 255, 255, .12);--glass-bg: rgba(10, 15, 20, .65);--glass-border: 1px solid rgba(255, 255, 255, .05);--glass-border-color: rgba(255, 255, 255, .05);--glass-blur: blur(2px);--glass-backdrop-card: none;--glass-backdrop-bar: brightness(1.1) blur(2px) url(#liquidGlassBar);--glass-edge-light: inset 4px 4px 0px -4px rgba(255, 255, 255, .15), inset -4px -4px 0px -4px rgba(255, 255, 255, .15), inset 0 0 6px 1px rgba(255, 255, 255, .06);--glass-depth: drop-shadow(-4px -6px 30px rgba(0, 0, 0, .35));--glass-depth-sm: drop-shadow(0 4px 12px rgba(0, 0, 0, .25));--glass-inset-highlight: inset 4px 4px 0px -4px rgba(255, 255, 255, .15), inset -4px -4px 0px -4px rgba(0, 0, 0, .2), inset 0 0 6px 1px rgba(255, 255, 255, .06);--glass-inset-pressed: inset -4px -4px 0px -4px rgba(255, 255, 255, .12), inset 4px 4px 0px -4px rgba(0, 0, 0, .3), inset 0 0 4px 1px rgba(0, 0, 0, .1);--overlay-subtle: rgba(255, 255, 255, .05);--overlay-light: rgba(255, 255, 255, .08);--overlay-medium: rgba(255, 255, 255, .1);--overlay-strong: rgba(255, 255, 255, .18);--overlay-hover: rgba(255, 255, 255, .3);--overlay-active: rgba(255, 255, 255, .4);--grid-line: rgba(255, 255, 255, .03);--separator: rgba(255, 255, 255, .08);--text-ghost: rgba(255, 255, 255, .25);--accent: #5eadd8;--accent-hover: #94c9eb;--accent-muted: rgba(94, 173, 216, .4);--accent-glow: rgba(94, 173, 216, .08);--accent-glow-strong: rgba(94, 173, 216, .2);--accent-tint-subtle: rgba(94, 173, 216, .04);--accent-tint-light: rgba(94, 173, 216, .08);--accent-tint-medium: rgba(94, 173, 216, .14);--accent-tint-strong: rgba(94, 173, 216, .22);--text-primary: #e1e8ed;--text-secondary: #cfd8dc;--text-muted: #546e7a;--text-dim: #78909c;--text-accent: #72b8e4;--text-heading: #f1f5f9;--text-placeholder: #6b7d8d;--status-ok: #30d158;--status-ok-glow: rgba(48, 209, 88, .5);--status-error: #ff453a;--status-error-glow: rgba(255, 69, 58, .5);--status-warn: #ff9f0a;--status-warn-glow: rgba(255, 159, 10, .4);--status-system-bg: #2a2332;--status-system-border: #3a2a4a;--status-system-text: #b39ddb;--border-subtle: 1px solid rgba(42, 58, 74, .6);--border-panel: 1px solid rgba(255, 255, 255, .05);--border-human-msg: 1px solid #2a4a6a;--border-focus: rgba(79, 195, 247, .2);--shadow-glass: 0 4px 24px rgba(0, 0, 0, .3);--shadow-glass-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-btn: 0 2px 8px rgba(0, 0, 0, .2);--shadow-focus: 0 4px 24px rgba(0, 0, 0, .3), 0 0 0 2px var(--accent-glow);--space-1: 4px;--space-2: 6px;--space-3: 8px;--space-4: 10px;--space-5: 12px;--space-6: 14px;--space-8: 16px;--space-10: 20px;--space-12: 24px;--space-16: 32px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 26px;--radius-xl-inner: 20px;--radius-pill: 42px;--radius-pill-inner: 36px;--radius-input: 22px;--radius-round: 50%;--radius-full: 9999px;--btn-size-sm: 28px;--btn-size-md: 30px;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.2, .6, .35, 1);--ease-out: cubic-bezier(.175, .885, .32, 1.275);--ease-snap: cubic-bezier(.6, -.28, .735, .045);--duration-fast: .1s;--duration-base: .2s;--duration-slow: .35s;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", "Fira Code", monospace;--text-xs: 10px;--text-sm: 11px;--text-base: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 20px;--z-base: 0;--z-panel: 2;--z-header: 10;--z-popup: 10;--z-overlay: 100;--scrollbar-width: 6px;--scrollbar-track: var(--surface-base);--scrollbar-thumb: #2a3a4a;--scrollbar-thumb-hover: #3a4a5a}[data-theme=light]{--surface-base: #f8f9fb;--surface-panel: rgba(255, 255, 255, .72);--surface-chat: rgba(255, 255, 255, .78);--surface-header: rgba(255, 255, 255, .82);--surface-elevated: rgba(240, 244, 248, .75);--surface-input: rgba(240, 244, 248, .6);--surface-dropdown: rgba(255, 255, 255, .88);--surface-hover: rgba(0, 0, 0, .04);--surface-active: rgba(0, 0, 0, .08);--glass-bg: rgba(255, 255, 255, .55);--glass-border: 1px solid rgba(255, 255, 255, .5);--glass-border-color: rgba(255, 255, 255, .5);--glass-edge-light: inset 4px 4px 0px -4px rgba(255, 255, 255, .9), inset -4px -4px 0px -4px rgba(0, 0, 0, .05), inset 0 0 8px 1px rgba(255, 255, 255, .3);--glass-depth: drop-shadow(-4px -6px 30px rgba(0, 0, 0, .06));--glass-depth-sm: drop-shadow(0 4px 12px rgba(0, 0, 0, .05));--glass-inset-highlight: inset 4px 4px 0px -4px rgba(255, 255, 255, .8), inset -4px -4px 0px -4px rgba(0, 0, 0, .04), inset 0 0 6px 1px rgba(0, 0, 0, .02);--glass-inset-pressed: inset -4px -4px 0px -4px rgba(0, 0, 0, .04), inset 4px 4px 0px -4px rgba(0, 0, 0, .08), inset 0 0 4px 1px rgba(0, 0, 0, .04);--overlay-subtle: rgba(0, 0, 0, .03);--overlay-light: rgba(0, 0, 0, .04);--overlay-medium: rgba(0, 0, 0, .06);--overlay-strong: rgba(0, 0, 0, .1);--overlay-hover: rgba(0, 0, 0, .14);--overlay-active: rgba(0, 0, 0, .18);--grid-line: rgba(0, 0, 0, .04);--separator: rgba(0, 0, 0, .08);--text-ghost: rgba(0, 0, 0, .2);--accent: #3d8ab8;--accent-hover: #2d7aa8;--accent-muted: rgba(61, 138, 184, .12);--accent-glow: rgba(61, 138, 184, .06);--accent-glow-strong: rgba(61, 138, 184, .15);--accent-tint-subtle: rgba(0, 122, 255, .04);--accent-tint-light: rgba(0, 122, 255, .08);--accent-tint-medium: rgba(0, 122, 255, .14);--accent-tint-strong: rgba(0, 122, 255, .22);--text-primary: #1a2332;--text-secondary: #374957;--text-muted: #8a9baa;--text-dim: #a0b0bc;--text-accent: #3d8ab8;--text-heading: #0f1a26;--text-placeholder: #9eaebb;--status-ok: #2e8b33;--status-ok-glow: rgba(46, 139, 51, .3);--status-error: #d32f2f;--status-error-glow: rgba(211, 47, 47, .3);--status-warn: #e68a00;--status-warn-glow: rgba(230, 138, 0, .3);--status-system-bg: #f3f0f8;--status-system-border: #e0d8ec;--status-system-text: #6a4c9c;--border-subtle: 1px solid rgba(0, 0, 0, .08);--border-panel: 1px solid rgba(0, 0, 0, .06);--border-human-msg: 1px solid #c8dae8;--border-focus: rgba(61, 138, 184, .3);--shadow-glass: 0 4px 24px rgba(0, 0, 0, .08);--shadow-glass-lg: 0 8px 32px rgba(0, 0, 0, .12);--shadow-btn: 0 2px 8px rgba(0, 0, 0, .06);--shadow-focus: 0 4px 24px rgba(0, 0, 0, .08), 0 0 0 2px var(--accent-glow);--scrollbar-track: #f0f2f5;--scrollbar-thumb: #c8d0d8;--scrollbar-thumb-hover: #a8b4c0}@media (prefers-reduced-motion: reduce){:root{--duration-fast: 0ms;--duration-base: 0ms;--duration-slow: 0ms;--ease-spring: ease;--ease-smooth: ease;--ease-out: ease}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: high){:root{--glass-border-color: rgba(255, 255, 255, .3);--glass-edge-light: none;--text-muted: #90a4ae;--text-dim: #b0bec5;--border-subtle: 1px solid rgba(255, 255, 255, .2)}}*:focus-visible{outline:2px solid var(--accent);outline-offset:2px}*{margin:0;padding:0;box-sizing:border-box}::-webkit-scrollbar{width:var(--scrollbar-width);height:var(--scrollbar-width)}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-xs)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.rb-hide-scrollbar::-webkit-scrollbar{display:none}.rb-track{position:absolute;right:3px;width:5px;z-index:var(--z-header);pointer-events:none;opacity:0;transition:opacity .3s}.rb-thumb{position:absolute;right:0;width:5px;background:var(--overlay-strong);border-radius:var(--radius-xs);min-height:24px;pointer-events:auto;cursor:grab}.rb-thumb:hover{background:var(--overlay-hover)}.rb-thumb:active{background:var(--overlay-active);cursor:grabbing}body{font-family:var(--font-family);background:var(--surface-base);color:var(--text-primary);height:100vh;display:flex;flex-direction:column;overflow:hidden;transition:background-color .2s ease,color .2s ease}#root{display:flex;flex-direction:column;flex:1;min-height:0}.app-layout{display:flex;flex:1;overflow:hidden;background:var(--surface-base)}.chat-panel{flex:0 1 380px;max-width:420px;min-width:280px;display:flex;flex-direction:column;background:var(--surface-panel);position:relative;contain:layout style paint;border-radius:var(--radius-xl);margin:8px;overflow:hidden;box-shadow:0 8px 32px #0006,0 2px 8px #0003;z-index:1}.chat-panel:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;z-index:0;pointer-events:none;border-radius:inherit;box-shadow:var(--glass-edge-light)}.chat-panel:after{content:"";position:absolute;bottom:0;right:20px;width:55%;height:1px;background:linear-gradient(to right,transparent 0%,rgba(255,255,255,.1) 30%,transparent 100%);pointer-events:none;z-index:1}.ops-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;background:var(--surface-base)}.ops-panel-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--scrollbar-thumb);font-size:var(--text-md);letter-spacing:.5px}.diary-nav-btn{background:var(--glass-bg);border:var(--border-panel);border-radius:50%;width:var(--btn-size-sm);height:var(--btn-size-sm);padding:0;color:var(--accent);cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:brightness(1.1) blur(2px);-webkit-backdrop-filter:brightness(1.1) blur(2px);box-shadow:var(--shadow-glass),var(--glass-inset-highlight);transition:all .3s var(--ease-spring)}.diary-nav-btn:hover{transform:translateY(-1px) scale(1.05);background:rgba(94,173,216,.08);border-color:#5eadd826;box-shadow:var(--shadow-glass),var(--glass-inset-highlight),0 4px 12px #5eadd81f;transition:all .15s ease-out}.diary-nav-btn:active{transform:translateY(0) scale(.92);box-shadow:var(--shadow-btn),var(--glass-inset-pressed)}.diary-nav-btn.pill{border-radius:42px;width:auto;height:var(--btn-size-sm);padding:0 10px;font-size:11px}.diary-panel{display:flex;flex-direction:column;max-height:50%;padding:var(--space-3) var(--space-4) var(--space-5) var(--space-1);position:relative;contain:layout style paint}.diary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);padding:0 var(--space-1)}.diary-title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);font-family:"Source Serif 4",Georgia,serif}.diary-nav-group{display:flex;align-items:center;gap:var(--space-2)}.diary-week-range{font-size:var(--text-sm);color:var(--text-secondary);min-width:100px;text-align:center}.diary-day-pills{position:sticky;top:0;z-index:4;display:flex;justify-content:space-around;padding:var(--space-2) var(--space-2) var(--space-2) 28px;gap:var(--space-1)}.diary-day-pill{position:relative;text-align:center;font-size:var(--text-xs);font-weight:600;color:var(--text-muted);padding:var(--space-1) var(--space-8);border-radius:var(--radius-pill);background:var(--glass-bg);border:var(--border-panel);backdrop-filter:var(--glass-backdrop-bar);-webkit-backdrop-filter:brightness(1.1) var(--glass-blur);box-shadow:0 2px 6px #00000040;letter-spacing:.3px}.diary-day-pill:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;box-shadow:var(--glass-edge-light)}.diary-day-pill--today{color:var(--accent);background:rgba(94,173,216,.15);border:1px solid rgba(94,173,216,.2)}.diary-grid{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:none;position:relative;background:var(--surface-panel);border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.05);border-bottom:2px solid rgba(255,255,255,.1);padding:var(--space-3) var(--space-2);isolation:isolate;contain:layout style;clip-path:inset(0 round var(--radius-xl))}.diary-grid-inner{display:flex;position:relative}.diary-hour-labels{width:28px;flex-shrink:0}.diary-hour-label{height:48px;font-size:var(--text-xs);color:var(--text-muted);text-align:right;padding-right:var(--space-1);display:flex;align-items:flex-start;justify-content:flex-end;gap:1px;transform:translateY(-5px);position:relative}.diary-hour-num{font-weight:500;color:var(--text-secondary)}.diary-hour-period{font-size:7px;opacity:.4;font-weight:400}.diary-hour-tz{position:absolute;top:-18px;right:-3px;font-size:7px;opacity:.5;font-weight:500;color:var(--text-muted);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-sm);padding:1px 4px;letter-spacing:.2px}.diary-day-col{flex:1;position:relative;border-left:1px dotted rgba(255,255,255,.04)}.diary-day-col[data-is-today]{background:linear-gradient(to bottom,transparent 0%,transparent var(--now-position, 100%),rgba(94,173,216,.04) var(--now-position, 100%),rgba(94,173,216,.04) 100%)}.diary-grid-line{position:absolute;left:0;right:0;border-top:1px dotted rgba(255,255,255,.04)}.diary-event{position:absolute;left:3px;right:3px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.06);padding:2px 5px;overflow:hidden;font-size:var(--text-xs);color:var(--text-secondary);line-height:13px;display:flex;align-items:flex-start;gap:3px;background:rgba(30,40,55,.85)}.diary-event--protected{background:rgba(94,173,216,.14);border-color:#5eadd833}.diary-event--red{background:rgba(255,69,58,.12);border-color:#ff453a33}.diary-event--vip{background:rgba(255,159,10,.12);border-color:#ff9f0a33}.diary-event--external{background:rgba(48,209,88,.1);border-color:#30d15833}.diary-event--regular{background:var(--overlay-subtle);border-color:#ffffff0a}.diary-event__subject{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diary-event[data-scale=sm]{font-size:11px;line-height:12px}.diary-event[data-scale=xs]{font-size:10px;line-height:11px;padding:1px 3px}.diary-event[data-scale=xs] .diary-event__icon{display:none}.diary-event__icon{margin-top:1px;flex-shrink:0}.diary-now-line{position:absolute;left:28px;right:0;height:0;border-top:1.5px solid var(--accent);z-index:3;pointer-events:none;box-shadow:0 0 4px 1px #5eadd826}.diary-now-pill{position:absolute;right:100%;top:50%;transform:translateY(-50%);background:var(--accent);color:var(--surface-base);font-size:9px;font-weight:600;padding:1px 4px;border-radius:var(--radius-pill);white-space:nowrap;margin-right:-1px}.diary-scroll-btn{position:sticky;margin-left:calc(50% + 14px - var(--btn-size-sm) / 2);background:rgba(10,15,20,.5);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);color:var(--text-dim);border:var(--border-panel);border-radius:var(--radius-round);width:var(--btn-size-sm);height:var(--btn-size-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:var(--z-header);opacity:.6;box-shadow:var(--shadow-glass);pointer-events:auto}.diary-scroll-btn:hover{opacity:1;background:var(--surface-hover)}.diary-scroll-btn--up{top:38px}.diary-scroll-btn--down{bottom:10px}.diary-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-1) 0;border-top:1px dotted rgba(255,255,255,.04)}.diary-legend{display:flex;gap:var(--space-4)}.diary-legend-item{display:flex;align-items:center;gap:3px}.diary-legend-dot{width:8px;height:8px;border-radius:50%}.diary-legend-label{font-size:var(--text-xs);color:var(--text-muted)}.diary-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:var(--text-sm);z-index:2}header{background:var(--surface-header);padding:var(--space-4) var(--space-10);display:flex;align-items:center;gap:var(--space-8);border-bottom:var(--border-subtle);flex-shrink:0;position:relative;z-index:var(--z-header);white-space:nowrap;overflow:hidden}header h1{font-size:var(--text-xl);font-weight:700;color:var(--text-heading);display:flex;align-items:center;gap:var(--space-2);letter-spacing:-.3px}header h1 .accent{color:var(--accent)}.btn-primary{background:var(--accent);color:var(--surface-base);border:none;border-radius:var(--radius-pill);padding:var(--space-4) var(--space-16);font-size:var(--text-md);font-weight:600;cursor:pointer;transition:all .3s var(--ease-spring)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px) scale(1.02);box-shadow:0 6px 20px #5eadd840;transition:all .15s ease-out}.btn-primary:active{transform:translateY(0) scale(.96);box-shadow:none}.btn-ghost{background:var(--glass-bg);border:var(--border-panel);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-6);font-size:var(--text-xs);color:var(--text-dim);cursor:pointer;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);box-shadow:var(--shadow-btn);letter-spacing:.3px;transition:all .3s var(--ease-spring)}.btn-ghost:hover{background:var(--surface-hover);transform:translateY(-1px) scale(1.02);box-shadow:var(--shadow-glass),0 4px 12px #5eadd814;transition:all .15s ease-out}.btn-ghost:active{transform:translateY(0) scale(.94);box-shadow:var(--shadow-btn)}.btn-ghost--accent{color:var(--text-accent);font-weight:600;text-transform:uppercase;letter-spacing:.5px}button.btn-icon{background:none;border:none;cursor:pointer;position:relative;color:var(--text-muted);padding:var(--space-1);border-radius:var(--radius-sm);transition:color var(--duration-base)}button.btn-icon:hover{color:var(--text-primary)}.auth-screen{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--surface-base)}.auth-card{text-align:center}.auth-title{color:var(--text-heading);margin-bottom:var(--space-2)}.auth-subtitle{color:var(--text-muted);margin-bottom:var(--space-4);font-size:var(--text-base)}.auth-input{background:var(--glass-bg);border:var(--border-panel);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-size:var(--text-md);color:var(--text-primary);width:280px;outline:none}.auth-input:focus{border-color:var(--accent-muted)}.header-subtitle{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.5px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-3)}.header-username{font-size:var(--text-sm);color:var(--text-muted);letter-spacing:.3px}.notification-dot{position:absolute;top:2px;right:2px;width:7px;height:7px;border-radius:50%;background:var(--status-error)}.chat-header-row{position:absolute;top:var(--space-3);left:var(--space-2);right:var(--space-5);display:flex;align-items:center;gap:var(--space-2);z-index:var(--z-panel)}.history-btn{width:var(--btn-size-md);height:var(--btn-size-md);border-radius:var(--radius-round);border:1px solid rgba(94,173,216,.1);background:rgba(94,173,216,.08);box-shadow:var(--shadow-glass),var(--glass-inset-highlight);color:var(--accent);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease-spring);flex-shrink:0}.history-btn .material-symbols-outlined{opacity:.3;transition:opacity var(--duration-base)}.history-btn:hover{transform:translateY(-1px) scale(1.05);background:rgba(94,173,216,.08);border-color:#5eadd826;box-shadow:var(--shadow-glass),var(--glass-inset-highlight),0 4px 12px #5eadd81f;transition:all .15s ease-out}.history-btn:active{transform:translateY(0) scale(.92);box-shadow:var(--shadow-btn),var(--glass-inset-pressed)}.history-btn:hover .material-symbols-outlined{opacity:1}.history-popup{position:absolute;top:100%;left:0;width:95%;margin-top:var(--space-1);background:var(--surface-dropdown);backdrop-filter:var(--glass-backdrop-bar);-webkit-backdrop-filter:brightness(1.1) blur(2px);border:var(--border-panel);border-radius:var(--radius-xl);padding:var(--space-2);z-index:var(--z-popup);animation:history-expand .3s var(--ease-out);transform-origin:top left;will-change:transform,opacity;box-shadow:var(--shadow-glass-lg),var(--glass-edge-light);user-select:none;-webkit-user-select:none}@keyframes history-expand{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.history-popup.closing{animation:history-collapse .2s var(--ease-snap) forwards}@keyframes history-collapse{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}.history-scroll{max-height:324px;overflow-y:auto;overscroll-behavior-y:none;padding-right:0;transition:padding-right .2s}.history-scroll:hover{padding-right:6px}.history-scroll::-webkit-scrollbar{width:0}.history-scroll:hover::-webkit-scrollbar{width:4px}.history-scroll::-webkit-scrollbar-track{background:transparent;margin:10px 0}.history-scroll::-webkit-scrollbar-thumb{background:transparent;border-radius:var(--radius-xs);transition:background .3s}.history-scroll:hover::-webkit-scrollbar-thumb,.history-scroll:active::-webkit-scrollbar-thumb{background:var(--overlay-medium)}.history-scroll::-webkit-scrollbar-thumb:hover{background:var(--overlay-strong)}.history-item{padding:var(--space-3) var(--space-5);padding-left:var(--space-2);font-size:var(--text-base);color:var(--text-dim);border-radius:var(--radius-xl-inner);cursor:pointer;transition:background .15s;display:flex;align-items:center;contain:layout style;position:relative}.history-item>span:nth-child(2){transition:transform .2s var(--ease-spring)}.history-item:hover>span:nth-child(2){transform:translate(28px)}.history-item:hover{background:var(--surface-hover)}.history-item.active{color:var(--accent)}.history-delete{position:absolute;left:var(--space-2);opacity:0;transition:opacity .15s;display:flex;align-items:center;pointer-events:none}.history-delete button{width:20px;height:20px;border-radius:50%;border:none;background:var(--overlay-subtle);box-shadow:var(--shadow-btn);color:var(--status-error);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--duration-base),transform var(--duration-fast)}.history-delete button .material-symbols-outlined{font-size:12px}.history-delete button:hover{background:rgba(255,69,58,.15);transform:scale(1.05)}.history-delete button:active{transform:scale(.88);transition:transform .05s}.history-item:hover .history-delete{opacity:1;pointer-events:auto}.history-item.deleting{animation:slide-out-right .25s var(--ease-snap) forwards,collapse-row .2s ease .2s forwards;pointer-events:none}@keyframes slide-out-right{to{transform:translate(100%);opacity:0}}@keyframes collapse-row{to{max-height:0;padding-top:0;padding-bottom:0;margin:0;overflow:hidden}}.panel-header{position:relative;flex:1;padding:var(--space-2) var(--space-6);font-size:var(--text-base);color:var(--accent);border:var(--border-panel);border-radius:var(--radius-pill);background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-bar);-webkit-backdrop-filter:brightness(1.1) var(--glass-blur);gap:var(--space-3);display:flex;align-items:center;box-shadow:var(--shadow-glass);-webkit-user-select:none;user-select:none;font-weight:600;text-transform:uppercase;letter-spacing:.5px;filter:var(--glass-depth-sm)}.panel-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;box-shadow:var(--glass-edge-light)}.new-chat-btn{width:var(--btn-size-md);height:var(--btn-size-md);border-radius:var(--radius-round);border:1px solid rgba(94,173,216,.1);background:rgba(94,173,216,.08);box-shadow:var(--shadow-glass),var(--glass-inset-highlight);color:var(--accent);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease-spring);flex-shrink:0;overflow:hidden}.new-chat-btn .material-symbols-outlined{opacity:.3;transition:opacity var(--duration-base)}.new-chat-btn:hover{transform:translateY(-1px) scale(1.05);background:rgba(94,173,216,.08);border-color:#5eadd826;box-shadow:var(--shadow-glass),var(--glass-inset-highlight),0 4px 12px #5eadd81f;transition:all .15s ease-out}.new-chat-btn:active{transform:translateY(0) scale(.92);box-shadow:var(--shadow-btn),var(--glass-inset-pressed)}.new-chat-btn:hover .material-symbols-outlined{opacity:1}.new-chat-btn:disabled{opacity:.25;cursor:not-allowed}.status-dot{width:6px;height:6px;border-radius:var(--radius-round);margin-left:auto;margin-right:-4px;box-shadow:inset 0 1px 2px #0006;position:relative}.status-dot:after{content:"";position:absolute;top:-10px;left:-14px;width:34px;height:26px;border-radius:50%;pointer-events:none;animation:inherit;animation-name:refract-green;opacity:0}.status-dot.up:after{animation-name:refract-green}.status-dot.down:after{animation-name:refract-red}.status-dot.checking:after{animation-name:refract-amber}@keyframes refract-green{0%,to{opacity:0;background:transparent}50%{opacity:1;background:radial-gradient(ellipse at center,rgba(48,209,88,.06) 0%,transparent 70%)}}@keyframes refract-red{0%,to{opacity:0;background:transparent}50%{opacity:1;background:radial-gradient(ellipse at center,rgba(255,69,58,.06) 0%,transparent 70%)}}@keyframes refract-amber{0%,to{opacity:0;background:transparent}50%{opacity:1;background:radial-gradient(ellipse at center,rgba(255,159,10,.06) 0%,transparent 70%)}}.status-dot.up{background:var(--status-ok);animation:glow-green 2s ease-in-out infinite}.status-dot.down{background:var(--status-error);animation:glow-red 1.5s ease-in-out infinite}.status-dot.checking{background:var(--status-warn);animation:glow-amber 1s ease-in-out infinite}@keyframes glow-green{0%,to{box-shadow:inset 0 1px 2px #0006,0 0 3px 1px #30d15833,12px 0 8px -4px #30d1580d,-12px 0 8px -4px #30d1580d}50%{box-shadow:inset 0 1px 2px #0000004d,0 0 6px 2px #30d15866,16px 0 12px -4px #30d1581f,-16px 0 12px -4px #30d1581f}}@keyframes glow-red{0%,to{box-shadow:inset 0 1px 2px #0006,0 0 3px 1px #ff453a33,12px 0 8px -4px #ff453a0d,-12px 0 8px -4px #ff453a0d}50%{box-shadow:inset 0 1px 2px #0000004d,0 0 6px 2px #ff453a66,16px 0 12px -4px #ff453a1f,-16px 0 12px -4px #ff453a1f}}@keyframes glow-amber{0%,to{box-shadow:inset 0 1px 2px #0006,0 0 3px 1px #ff9f0a33,12px 0 8px -4px #ff9f0a0d,-12px 0 8px -4px #ff9f0a0d}50%{box-shadow:inset 0 1px 2px #0000004d,0 0 6px 2px #ff9f0a66,16px 0 12px -4px #ff9f0a1f,-16px 0 12px -4px #ff9f0a1f}}.chat-messages{flex:1;overflow-y:auto;contain:layout style;padding:52px var(--space-5) 80px var(--space-5);overscroll-behavior-y:none;transform-origin:bottom center;background:var(--surface-chat);mask-image:linear-gradient(to bottom,transparent 0%,black 24px,black calc(100% - 24px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 24px,black calc(100% - 24px),transparent 100%)}.chat-messages.bounce{animation:chat-bounce .4s var(--ease-spring)}@keyframes chat-bounce{0%{transform:scaleY(1)}30%{transform:scaleY(.988)}60%{transform:scaleY(1.003)}to{transform:scaleY(1)}}.chat-inner{will-change:transform}.msg{margin-bottom:var(--space-6);animation:msg-up .3s var(--ease-smooth) both}.msg.human{animation-name:msg-send;animation-duration:.3s;display:flex;flex-direction:column;align-items:flex-end}.msg.human .msg-text{max-width:75%;background:linear-gradient(135deg,var(--surface-elevated) 0%,rgba(94,173,216,.08) 100%);border:none;border-radius:18px 18px 4px;box-shadow:0 1px 3px #0003}.msg.ai .msg-text{background:none;border:none;padding:var(--space-3) 0}.msg.ai .msg-text p{margin:0 0 10px}.msg.ai .msg-text p:last-child{margin-bottom:0}.msg.ai .msg-text ul{margin:0 0 10px;padding-left:18px;list-style:disc}.msg.ai .msg-text li{margin:0 0 4px}.msg.streaming{animation:none}@keyframes msg-up{0%{opacity:0;transform:translateY(20px)}65%{opacity:1;transform:translateY(-2px)}to{transform:translateY(0)}}@keyframes msg-send{0%{opacity:0;transform:translateY(24px)}60%{opacity:1;transform:translateY(-3px)}85%{transform:translateY(.5px)}to{transform:translateY(0)}}.msg-text{font-size:var(--text-md);line-height:1.5;color:var(--text-secondary);padding:var(--space-3) var(--space-5);border-radius:18px;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word}.msg-text a{color:var(--accent);text-decoration:underline;text-decoration-color:var(--accent-muted)}.msg-text a:hover{text-decoration-color:var(--accent)}.msg.system .msg-text{background:var(--status-system-bg);border:1px solid var(--status-system-border);font-size:12px;color:var(--status-system-text)}.welcome-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 16px 24px;animation:msg-up .4s var(--ease-smooth) both;user-select:none;-webkit-user-select:none}.welcome-card h2{font-family:"Source Serif 4",Georgia,serif;font-style:italic;font-size:42px;font-weight:600;color:var(--text-heading);margin-bottom:6px;line-height:1.3}.welcome-card h2 span{color:var(--accent)}.welcome-card .welcome-sub{font-size:13px;color:var(--text-muted);margin-bottom:24px}.welcome-card .welcome-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.welcome-card .welcome-chips button{background:var(--surface-dropdown);border:1px solid var(--glass-border-color);border-radius:var(--radius-pill);padding:8px 14px;font-size:11px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:background var(--duration-base),border-color var(--duration-base),box-shadow var(--duration-base),transform var(--duration-base);font-family:inherit}.welcome-card .welcome-chips button:hover{background:rgba(10,15,20,.65);border-color:#ffffff0d;backdrop-filter:brightness(1.1) blur(2px);-webkit-backdrop-filter:brightness(1.1) blur(2px);box-shadow:0 4px 24px #0000004d,inset 4px 4px 0 -4px #ffffff26,inset -4px -4px 0 -4px #0003,inset 0 0 6px 1px #ffffff0f;transform:scale(1.05)}.welcome-card .welcome-chips button:active{transform:scale(.95);box-shadow:var(--shadow-btn),var(--glass-inset-pressed)}.msg-time{font-size:var(--text-sm);color:var(--text-muted);margin-top:1px;display:flex;align-items:center;gap:var(--space-2)}.msg.human .msg-time{text-align:right}.msg-aborted{padding:var(--space-3) var(--space-5);text-align:right}.msg-aborted hr{border:none;border-top:1px solid var(--separator);margin:0 0 4px}.msg-aborted span{font-size:var(--text-sm);color:var(--text-ghost);letter-spacing:.3px}.chat-input-wrap{position:absolute;bottom:var(--space-5);left:var(--space-3);right:var(--space-6);min-height:38px;z-index:var(--z-panel);transition:transform var(--duration-slow) var(--ease-spring)}.chat-input-wrap.input-hidden{transform:translateY(calc(100% + 24px));pointer-events:none}.chat-input{position:absolute;right:0;bottom:.5px;left:0;display:flex;align-items:flex-end;background:var(--glass-bg);border:var(--border-panel);border-radius:var(--radius-input);padding:5px 38px 5px 5px;box-shadow:0 8px 32px #00000080,0 2px 8px #0000004d;transition:left var(--duration-slow) var(--ease-spring),right var(--duration-slow) var(--ease-spring),padding-right var(--duration-slow) var(--ease-spring),border-color var(--duration-base),box-shadow var(--duration-base);backdrop-filter:var(--glass-backdrop-bar);-webkit-backdrop-filter:brightness(1.1) var(--glass-blur);min-height:30px}.chat-input:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;box-shadow:var(--glass-edge-light)}.chat-input.collapsed{left:calc(50% - 19px);right:calc(50% - 19px);padding:4px;height:38px}.chat-input.collapsed textarea,.chat-input.collapsed .ph-overlay{display:none}.input-clear-btn{position:relative;width:0;height:28px;overflow:hidden;opacity:0;border-radius:50%;border:none;background:var(--overlay-subtle);box-shadow:var(--shadow-btn);color:var(--status-error);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:width var(--duration-base) var(--ease-spring),opacity .15s,margin var(--duration-base) var(--ease-spring);z-index:2;margin-right:0}.input-clear-btn .material-symbols-outlined{font-size:14px}.chat-input:hover .input-clear-btn,.chat-input.multiline .input-clear-btn{width:28px;opacity:1;margin-right:4px}.input-clear-btn:hover{background:rgba(255,69,58,.15);transform:scale(1.05)}.input-clear-btn:active{transform:scale(.88);transition:transform .05s}.chat-input:focus-within{border-color:#5eadd81f;box-shadow:0 8px 32px #00000080,0 2px 8px #0000004d,0 0 12px 2px #5eadd80f;animation:focus-glow 2.5s ease-in-out infinite}@keyframes focus-glow{0%,to{box-shadow:0 8px 32px #00000080,0 2px 8px #0000004d,0 0 12px 2px #5eadd80a}50%{box-shadow:0 8px 32px #00000080,0 2px 8px #0000004d,0 0 18px 4px #5eadd81f}}.chat-input textarea{flex:1;min-width:0;background:transparent;border:none;padding:4px 8px 4px 10px;color:var(--text-primary);font-size:var(--text-lg);line-height:20px;outline:none;caret-color:var(--accent);resize:none;overflow-y:auto;max-height:120px;font-family:inherit}.chat-input textarea::-webkit-scrollbar{width:0}.chat-input textarea:hover::-webkit-scrollbar,.chat-input textarea:focus::-webkit-scrollbar{width:4px}.chat-input textarea::-webkit-scrollbar-track{background:transparent;margin:6px 0}.chat-input textarea::-webkit-scrollbar-thumb{background:transparent;border-radius:var(--radius-xs)}.chat-input textarea:hover::-webkit-scrollbar-thumb,.chat-input textarea:focus::-webkit-scrollbar-thumb{background:var(--overlay-medium)}.chat-input textarea::-webkit-scrollbar-thumb:hover{background:var(--overlay-strong)}.chat-input textarea::placeholder{color:var(--text-placeholder)}.ph-overlay{position:absolute;left:16px;right:36px;top:50%;transform:translateY(-50%);overflow:hidden;pointer-events:none;color:var(--text-placeholder);font-size:var(--text-lg);white-space:nowrap;transition:opacity .4s ease}.ph-overlay.ph-fade{opacity:0}.chat-input textarea:disabled::placeholder{color:transparent}.send-btn{position:absolute;right:5px;bottom:5px;background:rgba(94,173,216,.15);color:var(--accent);border:1px solid rgba(94,173,216,.2);border-radius:50%;width:28px;height:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;backdrop-filter:brightness(1.1) blur(2px);-webkit-backdrop-filter:brightness(1.1) blur(2px);box-shadow:var(--shadow-glass),inset 4px 4px 0 -4px #5eadd840,inset -4px -4px 0 -4px #0003,inset 0 0 6px 1px #5eadd81a;transition:opacity var(--duration-base),right var(--duration-slow) var(--ease-spring),transform var(--duration-base),box-shadow var(--duration-base);opacity:.3;z-index:4}.chat-input-wrap:has(.collapsed) .send-btn{opacity:1;right:0;bottom:0;top:0;left:0;margin:auto}.send-btn:before{display:none}.send-btn:hover{opacity:1;transform:scale(1.05)}.send-btn:active{transform:scale(.88);transition:transform .05s;box-shadow:var(--shadow-btn),inset -4px -4px 0 -4px #5eadd833,inset 4px 4px 0 -4px #0000004d,inset 0 0 4px 1px #0000001a}.send-btn svg{display:block;position:relative;z-index:1}.send-btn:disabled{opacity:.3;cursor:not-allowed}.chat-input:focus-within .send-btn{opacity:1}.btn-icon.fly-out{animation:fly-out .2s ease-in forwards}.btn-icon.fly-back{animation:fly-back .4s cubic-bezier(.25,.46,.45,.94) forwards}.btn-icon.stop-in{animation:stop-in .15s ease-out both}@keyframes fly-out{to{transform:translateY(-20px);opacity:0}}@keyframes fly-back{0%{transform:translateY(20px);opacity:0}50%{transform:translateY(-3px);opacity:1}to{transform:translateY(0);opacity:1}}@keyframes stop-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.btn-icon.hover-loop{animation:arrow-loop .5s cubic-bezier(.25,.46,.45,.94)}@keyframes arrow-loop{0%{transform:translateY(0)}25%{transform:translateY(-20px);opacity:0}26%{transform:translateY(20px);opacity:0}60%{transform:translateY(-3px);opacity:1}to{transform:translateY(0);opacity:1}}.iris-thinking-eye{position:absolute;left:50%;bottom:42px;transform:translate(-50%);color:var(--accent);display:flex;align-items:center;animation:eye-slide-up .4s var(--ease-spring) both}.iris-thinking-eye .material-symbols-outlined{font-size:22px}.iris-blink{animation:iris-blink 2s ease-in-out infinite}@keyframes iris-blink{0%,30%{transform:scaleY(1)}35%{transform:scaleY(.1)}40%,70%{transform:scaleY(1)}75%{transform:scaleY(.1)}80%,to{transform:scaleY(1)}}@keyframes eye-slide-up{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.scroll-down-btn{position:absolute;bottom:var(--input-height, 75px);left:calc(50% - 3px);transform:translate(-50%);background:rgba(10,15,20,.5);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);color:var(--text-dim);border:var(--border-panel);border-radius:var(--radius-round);width:28px;height:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:var(--z-header);opacity:.6;box-shadow:var(--shadow-glass)}.scroll-down-btn:hover{opacity:1;background:var(--surface-hover)}::selection{background:rgba(79,195,247,.35);color:var(--text-heading)}.msg-actions{display:flex;gap:var(--space-1);align-items:center}.msg-action{background:none;border:none;padding:0 2px;cursor:pointer;color:var(--text-muted);opacity:.6;vertical-align:middle;transition:opacity .15s,color .15s}.msg-action:hover{opacity:1;color:var(--accent)}.msg-action .material-symbols-outlined{font-size:var(--text-md);vertical-align:middle}.settings-page{display:flex;flex-direction:column;height:100%;padding:var(--space-6) var(--space-10);overflow-y:auto}.settings-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}.settings-title{font-size:var(--text-xl);font-weight:600;color:var(--text-heading);letter-spacing:-.3px}.settings-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-8);border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:var(--space-3)}.settings-tab{background:none;border:none;padding:var(--space-2) var(--space-5);font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;border-radius:var(--radius-pill);transition:all .2s;font-family:inherit;letter-spacing:.3px}.settings-tab:hover{color:var(--text-primary);background:var(--surface-hover)}.settings-tab--active{color:var(--accent);background:rgba(94,173,216,.1);border:1px solid rgba(94,173,216,.15)}.settings-content{flex:1;max-width:560px}.settings-section{animation:msg-up .3s var(--ease-smooth) both}.settings-section-title{font-size:var(--text-lg);font-weight:600;color:var(--text-heading);margin-bottom:var(--space-2)}.settings-description{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-6);line-height:1.5}.settings-loading{color:var(--text-muted);font-size:var(--text-sm)}.settings-toggle{display:flex;align-items:center;gap:var(--space-4);cursor:pointer;margin-bottom:var(--space-4)}.settings-toggle input{display:none}.settings-toggle-track{width:40px;height:22px;border-radius:var(--radius-pill);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.08);position:relative;transition:background .2s,border-color .2s}.settings-toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--text-muted);transition:transform .2s,background .2s}.settings-toggle input:checked+.settings-toggle-track{background:rgba(94,173,216,.2);border-color:#5eadd84d}.settings-toggle input:checked+.settings-toggle-track:after{transform:translate(18px);background:var(--accent)}.settings-toggle-label{font-size:var(--text-sm);color:var(--text-secondary)}.settings-toggle--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.settings-badge--muted{background:rgba(255,255,255,.06);color:var(--text-muted)}.settings-divider{border:none;border-top:1px solid rgba(255,255,255,.04);margin:var(--space-6) 0}.settings-notice{font-size:var(--text-xs);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);margin-top:var(--space-3)}.settings-notice--info{background:rgba(94,173,216,.08);border:1px solid rgba(94,173,216,.15);color:var(--text-secondary)}.settings-notice--warn{background:rgba(255,159,10,.08);border:1px solid rgba(255,159,10,.15);color:var(--text-secondary)}.settings-list{list-style:none;padding:0}.settings-list-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid rgba(255,255,255,.03);font-size:var(--text-sm);color:var(--text-secondary)}.settings-badge{font-size:var(--text-xs);font-weight:600;padding:2px 8px;border-radius:var(--radius-sm);background:rgba(94,173,216,.12);color:var(--accent);letter-spacing:.3px;display:inline-block}.settings-slider-label{font-size:var(--text-sm);color:var(--text-secondary);display:block;margin-bottom:var(--space-3)}.settings-slider{width:100%;max-width:360px;height:4px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:rgba(255,255,255,.08);border-radius:var(--radius-pill);outline:none;cursor:pointer}.settings-slider::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid rgba(94,173,216,.3);box-shadow:0 0 8px #5eadd84d;cursor:grab}.settings-slider::-webkit-slider-thumb:active{cursor:grabbing}.settings-perm-row{margin-bottom:var(--space-5)}.settings-perm-desc{font-size:var(--text-xs);color:var(--text-muted);margin:2px 0 0 56px;line-height:1.4}.settings-empty{font-size:var(--text-sm);color:var(--text-muted);font-style:italic;line-height:1.5}.settings-strategy{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-4)}.settings-tier-label{margin-left:auto;font-size:var(--text-xs);color:var(--text-muted);font-style:italic}.settings-saved{margin-left:var(--space-3);font-size:var(--text-xs);color:var(--status-ok);font-weight:500;animation:settings-fade-out 2s ease forwards}@keyframes settings-fade-out{0%,70%{opacity:1}to{opacity:0}}.settings-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.settings-confirm-dialog{background:var(--surface-base);border:var(--glass-border);border-radius:var(--radius-lg);padding:24px;max-width:340px;box-shadow:var(--shadow-glass-lg);color:var(--text-primary);font-size:var(--text-sm);line-height:1.5}.settings-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.settings-confirm-btn{background:var(--glass-bg);border:var(--border-panel);border-radius:var(--radius-lg);padding:6px 14px;font-size:var(--text-xs);color:var(--text-dim);cursor:pointer;font-family:inherit}.settings-confirm-btn--danger{background:rgba(255,69,58,.15);border-color:#ff453a4d;color:var(--status-error);font-weight:600}@media (max-width: 1400px){:root{--space-8: 14px;--space-10: 16px;--space-12: 20px;--space-16: 26px;--text-lg: 15px;--text-xl: 18px}.chat-panel{flex:0 1 340px;min-width:260px}}@media (max-width: 1024px){:root{--space-8: 12px;--space-10: 14px;--space-12: 18px;--space-16: 22px;--text-lg: 14px;--text-xl: 16px}.chat-panel{flex:0 1 300px;min-width:240px;margin:6px}header{padding:var(--space-3) var(--space-8);gap:var(--space-4)}.header-subtitle{display:none}}@media (max-width: 768px){.app-layout{flex-direction:column}.chat-panel{flex:1;max-width:none;min-width:0;border-radius:0;margin:0;box-shadow:none}.chat-panel:before,.chat-panel:after{display:none}.ops-panel{flex:1;border-top:var(--border-subtle)}header{padding:var(--space-2) var(--space-5)}header h1{font-size:var(--text-lg)}.header-actions .btn-ghost:not(.btn-ghost--accent){display:none}}[data-theme=light] .diary-panel{border:none}[data-theme=light] .diary-grid{border:1px solid var(--separator);border-bottom:1px solid var(--separator);background:var(--surface-panel);box-shadow:0 1px 3px #0000000a,0 0 1px #0000000f}[data-theme=light] .diary-day-header-label{background:var(--overlay-light);border-color:var(--glass-border-color)}[data-theme=light] .diary-event{background:rgba(60,60,67,.04);border-color:var(--glass-border-color)}[data-theme=light] .diary-event--protected{background:var(--accent-tint-medium);border-color:var(--accent-tint-strong)}[data-theme=light] .diary-event--red{background:rgba(255,59,48,.08);border-color:#ff3b3033}[data-theme=light] .diary-event--vip{background:rgba(255,149,0,.08);border-color:#ff950033}[data-theme=light] .diary-event--external{background:rgba(52,199,89,.07);border-color:#34c75933}[data-theme=light] .diary-event--regular,[data-theme=light] .diary-hour-divider,[data-theme=light] .diary-day-col{border-color:var(--grid-line)}[data-theme=light] .chat-input{background:rgba(255,255,255,.88);border:1px solid rgba(60,60,67,.12);box-shadow:0 2px 12px #0000000f,0 0 1px #0000000f}[data-theme=light] .chat-input:focus-within{border-color:#007aff4d;box-shadow:0 2px 12px #0000000f,0 0 0 2px #007aff14}[data-theme=light] .msg.human .msg-text{background:linear-gradient(135deg,var(--surface-elevated) 0%,rgba(0,122,255,.06) 100%);box-shadow:0 1px 3px #0000000f}[data-theme=light] .msg.system .msg-text{background:var(--status-system-bg);border-color:var(--status-system-border);color:var(--status-system-text)}[data-theme=light] .diary-nav-btn:hover,[data-theme=light] .chat-action-btn,[data-theme=light] .chat-action-btn:hover{background:var(--accent-tint-light);border-color:var(--accent-tint-medium);box-shadow:var(--shadow-btn)}[data-theme=light] .history-btn,[data-theme=light] .new-chat-btn{background:var(--glass-bg);border-color:var(--glass-border-color);box-shadow:var(--shadow-btn),var(--glass-inset-highlight)}[data-theme=light] .history-btn:hover,[data-theme=light] .new-chat-btn:hover{background:var(--accent-tint-light);border-color:var(--accent-tint-medium);box-shadow:var(--shadow-btn)}[data-theme=light] .diary-day-pill--today{background:var(--accent-tint-light);border-color:var(--accent-tint-strong)}[data-theme=light] .btn-primary:hover{box-shadow:0 4px 14px #007aff2e}[data-theme=light] .btn-icon{border-color:var(--accent-tint-light);background:var(--accent-tint-subtle)}[data-theme=light] .btn-icon:hover{background:var(--accent-tint-light);border-color:var(--accent-tint-medium);box-shadow:0 2px 8px #007aff1a}[data-theme=light] .send-btn{background:var(--accent-tint-medium);border-color:var(--accent-tint-strong)}[data-theme=light] .settings-slider{background:var(--overlay-medium)}[data-theme=light] .settings-slider::-webkit-slider-thumb{border-color:#007aff4d;box-shadow:0 0 8px #007aff33}[data-theme=light] .diary-scroll-fab,[data-theme=light] .diary-today-fab{background:var(--surface-panel);box-shadow:var(--shadow-glass)}[data-theme=light] .diary-scroll-btn{background:rgba(255,255,255,.85);border:1px solid var(--glass-border-color);color:var(--text-secondary);box-shadow:var(--shadow-btn);opacity:.8;backdrop-filter:saturate(1.3) blur(8px);-webkit-backdrop-filter:saturate(1.3) blur(8px)}[data-theme=light] .diary-scroll-btn:hover{background:var(--surface-panel);opacity:1;box-shadow:var(--shadow-glass)}[data-theme=light] .welcome-card .welcome-chips button:hover{background:var(--surface-elevated);border-color:var(--glass-border-color);box-shadow:var(--shadow-btn)}[data-theme=light] .feedback-enrichment-block{background:var(--overlay-light);border-color:var(--glass-border-color)}[data-theme=light] .auth-screen{background:var(--surface-base)}[data-theme=light] .auth-card{background:var(--surface-panel);box-shadow:var(--shadow-glass)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--surface-elevated) 25%,var(--surface-hover) 50%,var(--surface-elevated) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton--muted{opacity:.5;margin-top:6px}.skeleton-row{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-5) 0}.skeleton-event{margin-bottom:var(--space-3);padding:0 3px}.skeleton-fade-in{animation:skeleton-reveal .3s var(--ease-smooth)}@keyframes skeleton-reveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,0);display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);transition:background var(--duration-base) ease,backdrop-filter var(--duration-base) ease}.overlay-backdrop--in{background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.overlay-dialog{background:var(--surface-base);border:var(--glass-border);border-radius:var(--radius-lg);padding:28px 32px;width:380px;max-width:90vw;box-shadow:var(--shadow-glass-lg);color:var(--text-primary);transform:scale(.92) translateY(10px);opacity:0;transition:transform var(--duration-base) var(--ease-spring),opacity var(--duration-base) ease}.overlay-dialog--in{transform:scale(1) translateY(0);opacity:1}.overlay-dialog--lg{width:340px;padding:var(--space-12)}.overlay-dialog__title{font-size:var(--text-lg);font-weight:600;color:var(--text-heading);margin-bottom:12px}.overlay-dialog__desc{font-size:var(--text-md);color:var(--text-secondary);line-height:1.5;margin-bottom:8px}.overlay-dialog__subdesc{font-size:var(--text-sm);color:var(--text-muted);line-height:1.5;margin-bottom:20px}.overlay-dialog__actions{display:flex;justify-content:flex-end;gap:10px}.btn-primary--sm{padding:8px 20px;font-size:var(--text-sm);border-radius:var(--radius-lg)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-8);text-align:center;animation:skeleton-reveal .4s var(--ease-smooth)}.empty-state__icon{color:var(--accent-muted);margin-bottom:var(--space-5);opacity:.6}.empty-state__title{font-size:var(--text-md);color:var(--text-muted);font-weight:500}.empty-state__subtitle{font-size:var(--text-sm);color:var(--text-dim);margin-top:var(--space-2)}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;text-align:center;padding:var(--space-16)}.error-boundary__title{font-size:var(--text-xl);color:var(--text-heading);margin-bottom:var(--space-4)}.error-boundary__desc{font-size:var(--text-md);color:var(--text-muted);margin-bottom:var(--space-12)}.error-boundary__actions{display:flex;gap:var(--space-5)}.toast-container{position:fixed;bottom:var(--space-12);left:50%;transform:translate(-50%);z-index:1100;display:flex;flex-direction:column;gap:var(--space-3);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-3);background:var(--surface-dropdown);border:var(--border-panel);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-8);font-size:var(--text-sm);color:var(--text-primary);box-shadow:var(--shadow-glass);animation:toast-in .3s var(--ease-spring);pointer-events:auto}.toast svg{color:var(--status-ok);flex-shrink:0}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.settings-theme-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) 0;margin-bottom:var(--space-5);border-bottom:1px solid var(--separator)}.settings-theme-label{font-size:var(--text-md);color:var(--text-primary);font-weight:500}.settings-theme-toggle{display:flex;gap:2px;background:var(--surface-input);border-radius:var(--radius-lg);padding:2px}.settings-theme-btn{background:none;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;transition:all var(--duration-base)}.settings-theme-btn--active{background:var(--accent);color:var(--surface-base)}[data-theme=light] .chat-panel{backdrop-filter:saturate(1.8) blur(20px);-webkit-backdrop-filter:saturate(1.8) blur(20px)}[data-theme=light] header{backdrop-filter:saturate(1.5) blur(16px);-webkit-backdrop-filter:saturate(1.5) blur(16px)}[data-theme=light] .diary-nav-btn,[data-theme=light] .panel-header{backdrop-filter:saturate(1.6) blur(12px);-webkit-backdrop-filter:saturate(1.6) blur(12px)}
