@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&family=Noto+Serif+SC:wght@400;500;700&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-row{display:table-row}.grid{display:grid}.contents{display:contents}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.border{border-width:1px}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--palette-bg-0: #f3f7fb;--palette-bg-1: #e9f3f1;--palette-bg-2: #fff9f0;--palette-glow-a: rgba(130, 181, 169, .24);--palette-glow-b: rgba(244, 197, 129, .18);--palette-accent: #6ba89c;--palette-accent-hover: #4d8f83;--palette-accent-soft: rgba(107, 168, 156, .16);--palette-accent-border: rgba(107, 168, 156, .3);--palette-button-text: #fdfdfc}:root,:root[data-theme=light]{--bg-0: var(--palette-bg-0);--bg-1: var(--palette-bg-1);--bg-2: var(--palette-bg-2);--bg-3: color-mix(in srgb, var(--palette-bg-2) 64%, #ffffff 36%);--glass: rgba(255, 255, 255, .82);--glass-border: rgba(103, 125, 160, .24);--glass-hover: color-mix(in srgb, var(--palette-accent-soft) 72%, rgba(255, 255, 255, .4) 28%);--glass-strong: rgba(255, 255, 255, .96);--text-primary: #1f2d42;--text-secondary: #5d7190;--text-tertiary: #8696b0;--accent: var(--palette-accent);--accent-hover: var(--palette-accent-hover);--accent-subtle: var(--palette-accent-soft);--accent-border: var(--palette-accent-border);--success: #1f9f61;--success-subtle: rgba(31, 159, 97, .12);--warning: #ad6f1b;--warning-subtle: rgba(173, 111, 27, .12);--danger: #c84e65;--danger-subtle: rgba(200, 78, 101, .14);--info: #2d7ec0;--info-subtle: rgba(45, 126, 192, .12);--surface-card: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(247, 251, 255, .94));--surface-card-strong: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(242, 247, 252, .9));--surface-soft: rgba(255, 255, 255, .88);--surface-muted: rgba(255, 255, 255, .68);--surface-overlay: rgba(28, 43, 67, .42);--surface-inset: rgba(255, 255, 255, .04);--surface-code: rgba(41, 56, 82, .1);--surface-paper: linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(247, 251, 255, .95));--surface-paper-accent: radial-gradient(120% 130% at 100% 0%, color-mix(in srgb, var(--palette-accent) 16%, transparent 84%), transparent 68%);--border: var(--glass-border);--border-strong: rgba(103, 125, 160, .34);--border-soft: rgba(103, 125, 160, .16);--button-secondary-text: #294368;--button-secondary-bg: rgba(255, 255, 255, .92);--button-secondary-hover-bg: rgba(255, 255, 255, 1);--button-secondary-border: var(--glass-border);--button-primary-border: color-mix(in srgb, var(--palette-accent) 24%, transparent 76%);--button-primary-shadow: color-mix(in srgb, var(--palette-accent-hover) 36%, transparent 64%);--shadow-sm: 0 4px 12px rgba(31, 49, 78, .08);--shadow-md: 0 14px 28px rgba(31, 49, 78, .12);--shadow-lg: 0 22px 38px rgba(31, 49, 78, .14), 0 2px 8px rgba(31, 49, 78, .05);--shadow-xl: 0 34px 56px rgba(24, 42, 72, .18), 0 2px 8px rgba(24, 42, 72, .08);--chart-accent: var(--accent);--chart-grid-color: rgba(103, 125, 160, .18);--chart-tick-color: var(--text-tertiary);--chart-legend-color: var(--text-secondary);--chart-tooltip-bg: rgba(255, 255, 255, .96);--chart-tooltip-border: var(--glass-border);--chart-tooltip-color: var(--text-primary);--graph-character-bg: rgba(45, 126, 192, .14);--graph-character-border: rgba(45, 126, 192, .5);--graph-character-text: #2d7ec0;--graph-location-bg: rgba(31, 159, 97, .14);--graph-location-border: rgba(31, 159, 97, .5);--graph-location-text: #1f9f61;--graph-item-bg: rgba(173, 111, 27, .14);--graph-item-border: rgba(173, 111, 27, .5);--graph-item-text: #ad6f1b;--graph-default-bg: rgba(102, 124, 164, .08);--graph-default-border: rgba(102, 124, 164, .2);--graph-default-text: #5a6e8d;--graph-edge-stroke: rgba(102, 124, 164, .3);--graph-edge-label: #5a6e8d;--graph-edge-label-bg: rgba(255, 255, 255, .9);--graph-edge-highlight: var(--accent);--graph-edge-dim: rgba(102, 124, 164, .1);--graph-tooltip-bg: rgba(255, 255, 255, .96);--graph-tooltip-shadow: 0 4px 24px rgba(32, 53, 88, .1), 0 1.5px 6px rgba(27, 38, 63, .04);--graph-surface: rgba(255, 255, 255, .98);--graph-floating-shadow: 0 4px 16px rgba(0, 0, 0, .12);--graph-overlay: rgba(20, 30, 48, .35)}:root[data-theme=dark]{--bg-0: color-mix(in srgb, var(--palette-bg-0) 28%, #07090f 72%);--bg-1: color-mix(in srgb, var(--palette-bg-1) 26%, #0b1220 74%);--bg-2: color-mix(in srgb, var(--palette-bg-2) 18%, #131926 82%);--bg-3: rgba(19, 25, 38, .96);--glass: rgba(18, 22, 31, .78);--glass-border: rgba(180, 201, 230, .14);--glass-hover: color-mix(in srgb, var(--palette-accent-soft) 62%, rgba(255, 255, 255, .03) 38%);--glass-strong: rgba(24, 29, 41, .92);--text-primary: #edf3ff;--text-secondary: rgba(237, 243, 255, .72);--text-tertiary: rgba(237, 243, 255, .48);--accent: color-mix(in srgb, var(--palette-accent) 78%, #9bc6ff 22%);--accent-hover: color-mix(in srgb, var(--palette-accent-hover) 82%, #bdd8ff 18%);--accent-subtle: color-mix(in srgb, var(--palette-accent-soft) 92%, rgba(255, 255, 255, .03) 8%);--accent-border: color-mix(in srgb, var(--palette-accent-border) 90%, rgba(255, 255, 255, .08) 10%);--success: #5fdaa2;--success-subtle: rgba(95, 218, 162, .14);--warning: #efbe67;--warning-subtle: rgba(239, 190, 103, .16);--danger: #f08a9c;--danger-subtle: rgba(240, 138, 156, .16);--info: #8ec7ff;--info-subtle: rgba(142, 199, 255, .14);--surface-card: linear-gradient(180deg, rgba(22, 27, 39, .96), rgba(16, 21, 31, .92));--surface-card-strong: linear-gradient(180deg, rgba(28, 34, 48, .96), rgba(18, 24, 35, .92));--surface-soft: rgba(20, 24, 34, .92);--surface-muted: rgba(31, 37, 50, .78);--surface-overlay: rgba(5, 8, 14, .62);--surface-inset: rgba(255, 255, 255, .05);--surface-code: rgba(6, 10, 18, .52);--surface-paper: linear-gradient(180deg, rgba(19, 24, 35, .98), rgba(15, 20, 30, .96));--surface-paper-accent: radial-gradient(120% 130% at 100% 0%, color-mix(in srgb, var(--palette-accent) 18%, transparent 82%), transparent 68%);--border: var(--glass-border);--border-strong: rgba(180, 201, 230, .22);--border-soft: rgba(180, 201, 230, .1);--button-secondary-text: var(--text-primary);--button-secondary-bg: rgba(255, 255, 255, .06);--button-secondary-hover-bg: rgba(255, 255, 255, .1);--button-secondary-border: var(--glass-border);--button-primary-border: color-mix(in srgb, var(--accent) 32%, transparent 68%);--button-primary-shadow: color-mix(in srgb, var(--accent) 32%, transparent 68%);--shadow-sm: 0 4px 12px rgba(0, 0, 0, .24);--shadow-md: 0 14px 28px rgba(0, 0, 0, .32);--shadow-lg: 0 22px 38px rgba(0, 0, 0, .36), 0 2px 8px rgba(0, 0, 0, .22);--shadow-xl: 0 34px 56px rgba(0, 0, 0, .42), 0 2px 8px rgba(0, 0, 0, .24);--chart-accent: var(--accent);--chart-grid-color: rgba(180, 201, 230, .16);--chart-tick-color: var(--text-tertiary);--chart-legend-color: var(--text-secondary);--chart-tooltip-bg: rgba(17, 23, 34, .96);--chart-tooltip-border: var(--glass-border);--chart-tooltip-color: var(--text-primary);--graph-character-bg: rgba(96, 166, 230, .18);--graph-character-border: rgba(96, 166, 230, .44);--graph-character-text: #8ec7ff;--graph-location-bg: rgba(95, 218, 162, .16);--graph-location-border: rgba(95, 218, 162, .4);--graph-location-text: #8de4b6;--graph-item-bg: rgba(239, 190, 103, .18);--graph-item-border: rgba(239, 190, 103, .42);--graph-item-text: #ffd98b;--graph-default-bg: rgba(180, 201, 230, .1);--graph-default-border: rgba(180, 201, 230, .2);--graph-default-text: rgba(237, 243, 255, .72);--graph-edge-stroke: rgba(180, 201, 230, .28);--graph-edge-label: rgba(237, 243, 255, .72);--graph-edge-label-bg: rgba(17, 23, 34, .92);--graph-edge-highlight: var(--accent);--graph-edge-dim: rgba(180, 201, 230, .12);--graph-tooltip-bg: rgba(17, 23, 34, .96);--graph-tooltip-shadow: 0 10px 28px rgba(0, 0, 0, .42);--graph-surface: rgba(20, 24, 34, .98);--graph-floating-shadow: 0 10px 24px rgba(0, 0, 0, .34);--graph-overlay: rgba(5, 8, 14, .54)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(900px 500px at 88% -6%,var(--palette-glow-a),transparent 68%),radial-gradient(900px 560px at -10% 0%,var(--palette-glow-b),transparent 70%),linear-gradient(165deg,var(--bg-0),var(--bg-1) 55%,var(--bg-2));letter-spacing:-.01em;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff2e}.title{font-size:2rem;font-weight:700;letter-spacing:-.03em;line-height:1.15;color:var(--text-primary);margin:0}.subtitle{font-size:.94rem;color:var(--text-secondary);margin:6px 0 0;line-height:1.5;font-weight:400}.muted{color:var(--text-secondary);font-size:.88rem}.metric-label{font-size:.78rem;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.metric-value{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);margin-top:4px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;flex-wrap:wrap}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}@media (max-width: 900px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 500px){.grid-4{grid-template-columns:1fr}}.card{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);padding:16px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.card:hover{border-color:var(--accent-border)}.card.metric-card{padding:20px;display:flex;flex-direction:column;gap:4px}.card-strong{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:#ffffff0a;padding:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:var(--radius-md);padding:10px 18px;font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;letter-spacing:-.01em}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-primary,.primary-btn{background:linear-gradient(125deg,var(--accent),var(--accent-hover));color:var(--palette-button-text);border:1px solid var(--button-primary-border);border-radius:var(--radius-md);padding:10px 18px;font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary:hover:not(:disabled),.primary-btn:hover:not(:disabled){background:linear-gradient(125deg,var(--accent-hover),var(--accent));transform:translateY(-1px);box-shadow:0 10px 22px var(--button-primary-shadow)}.btn-primary:disabled,.primary-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-secondary,.ghost-btn{background:var(--button-secondary-bg);color:var(--button-secondary-text);border:1px solid var(--button-secondary-border);border-radius:var(--radius-md);padding:10px 18px;font-family:inherit;font-size:.88rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover:not(:disabled),.ghost-btn:hover:not(:disabled){background:var(--button-secondary-hover-bg);border-color:var(--accent-border)}.btn-secondary:disabled,.ghost-btn:disabled{opacity:.4;cursor:not-allowed}.danger-btn{background:var(--danger-subtle);color:var(--danger);border:1px solid rgba(255,69,58,.2);border-radius:var(--radius-md);padding:10px 18px;font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s ease}.danger-btn:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 18%,transparent 82%);border-color:color-mix(in srgb,var(--danger) 34%,transparent 66%)}.danger-btn:disabled{opacity:.4;cursor:not-allowed}.chip,.chip-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:.8rem;font-weight:500;background:var(--button-secondary-bg);color:var(--text-secondary);border:1px solid var(--glass-border);cursor:pointer;transition:all .2s ease;white-space:nowrap}.chip-btn:hover:not(:disabled){background:var(--button-secondary-hover-bg);border-color:var(--accent-border);color:var(--text-primary)}.chip-btn:disabled{opacity:.4;cursor:not-allowed}.chip.p0{background:var(--danger-subtle);color:var(--danger);border-color:#ff453a33}.chip.p1{background:var(--warning-subtle);color:var(--warning);border-color:#ff9f0a33}.chip.p2{background:color-mix(in srgb,var(--warning) 16%,transparent 84%);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 28%,transparent 72%)}.glass-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:var(--radius-md);font-family:inherit;font-size:.88rem;font-weight:500;background:var(--button-secondary-bg);color:var(--text-primary);border:1px solid var(--glass-border);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease}.glass-btn:hover:not(:disabled){background:var(--button-secondary-hover-bg);border-color:var(--accent-border)}.glass-btn:disabled{opacity:.4;cursor:not-allowed}.input,.field-control,.textarea,.select-control,.select,.composer-input{width:100%;border:1px solid var(--glass-border);background:var(--surface-soft);color:var(--text-primary);border-radius:var(--radius-md);padding:10px 14px;font-family:inherit;font-size:.9rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.textarea,.composer-input{resize:vertical;line-height:1.6}.select-control,.select{min-width:180px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='rgba(245,245,247,0.4)' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.field-control.large{width:100%;resize:vertical;line-height:1.6;margin-bottom:8px}.table-wrap{overflow-x:auto;border-radius:var(--radius-md)}table{width:100%;border-collapse:separate;border-spacing:0;font-size:.88rem}thead th{text-align:left;padding:12px 14px;font-size:.78rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--glass-border);background:var(--surface-soft)}tbody td{padding:12px 14px;border-bottom:1px solid var(--border-soft);color:var(--text-secondary)}tbody tr{transition:background .15s ease}tbody tr:last-child td{border-bottom:none}tbody td a{color:var(--accent);text-decoration:none;font-weight:500;transition:color .15s ease}tbody td a:hover{color:var(--accent-hover)}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;word-break:break-word;overflow-wrap:anywhere;overflow:hidden}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9500;display:flex;align-items:center;justify-content:center;background:var(--surface-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal-card{width:480px;max-width:calc(100vw - 32px);padding:28px;box-shadow:var(--shadow-xl)}pre{margin:0;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:#0006;color:var(--text-secondary);font-size:.78rem;padding:12px;white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto;font-family:SF Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.placeholder-text{margin:0;color:var(--text-tertiary);font-size:.9rem}.error-line{color:var(--danger);margin:8px 0 0;font-size:.88rem}.checkbox-row{align-items:center;display:flex;gap:8px;font-size:.88rem;color:var(--text-secondary)}@media (max-width: 760px){.select-control,.select{min-width:0;width:100%}}.stream-paper{border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;background:var(--surface-paper);overflow:auto;line-height:1.9;box-shadow:var(--shadow-md)}.stream-section{display:grid;gap:12px}.stream-section__title{margin:0}.agent-progress{display:grid;gap:6px}.agent-progress__steps{display:flex;gap:6px}.agent-progress__step{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:12px;line-height:1.4;border:1px solid transparent;transition:background .2s,color .2s}.agent-progress__label{white-space:nowrap}.agent-progress__bar-track{height:3px;border-radius:2px;background:var(--bg-2);overflow:hidden}.agent-progress__bar-fill{height:100%;border-radius:2px;background:var(--accent);transition:width .4s ease}@keyframes agent-spin{to{transform:rotate(360deg)}}.agent-progress__spinner{display:inline-block;width:10px;height:10px;border:1.5px solid var(--accent-border);border-top-color:var(--accent);border-radius:50%;animation:agent-spin .8s linear infinite}.stream-plan{border:1px solid rgba(10,139,131,.28);border-radius:14px;background:linear-gradient(180deg,#0a8b8314,#2d7ec00d);padding:14px;display:grid;gap:10px}.stream-plan__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.stream-plan__title{margin:0;font-size:.92rem;font-weight:700;color:var(--text-primary)}.stream-plan__badge{border:1px solid rgba(10,139,131,.32);background:#0a8b8321;border-radius:999px;color:#0a6f7f;font-size:.72rem;font-weight:700;line-height:1;padding:4px 9px;white-space:nowrap}.stream-plan__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stream-plan__card{border:1px solid rgba(102,124,164,.22);border-radius:10px;background:#ffffffb3;padding:10px}.stream-plan__card-title{margin:0;color:var(--text-tertiary);font-size:.76rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.stream-plan__list{margin:8px 0 0;padding-left:18px;display:grid;gap:6px}.stream-plan__list--ordered{padding-left:20px}.stream-plan__list li{color:var(--text-secondary);font-size:.84rem;line-height:1.6}.stream-plan__empty{margin:8px 0 0;color:var(--text-tertiary);font-size:.82rem}.stream-paper h1,.stream-paper h2,.stream-paper h3,.stream-paper h4{font-family:"Noto Serif SC",serif;letter-spacing:.01em;margin:1.4em 0 .5em;color:var(--text-primary)}.stream-paper p,.stream-paper li,.stream-paper blockquote{color:var(--text-secondary)}.stream-paper hr{border:0;border-top:1px solid var(--glass-border);margin:1.5em 0}.stream-paper blockquote{border-left:3px solid var(--accent);margin:0;padding-left:16px;color:var(--text-secondary)}@media (max-width: 880px){.stream-plan__grid{grid-template-columns:1fr}}.composer-panel{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:16px}.composer-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}.mode-group{display:flex;gap:6px;flex-wrap:wrap}.mode-help-trigger{position:relative;display:inline-flex;align-items:center;margin-left:2px}.mode-help-trigger__button{width:24px;height:24px;border-radius:999px;border:1px solid var(--glass-border);background:#ffffff0f;color:var(--text-secondary);font:inherit;font-size:.82rem;font-weight:700;cursor:help;transition:all .18s ease}.mode-help-trigger__button:hover,.mode-help-trigger__button:focus-visible{color:var(--text-primary);border-color:#ffffff29;background:#ffffff1a}.disabled-tooltip.mode-help-tooltip{display:grid;gap:8px;width:min(420px,calc(100vw - 48px));white-space:normal;word-break:normal;overflow-wrap:break-word;text-align:left;line-height:1.5;left:50%;top:calc(100% + 10px);bottom:auto;transform:translate(-50%) translateY(4px);padding:10px 12px;animation:mode-help-fade-in .16s ease-out}.mode-help-tooltip strong{font-size:.82rem}.mode-help-tooltip span{display:block}.mode-help-tooltip span:not(.disabled-tooltip__arrow){color:var(--text-secondary);font-size:.8rem}.mode-help-tooltip b{color:var(--text-primary);font-weight:700}@keyframes mode-help-fade-in{0%{opacity:0;transform:translate(-50%) translateY(0)}to{opacity:1;transform:translate(-50%) translateY(4px)}}.advanced-box{border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:12px;margin-top:12px}.advanced-box summary{cursor:pointer;font-size:.88rem;color:var(--text-secondary);font-weight:600}.advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.advanced-grid label{font-size:.84rem;color:var(--text-secondary);display:grid;gap:6px}.app-layout{display:grid;grid-template-columns:240px minmax(0,1fr);height:100vh;height:100dvh;overflow:hidden;transition:grid-template-columns .3s cubic-bezier(.4,0,.2,1)}.app-layout--collapsed{grid-template-columns:64px minmax(0,1fr)}.app-layout__content{padding:32px;min-height:0;overflow-y:auto;max-width:1440px}.sidebar{display:flex;flex-direction:column;min-height:0;border-right:1px solid color-mix(in srgb,var(--border) 78%,transparent 22%);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 90%,var(--surface-paper) 10%),color-mix(in srgb,var(--surface-muted) 88%,var(--surface-paper) 12%) 52%,color-mix(in srgb,var(--surface-card-strong) 94%,var(--surface-paper) 6%));backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);padding:16px 12px;overflow-y:auto;box-shadow:inset -1px 0 color-mix(in srgb,var(--surface-card) 58%,transparent 42%),inset 0 1px color-mix(in srgb,white 24%,transparent 76%);transition:width .3s cubic-bezier(.4,0,.2,1)}.sidebar--collapsed{align-items:center}.sidebar__header{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 20px;gap:8px}.sidebar__brand{font-size:2rem;font-weight:800;letter-spacing:-.02em;color:var(--text-primary);background:linear-gradient(135deg,var(--accent),#bf5af2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar__toggle{border:none;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-card) 82%,transparent 18%);color:var(--text-tertiary);font-size:.82rem;padding:6px 8px;cursor:pointer;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border-soft) 82%,transparent 18%);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.sidebar__toggle:hover{background:color-mix(in srgb,var(--surface-card-strong) 84%,var(--accent-subtle) 16%);color:var(--text-primary)}.sidebar__nav{display:flex;flex-direction:column;gap:4px}.sidebar__section{display:flex;flex-direction:column;gap:2px;margin-bottom:16px}.sidebar__section-title{font-size:.7rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;padding:4px 12px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.88}.sidebar__link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);font-size:.88rem;font-weight:500;color:var(--text-secondary);text-decoration:none;background:transparent;transition:all .2s ease}.sidebar__link:hover{background:color-mix(in srgb,var(--surface-card) 80%,var(--accent-subtle) 20%);color:var(--text-primary)}.sidebar__link--active{background:linear-gradient(135deg,color-mix(in srgb,var(--accent-subtle) 88%,var(--surface-card) 12%),color-mix(in srgb,var(--accent-subtle) 54%,var(--surface-card-strong) 46%));color:var(--accent);font-weight:600;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-border) 74%,transparent 26%),0 8px 18px color-mix(in srgb,var(--accent) 8%,transparent 92%)}.sidebar__icon{font-size:1rem;flex-shrink:0;width:20px;text-align:center}.sidebar__divider{height:1px;margin:8px 0;background:color-mix(in srgb,var(--border-soft) 76%,transparent 24%)}.sidebar__user{padding:10px 12px 4px;border-top:1px solid color-mix(in srgb,var(--border-soft) 80%,transparent 20%)}.sidebar__user-card{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid color-mix(in srgb,var(--border-soft) 90%,transparent 10%);border-radius:var(--radius-md);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 88%,var(--surface-paper) 12%),color-mix(in srgb,var(--surface-card-strong) 94%,var(--surface-card) 6%));box-shadow:inset 0 1px color-mix(in srgb,white 30%,transparent 70%),var(--shadow-sm)}.sidebar__user-info{display:flex;align-items:center;gap:10px;min-width:0}.sidebar__user-icon{flex-shrink:0;color:var(--text-tertiary)}.sidebar__user-text{min-width:0;overflow:hidden}.sidebar__user-name{font-size:.82rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__user-email{margin-top:2px;font-size:.72rem;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__user-actions{display:flex;flex-direction:column;gap:8px}.sidebar__user-logout{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;width:100%;padding:8px 12px;border:1px solid color-mix(in srgb,var(--danger) 28%,transparent 72%);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--danger-subtle) 92%,transparent 8%);color:var(--danger);cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}.sidebar__user-logout:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--danger-subtle) 78%,var(--surface-card) 22%);border-color:color-mix(in srgb,var(--danger) 42%,transparent 58%)}.sidebar__user-logout--collapsed{padding:10px}.sidebar__user-logout-label{margin-left:2px;white-space:nowrap}.settings-page__action{align-self:flex-start}.settings-card__subtitle{margin:6px 0 0;color:var(--text-tertiary);font-size:.92rem;line-height:1.5}.settings-account-card{gap:22px}.settings-account-card__hero{display:flex;align-items:center;gap:18px}.settings-account-card__avatar{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent-subtle) 84%,var(--surface-card) 16%),color-mix(in srgb,var(--surface-muted) 72%,var(--accent-subtle) 28%));color:var(--accent);font-size:1.25rem;font-weight:700;letter-spacing:-.02em;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent 90%)}.settings-account-card__hero-copy{min-width:0;display:flex;flex-direction:column;gap:6px}.settings-account-card__eyebrow{color:var(--text-tertiary);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.settings-account-card__headline-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.settings-account-card__title{font-size:1.22rem;letter-spacing:-.02em}.settings-account-card__role-chip{font-size:.74rem;padding:4px 10px;height:auto;background:color-mix(in srgb,var(--accent-subtle) 72%,transparent 28%);color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent 90%)}.settings-account-card__subtitle{margin:0;color:var(--text-secondary);font-size:.98rem;line-height:1.45;word-break:break-word}.settings-account-card__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.settings-account-card__stat{display:flex;flex-direction:column;gap:8px;min-width:0;padding:16px 18px;border-radius:16px;border:1px solid var(--border-soft);background:color-mix(in srgb,var(--surface-muted) 80%,var(--surface-card) 20%)}.settings-account-card__stat-label{color:var(--text-tertiary);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.settings-account-card__stat-value{color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.35;word-break:break-word}.settings-workspaces-card__list{display:grid;gap:12px}.settings-workspaces-card__item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:16px;border:1px solid var(--border-soft);background:color-mix(in srgb,var(--surface-muted) 76%,var(--surface-card) 24%)}.settings-workspaces-card__item-main{min-width:0;display:flex;flex-direction:column;gap:8px}.settings-workspaces-card__item-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.settings-workspaces-card__item-title{color:var(--text-primary);font-size:1rem;font-weight:600;letter-spacing:-.01em}.settings-workspaces-card__plan-chip{height:auto;padding:4px 10px;font-size:.72rem;color:var(--text-secondary);background:color-mix(in srgb,var(--surface-card) 84%,transparent 16%);box-shadow:inset 0 0 0 1px var(--border-soft)}.settings-workspaces-card__item-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--text-tertiary);font-size:.86rem}.settings-workspaces-card__item-dot{width:4px;height:4px;border-radius:999px;background:color-mix(in srgb,var(--text-tertiary) 46%,transparent 54%)}.settings-workspaces-card__access-chip{flex-shrink:0;display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent-subtle) 60%,transparent 40%);color:var(--accent);font-size:.78rem;font-weight:600;line-height:1;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent 90%)}.settings-form-card{gap:18px}.settings-form-card__footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.settings-form-card__hint{color:var(--text-tertiary);font-size:.86rem;line-height:1.5}.settings-page__danger-card{border:1px solid color-mix(in srgb,var(--danger) 26%,transparent 74%);background:color-mix(in srgb,var(--danger-subtle) 20%,var(--surface-card) 80%)}.settings-page__danger-title{color:var(--danger)}.settings-page__danger-subtitle{margin-top:-4px}.settings-page__danger-button{display:inline-flex;align-items:center;gap:8px;margin-top:8px;align-self:flex-start;padding:10px 14px;border:1px solid color-mix(in srgb,var(--danger) 28%,transparent 72%);border-radius:12px;background:color-mix(in srgb,var(--danger-subtle) 62%,transparent 38%);color:var(--danger);cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}.settings-page__danger-button:hover:not(:disabled){transform:translateY(-1px);background:color-mix(in srgb,var(--danger-subtle) 78%,var(--surface-card) 22%);border-color:color-mix(in srgb,var(--danger) 40%,transparent 60%);box-shadow:var(--shadow-sm)}.settings-page__danger-button svg{flex-shrink:0}@media (max-width: 860px){.settings-account-card__stats{grid-template-columns:1fr}.settings-workspaces-card__item{flex-direction:column;align-items:flex-start}}@media (max-width: 640px){.settings-account-card__hero{align-items:flex-start}.settings-form-card__footer{flex-direction:column;align-items:stretch}.settings-page__action{width:100%}.settings-workspaces-card__access-chip{width:100%;justify-content:center}}@media (max-width: 760px){.app-layout{grid-template-columns:1fr}.sidebar{display:none}}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:380px}.toast{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:var(--glass-strong);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);font-size:.88rem;color:var(--text-primary);pointer-events:auto;box-shadow:var(--shadow-lg)}.toast--success{border-color:#30d1584d}.toast--error{border-color:#ff453a4d}.toast--info{border-color:#0a84ff4d}.toast--warning{border-color:#ff9f0a4d}.toast__icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.72rem;font-weight:700}.toast--success .toast__icon{background:var(--success-subtle);color:var(--success)}.toast--error .toast__icon{background:var(--danger-subtle);color:var(--danger)}.toast--info .toast__icon{background:var(--info-subtle);color:var(--info)}.toast--warning .toast__icon{background:var(--warning-subtle);color:var(--warning)}.toast__message{flex:1;line-height:1.4}.toast__close{flex-shrink:0;border:none;background:none;color:var(--text-tertiary);font-size:1.1rem;cursor:pointer;padding:0 2px;line-height:1;transition:color .2s ease}.toast__close:hover{color:var(--text-primary)}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,#ffffff08 25%,#ffffff0f,#ffffff08 75%);background-size:200% 100%;animation:skeleton-shimmer 1.8s ease-in-out infinite}.skeleton--text{height:16px;width:80%;border-radius:6px;margin-bottom:8px}.skeleton--card{height:120px;width:100%;border-radius:var(--radius-lg);border:1px solid var(--glass-border)}.skeleton--table-row{height:44px;width:100%;border-radius:var(--radius-sm);margin-bottom:6px}.skeleton--metric-card{height:88px;width:100%;border-radius:var(--radius-lg);border:1px solid var(--glass-border)}.writing-page{display:flex;flex-direction:column;gap:16px;min-height:calc(100vh - 96px)}.writing-header{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap}.writing-header__title{margin:0;font-size:2rem;font-weight:700;letter-spacing:-.03em;line-height:1.15}.writing-header__sub{margin:6px 0 0;color:var(--text-secondary);font-size:.94rem}.writing-header__controls{display:flex;align-items:center;gap:10px}.writing-template-picker{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.84rem}.writing-template-picker select{min-width:220px;border:1px solid var(--glass-border);border-radius:10px;padding:8px 10px;background:#ffffffeb;color:var(--text-primary);font:inherit}.writing-body{display:block;flex:1;order:2}.writing-body--with-panel{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}.writing-main{display:flex;flex-direction:column;gap:12px;min-height:0}.writing-main .stream-paper{flex:1;min-height:460px}.writing-main__tools{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.writing-main__tools-left,.writing-main__tools-right{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.writing-aux-panel{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:12px;min-height:460px;display:flex;flex-direction:column;gap:10px}.writing-aux-panel__title{margin:0;font-size:.82rem;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.writing-composer-dock{position:static;order:1}.writing-composer-dock__title{margin:0;font-size:.95rem;font-weight:700}.writing-composer-dock__subtitle{margin:4px 0 10px;color:var(--text-secondary);font-size:.82rem}.writing-composer-dock__prompt{margin-bottom:10px}.writing-toc{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow:hidden}.writing-toc__toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border:none;background:none;color:var(--text-primary);font:inherit;font-weight:600;font-size:.88rem;cursor:pointer;transition:background .2s ease}.writing-toc__toggle:hover{background:#ffffff0a}.writing-toc__list{list-style:none;margin:0;padding:0 8px 8px;overflow:hidden}.writing-toc__item{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-secondary);font:inherit;font-size:.84rem;cursor:pointer;text-align:left;transition:all .2s ease}.writing-toc__item:hover{background:#ffffff0f;color:var(--text-primary)}.writing-toc__item--active{background:var(--accent-subtle);color:var(--accent)}.writing-toc__num{font-weight:600;white-space:nowrap}.writing-toc__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.writing-toc__words{font-size:.72rem;color:var(--text-tertiary);white-space:nowrap}.writing-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.writing-stats__item{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass);padding:10px;display:flex;flex-direction:column;gap:2px;text-align:center}.writing-stats__label{font-size:.7rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.writing-stats__item strong{font-size:.9rem;color:var(--text-primary)}.writing-logs{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:14px;max-height:260px;overflow-y:auto;flex:1;min-height:120px}.writing-logs__title{margin:0 0 8px;font-size:.82rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.writing-logs__line{margin:0;font-family:SF Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;color:var(--text-tertiary);line-height:1.7}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.writing-pulse{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--accent-border);border-radius:var(--radius-md);background:var(--accent-subtle)}.writing-pulse__dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse-dot 1.4s ease-in-out infinite;flex-shrink:0}.writing-pulse__text{font-size:.88rem;color:var(--accent);font-weight:500}.export-menu{position:relative;display:inline-block}.export-menu__trigger{display:flex;align-items:center;gap:6px}.export-menu__icon{font-size:.9rem}.export-menu__dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-strong);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);padding:8px;z-index:100;box-shadow:var(--shadow-xl)}.export-menu__group{display:flex;flex-direction:column;gap:2px}.export-menu__group-label{font-size:.72rem;font-weight:600;color:var(--text-tertiary);padding:6px 10px 4px;text-transform:uppercase;letter-spacing:.04em}.export-menu__item{display:block;width:100%;text-align:left;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-primary);font:inherit;font-size:.88rem;padding:8px 12px;cursor:pointer;transition:background .2s ease}.export-menu__item:hover{background:#ffffff0f}.export-menu__divider{height:1px;background:var(--glass-border);margin:4px 8px}@media (max-width: 900px){.writing-body--with-panel{grid-template-columns:1fr}.writing-main .stream-paper,.writing-aux-panel{min-height:320px}.writing-composer-dock{position:static}}.reading-mode{min-height:100vh;width:100%;padding:96px 24px 52px;box-sizing:border-box;background:radial-gradient(1200px 640px at 50% -180px,rgba(131,170,211,.22),transparent 72%),linear-gradient(180deg,#ecf2f9,#e8eef5 52%,#e4eaf1)}.reading-mode__layout{width:min(100%,1240px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);gap:22px}.reading-mode--with-toc .reading-mode__layout{grid-template-columns:220px minmax(0,1fr);align-items:start}.reading-mode__inner{width:min(100%,940px);justify-self:center}.reading-mode--with-toc .reading-mode__inner{width:100%;justify-self:stretch}.reading-mode__toc{position:sticky;top:92px;align-self:start;border-radius:16px;border:1px solid rgba(102,124,164,.22);background:#ffffffb3;backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);box-shadow:0 14px 28px #14233a1c;padding:12px 10px;max-height:calc(100vh - 118px);overflow:auto}.reading-mode__toc-title{margin:0;padding:0 8px 8px;color:#536b8d;font-size:.8rem;font-weight:700;letter-spacing:.03em}.reading-mode__toc-list{display:grid;gap:6px}.reading-mode__toc-item{width:100%;border:1px solid transparent;border-radius:10px;background:transparent;color:#415875;text-align:left;font:inherit;font-size:.84rem;line-height:1.35;padding:8px 10px;cursor:pointer;transition:all .16s ease}.reading-mode__toc-item:hover{background:#0a8b8314;color:#274e76}.reading-mode__toc-item.is-active{background:#0a8b8324;border-color:#0a8b8347;color:#1f3f63}.reading-mode__paper{border-radius:24px;border:1px solid rgba(102,124,164,.25);background:linear-gradient(180deg,#fffffffa,#f7fbfff5),radial-gradient(130% 130% at 100% 0%,rgba(10,139,131,.07),transparent 62%);box-shadow:0 34px 56px #182a4824,0 2px 8px #182a4814;padding:clamp(24px,4vw,44px)}.reading-mode__markdown,.reading-mode__plain{font-family:"Noto Serif SC",serif;font-size:clamp(1rem,1vw + .82rem,1.18rem);line-height:2;color:#2d3b52}.reading-mode__markdown h1,.reading-mode__markdown h2,.reading-mode__markdown h3,.reading-mode__markdown h4{margin:1.8em 0 .85em;color:#1f2a3c;font-weight:700}.reading-mode__markdown p,.reading-mode__markdown li,.reading-mode__plain p{margin:0 0 1.2em;text-indent:2em;white-space:pre-wrap}.reading-mode__markdown blockquote{margin:1.3em 0;padding:.1em 0 .1em 1.2em;border-left:3px solid rgba(10,139,131,.45);color:#3f5777}.reading-mode__markdown hr{border:0;border-top:1px solid rgba(102,124,164,.32);margin:2em 0}.reading-mode__empty{margin:0;text-align:center;color:#58708f;font-size:.98rem}.reading-mode-toolbar-wrap{position:fixed;top:18px;left:0;right:0;z-index:9000;display:flex;justify-content:center;padding:0 14px;pointer-events:none}.reading-mode-toolbar{max-width:min(960px,calc(100vw - 28px));width:-moz-fit-content;width:fit-content;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;border:1px solid rgba(102,124,164,.34);background:#ffffffd6;backdrop-filter:blur(16px) saturate(155%);-webkit-backdrop-filter:blur(16px) saturate(155%);box-shadow:0 14px 32px #1a29442e;pointer-events:auto}.reading-mode-toolbar__nav{min-width:0;display:flex;align-items:center;gap:8px}.reading-mode-toolbar__btn{border:1px solid rgba(102,124,164,.32);border-radius:999px;background:#ffffffeb;color:#2d3c54;padding:6px 12px;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .18s ease;white-space:nowrap}.reading-mode-toolbar__btn:hover:not(:disabled){transform:translateY(-1px);background:#fff;box-shadow:0 6px 14px #14233a24}.reading-mode-toolbar__btn:disabled{opacity:.42;cursor:not-allowed;transform:none;box-shadow:none}.reading-mode-toolbar__btn--exit{border-color:#ff453a40;background:#ff453a14;color:#c43b34}.reading-mode-toolbar__btn--exit:hover{background:#ff453a29}.reading-mode-toolbar__label{max-width:clamp(120px,28vw,280px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4c6382;font-size:.82rem;font-weight:600}@media (max-width: 1180px){.reading-mode--with-toc .reading-mode__layout{grid-template-columns:minmax(0,1fr)}.reading-mode__toc{display:none}}.app-layout.app-layout--reading,.app-layout.app-layout--reading.app-layout--collapsed{grid-template-columns:minmax(0,1fr)}.app-layout--reading .app-layout__content{padding:0;width:100%;max-width:none;margin:0;min-width:0}.app-layout--reading .app-layout__content>*{width:100%;min-width:0}.shortcut-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9500;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.shortcut-panel{width:400px;max-width:calc(100vw - 32px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);background:var(--glass-strong);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);box-shadow:var(--shadow-xl);overflow:hidden}.shortcut-panel__header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--glass-border)}.shortcut-panel__title{margin:0;font-size:1.05rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.shortcut-panel__close{border:none;background:none;color:var(--text-tertiary);font-size:1.2rem;cursor:pointer;padding:0 2px;line-height:1;transition:color .2s ease}.shortcut-panel__close:hover{color:var(--text-primary)}.shortcut-panel__list{list-style:none;margin:0;padding:10px 12px 16px;display:flex;flex-direction:column;gap:4px}.shortcut-panel__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);transition:background .2s ease}.shortcut-panel__row:hover{background:#ffffff0a}.shortcut-panel__kbd{font-family:SF Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;font-weight:600;color:var(--accent);background:var(--accent-subtle);border:1px solid var(--accent-border);border-radius:6px;padding:4px 10px;white-space:nowrap}.shortcut-panel__desc{font-size:.88rem;color:var(--text-secondary)}.dashboard-page{display:flex;flex-direction:column;gap:0}:root{--trace-director-bg: var(--graph-character-bg);--trace-director-border: var(--graph-character-border);--trace-worldbuilder-bg: var(--graph-location-bg);--trace-worldbuilder-border: var(--graph-location-border);--trace-continuity-bg: var(--graph-item-bg);--trace-continuity-border: var(--graph-item-border);--trace-stylist-bg: color-mix(in srgb, var(--accent) 16%, transparent 84%);--trace-stylist-border: color-mix(in srgb, var(--accent) 42%, transparent 58%);--trace-arbiter-bg: color-mix(in srgb, var(--danger) 14%, transparent 86%);--trace-arbiter-border: color-mix(in srgb, var(--danger) 42%, transparent 58%);--trace-default-bg: var(--surface-muted);--trace-default-border: var(--border-strong);--trace-severity-p0-bg: color-mix(in srgb, var(--danger) 14%, transparent 86%);--trace-severity-p1-bg: color-mix(in srgb, var(--warning) 14%, transparent 86%);--trace-severity-p2-bg: color-mix(in srgb, var(--info) 12%, transparent 88%);--memory-layer-l1-border: color-mix(in srgb, var(--success) 42%, transparent 58%);--memory-layer-l2-border: color-mix(in srgb, var(--info) 42%, transparent 58%);--memory-layer-l3-border: color-mix(in srgb, var(--warning) 42%, transparent 58%);--memory-layer-root-border: color-mix(in srgb, var(--accent) 42%, transparent 58%)}:root[data-theme=dark]{--trace-default-bg: var(--surface-soft)}.title{font-size:clamp(1.5rem,1.3rem + .7vw,2rem);color:var(--text-primary)}.subtitle,.muted,.metric-label{color:var(--text-secondary)}.metric-label{text-transform:none;letter-spacing:.02em;font-weight:600}.metric-value{color:var(--text-primary);font-size:clamp(1.15rem,1rem + .45vw,1.7rem)}.card,.card-strong,.writing-toc,.writing-logs,.writing-stats__item,.composer-panel,.advanced-box,.toast,.shortcut-panel{background:var(--surface-card);border-color:var(--border);box-shadow:var(--shadow-md);color:var(--text-primary)}.card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-lg)}.card-strong{background:var(--surface-card-strong)}.btn,.primary-btn,.ghost-btn,.danger-btn,.glass-btn{border-radius:12px}.btn,.btn-secondary,.ghost-btn,.glass-btn,.chip,.chip-btn{background:var(--button-secondary-bg);color:var(--button-secondary-text);border:1px solid var(--button-secondary-border)}.btn:not(.btn-primary):hover:not(:disabled),.btn-secondary:hover:not(:disabled),.ghost-btn:hover:not(:disabled),.glass-btn:hover:not(:disabled),.chip-btn:hover:not(:disabled){transform:translateY(-1px);background:var(--button-secondary-hover-bg);border-color:var(--accent-border);box-shadow:var(--shadow-sm)}.btn-primary,.primary-btn{background:linear-gradient(125deg,var(--accent),var(--accent-hover));color:var(--palette-button-text);border:1px solid var(--button-primary-border)}.btn-primary:hover:not(:disabled),.primary-btn:hover:not(:disabled){background:linear-gradient(125deg,var(--accent-hover),var(--accent));border-color:var(--button-primary-border);box-shadow:0 10px 22px var(--button-primary-shadow)}.chip-btn.active{background:var(--accent-subtle);border-color:var(--accent-border);color:var(--accent)}.chip{color:var(--button-secondary-text)}.sidebar__theme-quick-button{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--accent-border);border-radius:999px;background:color-mix(in srgb,var(--surface-card) 82%,var(--surface-paper) 18%);color:var(--text-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.sidebar__theme-quick-button:hover{transform:translateY(-1px);border-color:var(--accent);background:color-mix(in srgb,var(--accent-subtle) 50%,var(--surface-card) 50%);box-shadow:var(--shadow-md)}.sidebar__theme-quick-button svg{width:18px;height:18px}.sidebar__theme-quick-button--inline{width:100%;height:36px;gap:8px;padding:0 12px;border-radius:var(--radius-sm);box-shadow:none;justify-content:flex-start}.sidebar__theme-quick-label{font-size:.78rem;font-weight:600;letter-spacing:.01em}.input,.field-control,.textarea,.select-control,.select,.composer-input{background:var(--surface-soft);color:var(--text-primary);border:1px solid var(--border)}.input:focus,.field-control:focus,.textarea:focus,.select-control:focus,.select:focus,.composer-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent 82%);background:var(--surface-muted)}.input::-moz-placeholder,.textarea::-moz-placeholder,.composer-input::-moz-placeholder{color:var(--text-tertiary)}.input::placeholder,.textarea::placeholder,.composer-input::placeholder{color:var(--text-tertiary)}.stream-paper{background:var(--surface-paper);border:1px solid var(--border);box-shadow:var(--shadow-lg)}.stream-paper p,.stream-paper li,.stream-paper blockquote,.stream-paper h1,.stream-paper h2,.stream-paper h3,.stream-paper h4{color:var(--text-primary)}.stream-paper blockquote{border-left-color:var(--accent-border);color:var(--text-secondary)}.app-layout{grid-template-columns:250px minmax(0,1fr)}.app-layout--collapsed{grid-template-columns:72px minmax(0,1fr)}.app-layout__content{padding:24px;min-height:0;max-width:1640px;width:100%;margin:0 auto}.mobile-nav{display:none}.mobile-nav__link{text-decoration:none}.mobile-nav__link,.mobile-nav__link:visited{color:#5c6f8f}.mobile-nav__link--active,.mobile-nav__link--active:visited{color:#0a6f7f}.list-toolbar{margin-top:16px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.list-toolbar__filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.list-toolbar__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}.list-toolbar__filters .input{width:min(380px,80vw)}.project-list-grid{margin-top:18px;display:grid;gap:14px}.project-card{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.project-card--selected{border-color:#0a84ff75;box-shadow:0 10px 20px #0a84ff1f}.project-card:hover{transform:translateY(-1px)}.project-card__select{display:inline-flex;align-items:center;gap:6px;margin-bottom:8px;color:var(--text-secondary);font-size:.8rem}.project-card__select input{width:14px;height:14px;accent-color:var(--accent)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-sm)}table{width:100%;background:transparent}th,td{border-bottom:1px solid var(--border-soft);color:var(--text-primary)}th{color:var(--text-secondary);background:var(--surface-soft)}tbody tr:hover{background:var(--glass-hover)}.modal-backdrop{background:#1d2c4473;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modern-modal{max-width:700px}@media (max-width: 760px){.app-layout{grid-template-columns:1fr}.app-layout__content{padding:76px 14px 18px}.reading-mode{padding:74px 12px 24px}.reading-mode__layout{gap:14px}.reading-mode__paper{border-radius:18px;padding:18px 16px 22px}.reading-mode-toolbar-wrap{top:10px;padding:0 8px}.reading-mode-toolbar{gap:8px;padding:8px 10px;max-width:calc(100vw - 16px)}.reading-mode-toolbar__btn{padding:6px 10px;font-size:.78rem}.reading-mode-toolbar__label{display:none}.mobile-nav{position:fixed;top:0;left:0;right:0;z-index:35;display:flex;gap:6px;overflow-x:auto;padding:10px 12px;border-bottom:1px solid var(--glass-border);background:#fafcfff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-nav__link{white-space:nowrap;padding:7px 12px;border-radius:999px;border:1px solid transparent;font-size:.82rem;font-weight:600}.mobile-nav__link--active{border-color:#0a8b833d;background:#0a8b831c}.list-toolbar__filters .input{width:100%}.list-toolbar__actions{width:100%;margin-left:0}.writing-body--with-panel{grid-template-columns:1fr}}.section-title{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-.02em;color:var(--text-primary)}.clickable-card{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.clickable-card:hover{transform:translateY(-1px);border-color:#0a8b834d;box-shadow:0 22px 38px #2035581f,0 2px 8px #1b263f0d}.layer-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.76rem;font-weight:700}.layer-badge--L1{background:#1f9f6124;border:1px solid rgba(31,159,97,.4);color:#15794a}.layer-badge--L2{background:#2d7ec024;border:1px solid rgba(45,126,192,.4);color:#1e6ba8}.layer-badge--L3{background:#ad6f1b24;border:1px solid rgba(173,111,27,.4);color:#8c5a15}.layer-badge--root{background:#8c50a024;border:1px solid rgba(140,80,160,.4);color:#6b3a80}.memory-hit-mark{color:inherit;padding:0 .16em;border-radius:.22em;background:linear-gradient(180deg,transparent 18%,rgba(255,235,123,.18) 18%,rgba(255,235,123,.9) 78%,rgba(255,235,123,.72) 100%);box-decoration-break:clone;-webkit-box-decoration-break:clone}.chart-tooltip{background:#fffffff5;border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.entity-badge--character{background:#2d7ec024;border:1px solid rgba(45,126,192,.5);color:#2d7ec0}.entity-badge--location{background:#1f9f6124;border:1px solid rgba(31,159,97,.5);color:#1f9f61}.entity-badge--item{background:#ad6f1b24;border:1px solid rgba(173,111,27,.5);color:#ad6f1b}.range-input-group{display:flex;align-items:center;gap:10px}.range-input-group input[type=range]{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:2px;background:linear-gradient(90deg,var(--accent) 0%,rgba(10,139,131,.18) 0%);outline:none;cursor:pointer}.range-input-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 1px 4px #0a8b834d;cursor:pointer;-webkit-transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease}.range-input-group input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 2px 8px #0a8b8366}.range-input-group input[type=number]{width:72px;text-align:center;flex-shrink:0}.toggle-switch{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toggle-switch__track{position:relative;width:40px;height:22px;border-radius:11px;background:#667ca447;transition:background .2s ease;flex-shrink:0}.toggle-switch__track:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:transform .2s ease}.toggle-switch input{display:none}.toggle-switch input:checked+.toggle-switch__track{background:var(--accent)}.toggle-switch input:checked+.toggle-switch__track:after{transform:translate(18px)}.toggle-switch__label{font-size:.85rem;color:var(--text-secondary);line-height:1.3}.modifier-section{margin-top:16px;border-top:1px solid var(--glass-border);padding-top:14px}.modifier-section__label{font-size:.82rem;font-weight:600;color:var(--text-secondary);letter-spacing:.03em;margin-bottom:8px}.modifier-section__actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.modifier-section__warning{margin:8px 0 0;padding:8px 10px;font-size:.82rem;color:var(--warning);background:var(--warning-subtle);border-radius:var(--radius-sm);border:1px solid rgba(173,111,27,.2);line-height:1.4}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-top:12px}.settings-grid .form-group{gap:6px}.settings-grid .form-label{font-size:.78rem;color:var(--text-secondary);font-weight:600;letter-spacing:.02em}.form-group{display:flex;flex-direction:column;gap:4px}.form-label{font-size:14px;font-weight:500;color:var(--text-primary)}.field-message{font-size:12px;line-height:1.4;margin-top:2px}.field-message--error{color:var(--danger)}.field-message--hint{color:var(--text-secondary)}.field-error{border-color:var(--danger)!important}.grid-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.content-panel{padding:24px;min-height:200px;line-height:1.8}:focus-visible{outline:1px solid var(--accent);outline-offset:1px}:focus:not(:focus-visible){outline:none}.disabled-tooltip-wrap{position:relative;display:inline-flex;cursor:not-allowed}.disabled-tooltip{position:absolute;left:50%;transform:translate(-50%);padding:8px 14px;border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--glass-strong);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);box-shadow:var(--shadow-lg);font-size:.82rem;color:var(--text-primary);white-space:nowrap;z-index:9000;pointer-events:none;line-height:1.4}.disabled-tooltip--top{bottom:calc(100% + 8px)}.disabled-tooltip--bottom{top:calc(100% + 8px)}.disabled-tooltip__arrow{position:absolute;left:50%;transform:translate(-50%) rotate(45deg);width:8px;height:8px;background:var(--glass-strong);border:1px solid var(--glass-border)}.disabled-tooltip--top .disabled-tooltip__arrow{bottom:-5px;border-top:none;border-left:none}.disabled-tooltip--bottom .disabled-tooltip__arrow{top:-5px;border-bottom:none;border-right:none}.toast__body{flex:1;min-width:0}.toast__context{font-weight:600}.toast__actions{display:flex;gap:6px;margin-top:6px}.toast__action-btn{padding:2px 8px;border-radius:4px;border:1px solid currentColor;background:transparent;color:inherit;font-size:.8rem;cursor:pointer;opacity:.9;transition:opacity .15s}.toast__action-btn:hover{opacity:1}.toast__detail-wrap{margin-top:6px}.toast__detail-toggle{background:none;border:none;color:inherit;font-size:.75rem;cursor:pointer;padding:0;text-decoration:underline;opacity:.8}.toast__detail-toggle:hover{opacity:1}.toast__detail{margin:4px 0 0;padding:6px 8px;background:#00000026;border-radius:4px;font-size:.75rem;white-space:pre-wrap;word-break:break-all;max-height:120px;overflow-y:auto}.activity-panel{border-top:1px solid var(--glass-border);margin-top:auto}.activity-panel__toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-family:inherit;transition:color .15s}.activity-panel__toggle:hover{color:var(--text-primary)}.activity-panel__count{background:var(--glass-bg, rgba(255, 255, 255, .06));padding:1px 7px;border-radius:10px;font-size:.75rem}.activity-panel__list{max-height:320px;overflow-y:auto;padding:0 8px 8px}.activity-panel__header{display:flex;justify-content:flex-end;padding:4px 0}.activity-panel__clear{background:none;border:none;color:var(--text-secondary);font-size:.75rem;font-family:inherit;cursor:pointer;padding:2px 6px}.activity-panel__clear:hover{color:var(--danger)}.activity-panel__empty{text-align:center;color:var(--text-secondary);font-size:.8rem;padding:16px 0;margin:0}.activity-item{display:flex;align-items:flex-start;gap:8px;padding:8px 6px;border-bottom:1px solid var(--glass-border)}.activity-item:last-child{border-bottom:none}.activity-item__icon{font-size:.9rem;flex-shrink:0;margin-top:2px}.activity-item__body{flex:1;min-width:0}.activity-item__desc{font-size:.8rem;color:var(--text-primary);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-item__meta{display:flex;align-items:center;gap:6px;margin-top:3px}.activity-item__time{font-size:.7rem;color:var(--text-secondary)}.activity-item__retry{background:none;border:1px solid var(--danger);color:var(--danger);font-size:.7rem;font-family:inherit;padding:2px 6px;border-radius:4px;cursor:pointer;flex-shrink:0}.activity-item__retry:hover{background:var(--danger);color:#fff}.chip--success{color:var(--success, #22c55e)}.chip--error{color:var(--danger)}.chip--pending{color:var(--warning, #f59e0b)}.batch-sm{display:flex;flex-direction:column;gap:10px}.batch-sm__bar-track{width:100%;height:6px;border-radius:3px;background:#ffffff14;overflow:hidden}.batch-sm__bar-fill{height:100%;border-radius:3px}.batch-sm__text{margin:0;font-size:.84rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.batch-sm__idle{margin:0}.batch-sm__actions{display:flex;gap:8px}.batch-sm__error{margin:0;font-size:.84rem;color:var(--danger)}.batch-sm__summary{display:flex;gap:16px;font-size:.88rem;color:var(--text-secondary)}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.chart-container{width:100%;height:260px;max-height:280px}.dashboard-section{padding:20px;margin-top:16px}.summary-stat-item{padding:12px;display:flex;justify-content:space-between}@media (max-width: 900px){.chart-grid{grid-template-columns:1fr}.table-wrap{-webkit-overflow-scrolling:touch}}.blueprint-panel{margin-top:10px;display:grid;gap:12px}.blueprint-quality-alert{margin-top:10px;border:1px solid rgba(255,159,10,.32);background:#ff9f0a1f;border-radius:var(--radius-md);padding:10px 12px;display:grid;gap:6px}.blueprint-quality-alert--bad{border-color:#ff453a5c;background:#ff453a1f}.blueprint-quality-alert__head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.8rem;font-weight:700;color:#ffd18d}.blueprint-quality-alert--bad .blueprint-quality-alert__head{color:#ffb0a8}.blueprint-quality-alert__list{margin:0;padding-left:16px;display:grid;gap:4px;color:var(--text-secondary);font-size:.8rem;line-height:1.45}.blueprint-quality-alert__meta{margin:0;color:var(--text-tertiary);font-size:.76rem}.blueprint-group{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:#ffffff08;padding:10px;display:grid;gap:8px}.blueprint-group__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.blueprint-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.blueprint-item{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:flex-start;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#ffffff05;padding:9px 10px}.blueprint-item__index{min-width:22px;height:22px;border-radius:999px;border:1px solid rgba(117,196,241,.45);background:#75c4f11f;color:#7fc4e6;font-size:.72rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}.blueprint-item__tag{border-radius:999px;border:1px solid rgba(255,159,10,.25);background:#ff9f0a24;color:#ffbe55;font-size:.7rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:22px;margin-top:1px}.blueprint-item__text{margin:0;color:var(--text-secondary);font-size:.84rem;line-height:1.65}.blueprint-item--conflict{border-color:#ff9f0a38;background:#ff9f0a0d}.blueprint-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.blueprint-detail-card{border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#ffffff05;padding:10px;min-height:82px}.blueprint-detail-card__title{font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.blueprint-detail-list{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:8px}.blueprint-detail-item{border:1px solid rgba(255,255,255,.06);border-radius:8px;background:#ffffff05;padding:8px}.blueprint-detail-item__title{margin:0;color:var(--text-primary);font-size:.82rem;font-weight:600}.blueprint-detail-item__detail{margin:6px 0 0;color:var(--text-secondary);font-size:.79rem;line-height:1.55}@media (max-width: 900px){.blueprint-grid{grid-template-columns:1fr}}.mb-page{display:flex;flex-direction:column;gap:16px}.mb-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.mb-header__actions{display:flex;gap:6px;flex-shrink:0}.mb-back-link{text-decoration:none;font-size:.86rem}.mb-stats-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:12px 16px;border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);margin-bottom:4px}.mb-stat-chip{display:flex;align-items:center;gap:6px}.mb-stat-chip__label{font-size:.78rem;color:var(--text-tertiary);font-weight:500}.mb-stat-chip__count{font-size:.82rem;color:var(--text-secondary);font-weight:600}.mb-browse-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}@media (max-width: 900px){.mb-browse-grid{grid-template-columns:1fr}}.mb-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.mb-section-title{margin:0;font-size:.92rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:6px}.mb-search-panel{min-width:0;overflow:hidden}.mb-search-bar{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;min-width:0}.mb-search-bar .composer-input{min-width:0}.mb-search-bar__controls{display:flex;gap:8px;min-width:0}.mb-search-bar__controls .select-control{min-width:100px;flex:0 1 auto}.mb-search-bar__controls .primary-btn{flex-shrink:0}.mb-quick-queries{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:10px}.mb-results{display:grid;gap:8px}.mb-result-card{padding:12px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.mb-result-card--expanded{box-shadow:var(--shadow-sm)}.mb-result-card__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.mb-result-card__score{font-size:.75rem;color:var(--text-tertiary);font-weight:500;font-variant-numeric:tabular-nums}.mb-result-card__title{margin:0;font-size:.92rem;font-weight:600;line-height:1.4}.mb-result-card__snippet{margin:4px 0 0;font-size:.78rem;line-height:1.5}.mb-result-card__source{margin:6px 0;font-size:.78rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.mb-result-card__actions{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.mb-result-card__evidence{margin-top:6px;white-space:pre-wrap;font-size:.84rem;line-height:1.65}.mb-files-panel{min-width:0;overflow:hidden}.mb-layer-filters{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:10px}.mb-file-list{display:grid;gap:6px;max-height:calc(100vh - 320px);overflow-y:auto;overflow-x:hidden;padding-right:2px}.mb-file-card{padding:10px 12px;cursor:pointer;transition:border-color .15s ease}.mb-file-card--expanded{box-shadow:var(--shadow-sm)}.mb-file-card__head{display:flex;align-items:center;gap:6px;margin-bottom:4px}.mb-file-card__type{font-size:.72rem;color:var(--text-secondary);background:var(--glass-hover);padding:1px 6px;border-radius:4px;border:1px solid var(--glass-border)}.mb-file-card__meta{font-size:.72rem;color:var(--text-tertiary);margin-left:auto;white-space:nowrap}.mb-file-card__title{font-size:.86rem;font-weight:600;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mb-file-card__path{font-size:.74rem;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mb-file-card__content{margin-top:8px}.mb-file-card__pre{background:#0000004d;border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:10px;font-size:.78rem;line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:360px;overflow:auto}.mb-layer-legend{display:flex;gap:16px;flex-wrap:wrap;padding:10px 16px;border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:#ffffff05;margin-top:4px}.mb-layer-legend__item{display:flex;align-items:center;gap:8px}.mb-layer-legend__desc{font-size:.8rem;color:var(--text-tertiary)}.mb-identity-panel{padding:20px}.mb-identity-panel__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;flex-wrap:wrap}.mb-identity-panel__body{display:grid;gap:16px}.mb-identity-textarea{min-height:340px}.mb-runtime-state{border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:14px;background:#ffffff05}.mb-runtime-state__pre{background:#0000004d;border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:12px;font-size:.82rem;line-height:1.65;white-space:pre-wrap;word-break:break-word;max-height:400px;overflow:auto}@media (max-width: 760px){.mb-header{flex-direction:column}.mb-stats-bar{flex-direction:column;align-items:flex-start}.mb-search-bar__controls{flex-direction:column}.mb-layer-legend{flex-direction:column;gap:8px}}.dash-page{display:flex;flex-direction:column;gap:24px}.dash-page__header{margin-bottom:8px}.dash-page__title{margin:0 0 8px;font-size:1.5rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.dash-page__subtitle{margin:0;font-size:.95rem;color:var(--text-tertiary);line-height:1.5}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}.dash-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:16px;box-shadow:0 2px 8px #00000005}.dash-card__header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.dash-card__title{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.dash-card__actions{display:flex;gap:12px;align-items:center}.dash-label{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.dash-msg-info{text-align:center;padding:32px;color:var(--text-tertiary);font-size:.95rem}.dash-msg-err{text-align:center;padding:16px;color:var(--danger);background:#ef44440d;border-radius:var(--radius-md);font-size:.95rem}.chip{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;font-size:.85rem;font-weight:500;border-radius:999px;transition:all .2s}.chip--active{box-shadow:0 0 0 1px var(--accent)}.usage-page__top-grid{margin-bottom:16px}.usage-topup-card{gap:18px}.usage-topup-card__header{display:flex;flex-direction:column;gap:6px}.usage-topup-card__label{margin-bottom:0;font-weight:600}.usage-topup-card__hint{margin:0;font-size:.92rem;line-height:1.5;color:var(--text-tertiary)}.usage-topup-card__chips{display:flex;flex-wrap:wrap;gap:10px}.usage-topup-chip{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:8px 16px;border:1px solid var(--border);border-radius:999px;background:var(--surface-muted);color:var(--text-primary);font-size:.92rem;font-weight:600;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}.usage-topup-chip:hover{transform:translateY(-1px);border-color:var(--accent-border);background:color-mix(in srgb,var(--accent-subtle) 38%,var(--surface-muted) 62%)}.usage-topup-chip--active{border-color:color-mix(in srgb,var(--accent) 52%,transparent 48%);background:color-mix(in srgb,var(--accent-subtle) 80%,transparent 20%);color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent 88%)}.usage-topup-card__composer{display:flex;align-items:stretch;gap:10px}.usage-topup-input{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.usage-topup-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent 84%);background:var(--surface-card)}.usage-topup-input__prefix{flex-shrink:0;color:var(--text-tertiary);font-size:.95rem;font-weight:600;-webkit-user-select:none;-moz-user-select:none;user-select:none}.usage-topup-input__field{width:100%;min-width:0;height:44px;border:0;outline:0;background:transparent;color:var(--text-primary);font-size:.95rem;box-shadow:none;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.usage-topup-input__field::-webkit-outer-spin-button,.usage-topup-input__field::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.usage-topup-input__field::-moz-placeholder{color:var(--text-tertiary)}.usage-topup-input__field::placeholder{color:var(--text-tertiary)}.usage-topup-card__submit{min-width:104px;padding:0 24px;height:44px;border:1px solid var(--button-primary-border);border-radius:14px;box-shadow:0 10px 22px color-mix(in srgb,var(--button-primary-shadow) 72%,transparent 28%)}.usage-topup-card__submit:disabled{opacity:.5;box-shadow:none}@media (max-width: 760px){.usage-topup-card__composer{flex-direction:column}.usage-topup-card__submit{width:100%}}
