:root{--brand-orange: #f97316;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", "Roboto Mono", Consolas, monospace;--fs-xs: 13px;--fs-sm: 14px;--fs-md: 16px;--fs-lg: 20px;--fs-xl: 24px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-full: 9999px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--nav-rail-width: 64px;--context-panel-width: 300px;--shell-max-width: 1400px;--ease: cubic-bezier(.2, 0, 0, 1);--dur-fast: .12s;--dur: .18s}[data-theme=dark]{--bg: #121212;--surface: #1e1e1e;--surface-2: #262626;--surface-3: #303030;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--text: #f5f5f5;--text-secondary: #a0a0a0;--text-muted: #6b7280;--accent: #f97316;--accent-hover: #ea6a0c;--accent-active: #d9620a;--accent-soft: rgba(249, 115, 22, .15);--accent-fg: #ffffff;--danger: #ef4444;--danger-soft: rgba(239, 68, 68, .12);--success: #22c55e;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);color-scheme:dark}[data-theme=light]{--bg: #fafafa;--surface: #ffffff;--surface-2: #f4f4f5;--surface-3: #e4e4e7;--border: #e5e7eb;--border-strong: #d4d4d8;--text: #18181b;--text-secondary: #52525b;--text-muted: #71717a;--accent: #ea580c;--accent-hover: #c2410c;--accent-active: #9a3412;--accent-soft: rgba(234, 88, 12, .1);--accent-fg: #ffffff;--danger: #dc2626;--danger-soft: rgba(220, 38, 38, .08);--success: #16a34a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);color-scheme:light}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:var(--fs-sm);line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:var(--accent);text-decoration:none}ul,ol{list-style:none}:focus-visible{outline:none}*{scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:var(--r-full)}*::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:36px;padding:0 var(--sp-5);border-radius:var(--r-full);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);color:var(--accent-fg)}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--secondary{background:var(--surface-2);color:var(--text)}.btn--secondary:hover:not(:disabled){background:var(--surface-3)}.btn--ghost{background:transparent;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn--danger{background:var(--danger);color:#fff}.btn--block{width:100%}.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-full);color:var(--text-secondary);transition:color var(--dur-fast) var(--ease)}.icon-btn:after{content:"";position:absolute;left:-2px;top:50%;width:4px;height:4px;border-radius:var(--r-full);background:var(--accent);transform:translateY(-50%) scale(0);opacity:0;transition:transform var(--dur) var(--ease),opacity var(--dur) var(--ease)}.icon-btn:hover{color:var(--text)}.icon-btn:hover:after{transform:translateY(-50%) scale(1);opacity:.7}.icon-btn--active{color:var(--accent)}.icon-btn--active:before{content:"";position:absolute;left:-2px;top:50%;width:3px;height:20px;border-radius:var(--r-full);background:var(--accent);transform:translateY(-50%) scaleY(0);transform-origin:center;animation:nav-indicator-in var(--dur) var(--ease) forwards}.icon-btn--active:after{opacity:0;transform:translate(-50%) scale(0)}@keyframes nav-indicator-in{0%{transform:translateY(-50%) scaleY(0)}to{transform:translateY(-50%) scaleY(1)}}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-full);background:var(--accent);color:var(--accent-fg);font-weight:var(--fw-semibold);flex-shrink:0;-webkit-user-select:none;user-select:none;overflow:hidden}.avatar--sm{width:32px;height:32px;font-size:var(--fs-xs)}.avatar--md{width:40px;height:40px;font-size:var(--fs-sm)}.avatar--lg{width:56px;height:56px;font-size:var(--fs-lg)}.avatar--xl{width:96px;height:96px;font-size:40px}.avatar img{width:100%;height:100%;object-fit:cover}.field{position:relative;padding-top:18px}.field__input,.field__textarea{width:100%;background:transparent;border:none;border-radius:2px;padding:8px 2px;color:var(--text);font-size:var(--fs-sm);line-height:1.5;caret-color:var(--accent)}.field__input,.field__textarea{border-bottom:1px solid var(--border-strong);transition:border-color var(--dur-fast) var(--ease)}.field__input:focus,.field__textarea:focus{border-bottom-color:var(--accent)}.field__textarea{resize:vertical;min-height:24px}.field__label{position:absolute;left:2px;top:26px;color:var(--text-muted);font-size:var(--fs-sm);line-height:1.5;pointer-events:none;transition:top var(--dur) var(--ease),font-size var(--dur) var(--ease),color var(--dur) var(--ease)}.field__prefix{position:absolute;left:2px;top:26px;color:var(--accent);font-weight:var(--fw-semibold);font-size:var(--fs-sm);line-height:1.5;pointer-events:none}.field--has-prefix .field__input{padding-left:18px}.field--has-prefix .field__label{left:18px}.field--has-prefix.field--float .field__label{left:2px}.field--textarea .field__label{top:26px;transform:none}.field--float .field__label{top:0;transform:none;font-size:var(--fs-xs);color:var(--accent)}.list-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--r-md);cursor:pointer;position:relative;transition:background-color var(--dur-fast) var(--ease)}.list-row:hover{background:var(--surface-2)}.list-row--active{background:var(--accent-soft)}.list-row--active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--accent);border-radius:var(--r-full)}.list-row__main{flex:1;min-width:0}.list-row__title{font-weight:var(--fw-medium);color:var(--text);display:flex;align-items:center;gap:var(--sp-2)}.list-row__subtitle{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-row__meta{font-size:var(--fs-xs);color:var(--text-muted);flex-shrink:0}.card{background:var(--surface);border-radius:var(--r-lg);padding:var(--sp-5)}.shell{display:flex;height:100vh;height:100dvh;width:100%;overflow:hidden;background:var(--surface)}.nav-rail{width:var(--nav-rail-width);background:var(--surface);display:flex;flex-direction:column;align-items:center;padding:var(--sp-3) 0;gap:var(--sp-2);flex-shrink:0}.nav-rail__logo{margin-bottom:var(--sp-3)}.nav-rail__spacer{flex:1}.menu{position:absolute;bottom:0;left:calc(100% + var(--sp-2));background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:var(--sp-1);display:flex;flex-direction:column;gap:2px;min-width:200px;z-index:50}.menu__item{display:flex;align-items:center;gap:var(--sp-2);height:36px;padding:0 var(--sp-3);border-radius:var(--r-sm);color:var(--text);font-size:var(--fs-sm);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease)}.menu__item:hover{background:var(--surface-2)}.menu__item--danger{color:var(--danger)}.menu__item--danger:hover{background:var(--danger-soft)}.nav-rail__menu-wrap{position:relative}.context-panel{width:var(--context-panel-width);background:var(--bg);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.context-panel__header{padding:var(--sp-4);display:flex;align-items:center;justify-content:space-between}.context-panel__title{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.context-panel__body{flex:1;overflow-y:auto;padding:var(--sp-2)}.main{flex:1;display:flex;flex-direction:row;overflow:hidden;background:var(--bg);margin:var(--sp-2) 0 var(--sp-2) var(--sp-2);border-top-left-radius:var(--r-lg);border-bottom-left-radius:var(--r-lg)}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);color:var(--text-muted);padding:var(--sp-8);text-align:center}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);background:var(--bg)}.auth-card{width:100%;max-width:420px}.auth-card__header{text-align:center;margin-bottom:var(--sp-6)}.auth-card__title{font-size:var(--fs-xl);font-weight:var(--fw-bold)}.auth-card__subtitle{color:var(--text-secondary);margin-top:var(--sp-2);font-size:var(--fs-sm)}.auth-card__form{display:flex;flex-direction:column;gap:var(--sp-4)}.segmented{display:flex;background:var(--surface-2);border-radius:var(--r-md);padding:var(--sp-1);gap:var(--sp-1)}.segmented__btn{flex:1;height:34px;border-radius:var(--r-full);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary);transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.segmented__btn--active{background:var(--surface);color:var(--text)}.secret-box{background:var(--surface-2);border-radius:var(--r-md);padding:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-xs);word-break:break-all;color:var(--text)}.row{display:flex;align-items:center;gap:var(--sp-2)}.row--between{justify-content:space-between}.text-muted{color:var(--text-muted)}.mono{font-family:var(--font-mono)}.link-btn{align-self:flex-start;padding:0;background:none;color:var(--accent);font-size:var(--fs-xs);font-weight:var(--fw-medium);transition:color var(--dur-fast) var(--ease)}.link-btn:hover{color:var(--accent-hover);text-decoration:underline}input[type=time]{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:6px var(--sp-2);color:var(--text);font-size:var(--fs-sm);color-scheme:dark light}[data-theme=light] input[type=time]{color-scheme:light}[data-theme=dark] input[type=time]{color-scheme:dark}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--sp-4);animation:overlay-in var(--dur) var(--ease)}.modal{width:100%;max-width:440px;animation:modal-in var(--dur) var(--ease)}.modal__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin-bottom:var(--sp-2)}.modal__message{color:var(--text-secondary);font-size:var(--fs-sm);margin-bottom:var(--sp-4)}.modal__actions{display:flex;justify-content:flex-end;gap:var(--sp-2)}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.switch{position:relative;width:42px;height:24px;border-radius:var(--r-full);background:var(--surface-3);border:none;cursor:pointer;flex-shrink:0;transition:background-color var(--dur-fast) var(--ease)}.switch--on{background:var(--accent)}.switch__thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:var(--r-full);background:#fff;transition:transform var(--dur-fast) var(--ease)}.switch--on .switch__thumb{transform:translate(18px)}.toast-stack{position:fixed;bottom:var(--sp-5);right:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-2);z-index:200;pointer-events:none}.toast{display:flex;align-items:center;gap:var(--sp-3);background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:var(--sp-3) var(--sp-4);min-width:260px;max-width:360px;pointer-events:auto;animation:toast-in var(--dur) var(--ease)}.toast--leaving{animation:toast-out var(--dur-fast) var(--ease) forwards}.toast__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--r-full)}.toast--success .toast__icon{background:var(--success);color:#fff}.toast--error .toast__icon{background:var(--danger);color:#fff}.toast--info .toast__icon{background:var(--accent);color:#fff}.toast__body{flex:1;font-size:var(--fs-sm);color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(40px)}}.context-menu{position:fixed;z-index:150;background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:var(--sp-1);min-width:180px;animation:modal-in var(--dur-fast) var(--ease)}.fade-in{animation:fade-in var(--dur) var(--ease)}.slide-up{animation:slide-up var(--dur) var(--ease)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}input[type=color]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;padding:0;background:none;cursor:pointer;border-radius:var(--r-sm);overflow:hidden}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:var(--r-sm)}input[type=color]::-moz-color-swatch{border:none;border-radius:var(--r-sm)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;border-radius:var(--r-full);background:var(--surface-3);cursor:pointer;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:var(--r-full);background:var(--accent);border:2px solid var(--surface);box-shadow:0 1px 3px #0000004d;transition:transform var(--dur-fast) var(--ease)}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:var(--r-full);background:var(--accent);border:2px solid var(--surface);box-shadow:0 1px 3px #0000004d}input[type=range]::-moz-range-track{height:6px;border-radius:var(--r-full);background:var(--surface-3)}input[type=time]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface-2);border:none;border-radius:var(--r-sm);padding:6px var(--sp-2);color:var(--text);font-family:inherit;font-size:var(--fs-sm);color-scheme:dark;cursor:pointer}input[type=time]::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer}:root[data-theme=light] input[type=time]{color-scheme:light}:root[data-theme=light] input[type=time]::-webkit-calendar-picker-indicator{filter:none}.mobile-backdrop{display:none}@media(max-width:768px){.shell{flex-direction:column}.nav-rail{position:fixed;top:0;left:calc(-1 * var(--nav-rail-width));bottom:0;z-index:100;transition:left .2s ease;box-shadow:var(--shadow-md)}.nav-rail--open{left:0}.mobile-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99}.nav-rail .menu{position:fixed!important;top:auto!important;left:var(--sp-2)!important;right:var(--sp-2)!important;bottom:var(--sp-2)!important;min-width:0!important;width:auto!important;max-width:none!important;z-index:160!important;animation:modal-in var(--dur-fast) var(--ease)}.main{margin:0!important;border-radius:0!important;flex-direction:column}.shell[data-view-state=detail] .context-panel{display:none!important}.shell[data-view-state=list] .main>*:not(.context-panel):not(.mobile-header){display:none!important}.context-panel{width:100%!important;flex:1}.main>*{flex:1}.mobile-header{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--surface);flex-shrink:0;height:52px}.mobile-header__btn{width:40px;height:40px;border:none;background:transparent;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--r-md);flex-shrink:0}.mobile-header__title{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.mobile-back-btn{width:36px;height:36px;border:none;background:transparent;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--r-md);flex-shrink:0}.main>div>div[style*=maxWidth]{max-width:100%!important}.main>div[style*="maxWidth: 640"]{max-width:100%!important;padding:var(--sp-3)!important}.modal{max-width:calc(100vw - var(--sp-4))!important}.context-panel__header{padding:var(--sp-2) var(--sp-3)}}
@keyframes vpsp{0%{transform:translateY(0);opacity:0}10%{opacity:1}80%{opacity:.7}100%{transform:translateY(-28px);opacity:0}}
