:root{--ui-bg:#08080c;--ui-surface:#ffffff0a;--ui-surface-raised:#ffffff12;--ui-surface-solid:#111116;--ui-border:#ffffff14;--ui-border-subtle:#ffffff0d;--ui-border-strong:#ffffff24;--ui-accent:#5b8db8;--ui-accent-hover:#4a7aa6;--ui-accent-glow:#5b8db840;--ui-accent-subtle:#5b8db814;--ui-accent-muted:#5b8db826;--ui-danger:#f06068;--ui-danger-glow:#f0606833;--ui-success:#34d399;--ui-text:#e6e9ee;--ui-text-muted:#8790a0;--ui-text-subtle:#515c6a;--ui-radius-sm:6px;--ui-radius:10px;--ui-radius-lg:14px;--ui-font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ui-font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--ui-glass-blur:16px;--ui-glass-blur-heavy:24px;--ui-shadow:0 1px 3px #0006, 0 1px 2px #00000080;--ui-shadow-lg:0 8px 32px #00000080, 0 0 1px #ffffff0d;--ui-shadow-float:0 12px 40px #0009, 0 0 0 1px #ffffff0f;--ui-glass:#121218d1;--ui-glass-heavy:#121218e0;--ui-glass-bar:#08080cbf;--ui-backdrop:#00000080;--ui-ease:cubic-bezier(.4, 0, .2, 1);--ui-ease-spring:cubic-bezier(.34, 1.56, .64, 1)}[data-theme=light]{--ui-bg:#f5f5f7;--ui-surface:#00000008;--ui-surface-raised:#0000000f;--ui-surface-solid:#eaeaef;--ui-border:#0000001a;--ui-border-subtle:#0000000f;--ui-border-strong:#00000029;--ui-accent:#3d7ba5;--ui-accent-hover:#2f6b94;--ui-accent-glow:#3d7ba533;--ui-accent-subtle:#3d7ba514;--ui-accent-muted:#3d7ba51f;--ui-danger:#e84057;--ui-danger-glow:#e8405726;--ui-success:#22b573;--ui-text:#1a1e26;--ui-text-muted:#56606e;--ui-text-subtle:#8e97a3;--ui-glass:#ffffffd1;--ui-glass-heavy:#ffffffe6;--ui-glass-bar:#fffc;--ui-backdrop:#00000040;--ui-shadow:0 1px 3px #00000014, 0 1px 2px #0000000f;--ui-shadow-lg:0 8px 32px #0000001a, 0 0 1px #00000014;--ui-shadow-float:0 12px 40px #0000001f, 0 0 0 1px #0000000f}@media (prefers-color-scheme:light){:root:not([data-theme]){--ui-bg:#f5f5f7;--ui-surface:#00000008;--ui-surface-raised:#0000000f;--ui-surface-solid:#eaeaef;--ui-border:#0000001a;--ui-border-subtle:#0000000f;--ui-border-strong:#00000029;--ui-accent:#3d7ba5;--ui-accent-hover:#2f6b94;--ui-accent-glow:#3d7ba533;--ui-accent-subtle:#3d7ba514;--ui-accent-muted:#3d7ba51f;--ui-danger:#e84057;--ui-danger-glow:#e8405726;--ui-success:#22b573;--ui-text:#1a1e26;--ui-text-muted:#56606e;--ui-text-subtle:#8e97a3;--ui-glass:#ffffffd1;--ui-glass-heavy:#ffffffe6;--ui-glass-bar:#fffc;--ui-backdrop:#00000040;--ui-shadow:0 1px 3px #00000014, 0 1px 2px #0000000f;--ui-shadow-lg:0 8px 32px #0000001a, 0 0 1px #00000014;--ui-shadow-float:0 12px 40px #0000001f, 0 0 0 1px #0000000f}}html{-webkit-text-size-adjust:100%;font-size:16px}body{background-color:var(--ui-bg);color:var(--ui-text);font-family:var(--ui-font-sans);min-height:100dvh;line-height:1.6}a{color:var(--ui-accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit}img{max-width:100%;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ui-btn{border-radius:var(--ui-radius);border:1px solid var(--ui-border);transition:all .2s var(--ui-ease);white-space:nowrap;-webkit-backdrop-filter:blur(var(--ui-glass-blur));backdrop-filter:blur(var(--ui-glass-blur));background:var(--ui-surface);justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.85rem;font-weight:500;display:inline-flex}.ui-btn-primary{background:var(--ui-accent);color:#fff;box-shadow:0 0 16px var(--ui-accent-glow);border-color:#0000}.ui-btn-primary:hover{background:var(--ui-accent-hover);box-shadow:0 0 24px var(--ui-accent-glow);transform:translateY(-1px)}.ui-btn-ghost{background:var(--ui-surface);color:var(--ui-text-muted);border:1px solid var(--ui-border)}.ui-btn-ghost:hover{color:var(--ui-text);border-color:var(--ui-border-strong);background:var(--ui-surface-raised)}.ui-btn-danger{background:var(--ui-danger);color:#fff;border-color:#0000}.ui-btn-danger:hover{background:color-mix(in srgb, var(--ui-danger) 85%, #000);box-shadow:0 0 16px var(--ui-danger-glow)}.ui-btn-danger-ghost{color:var(--ui-danger);border-color:var(--ui-danger);background:0 0}.ui-btn-danger-ghost:hover{color:var(--ui-danger);border-color:var(--ui-danger);box-shadow:0 0 12px var(--ui-danger-glow);background:color-mix(in srgb, var(--ui-danger) 10%, transparent)}.ui-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.ui-btn:active:not(:disabled){transition-duration:.1s;transform:scale(.97)}.ui-btn-primary:active:not(:disabled){transform:translateY(0)scale(.97)}.ui-btn-sm{padding:.25rem .6rem;font-size:.78rem}.ui-card{background:var(--ui-surface);-webkit-backdrop-filter:blur(var(--ui-glass-blur));backdrop-filter:blur(var(--ui-glass-blur));border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);padding:1.5rem}.ui-input{background:var(--ui-surface);-webkit-backdrop-filter:blur(var(--ui-glass-blur));backdrop-filter:blur(var(--ui-glass-blur));border:1px solid var(--ui-border);border-radius:var(--ui-radius);color:var(--ui-text);transition:border-color .2s var(--ui-ease), box-shadow .2s var(--ui-ease);outline:none;width:100%;padding:.5rem .75rem;font-size:.85rem}.ui-input:focus{border-color:var(--ui-accent);box-shadow:0 0 0 3px var(--ui-accent-subtle)}.ui-input::placeholder{color:var(--ui-text-subtle)}.ui-page{flex-direction:column;min-height:100dvh;display:flex}.ui-aurora{position:relative}.ui-aurora:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 60% at 15% 10%,#7c6cf015,#0000),radial-gradient(60% 50% at 85% 20%,#38bdf80e,#0000),radial-gradient(50% 60% at 40% 90%,#a855f712,#0000),radial-gradient(70% 40% at 75% 75%,#22d3990b,#0000),radial-gradient(40% 30%,#f472b607,#0000);animation:25s ease-in-out infinite alternate ui-aurora-drift;position:fixed;inset:-20%}@keyframes ui-aurora-drift{0%{transform:translate(0)rotate(0)}33%{transform:translate(2%,-1%)rotate(.5deg)}66%{transform:translate(-1%,2%)rotate(-.5deg)}to{transform:translate(1%,-2%)rotate(.3deg)}}.ui-aurora:after{content:"";opacity:.025;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px;position:fixed;inset:0}.ui-aurora>*{z-index:1;position:relative}@media (prefers-color-scheme:light){:root:not([data-theme]) .ui-aurora:before{background:radial-gradient(80% 60% at 15% 10%,#6c5ce714,#0000),radial-gradient(60% 50% at 85% 20%,#38bdf80f,#0000),radial-gradient(50% 60% at 40% 90%,#a855f712,#0000),radial-gradient(70% 40% at 75% 75%,#22d3990d,#0000),radial-gradient(40% 30%,#f472b60a,#0000)}:root:not([data-theme]) .ui-aurora:after{opacity:.015}}[data-theme=light] .ui-aurora:before{background:radial-gradient(80% 60% at 15% 10%,#6c5ce714,#0000),radial-gradient(60% 50% at 85% 20%,#38bdf80f,#0000),radial-gradient(50% 60% at 40% 90%,#a855f712,#0000),radial-gradient(70% 40% at 75% 75%,#22d3990d,#0000),radial-gradient(40% 30%,#f472b60a,#0000)}[data-theme=light] .ui-aurora:after{opacity:.015}.ui-login-card{background:var(--ui-glass);width:100%;max-width:400px;-webkit-backdrop-filter:blur(var(--ui-glass-blur-heavy));backdrop-filter:blur(var(--ui-glass-blur-heavy));border:1px solid var(--ui-border);border-top-color:var(--ui-border-strong);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-float);flex-direction:column;gap:1rem;padding:2rem;display:flex;position:relative}.ui-login-dev-badge{color:#000;letter-spacing:.08em;border-radius:0 var(--ui-radius-lg) 0 var(--ui-radius);text-transform:uppercase;background:linear-gradient(135deg,#f59e0b,#f97316);padding:.2rem .65rem;font-size:.65rem;font-weight:700;position:absolute;top:-1px;right:-1px;box-shadow:0 0 12px #f59e0b4d}.ui-login-title{letter-spacing:-.03em;background:linear-gradient(135deg, #fff 0%, var(--ui-accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700;line-height:1.2}.ui-login-subtitle{color:var(--ui-text-muted);margin-top:-.5rem;font-size:.88rem}.ui-login-tabs{border:1px solid var(--ui-border);border-radius:var(--ui-radius);display:flex;overflow:hidden}.ui-login-tab{color:var(--ui-text-muted);cursor:pointer;transition:all .2s var(--ui-ease);background:0 0;border:none;flex:1;padding:.55rem .5rem;font-family:inherit;font-size:.85rem;font-weight:500}.ui-login-tab:hover{color:var(--ui-text)}.ui-login-tab--active{background:var(--ui-surface-raised);color:var(--ui-text)}.ui-login-body{flex-direction:column;gap:.75rem;display:flex}.ui-login-error{color:var(--ui-danger);border-radius:var(--ui-radius);background:#f0606814;border:1px solid #f0606833;padding:.5rem .75rem;font-size:.82rem}.ui-page-header{border-bottom:1px solid var(--ui-border);background:var(--ui-glass-bar);-webkit-backdrop-filter:blur(var(--ui-glass-blur-heavy));backdrop-filter:blur(var(--ui-glass-blur-heavy));z-index:10;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1.5rem;display:flex;position:sticky;top:0;box-shadow:0 1px #ffffff08}.ui-page-header-left{align-items:center;gap:.5rem;min-width:0;display:flex;overflow:hidden}.ui-page-header-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}@media (width<=480px){.ui-page-header{padding:.75rem}}.ui-breadcrumb{align-items:center;gap:.4rem;min-width:0;font-size:.85rem;display:flex;overflow:hidden}.ui-breadcrumb-segment{align-items:center;gap:.4rem;display:flex}.ui-breadcrumb-sep{color:var(--ui-text-subtle);font-size:.8rem}.ui-breadcrumb-link{color:var(--ui-text-muted);cursor:pointer;transition:color .2s var(--ui-ease);font-size:.85rem}.ui-breadcrumb-link:hover{color:var(--ui-text)}.ui-breadcrumb-current{color:var(--ui-text);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.ui-selection-count{color:var(--ui-accent);background:var(--ui-accent-subtle);border-radius:var(--ui-radius-sm);font-variant-numeric:tabular-nums;padding:.15rem .5rem;font-size:.82rem}.ui-statusbar{border-top:1px solid var(--ui-border);background:var(--ui-glass-bar);height:28px;-webkit-backdrop-filter:blur(var(--ui-glass-blur-heavy));backdrop-filter:blur(var(--ui-glass-blur-heavy));z-index:10;color:var(--ui-text-muted);justify-content:space-between;align-items:center;gap:.5rem;padding:0 1rem;font-size:.72rem;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -1px #ffffff08}@media (width<=480px){.ui-statusbar{gap:.25rem;padding:0 .5rem}.ui-statusbar-center{display:none}}.ui-statusbar-left,.ui-statusbar-right,.ui-statusbar-center{align-items:center;gap:.6rem;min-width:0;display:flex;overflow:hidden}.ui-statusbar-left{justify-content:flex-start}.ui-statusbar-center{flex:1;justify-content:center}.ui-statusbar-right{justify-content:flex-end}.ui-sb-label{color:var(--ui-text-subtle);margin-right:.3rem}.ui-sb-text{white-space:nowrap;font-variant-numeric:tabular-nums}.ui-sb-text--muted{color:var(--ui-text-subtle)}.ui-sb-spinner{align-items:center;gap:.35rem;display:inline-flex}.ui-sb-spinner-icon{color:var(--ui-accent);animation:.8s linear infinite ui-sb-spin}@keyframes ui-sb-spin{to{transform:rotate(360deg)}}.ui-sb-progress{align-items:center;gap:.4rem;display:inline-flex}.ui-sb-progress-track{background:var(--ui-surface-raised);border-radius:2px;height:4px;display:inline-block;overflow:hidden}.ui-sb-progress-fill{background:var(--ui-accent);height:100%;transition:width .3s var(--ui-ease);border-radius:2px;display:block}.ui-sb-badge{white-space:nowrap;align-items:center;gap:.3rem;display:inline-flex}.ui-sb-badge-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.ui-sb-sep{background:var(--ui-border);flex-shrink:0;width:1px;height:14px}.ui-sb-progress-fill{position:relative;overflow:hidden}.ui-sb-progress-fill:after{content:"";animation:ui-progress-shimmer 1.5s var(--ui-ease) infinite;background:linear-gradient(90deg,#0000 0%,#ffffff26 50%,#0000 100%);position:absolute;inset:0}@keyframes ui-progress-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.ui-modal-backdrop{background:var(--ui-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;animation:ui-modal-bg-in .2s var(--ui-ease);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes ui-modal-bg-in{0%{opacity:0}to{opacity:1}}.ui-modal{background:var(--ui-glass-heavy);-webkit-backdrop-filter:blur(var(--ui-glass-blur-heavy));backdrop-filter:blur(var(--ui-glass-blur-heavy));border:1px solid var(--ui-border);border-top-color:var(--ui-border-strong);border-radius:var(--ui-radius-lg);width:320px;max-width:calc(100vw - 2rem);max-height:calc(100vh - 4rem);box-shadow:var(--ui-shadow-float);animation:ui-modal-in .25s var(--ui-ease-spring);flex-direction:column;display:flex}@keyframes ui-modal-in{0%{opacity:0;filter:blur(4px);transform:scale(.95)translateY(8px)}to{opacity:1;filter:blur();transform:scale(1)translateY(0)}}.ui-modal-header{border-bottom:1px solid var(--ui-border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.ui-modal-title{color:var(--ui-text);font-size:.9rem;font-weight:600}.ui-modal-close{color:var(--ui-text-subtle);cursor:pointer;border-radius:var(--ui-radius-sm);background:0 0;border:none;padding:.2rem;font-size:1.2rem;line-height:1;transition:color .15s}.ui-modal-close:hover{color:var(--ui-text);background:var(--ui-surface-raised)}.ui-modal-body{flex-direction:column;flex:1;gap:.75rem;padding:1.25rem;display:flex;overflow-y:auto}.search-filter-bar{flex-direction:column;gap:.5rem;display:flex}.search-filter-row{align-items:center;gap:.4rem;display:flex}.search-input-wrap{flex:1;min-width:0;position:relative}.search-icon{pointer-events:none;opacity:.5;font-size:.8rem;position:absolute;top:50%;left:.65rem;transform:translateY(-50%)}.search-input{background:var(--ui-surface);border:1px solid var(--ui-border);width:100%;color:var(--ui-text);box-sizing:border-box;border-radius:8px;outline:none;padding:.45rem 2rem;font-size:.85rem;transition:border-color .15s}.search-input::placeholder{color:var(--ui-text-muted);opacity:.6}.search-input:focus{border-color:var(--ui-accent)}.search-clear-btn{color:var(--ui-text-muted);cursor:pointer;background:0 0;border:none;padding:0 .3rem;font-size:1.1rem;line-height:1;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.search-clear-btn:hover{color:var(--ui-text)}.filter-btn-wrap{position:relative}.filter-btn{background:var(--ui-surface);border:1px solid var(--ui-border);color:var(--ui-text-muted);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:.35rem;padding:.45rem .7rem;font-size:.8rem;font-weight:500;transition:border-color .15s,color .15s;display:flex}.filter-btn:hover{border-color:var(--ui-accent);color:var(--ui-text)}.filter-btn--active{border-color:var(--ui-accent);color:var(--ui-accent);background:color-mix(in srgb, var(--ui-accent) 8%, var(--ui-surface))}.filter-btn-count{background:var(--ui-accent);color:#fff;text-align:center;border-radius:10px;min-width:1.1rem;padding:.08rem .35rem;font-size:.68rem;font-weight:700}.filter-dropdown{z-index:500;background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:10px;min-width:170px;padding:.35rem;animation:.1s ease-out sfb-fade-in;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 32px #00000059}@keyframes sfb-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.filter-dropdown-header{color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.04em;padding:.3rem .6rem .4rem;font-size:.72rem;font-weight:600}.filter-dropdown-item{width:100%;color:var(--ui-text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:.4rem;padding:.45rem .6rem;font-size:.83rem;transition:background .1s;display:flex}.filter-dropdown-item:hover{background:color-mix(in srgb, var(--ui-accent) 12%, transparent)}.filter-dropdown-item--active{background:color-mix(in srgb, var(--ui-accent) 8%, transparent)}.filter-dropdown-check{text-align:center;width:1rem;color:var(--ui-accent);flex-shrink:0;font-size:.75rem}.filter-dropdown-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.filter-dropdown-count{color:var(--ui-text-muted);margin-left:auto;font-size:.72rem}.search-filter-status{justify-content:space-between;align-items:center;gap:.5rem;min-height:1.6rem;display:flex}.filter-chips{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.filter-chip{background:color-mix(in srgb, var(--ui-accent) 10%, var(--ui-surface));border:1px solid color-mix(in srgb, var(--ui-accent) 25%, transparent);color:var(--ui-text);white-space:nowrap;border-radius:12px;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.75rem;display:inline-flex}.filter-chip-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.filter-chip-remove{color:var(--ui-text-muted);cursor:pointer;background:0 0;border:none;margin-left:.1rem;padding:0 .1rem;font-size:.85rem;line-height:1}.filter-chip-remove:hover{color:var(--ui-text)}.filter-clear-all{color:var(--ui-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.15rem .3rem;font-size:.75rem}.filter-clear-all:hover{color:var(--ui-accent)}.filter-result-count{color:var(--ui-text-muted);white-space:nowrap;flex-shrink:0;font-size:.78rem}.ui-tabbar{border-bottom:1px solid var(--ui-border);flex-shrink:0;gap:2px;padding:0 .35rem;display:flex}.ui-tabbar--full .ui-tabbar-tab{text-align:center;flex:1}.ui-tabbar-tab{color:var(--ui-text-subtle);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:color .15s var(--ui-ease);background:0 0;border:none;padding:.5rem .75rem;font-size:.72rem;font-weight:500;position:relative}.ui-tabbar-tab:after{content:"";height:2px;transition:background .2s var(--ui-ease), box-shadow .2s var(--ui-ease);background:0 0;border-radius:1px;position:absolute;bottom:-1px;left:.35rem;right:.35rem}.ui-tabbar-tab:hover{color:var(--ui-text-muted)}.ui-tabbar-tab--active{color:var(--ui-accent)}.ui-tabbar-tab--active:after{background:var(--ui-accent);box-shadow:0 0 8px var(--ui-accent-glow)}.ui-toast-container{z-index:1100;pointer-events:none;flex-direction:column;gap:.5rem;max-width:calc(100vw - 2rem);display:flex;position:fixed;bottom:40px;right:1rem}.ui-toast{border-radius:var(--ui-radius);border:1px solid var(--ui-border);background:var(--ui-glass-heavy);min-width:220px;max-width:400px;-webkit-backdrop-filter:blur(var(--ui-glass-blur-heavy));backdrop-filter:blur(var(--ui-glass-blur-heavy));box-shadow:var(--ui-shadow-float);color:var(--ui-text);cursor:pointer;pointer-events:auto;animation:ui-toast-in .35s var(--ui-ease-spring);align-items:center;gap:.6rem;padding:.6rem 1rem;font-size:.82rem;display:flex}.ui-toast--leaving{animation:ui-toast-out .3s var(--ui-ease) forwards}@keyframes ui-toast-in{0%{opacity:0;transform:translate(100%)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes ui-toast-out{to{opacity:0;max-height:0;margin-bottom:-.5rem;padding-top:0;padding-bottom:0;overflow:hidden;transform:translate(30%)scale(.95)}}.ui-toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:.7rem;font-weight:700;display:flex}.ui-toast--info{border-left:3px solid var(--ui-accent)}.ui-toast--info .ui-toast-icon{background:var(--ui-accent-muted);color:var(--ui-accent)}.ui-toast--success{border-left:3px solid var(--ui-success)}.ui-toast--success .ui-toast-icon{color:var(--ui-success);background:#34d39926}.ui-toast--error{border-left:3px solid var(--ui-danger)}.ui-toast--error .ui-toast-icon{background:var(--ui-danger-glow);color:var(--ui-danger)}.ui-toast-message{line-height:1.4}.ui-skeleton{background:var(--ui-surface-raised);border-radius:var(--ui-radius-sm);position:relative;overflow:hidden}.ui-skeleton:after{content:"";animation:ui-skeleton-shimmer 1.8s var(--ui-ease) infinite;background:linear-gradient(90deg,#0000 0%,#ffffff0a 40%,#ffffff0f 50%,#ffffff0a 60%,#0000 100%);position:absolute;inset:0}@keyframes ui-skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.ui-skeleton--text{width:100%;height:.75rem}.ui-skeleton--circle{border-radius:50%;width:40px;height:40px}.ui-skeleton--rect{border-radius:var(--ui-radius);width:100%;height:120px}.ui-skeleton--card{border-radius:var(--ui-radius-lg);width:100%;height:200px}.ui-skeleton-lines{flex-direction:column;gap:.5rem;display:flex}.ui-skeleton-card{border-radius:var(--ui-radius);border:1px solid var(--ui-border);background:var(--ui-surface);overflow:hidden}.ui-skeleton-card-thumb{aspect-ratio:1;border-bottom:1px solid var(--ui-border-subtle);border-radius:0}.ui-skeleton-card-info{flex-direction:column;gap:.4rem;padding:.6rem;display:flex}.ui-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 2rem;display:flex}.ui-empty-state-icon{color:var(--ui-text-subtle);opacity:.6;margin-bottom:.25rem}.ui-empty-state-title{color:var(--ui-text-muted);margin:0;font-size:.95rem;font-weight:600}.ui-empty-state-desc{color:var(--ui-text-subtle);max-width:280px;margin:0;font-size:.82rem;line-height:1.5}.ui-empty-state-action{margin-top:.5rem}.ui-item-card-wrap{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.ui-item-card-wrap[draggable=true]{cursor:grab}.ui-item-card-wrap[draggable=true]:active{cursor:grabbing}.ui-item-card-wrap.dragging{opacity:.4}.ui-item-card--selected .ui-item-card{border-color:var(--ui-accent);box-shadow:0 0 0 1px var(--ui-accent), 0 0 24px var(--ui-accent-glow), inset 0 0 20px #7c6cf00f}.ui-item-card--selected .ui-item-card-thumb:after{content:"";pointer-events:none;background:linear-gradient(135deg,#7c6cf01f,#0000);position:absolute;inset:0}.ui-item-card{transition:border-color .2s var(--ui-ease), transform .2s var(--ui-ease-spring), box-shadow .2s var(--ui-ease);border-radius:var(--ui-radius);background:var(--ui-surface);-webkit-backdrop-filter:blur(var(--ui-glass-blur));backdrop-filter:blur(var(--ui-glass-blur));border:1px solid var(--ui-border);border-top-color:var(--ui-border-strong);flex-direction:column;padding:0;display:flex;overflow:hidden}.ui-item-card:hover{border-color:var(--ui-border-strong);transform:translateY(-2px)scale(1.01);box-shadow:0 8px 24px #0000004d,0 0 0 1px #7c6cf014}.ui-item-card-thumb{aspect-ratio:1;background:var(--ui-surface-solid);border-bottom:1px solid var(--ui-border-subtle);position:relative;overflow:hidden}.ui-item-card-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .3s var(--ui-ease)}.ui-item-card:hover .ui-item-card-thumb img{transform:scale(1.04)}.ui-item-card-thumb-empty{background:radial-gradient(circle at 50% 40%, var(--ui-accent-subtle), transparent 70%), var(--ui-surface-solid);width:100%;height:100%}.ui-item-card-info{align-items:baseline;gap:.4rem;padding:.5rem .6rem;display:flex}.ui-item-card-name{color:var(--ui-text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.8rem;font-weight:600;overflow:hidden}.ui-item-card-meta{color:var(--ui-text-subtle);white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.65rem}@keyframes ui-card-select-pulse{0%{box-shadow:0 0 0 1px var(--ui-accent), 0 0 24px var(--ui-accent-glow)}50%{box-shadow:0 0 0 2px var(--ui-accent), 0 0 32px var(--ui-accent-glow)}to{box-shadow:0 0 0 1px var(--ui-accent), 0 0 24px var(--ui-accent-glow)}}.ui-item-card--selected .ui-item-card{animation:ui-card-select-pulse .5s var(--ui-ease)}.ui-item-grid{grid-template-columns:repeat(auto-fill, minmax(var(--ui-grid-min,160px), 1fr));gap:.75rem;list-style:none;display:grid}.ui-item-grid--drop-active{background:var(--ui-accent-subtle);border-radius:var(--ui-radius)}.ui-item-grid>*{animation:ui-grid-enter .4s var(--ui-ease) both}@keyframes ui-grid-enter{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.ui-item-grid>:first-child{animation-delay:0s}.ui-item-grid>:nth-child(2){animation-delay:30ms}.ui-item-grid>:nth-child(3){animation-delay:60ms}.ui-item-grid>:nth-child(4){animation-delay:90ms}.ui-item-grid>:nth-child(5){animation-delay:.12s}.ui-item-grid>:nth-child(6){animation-delay:.15s}.ui-item-grid>:nth-child(7){animation-delay:.18s}.ui-item-grid>:nth-child(8){animation-delay:.21s}.ui-item-grid>:nth-child(9){animation-delay:.24s}.ui-item-grid>:nth-child(10){animation-delay:.27s}.ui-item-grid>:nth-child(n+11){animation-delay:.3s}.ui-ambient-glow{position:relative}.ui-ambient-glow-source{z-index:-1;filter:blur(40px)saturate(1.8);opacity:0;transition:opacity .5s var(--ui-ease);pointer-events:none;border-radius:50%;position:absolute;inset:10%;transform:scale(1.1)}.ui-ambient-glow-source img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.ui-ambient-glow .ui-ambient-glow-source{opacity:.35!important}.ui-ambient-glow:hover .ui-ambient-glow-source{filter:blur(35px)saturate(2);opacity:.55!important}.ui-ambient-glow--solid{position:relative}.ui-ambient-glow--solid:after{content:"";z-index:-1;background:var(--ui-glow-color,var(--ui-accent));filter:blur(40px);opacity:0;transition:opacity .5s var(--ui-ease);pointer-events:none;border-radius:50%;position:absolute;inset:15%}.ui-ambient-glow--solid:hover:after{opacity:.3}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--mono:"SF Mono", "Cascadia Code", "JetBrains Mono", "Fira Code", monospace;--sans:system-ui, -apple-system, sans-serif;--radius:6px;--radius-lg:10px;--sidebar-width:300px;--cat-characters:#4a9eff;--cat-plot:#f5a623;--cat-world:#4cd9a0;--cat-themes:#c084fc;--cat-relationships:#f472b6;--cat-notes:#8888a0;--cat-manuscripts:#fbbf24}body{font-family:var(--sans);background:var(--bg,#08080c);color:var(--ui-text,#e6e9ee);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:.875rem}.app-loading{height:100vh;color:var(--ui-text-subtle,#515c6a);justify-content:center;align-items:center;display:flex}.login-page{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-form{flex-direction:column;gap:.75rem;display:flex}.login-error{color:var(--ui-danger,#f06068);border-radius:var(--radius);background:#f0606814;margin-bottom:.75rem;padding:.4rem .75rem;font-size:.75rem}.login-input{background:var(--bg,#08080c);border:1px solid var(--ui-border,#ffffff12);border-radius:var(--radius);width:100%;color:var(--ui-text,#e6e9ee);font-size:.85rem;font-family:var(--sans);text-align:center;padding:.6rem .85rem;transition:border-color .15s}.login-input:focus{border-color:var(--ui-accent,#5b8db8);outline:none}.login-input::placeholder{color:var(--ui-text-subtle,#515c6a)}.login-btn{border-radius:var(--radius);background:var(--ui-accent,#5b8db8);color:#fff;cursor:pointer;width:100%;font-size:.85rem;font-weight:600;font-family:var(--sans);border:none;padding:.65rem;transition:filter .15s}.login-btn:hover{filter:brightness(1.15)}.login-btn:disabled{opacity:.5;cursor:default}.app-shell{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-shell>.ui-page-header{border-bottom:1px solid var(--ui-border,#ffffff12);background:var(--ui-glass-bg,#121218d1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-shrink:0;padding:.6rem 1.5rem}.app-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.logo{color:var(--ui-accent,#5b8db8);letter-spacing:-.02em;font-size:.85rem;font-weight:800;text-decoration:none}.nav-links{align-items:center;gap:.4rem;display:flex}.nav-link{color:var(--ui-text-subtle,#515c6a);border:1px solid var(--ui-border,#ffffff12);border-radius:var(--radius);white-space:nowrap;cursor:pointer;font-size:.72rem;font-family:var(--sans);background:0 0;padding:.25rem .6rem;text-decoration:none;transition:all .15s}.nav-link:hover,.nav-link.active{color:var(--ui-text,#e6e9ee);border-color:var(--ui-accent,#5b8db8);background:#5b8db814}.nav-link.back{margin-left:.5rem}.sidebar-toggle{padding:.2rem .5rem;font-size:.9rem;line-height:1}.project-list-page{padding:1.5rem 2rem 3rem}.project-toolbar{align-items:center;gap:.75rem;max-width:500px;margin-bottom:1rem;display:flex}.project-count{color:var(--ui-text-subtle,#515c6a);font-size:.72rem;font-family:var(--mono);white-space:nowrap}.cluster-filters{flex-wrap:wrap;gap:.35rem;margin-bottom:1.5rem;display:flex}.cluster-chip{background:var(--ui-surface,#ffffff0a);border:1px solid var(--ui-border,#ffffff12);color:var(--ui-text-muted,#8790a0);cursor:pointer;font-size:.68rem;font-weight:600;font-family:var(--sans);border-radius:12px;align-items:center;gap:.3rem;padding:.2rem .6rem;transition:all .15s;display:inline-flex}.cluster-chip:hover{color:var(--ui-text,#e6e9ee);border-color:var(--cluster-color,var(--ui-accent))}.cluster-chip.active{background:color-mix(in srgb, var(--cluster-color,var(--ui-accent)) 15%, transparent);border-color:var(--cluster-color,var(--ui-accent));color:var(--cluster-color,var(--ui-accent))}.cluster-count{opacity:.6;font-size:.6rem}.project-list-page .ui-item-card-wrap{cursor:pointer}.project-list-page .ui-item-card-thumb{aspect-ratio:3/4}.project-list-page .ui-item-card-info{flex-direction:column;gap:.25rem;display:flex}.project-list-page .ui-item-card-name{font-size:.85rem;font-weight:600}.project-list-page .ui-item-card-thumb-empty{background:radial-gradient(circle at 50% 40%, var(--cat-characters) 0%, transparent 60%), radial-gradient(circle at 80% 70%, var(--cat-plot) 0%, transparent 50%), var(--ui-surface,#ffffff0a);opacity:.2}.card-meta-row{align-items:center;gap:.4rem;font-size:.68rem;display:flex}.card-notes{color:var(--ui-text-subtle,#515c6a)}.card-stage{color:var(--ui-accent,#5b8db8);background:#5b8db81a;border-radius:3px;padding:.05rem .35rem;font-size:.6rem;font-weight:600}.card-cluster{background:color-mix(in srgb, var(--cluster-color) 12%, transparent);color:var(--cluster-color);border-radius:3px;padding:.05rem .35rem;font-size:.6rem;font-weight:600}.series-indicator{align-items:center;gap:.3rem;padding:.4rem .6rem 0;font-size:.62rem;display:flex}.series-label{color:var(--ui-text-subtle,#515c6a);text-transform:uppercase;letter-spacing:.06em;margin-right:.2rem;font-weight:600}.series-dot{border:1px solid var(--ui-border,#ffffff12);width:1.2rem;height:1.2rem;color:var(--ui-text-subtle,#515c6a);font-size:.58rem;font-weight:700;font-family:var(--mono);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:all .15s;display:inline-flex}.series-dot:hover{border-color:var(--ui-accent);color:var(--ui-accent);background:#5b8db81a}.series-dot.active{background:var(--ui-accent);border-color:var(--ui-accent);color:#fff}.writing-shell{flex-direction:column;height:100vh;display:flex;overflow:hidden}.writing-shell>.ui-page-header{border-bottom:1px solid var(--ui-border,#ffffff12);background:var(--ui-glass-bg,#121218d1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:10;flex-shrink:0;padding:.5rem 1rem}.writing-body{grid-template-columns:var(--sidebar-width) 1fr;flex:1;display:grid;overflow:hidden}.writing-body.sidebar-collapsed{grid-template-columns:1fr}.writing-panel{border-right:1px solid var(--ui-border,#ffffff12);background:var(--ui-surface,#ffffff0a);flex-direction:column;min-width:0;display:flex;overflow:hidden}.editor-panel{background:var(--bg,#08080c);flex-direction:column;min-width:0;display:flex;overflow:hidden}.writing-toolbar{border-bottom:1px solid var(--ui-border,#ffffff12);flex-shrink:0;align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.search-input{background:var(--bg,#08080c);border:1px solid var(--ui-border,#ffffff12);border-radius:var(--radius);min-width:0;color:var(--ui-text,#e6e9ee);font-size:.78rem;font-family:var(--sans);flex:1;padding:.35rem .6rem;transition:border-color .15s}.search-input:focus{border-color:var(--ui-accent,#5b8db8);outline:none}.search-input::placeholder{color:var(--ui-text-subtle,#515c6a)}.writing-toolbar .ui-tab-bar{flex-shrink:0;font-size:.65rem}.filter-pills{border-bottom:1px solid var(--ui-border,#ffffff12);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.35rem;padding:.4rem .75rem;display:flex}.filter-pill{background:color-mix(in srgb, var(--cat-color,var(--ui-text-muted)) 12%, transparent);color:var(--cat-color,var(--ui-text-muted));border:1px solid color-mix(in srgb, var(--cat-color,var(--ui-text-muted)) 25%, transparent);cursor:pointer;border-radius:10px;align-items:center;gap:.2rem;padding:.15rem .5rem;font-size:.65rem;font-weight:600;transition:all .15s;display:inline-flex}.filter-pill:hover{background:color-mix(in srgb, var(--cat-color,var(--ui-text-muted)) 25%, transparent)}.pill-x{opacity:.6}.writing-list{flex:1;padding:.25rem 0;overflow-y:auto}.writing-list::-webkit-scrollbar{width:3px}.writing-list::-webkit-scrollbar-thumb{background:var(--ui-border,#ffffff12);border-radius:2px}.section{margin-bottom:.15rem}.section-header{letter-spacing:.12em;color:var(--ui-text-subtle,#515c6a);text-transform:uppercase;align-items:center;gap:.5rem;padding:.85rem .85rem .35rem;font-size:.6rem;font-weight:700;display:flex}.add-chapter-btn{border:1px solid var(--ui-border,#ffffff12);color:var(--ui-text-subtle,#515c6a);cursor:pointer;background:0 0;border-radius:3px;justify-content:center;align-items:center;width:1.3rem;height:1.3rem;margin-left:auto;padding:0;font-size:.72rem;line-height:1;transition:all .15s;display:flex}.add-chapter-btn:hover{color:var(--ui-accent);border-color:var(--ui-accent)}.group-header{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--ui-text-muted,#8790a0);border-radius:3px;align-items:center;gap:.35rem;margin:0 4px;padding:.3rem .85rem;font-size:.76rem;transition:all .1s;display:flex}.group-header:hover{color:var(--ui-text,#e6e9ee);background:var(--ui-surface-hover,#ffffff12)}.group-episode{padding-left:1.6rem;font-size:.73rem}.group-chapter{padding-left:2.2rem;font-size:.72rem}.group-kb{padding-left:.85rem}.group-arrow{opacity:.5;flex-shrink:0;width:.65rem;font-size:.5rem}.group-label{flex:1;font-weight:500}.group-files{padding:0 0 .15rem}.cat-dot{background:var(--cat-color);border-radius:50%;flex-shrink:0;width:6px;height:6px}.file-item{cursor:pointer;border-left:2px solid #0000;border-radius:0 3px 3px 0;align-items:center;gap:.4rem;margin-right:4px;padding:.3rem .85rem .3rem 2.8rem;font-size:.76rem;line-height:1.35;transition:all .1s;display:flex}.file-item:hover{background:var(--ui-surface-hover,#ffffff12)}.file-item.active{background:#5b8db81a;border-left-color:var(--ui-accent,#5b8db8)!important}.file-concept{border-left-color:#7c6fc280}.file-draft{border-left-color:#d4843e80}.kb-note{padding-left:2.2rem}.file-name{text-overflow:ellipsis;white-space:nowrap;color:var(--ui-text,#e6e9ee);flex:1;overflow:hidden}.note-tags{flex-wrap:nowrap;flex-shrink:0;gap:.2rem;max-width:100px;display:flex;overflow:hidden}.latest-dot{color:#d4843e;flex-shrink:0;font-size:.5rem;line-height:1}.empty-section{color:var(--ui-text-subtle,#515c6a);padding:.6rem 1rem .6rem 2rem;font-size:.73rem;font-style:italic}.cat-badge{cursor:pointer;background:color-mix(in srgb, var(--cat-color) 12%, transparent);min-width:1.3rem;color:var(--cat-color);border:1px solid color-mix(in srgb, var(--cat-color) 25%, transparent);text-transform:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:.05rem .3rem;font-size:.6rem;font-weight:700;transition:all .15s;display:inline-flex}.cat-badge:hover{background:color-mix(in srgb, var(--cat-color) 22%, transparent)}.cat-badge.active{background:var(--cat-color);color:#000;border-color:var(--cat-color)}.tag-chip{cursor:pointer;background:color-mix(in srgb, var(--tag-color) 12%, transparent);color:var(--tag-color);white-space:nowrap;border-radius:10px;flex-shrink:0;align-items:center;gap:.12rem;padding:.06rem .28rem;font-size:.6rem;transition:background .15s;display:inline-flex}.tag-chip:hover{background:color-mix(in srgb, var(--tag-color) 25%, transparent)}.tag-chip.active{background:var(--tag-color);color:#000}.tag-chip.editable .remove-tag{opacity:.5;cursor:pointer;margin-left:.08rem;font-size:.72rem;line-height:1}.tag-chip.editable .remove-tag:hover{opacity:1}.editor-empty{height:100%;color:var(--ui-text-subtle,#515c6a);justify-content:center;align-items:center;font-size:.85rem;display:flex}.editor-header{border-bottom:1px solid var(--ui-border,#ffffff12);background:var(--ui-surface,#ffffff0a);flex-direction:column;flex-shrink:0;gap:.35rem;padding:.7rem 1.5rem;display:flex}.editor-title-row{align-items:center;gap:.75rem;display:flex}.editor-breadcrumb{color:var(--ui-text-muted,#8790a0);font-size:.75rem;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.editor-save-row{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.save-status{color:var(--ui-text-subtle,#515c6a);font-size:.7rem;font-family:var(--mono);text-align:right;min-width:3rem}.save-status.dirty{color:var(--ui-danger,#f06068)}.save-status.saved{color:var(--ui-success,#34d399)}.save-btn{border-radius:var(--radius);border:1px solid var(--ui-border,#ffffff12);background:var(--ui-surface-hover,#ffffff12);color:var(--ui-text,#e6e9ee);cursor:pointer;font-size:.7rem;font-family:var(--sans);padding:.22rem .7rem;font-weight:500;transition:all .15s}.save-btn:hover{border-color:var(--ui-accent);color:var(--ui-accent)}.editor-tags-row{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.editor-image-row{max-width:300px;margin-top:.5rem}.add-tag-btn{color:var(--ui-text-subtle,#515c6a);border:1px dashed var(--ui-border,#ffffff12);cursor:pointer;font-size:.6rem;font-family:var(--sans);background:0 0;border-radius:10px;padding:.06rem .4rem;transition:all .15s}.add-tag-btn:hover{border-color:var(--ui-accent);color:var(--ui-accent)}.code-editor-container{flex-direction:column;flex:1;display:flex;overflow:hidden}.code-editor-container .cm-editor{flex:1;overflow:hidden}.tag-input{border:1px solid var(--ui-accent);background:var(--bg,#08080c);color:var(--ui-text,#e6e9ee);font-size:.6rem;font-family:var(--sans);border-radius:10px;outline:none;width:5rem;padding:.08rem .35rem}.project-overview{flex-direction:column;height:100%;padding:2rem 2.5rem;display:flex;overflow-y:auto}.overview-header-row{align-items:flex-start;gap:1.5rem;margin-bottom:1.25rem;display:flex}.overview-header-text{flex:1;min-width:0}.overview-header-image{flex-shrink:0;width:180px}.overview-title{color:var(--ui-text,#e6e9ee);letter-spacing:-.02em;margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.overview-desc{color:var(--ui-text-muted,#8790a0);margin-top:-.75rem;margin-bottom:1.5rem;font-size:.82rem;line-height:1.5}.overview-stats{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.65rem;margin-bottom:2.5rem;display:grid}.stat-card{background:var(--ui-surface,#ffffff0a);border:1px solid var(--ui-border,#ffffff12);border-radius:var(--radius-lg);border-left:3px solid var(--cat-color);cursor:pointer;flex-direction:column;gap:.3rem;padding:.85rem .9rem;transition:all .15s;display:flex}.stat-card:hover{background:var(--ui-surface-hover,#ffffff12)}.stat-count{color:var(--ui-text,#e6e9ee);font-size:1.4rem;font-weight:700;font-family:var(--mono);line-height:1}.stat-label{color:var(--cat-color);text-transform:capitalize;font-size:.68rem;font-weight:600}.overview-section{margin-bottom:2rem}.overview-section-title{letter-spacing:.1em;color:var(--ui-text-subtle,#515c6a);text-transform:uppercase;border-bottom:1px solid var(--ui-border,#ffffff12);margin-bottom:.75rem;padding-bottom:.4rem;font-size:.65rem;font-weight:700}.structure-map{flex-direction:column;gap:.5rem;display:flex}.structure-book{background:var(--ui-surface,#ffffff0a);border:1px solid var(--ui-border,#ffffff12);border-radius:var(--radius);overflow:hidden}.structure-book-header{color:var(--ui-text,#e6e9ee);background:var(--ui-surface-hover,#ffffff12);border-bottom:1px solid var(--ui-border,#ffffff12);padding:.6rem .85rem;font-size:.78rem;font-weight:600}.structure-chapters{flex-wrap:wrap;gap:.35rem;padding:.5rem .85rem;display:flex}.structure-chip{background:var(--bg,#08080c);border:1px solid var(--ui-border,#ffffff12);color:var(--ui-text-muted,#8790a0);cursor:pointer;border-radius:4px;padding:.2rem .5rem;font-size:.68rem;transition:all .15s}.structure-chip:hover{border-color:var(--ui-accent);color:var(--ui-text,#e6e9ee)}.structure-chip.is-draft{border-left:2px solid #d4843e}.structure-chip.is-concept{border-left:2px solid #7c6fc2}.recent-list{flex-direction:column;gap:.25rem;display:flex}.recent-item{background:var(--ui-surface,#ffffff0a);border:1px solid var(--ui-border,#ffffff12);border-radius:var(--radius);cursor:pointer;align-items:center;gap:.6rem;padding:.5rem .75rem;transition:all .15s;display:flex}.recent-item:hover{background:var(--ui-surface-hover,#ffffff12)}.recent-name{color:var(--ui-text,#e6e9ee);flex:1;font-size:.78rem;font-weight:500}.recent-location{color:var(--ui-text-subtle,#515c6a);font-size:.68rem;font-family:var(--mono)}.recent-type{border-radius:2px;flex-shrink:0;width:4px;height:24px}.recent-type.draft{background:#d4843e}.recent-type.concept{background:#7c6fc2}.recent-type.note{background:var(--cat-characters)}.form-stack{flex-direction:column;gap:.85rem;display:flex}.form-label{color:var(--ui-text-subtle,#515c6a);text-transform:uppercase;letter-spacing:.08em;flex-direction:column;gap:.3rem;font-size:.65rem;font-weight:700;display:flex}.form-input,.form-select{background:var(--bg,#08080c);border:1px solid var(--ui-border,#ffffff12);border-radius:var(--radius);color:var(--ui-text,#e6e9ee);font-size:.82rem;font-family:var(--sans);width:100%;padding:.45rem .65rem;transition:border-color .15s}.form-input:focus,.form-select:focus{border-color:var(--ui-accent);outline:none}.form-select option{background:var(--ui-glass-bg,#121218d1)}.form-actions{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.btn-primary{border-radius:var(--radius);background:var(--ui-accent,#5b8db8);color:#fff;cursor:pointer;font-size:.82rem;font-weight:500;font-family:var(--sans);border:none;padding:.45rem 1.2rem;transition:filter .15s}.btn-primary:hover{filter:brightness(1.15)}.btn-secondary{border-radius:var(--radius);border:1px solid var(--ui-border,#ffffff12);color:var(--ui-text-subtle,#515c6a);cursor:pointer;font-size:.82rem;font-family:var(--sans);background:0 0;padding:.45rem 1rem;transition:all .15s}.btn-secondary:hover{color:var(--ui-text,#e6e9ee);border-color:var(--ui-text-muted)}.image-upload{border-radius:var(--radius);overflow:hidden}.image-upload.drop-zone{border:2px dashed var(--ui-border,#ffffff12);text-align:center;cursor:pointer;background:var(--ui-surface,#ffffff0a);padding:1.5rem;transition:all .2s}.image-upload.drop-zone:hover,.image-upload.drop-zone.drag-over{border-color:var(--ui-accent);background:var(--ui-surface-hover,#ffffff12)}.image-upload.drop-zone.uploading{opacity:.6;pointer-events:none}.image-upload-label{color:var(--ui-text-subtle,#515c6a);font-size:.75rem}.image-upload.has-image{position:relative}.image-upload-preview{object-fit:cover;border-radius:var(--radius);width:100%;max-height:200px;display:block}.image-upload-actions{gap:.4rem;margin-top:.4rem;display:flex}.image-upload-btn{border:1px solid var(--ui-border,#ffffff12);background:var(--ui-surface,#ffffff0a);color:var(--ui-text-muted,#8790a0);cursor:pointer;font-size:.68rem;font-family:var(--sans);border-radius:4px;padding:.25rem .6rem;transition:all .15s}.image-upload-btn:hover{border-color:var(--ui-border-light);color:var(--ui-text,#e6e9ee)}.image-upload-btn.danger:hover{border-color:var(--ui-danger);color:var(--ui-danger)}.outline-book{margin-bottom:2.5rem}.outline-book-header{color:var(--ui-text,#e6e9ee);border-bottom:2px solid var(--ui-border,#ffffff12);margin-bottom:1rem;padding-bottom:.6rem;font-size:1.1rem;font-weight:700}.outline-intro{background:var(--ui-surface,#ffffff0a);border:1px solid var(--ui-border,#ffffff12);border-radius:var(--radius);color:var(--ui-text-muted,#8790a0);margin-bottom:1.25rem;padding:.85rem 1rem;font-size:.78rem;line-height:1.6}.outline-intro p{margin-bottom:.5rem}.outline-intro strong{color:var(--ui-text,#e6e9ee)}.outline-act{border-left:3px solid var(--act-color,#8888a0);margin-bottom:1.5rem}.outline-act-header{background:color-mix(in srgb, var(--act-color,#8888a0) 8%, transparent);border-bottom:1px solid color-mix(in srgb, var(--act-color,#8888a0) 20%, transparent);align-items:baseline;gap:.6rem;margin-bottom:.5rem;padding:.55rem 1rem;display:flex}.outline-act-label{letter-spacing:.1em;text-transform:uppercase;color:var(--act-color,#8888a0);font-size:.65rem;font-weight:700}.outline-act-title{color:var(--ui-text-muted,#8790a0);font-size:.78rem;font-weight:500}.chapter-card{background:var(--ui-surface,#ffffff0a);border:1px solid var(--ui-border,#ffffff12);border-radius:var(--radius);margin:.35rem 0;padding:.85rem 1rem;transition:all .15s}.chapter-card:hover{background:var(--ui-surface-hover,#ffffff12);border-color:#ffffff1f}.chapter-card-header{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.chapter-num{font-size:.68rem;font-weight:700;font-family:var(--mono);color:var(--ui-accent,#5b8db8);background:#5b8db81a;border-radius:4px;flex-shrink:0;padding:.15rem .4rem}.chapter-title{color:var(--ui-text,#e6e9ee);flex:1;min-width:0;font-size:.82rem;font-weight:600}.chapter-card-body{padding-top:.25rem}.chapter-summary{color:var(--ui-text-muted,#8790a0);font-size:.76rem;line-height:1.6}.chapter-summary p{margin-bottom:.35rem}.chapter-summary strong{color:var(--ui-text,#e6e9ee)}.chapter-badge{border-radius:4px;margin-top:.35rem;margin-right:.25rem;padding:.1rem .4rem;font-size:.6rem;font-weight:600;display:inline-flex}.badge-hidden{color:#c084fc;background:#c084fc1f;border:1px solid #c084fc40}.badge-hivemind{color:#4cd9a0;background:#4cd9a01f;border:1px solid #4cd9a040}.chapter-expand{color:var(--ui-text-subtle,#515c6a);cursor:pointer;font-size:.68rem;font-family:var(--sans);background:0 0;border:none;margin-top:.25rem;padding:.3rem 0;transition:color .15s}.chapter-expand:hover{color:var(--ui-accent)}.chapter-full{border-top:1px solid var(--ui-border,#ffffff12);color:var(--ui-text-muted,#8790a0);margin-top:.5rem;padding-top:.75rem;font-size:.76rem;line-height:1.65}.chapter-full p{margin-bottom:.5rem}.chapter-full strong{color:var(--ui-text,#e6e9ee)}.chapter-full ul{margin:.4rem 0;padding-left:1.2rem}.chapter-full li{margin-bottom:.25rem}.pipeline-status{flex-shrink:0;align-items:center;gap:.25rem;margin-left:auto;display:flex}.pipeline-pill{background:var(--ui-surface,#ffffff0a);color:var(--ui-text-subtle,#515c6a);border:1px solid var(--ui-border,#ffffff12);border-radius:3px;padding:.1rem .35rem;font-size:.58rem;font-weight:600}.pipeline-pill.active{color:#34d399;background:#34d3991f;border-color:#34d3994d}.draft-count{color:#d4843e;font-size:.58rem;font-weight:600;font-family:var(--mono)}.chapter-scenes{margin-top:.35rem}.scene-row{border-bottom:1px solid var(--ui-border,#ffffff12);align-items:baseline;gap:.5rem;padding:.35rem 0;font-size:.72rem;display:flex}.scene-row:last-child{border-bottom:none}.scene-num{font-size:.62rem;font-weight:700;font-family:var(--mono);color:var(--ui-text-subtle,#515c6a);flex-shrink:0;width:1.5rem}.scene-title{color:var(--ui-text,#e6e9ee);flex:1;font-weight:500}.scene-detail{color:var(--ui-text-subtle,#515c6a);background:var(--ui-surface-hover,#ffffff12);border-radius:3px;flex-shrink:0;padding:.1rem .4rem;font-size:.65rem}.scene-wc{color:var(--ui-text-subtle,#515c6a);font-size:.62rem;font-family:var(--mono);flex-shrink:0}.outline-table-wrap{margin:.5rem 0 1rem;overflow-x:auto}.chapter-table{border-collapse:collapse;width:100%;font-size:.76rem}.chapter-table th{letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text-subtle,#515c6a);text-align:left;border-bottom:2px solid var(--ui-border,#ffffff12);white-space:nowrap;padding:.5rem .65rem;font-size:.62rem;font-weight:700}.chapter-table td{border-bottom:1px solid var(--ui-border,#ffffff12);vertical-align:middle;padding:.5rem .65rem}.chapter-row{cursor:pointer;transition:background .1s}.chapter-row:hover{background:var(--ui-surface-hover,#ffffff12)}.col-num{font-family:var(--mono);color:var(--ui-accent,#5b8db8);white-space:nowrap;width:2.5rem;font-weight:600}.col-title{color:var(--ui-text,#e6e9ee);font-weight:500}.col-act{width:5rem}.col-status{width:12rem}.col-notes{width:6rem}.col-scenes,.col-files{text-align:center;width:3rem;font-family:var(--mono);color:var(--ui-text-subtle,#515c6a)}.act-tag{background:color-mix(in srgb, var(--act-color,#8888a0) 12%, transparent);color:var(--act-color,#8888a0);white-space:nowrap;border-radius:4px;padding:.12rem .4rem;font-size:.62rem;font-weight:600}.act-divider-row td{border-bottom:1px solid color-mix(in srgb, var(--act-color) 30%, transparent);background:color-mix(in srgb, var(--act-color) 5%, transparent);padding:.6rem .65rem .35rem}.act-divider-label{letter-spacing:.08em;text-transform:uppercase;color:var(--act-color);font-size:.65rem;font-weight:700}.chapter-expand-row td{border-bottom:1px solid #ffffff1f;padding:0 .65rem .75rem}.chapter-expand-content{color:var(--ui-text-muted,#8790a0);max-height:400px;padding:.5rem 0;font-size:.74rem;line-height:1.6;overflow-y:auto}.chapter-expand-content p{margin-bottom:.4rem}.chapter-expand-content strong{color:var(--ui-text,#e6e9ee)}.chapter-expand-content ul{margin:.35rem 0;padding-left:1.2rem}.no-dir{color:var(--ui-text-subtle,#515c6a);opacity:.4}.graph-view{min-height:0;color:var(--ui-text,#e6e9ee);flex-direction:column;flex:1;font-size:.875rem;display:flex}.graph-loading{color:var(--ui-text-subtle,#515c6a);flex:1;justify-content:center;align-items:center;display:flex}.graph-nav{background:var(--ui-surface,#ffffff0a);flex-shrink:0}.graph-toolbar{background:var(--ui-surface,#ffffff0a);border-bottom:1px solid var(--ui-border,#ffffff12);flex-wrap:wrap;flex-shrink:0;gap:6px;padding:8px 20px;display:flex}.graph-filter-btn{background:var(--ui-surface-hover,#ffffff12);border:1px solid var(--ui-border,#ffffff12);color:var(--ui-text-subtle,#515c6a);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:.75rem;transition:all .15s}.graph-filter-btn:hover{border-color:var(--ui-text-muted);color:var(--ui-text,#e6e9ee)}.graph-filter-btn.active{border-color:var(--ui-accent);color:var(--ui-text,#e6e9ee);background:#5b8db81a}.graph-canvas-wrap{flex:1;position:relative;overflow:hidden}.graph-svg{width:100%;height:100%}.graph-info{background:var(--ui-glass-bg,#121218d1);border:1px solid var(--ui-border,#ffffff12);z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:8px;width:280px;max-height:50vh;padding:14px;display:none;position:absolute;bottom:16px;right:16px;overflow-y:auto}.graph-info-title{margin-bottom:2px;font-size:.95rem;font-weight:600}.graph-info-sub{color:var(--ui-text-subtle,#515c6a);margin-bottom:6px;font-size:.8rem}.graph-info-meta{color:var(--ui-text-muted,#8790a0);margin-bottom:8px;font-size:.8rem}.graph-info-section{color:var(--ui-text-subtle,#515c6a);text-transform:uppercase;letter-spacing:.5px;margin-top:10px;margin-bottom:4px;font-size:.7rem}.graph-info-conn{justify-content:space-between;gap:8px;padding:2px 0;font-size:.8rem;display:flex}.graph-info-dim{color:var(--ui-text-subtle,#515c6a);font-size:.75rem}.graph-legend{background:var(--ui-glass-bg,#121218d1);border:1px solid var(--ui-border,#ffffff12);z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:8px;padding:10px 14px;font-size:.75rem;position:absolute;top:12px;right:16px}.graph-legend-row{align-items:center;gap:8px;padding:2px 0;display:flex}.graph-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.graph-legend-line{border-top:2px solid var(--ui-text-subtle,#515c6a);flex-shrink:0;width:20px;height:0}.graph-legend-line.dashed{border-top-style:dashed}.graph-stats{color:var(--ui-text-subtle,#515c6a);z-index:10;font-size:.75rem;position:absolute;bottom:16px;left:16px}.releases-scroll{flex:1;padding:20px 24px 40px;overflow-y:auto}.release-quarter{margin-bottom:28px}.release-quarter-header{color:var(--ui-text,#e6e9ee);border-bottom:2px solid var(--ui-border,#ffffff12);align-items:baseline;gap:12px;padding:10px 0 8px;font-size:.85rem;font-weight:700;display:flex}.release-quarter-weeks{color:var(--ui-text-subtle,#515c6a);font-size:.7rem;font-weight:400}.release-table{border-collapse:collapse;width:100%;font-size:.8rem}.release-table th{letter-spacing:.06em;text-transform:uppercase;color:var(--ui-text-subtle,#515c6a);text-align:left;border-bottom:1px solid var(--ui-border,#ffffff12);padding:8px 10px;font-size:.65rem;font-weight:700}.release-table td{border-bottom:1px solid var(--ui-border,#ffffff12);vertical-align:middle;padding:8px 10px}.release-row{transition:opacity .2s,background .15s}.release-row:hover{background:var(--ui-surface-hover,#ffffff12)}.release-week{font-family:var(--mono);color:var(--ui-accent,#5b8db8);white-space:nowrap;width:7rem;font-size:.75rem}.release-title{color:var(--ui-text,#e6e9ee);font-weight:600}.release-subtitle{color:var(--ui-text-subtle,#515c6a);margin-top:1px;font-size:.72rem;font-weight:400;display:block}.release-type{color:var(--ui-text-muted,#8790a0);white-space:nowrap;width:7rem}.release-status{background:color-mix(in srgb, var(--status-color) 12%, transparent);color:var(--status-color);border:1px solid color-mix(in srgb, var(--status-color) 25%, transparent);white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:.68rem;font-weight:600;display:inline-block}.release-note{color:var(--ui-text-subtle,#515c6a);font-size:.75rem}.rth-week,.rth-type{width:7rem}.rth-status{width:6rem}.inbox-root{grid-template-columns:360px 1fr;height:calc(100vh - 60px);min-height:0;display:grid}.inbox-rail{border-right:1px solid var(--ui-border,#ffffff12);flex-direction:column;min-height:0;display:flex;overflow:hidden}.inbox-filters{border-bottom:1px solid var(--ui-border,#ffffff12);gap:4px;padding:12px 12px 8px;display:flex}.inbox-filter{border:1px solid var(--ui-border,#ffffff12);color:var(--ui-text-subtle,#515c6a);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:4px;padding:4px 10px;font-size:.72rem}.inbox-filter.active{color:var(--ui-text,#e6e9ee);background:var(--ui-surface,#ffffff0a);border-color:var(--ui-accent,#5b8db8)}.thread-list{flex:1;padding:8px 0;overflow-y:auto}.thread-list-empty{color:var(--ui-text-subtle,#515c6a);text-align:center;padding:20px;font-size:.85rem}.thread-list-group{margin-bottom:8px}.thread-list-project{letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text-subtle,#515c6a);padding:8px 16px 4px;font-size:.68rem;font-weight:700}.thread-row{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:none;border-left:3px solid #0000;padding:10px 16px;transition:background .15s;display:block}.thread-row:hover{background:var(--ui-surface-hover,#ffffff0a)}.thread-row.selected{background:var(--ui-surface,#ffffff0f);border-left-color:var(--ui-accent,#5b8db8)}.thread-row.unread .thread-row-title{font-weight:600}.thread-row-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.thread-row-title{color:var(--ui-text,#e6e9ee);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.86rem;overflow:hidden}.unread-dot{background:var(--ui-accent,#5b8db8);border-radius:50%;flex-shrink:0;width:7px;height:7px}.kind-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:3px;flex-shrink:0;padding:2px 6px;font-size:.62rem;font-weight:700}.kind-badge.k-question{color:#9dc3e6;background:#5b8db82e}.kind-badge.k-writing{color:#b0d9a1;background:#7cb85b2e}.kind-badge.k-revision{color:#e6b39d;background:#b8785b2e}.kind-badge.k-manual{color:var(--ui-text-subtle,#8790a0);background:#ffffff14}.thread-row-preview{color:var(--ui-text-subtle,#8790a0);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:.75rem;overflow:hidden}.thread-row-meta{color:var(--ui-text-subtle,#515c6a);justify-content:space-between;font-size:.7rem;display:flex}.inbox-main{flex-direction:column;min-height:0;display:flex;overflow:hidden}.thread-view{flex-direction:column;height:100%;min-height:0;display:flex}.thread-header{border-bottom:1px solid var(--ui-border,#ffffff12);justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 24px;display:flex}.thread-title{color:var(--ui-text,#e6e9ee);margin-bottom:4px;font-size:1.05rem;font-weight:600}.thread-meta{gap:10px;font-size:.72rem;display:flex}.thread-project{color:var(--ui-text-subtle,#8790a0);font-family:var(--mono)}.thread-status{text-transform:uppercase;letter-spacing:.06em;border-radius:3px;padding:1px 8px;font-size:.62rem;font-weight:600}.thread-status.status-open{color:#b0d9a1;background:#7cb85b2e}.thread-status.status-closed{color:var(--ui-text-subtle,#8790a0);background:#ffffff14}.thread-status.status-promoted{color:#e6c39d;background:#b88c5b2e}.thread-actions{gap:8px;display:flex}.thread-action{border:1px solid var(--ui-border,#ffffff12);color:var(--ui-text,#e6e9ee);cursor:pointer;background:0 0;border-radius:4px;padding:6px 12px;font-size:.75rem}.thread-action:hover:not(:disabled){background:var(--ui-surface-hover,#ffffff0f)}.thread-action.danger:hover:not(:disabled){color:#e69d9d;background:#b85b5b2e;border-color:#b85b5b66}.thread-action:disabled{opacity:.4;cursor:not-allowed}.thread-messages{flex-direction:column;flex:1;gap:16px;padding:20px 24px;display:flex;overflow-y:auto}.msg{flex-direction:column;gap:4px;max-width:80%;display:flex}.msg-user{align-self:flex-end;align-items:flex-end}.msg-assistant,.msg-routine{align-self:flex-start}.msg-head{color:var(--ui-text-subtle,#515c6a);gap:8px;font-size:.68rem;display:flex}.msg-cache{color:var(--ui-accent,#5b8db8);font-size:.62rem}.msg-body{background:var(--ui-surface,#ffffff0a);border:1px solid var(--ui-border,#ffffff12);color:var(--ui-text,#e6e9ee);white-space:pre-wrap;word-break:break-word;border-radius:8px;padding:10px 14px;font-size:.88rem;line-height:1.55}.msg-user .msg-body{background:color-mix(in srgb, var(--ui-accent,#5b8db8) 20%, transparent);border-color:color-mix(in srgb, var(--ui-accent,#5b8db8) 35%, transparent)}.msg-routine .msg-body{color:var(--ui-text-subtle,#8790a0);background:#ffffff05;border-style:dashed;font-size:.82rem}.thread-composer{border-top:1px solid var(--ui-border,#ffffff12);flex-direction:column;gap:8px;padding:12px 24px 16px;display:flex}.thread-composer textarea{background:var(--ui-surface,#ffffff0a);border:1px solid var(--ui-border,#ffffff12);width:100%;color:var(--ui-text,#e6e9ee);resize:vertical;border-radius:6px;min-height:3em;padding:10px 12px;font-family:inherit;font-size:.88rem;line-height:1.5}.thread-composer textarea:focus{border-color:var(--ui-accent,#5b8db8);outline:none}.composer-actions{justify-content:flex-end;gap:8px;display:flex}.composer-btn{border:1px solid var(--ui-border,#ffffff1f);color:var(--ui-text,#e6e9ee);cursor:pointer;background:0 0;border-radius:4px;padding:6px 14px;font-size:.82rem}.composer-btn:hover:not(:disabled){background:var(--ui-surface-hover,#ffffff0f)}.composer-btn:disabled{opacity:.4;cursor:not-allowed}.composer-btn.primary{background:var(--ui-accent,#5b8db8);border-color:var(--ui-accent,#5b8db8);color:#0d1117;font-weight:600}.composer-btn.primary:hover:not(:disabled){background:color-mix(in srgb, var(--ui-accent,#5b8db8) 85%, white)}.thread-closed-notice{color:var(--ui-text-subtle,#515c6a);border-top:1px solid var(--ui-border,#ffffff12);padding:14px 24px;font-size:.82rem;font-style:italic}.dialog-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--ui-bg,#11151c);border:1px solid var(--ui-border,#ffffff1f);border-radius:8px;width:540px;max-width:90vw;max-height:85vh;padding:20px 24px;overflow-y:auto;box-shadow:0 10px 40px #0006}.dialog-title{margin-bottom:14px;font-size:1rem;font-weight:600}.dialog-tabs{border-bottom:1px solid var(--ui-border,#ffffff12);gap:4px;margin-bottom:16px;display:flex}.dialog-tab{color:var(--ui-text-subtle,#8790a0);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-size:.82rem}.dialog-tab.active{color:var(--ui-text,#e6e9ee);border-bottom-color:var(--ui-accent,#5b8db8)}.dialog-body{flex-direction:column;gap:12px;margin-bottom:18px;display:flex}.dialog-body .field{flex-direction:column;gap:4px;display:flex}.dialog-body .field span{color:var(--ui-text-subtle,#8790a0);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.dialog-body input,.dialog-body select,.dialog-body textarea{background:var(--ui-surface,#ffffff0a);border:1px solid var(--ui-border,#ffffff12);color:var(--ui-text,#e6e9ee);border-radius:4px;padding:8px 10px;font-family:inherit;font-size:.88rem}.dialog-body textarea{resize:vertical;min-height:8em;line-height:1.5}.dialog-actions{border-top:1px solid var(--ui-border,#ffffff12);justify-content:flex-end;gap:8px;padding-top:12px;display:flex}.thread-back-btn{border:1px solid var(--ui-border,#ffffff12);color:var(--ui-text-muted,#8790a0);cursor:pointer;background:0 0;border-radius:4px;align-self:flex-start;margin-bottom:6px;padding:4px 10px;font-size:.72rem;display:none}.thread-back-btn:hover{color:var(--ui-text,#e6e9ee);border-color:var(--ui-accent,#5b8db8)}@media (width<=720px){.app-shell>.ui-page-header,.writing-shell>.ui-page-header{gap:.5rem;padding:.5rem .75rem}.ui-page-header-left{display:none}.ui-page-header-actions{flex:1;justify-content:flex-start}.nav-links{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;gap:.3rem;max-width:100%;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-link{flex-shrink:0}.project-list-page{padding:1rem 1rem 2.5rem}.project-toolbar{flex-wrap:wrap;gap:.5rem;max-width:100%}.project-list-page .ui-item-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.project-list-page .ui-item-card-name{font-size:.78rem}.writing-body{display:block;position:relative}.writing-body .editor-panel{height:100%}.writing-body:not(.sidebar-collapsed) .writing-panel{z-index:30;background:var(--ui-bg,#0d1014);width:min(88vw,320px);position:absolute;top:0;bottom:0;left:0;box-shadow:0 0 32px #0000008c}.writing-body:not(.sidebar-collapsed) .editor-panel{filter:brightness(.4);pointer-events:none}.project-overview{padding:1.25rem 1rem 2rem}.overview-header-row{flex-direction:column-reverse;align-items:stretch;gap:.85rem}.overview-header-image{align-self:stretch;width:100%;max-width:100%}.overview-header-image .image-upload-preview{object-fit:cover;max-height:240px}.overview-title{font-size:1.3rem}.overview-stats{grid-template-columns:repeat(2,1fr);gap:.5rem}.outline-book{margin-bottom:1.5rem}.outline-book-header{font-size:1rem}.chapter-card{padding:.75rem .85rem}.chapter-card-header{gap:.45rem}.pipeline-status{flex-basis:100%;order:3;margin-top:.25rem;margin-left:0}.chapter-table th,.chapter-table td{padding:.45rem .5rem}.releases-scroll{padding:16px 14px 32px}.inbox-root{grid-template-columns:1fr;height:calc(100vh - 52px)}.inbox-root[data-selected=false] .inbox-main,.inbox-root[data-selected=true] .inbox-rail{display:none}.inbox-rail{border-right:none}.inbox-filters{flex-wrap:wrap;padding:10px 12px 6px}.thread-list-project{padding:8px 14px 4px}.thread-row{padding:10px 14px}.thread-header{flex-direction:column;align-items:stretch;gap:8px;padding:12px 14px}.thread-back-btn{display:inline-flex}.thread-title{font-size:.98rem}.thread-actions{align-self:flex-end}.thread-messages{gap:12px;padding:14px}.thread-composer{padding:10px 14px 14px}.thread-composer textarea{font-size:16px}.msg{max-width:92%}.msg-body{padding:9px 12px;font-size:.85rem}.editor-header{padding:.55rem .85rem}.editor-breadcrumb{font-size:.7rem}.graph-info{width:calc(100vw - 24px);max-height:40vh;bottom:12px;right:12px}.graph-legend{padding:8px 10px;font-size:.7rem;top:8px;right:8px}.dialog{max-width:calc(100vw - 20px)}}@media (width<=480px){.nav-link{padding:.2rem .5rem;font-size:.68rem}.overview-stats{grid-template-columns:1fr 1fr}.thread-actions .thread-action{padding:5px 10px;font-size:.72rem}}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--ui-border,#ffffff12);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#ffffff1f}
