:root{--paper:#f5f2ec;--paper-raised:#fbf9f5;--paper-sunk:#efeae1;--paper-deep:#e9e3d7;--ink:#1e1e1c;--ink-soft:#36332e;--ink-muted:#5f5b54;--muted:var(--paper-sunk);--faint:#6f6a60;--line:#dad4c8;--line-soft:#e6e0d4;--line-strong:#c9c1b2;--primary:#2f3b37;--primary-hover:#26322e;--on-primary:#f5f2ec;--seal:#8c2f2b;--accent-wash:#f0e2dd;--moss:#44604f;--ochre:#7c6230;--slate:#3e5661;--danger:#8c2f2b;--font-serif:"Songti SC","Noto Serif SC","Source Han Serif SC",serif;--font-sans:"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,sans-serif;--background:var(--paper);--foreground:var(--ink);--card:var(--paper-raised);--card-foreground:var(--ink);--popover:var(--paper-raised);--popover-foreground:var(--ink);--primary-foreground:var(--on-primary);--secondary:var(--paper-sunk);--secondary-foreground:var(--ink);--muted-foreground:var(--ink-muted);--accent:var(--paper-sunk);--accent-foreground:var(--ink);--destructive:var(--seal);--destructive-foreground:var(--on-primary);--border:var(--line);--input:var(--line);--ring:var(--seal);--radius:4px;--chart-1:#2f3b37;--chart-2:#8c2f2b;--chart-3:#7c6230;--chart-4:#44604f;--chart-5:#3e5661;--sidebar:var(--paper);--sidebar-foreground:var(--ink-muted);--sidebar-primary:var(--primary);--sidebar-primary-foreground:var(--on-primary);--sidebar-accent:var(--paper-sunk);--sidebar-accent-foreground:var(--ink);--sidebar-border:var(--line);--sidebar-ring:var(--seal);--success:#e6ece6;--success-foreground:#3c5a45;--warning:#f3ead8;--warning-foreground:#7c6230;--info:#e5ebee;--info-foreground:#3e5661}.dark{--paper:#1b1a17;--paper-raised:#23221e;--paper-sunk:#2b2924;--paper-deep:#34312a;--ink:#efe9dd;--ink-soft:#ded7c9;--ink-muted:#b8b0a2;--muted:var(--paper-sunk);--faint:#aaa294;--line:#3c382f;--line-soft:#332f28;--line-strong:#4c473c;--primary:#e5dece;--primary-hover:#f2ecdf;--on-primary:#1e1e1c;--seal:#c05a4f;--accent:var(--paper-sunk);--accent-wash:#3b2522;--moss:#8aa996;--ochre:#c3a363;--slate:#87a3b0;--danger:#c05a4f;--background:var(--paper);--foreground:var(--ink);--card:var(--paper-raised);--popover:var(--paper-raised);--primary-foreground:var(--on-primary);--secondary:var(--paper-sunk);--secondary-foreground:var(--ink);--muted-foreground:var(--ink-muted);--accent-foreground:var(--ink);--destructive-foreground:var(--on-primary);--border:var(--line);--input:var(--line);--sidebar:var(--paper);--sidebar-foreground:var(--ink-muted);--sidebar-accent:var(--paper-sunk);--sidebar-accent-foreground:var(--ink);--sidebar-border:var(--line)}body,html{font-family:var(--font-sans);font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{background:var(--paper);color:var(--ink);font-size:14px;line-height:1.65}::selection{background:var(--accent-wash);color:var(--ink)}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:500;letter-spacing:.04em;line-height:1.35}[data-slot=card]{border-radius:var(--radius);border-color:var(--line);box-shadow:none}[data-slot=card-title]{font-family:var(--font-serif);font-size:16px;font-weight:500;letter-spacing:.04em}[data-slot=card-description]{color:var(--ink-muted);font-size:12px}[data-slot=button]{border-radius:2px;box-shadow:none;font-weight:500;letter-spacing:.02em;transition:background-color .18s cubic-bezier(.2,.8,.2,1),border-color .18s cubic-bezier(.2,.8,.2,1),color .18s cubic-bezier(.2,.8,.2,1)}[data-slot=button][data-variant=default]{background:var(--primary);color:var(--on-primary)}[data-slot=button][data-variant=default]:hover{background:var(--primary-hover)}[data-slot=button][data-variant=outline]{border-color:var(--line);background:var(--paper-raised);color:var(--ink)}[data-slot=button][data-variant=ghost]:hover,[data-slot=button][data-variant=outline]:hover,[data-slot=button][data-variant=secondary]:hover{background:var(--paper-sunk)}[data-slot=button][data-variant=secondary]{background:var(--paper-sunk);color:var(--ink)}[data-slot=button][data-variant=ghost]{color:var(--ink-soft)}[data-slot=button][data-variant=destructive]{background:var(--seal);color:var(--on-primary)}[data-slot=input],[data-slot=select-trigger],[data-slot=textarea]{border-radius:2px;border-color:var(--line);background:var(--paper-raised);box-shadow:none;color:var(--ink);font-size:13px}[data-slot=input]::placeholder,[data-slot=textarea]::placeholder{color:var(--faint)}[data-slot=input]:focus-visible,[data-slot=select-trigger]:focus-visible,[data-slot=textarea]:focus-visible{border-color:var(--ink-soft);box-shadow:0 0 0 2px rgba(140,47,43,.12);outline:none}[data-slot=checkbox]{border-radius:2px;border-color:var(--line-strong);background:var(--paper-raised);box-shadow:none}[data-slot=checkbox][data-state=checked]{background:var(--ink);border-color:var(--ink);color:var(--paper)}[data-slot=badge]{font-weight:500}[data-slot=table-head]{height:40px;color:var(--faint);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}[data-slot=table-row]{border-color:var(--line-soft)}[data-slot=table-row]:hover{background:color-mix(in srgb,var(--paper-sunk) 55%,transparent)}[data-slot=table-cell]{padding:12px 8px;color:var(--ink-soft);font-size:13px}[data-slot=table]{font-size:13px}[data-slot=badge]{border:1px solid var(--line-soft);border-radius:2px;background:var(--paper-sunk);color:var(--ink-muted);font-size:11px;font-weight:400;letter-spacing:.02em;box-shadow:none}.admin-shell [class*=bg-amber-50],.admin-shell [class*=bg-blue-50],.admin-shell [class*=bg-cyan-50],.admin-shell [class*=bg-emerald-50],.admin-shell [class*=bg-green-50],.admin-shell [class*=bg-indigo-50],.admin-shell [class*=bg-lime-50],.admin-shell [class*=bg-orange-50],.admin-shell [class*=bg-pink-50],.admin-shell [class*=bg-purple-50],.admin-shell [class*=bg-red-50],.admin-shell [class*=bg-rose-50],.admin-shell [class*=bg-sky-50],.admin-shell [class*=bg-teal-50],.admin-shell [class*=bg-violet-50],.admin-shell [class*=bg-yellow-50]{border-radius:2px!important;background-color:var(--paper-sunk)!important;color:var(--ink-muted)!important;--tw-ring-color:var(--line-soft)!important;box-shadow:none!important}[data-slot=tabs-list]{width:100%;height:auto;gap:28px;justify-content:flex-start;overflow-x:auto;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:0}[data-slot=tabs-trigger]{flex:0 0 auto;height:auto;min-height:40px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:8px 1px;color:var(--ink-muted);font-size:13px;font-weight:400;box-shadow:none}[data-slot=tabs-trigger][data-state=active]{border-bottom-color:var(--ink);background:transparent;color:var(--ink);font-weight:500;box-shadow:none}[data-slot=dialog-content]{border-radius:var(--radius);border-color:var(--line);background:var(--paper-raised);box-shadow:none}[data-slot=dialog-overlay]{background:rgba(30,30,28,.38)}[data-slot=command],[data-slot=dropdown-menu-content],[data-slot=popover-content],[data-slot=select-content]{border-radius:var(--radius);border-color:var(--line);background:var(--paper-raised);box-shadow:none}[data-slot=command-item][data-selected=true],[data-slot=dropdown-menu-item]:focus,[data-slot=select-item]:focus{background:var(--paper-sunk);color:var(--ink)}[data-slot=sidebar-inner]{background:var(--paper);border-right:1px solid var(--line)}[data-slot=sidebar-header]{border-bottom:1px solid var(--line)}[data-slot=sidebar-group-label]{height:auto;padding:0 10px 4px;color:var(--faint);font-size:11px;font-weight:500;letter-spacing:.16em}[data-slot=sidebar-menu-button]{position:relative;height:34px;border-radius:2px;color:var(--ink-muted);font-size:13px;font-weight:400}[data-slot=sidebar-menu-button]:hover{background:var(--paper-sunk);color:var(--ink)}[data-slot=sidebar-menu-button][data-active=true]{background:var(--paper-raised);color:var(--ink);font-weight:500}[data-slot=sidebar-menu-button][data-active=true]:before{content:"";position:absolute;left:2px;top:50%;width:4px;height:4px;margin-top:-2px;background:var(--seal)}.admin-shell{background:var(--paper)}.admin-brand{display:flex;min-width:0;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.admin-brand-seal{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;background:var(--primary);color:var(--on-primary);font-family:var(--font-serif);font-size:19px;line-height:1}.admin-brand-text{min-width:0;display:flex;flex-direction:column;line-height:1.35}.admin-brand-name{color:var(--ink);font-family:var(--font-serif);font-size:16px;font-weight:500;letter-spacing:.12em}.admin-brand-name,.admin-brand-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-brand-sub{margin-top:1px;color:var(--faint);font-size:12px;letter-spacing:.1em}.admin-backend{display:flex;flex-direction:column;gap:6px}.admin-nav-group{display:flex;width:100%;height:30px;align-items:center;gap:8px;border:0;border-radius:2px;background:transparent;padding:0 8px;color:var(--ink-muted);font-size:12px;letter-spacing:.02em;text-align:left;cursor:pointer;transition:color .16s var(--ease,ease),background-color .16s var(--ease,ease)}.admin-nav-group:hover{background:var(--paper-sunk);color:var(--ink)}.admin-nav-group.is-current{color:var(--ink-soft)}.admin-nav-group-label{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-nav-chevron{flex:0 0 auto;color:var(--faint);transition:transform .16s var(--ease,ease)}.admin-nav-chevron.is-open{transform:rotate(90deg)}.admin-subnav [data-slot=sidebar-menu-button]{padding-left:30px}.admin-subnav [data-slot=sidebar-menu-button]>svg{width:14px;height:14px}.admin-backend-label{color:var(--faint);font-size:12px;letter-spacing:.08em}.admin-backend-group{display:grid;grid-template-columns:1fr 1fr;gap:4px;border:1px solid var(--line);background:var(--paper);padding:3px}.admin-backend-item{display:flex;height:30px;align-items:center;justify-content:center;gap:6px;border-radius:1px;color:var(--ink-muted);font-size:12px;text-decoration:none;transition:background-color .18s var(--ease,ease)}.admin-backend-item:hover{background:var(--paper-sunk);color:var(--ink)}.admin-backend-item.is-active{background:var(--primary);color:var(--on-primary)}.admin-sidebar-foot{border-top:1px solid var(--line);padding:12px 14px}.admin-system{display:flex;align-items:center;gap:6px;color:var(--faint);font-size:12px;letter-spacing:.04em}.admin-system:before{content:"";width:5px;height:5px;border-radius:999px;background:var(--moss)}.admin-page-head{flex:0 0 auto;padding:24px max(24px,calc((100% - 1392px) / 2)) 0;background:var(--paper)}.admin-page-head .page-head{align-items:flex-end}@media (max-width:900px){.admin-page-head{padding:18px 16px 0}.admin-page-head .page-title{font-size:28px}}.admin-topbar{display:flex;height:64px;flex:0 0 auto;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);background:var(--paper);padding:0 24px}.admin-topbar-left,.admin-topbar-right{display:flex;min-width:0;align-items:center;gap:12px}.admin-topbar [data-slot=breadcrumb-list]{color:var(--faint);font-size:12px}.admin-topbar [data-slot=breadcrumb-page]{color:var(--ink-soft)}.admin-sidebar-trigger{color:var(--ink)}.admin-search{display:flex;height:34px;width:210px;align-items:center;gap:8px;border:1px solid var(--line);border-radius:2px;background:var(--paper-raised);padding:0 10px;color:var(--faint);font-size:12px;text-align:left}.admin-search:hover{border-color:var(--line-strong);color:var(--ink-muted)}.admin-search kbd{margin-left:auto;border:1px solid var(--line);border-radius:2px;padding:1px 4px;color:var(--faint);font-family:var(--font-sans);font-size:10px}.admin-icon-button{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:2px;color:var(--ink-muted)}.admin-icon-button:hover{background:var(--paper-sunk);color:var(--ink)}.admin-topbar-divider{width:1px;height:20px;background:var(--line)}.admin-user{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none}.admin-user-avatar{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--line);border-radius:999px;background:var(--paper-raised);color:var(--ink-soft);font-family:var(--font-serif);font-size:13px}.admin-user-meta{display:flex;flex-direction:column;line-height:1.35}.admin-user-name{font-size:12px;font-weight:500}.admin-user-role{color:var(--faint);font-size:10px}.dash-wrap{display:flex;flex-direction:column;gap:24px;padding:24px 24px 40px;max-width:1440px;width:100%;margin:0 auto}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}.page-head-main{min-width:0}.page-overline{color:var(--seal);font-size:11px;letter-spacing:.2em;line-height:1.4}.page-title{margin-top:6px;color:var(--ink);font-family:var(--font-serif);font-size:34px;font-weight:500;letter-spacing:.04em;line-height:1.25}.page-sub{margin-top:8px;color:var(--ink-muted);font-size:12px;letter-spacing:.02em}.page-head-actions{flex-wrap:wrap}.stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.stat{min-width:0;padding:20px 22px;border-right:1px solid var(--line-soft)}.stat:last-child{border-right:0}.stat-label{color:var(--ink-muted);font-size:12px;letter-spacing:.04em}.stat-value{margin-top:10px;color:var(--ink);font-family:var(--font-serif);font-size:36px;font-weight:500;letter-spacing:.02em;line-height:1.1;font-variant-numeric:tabular-nums}.stat-value small{margin-left:4px;color:var(--ink-muted);font-family:var(--font-sans);font-size:12px;font-weight:400}.stat-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;color:var(--faint);font-size:11px}.stat-foot .up{color:var(--moss)}.stat-foot .down,.stat.is-alert .stat-value{color:var(--seal)}.dash-grid,.dash-grid-bottom{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);gap:20px;align-items:start}.dash-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.dash-card-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line-soft);padding:18px 20px 14px}.dash-card-overline{color:var(--seal);font-size:10px;letter-spacing:.2em;line-height:1.4}.dash-card-title{margin-top:4px;color:var(--ink);font-family:var(--font-serif);font-size:18px;font-weight:500;letter-spacing:.04em}.dash-card-sub{margin-top:4px;color:var(--faint);font-size:11px}.dash-card-body{padding:16px 20px 20px}.dash-tasks{display:flex;flex-direction:column}.dash-task{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line-soft);padding:13px 0;color:var(--ink);text-decoration:none}.dash-task:last-child{border-bottom:0}.dash-task:hover .dash-task-title{color:var(--seal)}.dash-task-icon{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border:1px solid var(--line);border-radius:2px;color:var(--ink-muted)}.dash-task-copy{min-width:0;flex:1}.dash-task-title{display:block;overflow:hidden;color:var(--ink-soft);font-size:12px;text-overflow:ellipsis;white-space:nowrap;transition:color .18s ease}.dash-task-meta{display:block;margin-top:3px;color:var(--faint);font-size:10px}.dash-task-count{color:var(--ink-muted);font-family:var(--font-serif);font-size:18px;font-variant-numeric:tabular-nums}.dash-task-count.is-zero{color:var(--faint)}.dash-task-meta{font-size:12px}.dash-seq{width:34px;color:var(--faint);font-size:11px;text-align:center}.dash-recent-name{display:flex;align-items:center;gap:10px}.dash-avatar{display:grid;width:26px;height:26px;place-items:center;border:1px solid var(--line);border-radius:999px;color:var(--ink-muted);font-family:var(--font-serif);font-size:11px}.dash-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dash-quick{display:flex;min-height:72px;flex-direction:column;justify-content:space-between;border:1px solid var(--line-soft);background:var(--paper-raised);padding:12px;color:var(--ink);text-decoration:none;transition:border-color .18s ease,background-color .18s ease}.dash-quick:hover{border-color:var(--line-strong);background:var(--paper-sunk)}.dash-quick svg{color:var(--seal)}.dash-quick-label{display:block;margin-top:12px;font-size:12px}.dash-empty{padding:28px 0;color:var(--faint);font-size:12px;text-align:center}.login-shell{display:grid;min-height:100dvh;grid-template-columns:minmax(0,1.16fr) minmax(440px,.84fr);background:var(--paper)}.login-art{position:relative;overflow:hidden;border-right:1px solid var(--line);background:var(--paper)}.login-art-svg,.login-art-svg svg{position:absolute;inset:0;width:100%;height:100%}.login-art-top{position:absolute;top:34px;left:40px;z-index:2}.login-brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.login-seal{display:grid;width:38px;height:38px;place-items:center;background:var(--primary);color:var(--on-primary);font-family:var(--font-serif);font-size:21px;line-height:1}.login-brand-text{display:flex;flex-direction:column;line-height:1.4}.login-brand-name{font-family:var(--font-serif);font-size:15px;font-weight:500;letter-spacing:.12em}.login-brand-sub{margin-top:2px;color:var(--faint);font-size:12px;letter-spacing:.12em}.login-poem{position:absolute;left:64px;bottom:96px;z-index:2;display:flex;align-items:flex-start;gap:34px;color:var(--ink)}.poem-main{height:340px;writing-mode:vertical-rl;font-size:25px;font-weight:500;line-height:1.35;white-space:nowrap}.poem-main,.poem-side{font-family:var(--font-serif);letter-spacing:.22em}.poem-side{display:flex;gap:22px;margin-top:20px;color:var(--ink-soft);font-size:14px;line-height:1.5}.poem-side span{height:118px;writing-mode:vertical-rl}.poem-seal{position:absolute;bottom:134px;left:150px;z-index:2;display:grid;width:30px;height:30px;place-items:center;background:var(--seal);color:var(--paper);font-family:var(--font-serif);font-size:15px}.login-art-foot{position:absolute;right:40px;bottom:28px;left:40px;z-index:2;display:flex;justify-content:space-between;color:var(--faint);font-size:12px;letter-spacing:.04em}.login-panel{position:relative;display:flex;min-height:100dvh;flex-direction:column;background:var(--paper-raised);padding:30px 44px 28px}.login-panel-top{display:flex;justify-content:flex-end}.login-panel-top a{display:inline-flex;min-height:24px;align-items:center;gap:4px;color:var(--ink-muted);font-size:12px;text-decoration:none}.login-panel-top a:hover{color:var(--seal)}.login-box{width:100%;max-width:404px;margin:auto}.login-overline{color:var(--seal);font-size:12px;letter-spacing:.18em;line-height:1.4}.login-title{margin-top:8px;color:var(--ink);font-family:var(--font-serif);font-size:32px;font-weight:500;letter-spacing:.06em;line-height:1.25}.login-desc{margin-top:10px;color:var(--ink-muted);font-size:12px;line-height:1.9}.login-form{gap:16px;margin-top:28px}.login-field,.login-form{display:flex;flex-direction:column}.login-field{gap:6px}.login-label{color:var(--ink-soft);font-size:12px;letter-spacing:.04em}.login-input-wrap{position:relative}.login-input-wrap [data-slot=input]{height:44px;padding:0 38px;background:var(--paper);border-color:var(--line);font-size:13px}.login-input-wrap [data-slot=input]:focus-visible{border-color:var(--ink-soft);box-shadow:0 0 0 2px rgba(140,47,43,.12)}.login-eye{position:absolute;top:50%;right:10px;display:inline-flex;width:28px;height:28px;transform:translateY(-50%);align-items:center;justify-content:center;border-radius:2px;color:var(--faint)}.login-eye:hover{background:var(--paper-sunk);color:var(--ink)}.captcha{position:relative;height:44px;overflow:hidden;border:1px solid var(--line);border-radius:2px;background:var(--paper);cursor:grab;touch-action:none;user-select:none}.captcha:focus-visible{outline:2px solid color-mix(in srgb,var(--seal) 28%,transparent);outline-offset:1px}.captcha.is-dragging{cursor:grabbing}.captcha-fill{position:absolute;inset:0 auto 0 0;background:color-mix(in srgb,var(--primary) 13%,var(--paper));transition:width .18s var(--ease,ease)}.captcha.is-dragging .captcha-fill{transition:none}.captcha-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 48px;color:var(--ink-muted);font-size:12px;letter-spacing:.04em;pointer-events:none}.captcha-done{display:inline-flex;align-items:center;gap:6px;color:var(--primary)}.captcha-thumb{position:absolute;top:0;bottom:0;display:flex;width:48px;align-items:center;justify-content:center;border-right:1px solid var(--line);background:var(--paper-raised);color:var(--ink-muted);transition:left .18s var(--ease,ease),background-color .18s var(--ease,ease),color .18s var(--ease,ease)}.captcha.is-dragging .captcha-thumb{background:var(--paper-deep);color:var(--ink)}.captcha.is-verified{cursor:default}.captcha.is-verified .captcha-fill{width:0!important;background:transparent}.captcha.is-verified .captcha-label{color:var(--primary)}.captcha.is-verified .captcha-thumb{right:0;left:auto!important;border-right:0;border-left:1px solid var(--primary);background:var(--primary);color:var(--on-primary);transition:background-color .18s var(--ease,ease)}.login-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.login-remember{gap:8px;color:var(--ink-muted)}.login-forgot,.login-remember{display:inline-flex;min-height:24px;align-items:center;font-size:12px}.login-forgot{color:var(--seal);text-decoration:none}.login-forgot:hover{text-decoration:underline;text-underline-offset:4px}.login-submit{width:100%;height:44px;margin-top:6px;background:var(--primary);color:var(--on-primary);font-size:13px;letter-spacing:.16em}.login-submit:hover{background:var(--primary-hover)}.login-submit:disabled{background:var(--paper-sunk);color:var(--faint);opacity:1}.login-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:18px;border-top:1px solid var(--line-soft);padding-top:14px;letter-spacing:.02em}.login-legal,.login-meta{color:var(--faint);font-size:12px}.login-legal{margin-top:40px;line-height:1.7;text-align:center}.login-mobile-brand{display:none}@media (max-width:1100px){.login-shell{grid-template-columns:minmax(0,1fr) minmax(420px,1fr)}.login-poem{left:42px}.poem-seal{left:214px}.dash-wrap{padding:24px 20px 36px}.stat-value{font-size:30px}}@media (max-width:900px){.login-shell{display:block}.login-art{display:none}.login-panel{min-height:100dvh;padding:24px 28px 22px}.login-mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:54px}.login-mobile-brand .login-seal{width:34px;height:34px;font-size:18px}.login-mobile-brand .login-brand-name{font-size:14px}.login-mobile-brand .login-brand-sub{font-size:10px}.login-box{margin:0 auto auto}.login-legal{margin-top:34px}.dash-grid,.dash-grid-bottom{grid-template-columns:minmax(0,1fr)}.stat-strip{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}.admin-search{width:160px}.admin-user-meta{display:none}}@media (max-width:640px){.admin-topbar{height:56px;padding:0 14px}.admin-topbar [data-slot=breadcrumb-list]{font-size:11px}.admin-search{width:32px;padding:0;justify-content:center;border-color:transparent;background:transparent}.admin-search kbd,.admin-search span{display:none}.dash-wrap{gap:18px;padding:18px 14px 28px}.page-title{font-size:28px}.stat{padding:16px}.stat-value{font-size:28px}.dash-card-body,.dash-card-head{padding-right:14px;padding-left:14px}.login-panel{padding:18px}.login-mobile-brand{margin-bottom:40px}.login-title{font-size:28px}.login-meta{font-size:10px}}.dash-card,.stat-strip{border-radius:var(--radius)}.stat-unit{margin-left:4px;color:var(--ink-muted);font-family:var(--font-sans);font-size:12px;font-weight:400}.stat-value.is-accent{color:var(--seal)}.stat-delta{color:var(--moss);font-variant-numeric:tabular-nums}.stat-delta.is-down{color:var(--seal)}.stat-foot-muted{color:var(--faint)}.dash-text-link{color:var(--seal);font-size:12px;letter-spacing:.02em;text-decoration:none;white-space:nowrap}.dash-text-link:hover{text-decoration:underline;text-underline-offset:4px}.dash-card-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line-soft);padding:12px 20px;color:var(--faint);font-size:11px}.dash-quick-hint{display:block;margin-top:3px;color:var(--faint);font-size:10px;line-height:1.5}.dash-recent-table [data-slot=table-head]{height:34px;color:var(--faint);font-size:10px;letter-spacing:.12em;white-space:nowrap}.dash-recent-table [data-slot=table-cell]{padding:11px 8px;font-size:12px}.dash-recent-table [data-slot=table-cell]:first-child,.dash-recent-table [data-slot=table-head]:first-child{padding-left:20px}.dash-recent-table [data-slot=table-cell]:last-child,.dash-recent-table [data-slot=table-head]:last-child{padding-right:20px}.dash-recent-activity{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-muted-cell{color:var(--faint);white-space:nowrap}.dash-status-dot{display:inline-flex;align-items:center;gap:6px;color:var(--ink-muted);font-size:11px;white-space:nowrap}.dash-status-dot:before{width:4px;height:4px;flex:0 0 auto;border-radius:999px;background:var(--moss);content:""}.dash-chart-card h3,.dash-chart-grid h3{font-family:var(--font-serif);font-size:18px;font-weight:500;letter-spacing:.04em}.dash-more{display:flex;flex-direction:column;gap:14px}.dash-more-head{display:flex;align-items:flex-end;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px}.dash-more-title{margin-top:5px;color:var(--ink);font-family:var(--font-serif);font-size:24px;font-weight:500;letter-spacing:.04em}.dash-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.dash-chart-grid>:last-child:nth-child(odd){grid-column:1/-1}@media (max-width:1100px){.dash-grid,.dash-grid-bottom{grid-template-columns:minmax(0,1fr)}.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}.dash-chart-grid{grid-template-columns:minmax(0,1fr)}.dash-chart-grid>:last-child:nth-child(odd){grid-column:auto}}@media (max-width:720px){.dash-wrap{gap:20px;padding:20px 16px 32px}.page-title{font-size:28px}.page-head-actions{width:100%}.page-head-actions>*{flex:1}.stat-value{font-size:30px}.stat{padding:16px}.dash-card-head{padding:16px 16px 12px}.dash-card-body{padding:14px 16px 16px}.dash-recent-table [data-slot=table-cell]:first-child,.dash-recent-table [data-slot=table-head]:first-child{padding-left:16px}.dash-recent-table [data-slot=table-cell]:last-child,.dash-recent-table [data-slot=table-head]:last-child{padding-right:16px}.dash-recent-activity{max-width:140px}.dash-more-title{font-size:20px}}.settings-wrap{display:grid;grid-template-columns:196px minmax(0,1fr);gap:28px;width:100%;max-width:1180px;margin:0 auto;padding-top:0}.settings-nav{position:sticky;top:0;align-self:start;display:flex;flex-direction:column;gap:2px}.settings-nav-title{margin-bottom:10px;color:var(--ink);font-family:var(--font-serif,"Songti SC","Noto Serif SC",serif);font-size:18px;font-weight:500;letter-spacing:.08em}.settings-nav-link{display:block;border-left:2px solid transparent;padding:8px 10px;color:var(--ink-muted);font-size:13px;text-decoration:none;transition:color .15s ease,background .15s ease}.settings-nav-link:hover{color:var(--ink);background:color-mix(in srgb,var(--paper-sunk) 55%,transparent)}.settings-nav-link.is-active{border-left-color:var(--seal);background:var(--paper-sunk);color:var(--ink)}.settings-nav-foot{display:flex;flex-direction:column;gap:4px;margin-top:22px;border-top:1px solid var(--line);padding:12px 10px 0;color:var(--faint);font-size:11px}.settings-nav-id{color:var(--ink-muted);font-family:var(--font-mono,ui-monospace,monospace);letter-spacing:.04em}.settings-main{min-width:0}.settings-section{margin-bottom:16px;border:1px solid var(--line);border-radius:4px;background:var(--paper-raised);padding:22px 24px}.settings-section-head{min-width:0}.settings-section-title{margin:0;color:var(--ink);font-family:var(--font-serif,"Songti SC","Noto Serif SC",serif);font-size:20px;font-weight:500;letter-spacing:.06em}.settings-section-desc{margin:7px 0 0;color:var(--ink-muted);font-size:12px;line-height:1.7}.settings-account{display:flex;align-items:flex-start;gap:16px;margin-top:18px;border-top:1px solid var(--line-soft);padding-top:18px}.settings-avatar{width:56px;height:56px;flex:0 0 auto;border:1px solid var(--line)}.settings-account-main{min-width:0}.settings-account-name{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--ink);font-family:var(--font-serif,"Songti SC","Noto Serif SC",serif);font-size:18px;font-weight:500;letter-spacing:.04em}.settings-account-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;margin:14px 0 0}.settings-account-meta dt{color:var(--faint);font-size:11px;letter-spacing:.06em}.settings-account-meta dd{margin:3px 0 0;color:var(--ink-soft);font-size:13px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px;border-top:1px solid var(--line-soft);padding-top:15px}.settings-row-label{color:var(--ink);font-size:13px}.settings-row-hint{margin-top:3px;color:var(--faint);font-size:12px}.settings-signout{flex:0 0 auto;border:0;background:transparent;color:var(--seal);cursor:pointer;font-size:13px;padding:6px 0}.settings-signout:hover{text-decoration:underline;text-underline-offset:4px}@media (max-width:900px){.settings-wrap{grid-template-columns:1fr;gap:16px;padding-top:10px}.settings-nav{position:static;flex-direction:row;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--line);padding-bottom:8px}.settings-nav-foot,.settings-nav-title{display:none}.settings-nav-link{border-left:0;border-bottom:2px solid transparent;padding:7px 10px}.settings-nav-link.is-active{border-bottom-color:var(--seal)}.settings-section{padding:18px 16px}.settings-account-meta{grid-template-columns:1fr}}.admin-video-frame{width:100%;max-width:1000px;margin:0 auto;padding-top:24px}.admin-video-frame video{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:4px;background:var(--ink)}.admin-video-caption{margin:12px 0 0;color:var(--faint);font-size:12px;text-align:center}.admin-empty{display:flex;min-height:320px;max-width:520px;margin:40px auto 0;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:4px;background:var(--paper-raised);padding:40px 24px;text-align:center}.admin-empty-title{color:var(--ink);font-family:var(--font-serif,"Songti SC","Noto Serif SC",serif);font-size:20px;font-weight:500;letter-spacing:.08em}.admin-empty-desc{margin:10px 0 0;color:var(--ink-muted);font-size:13px;line-height:1.8}.search-panel{flex:1 1 auto;min-width:0;width:100%;border:1px solid var(--line);border-radius:4px;background:var(--paper-raised);padding:12px}.search-panel-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.search-panel-search{display:flex;flex:1 1 340px;min-width:230px;align-items:center;gap:6px}.search-panel-fields{display:flex;flex:0 1 auto;min-width:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.search-panel-fields>*{flex:0 0 110px;width:110px!important;min-width:0}.search-panel-fields>div:has(button#date){flex-basis:220px;width:220px!important}.admin-question-main .search-panel-search{flex-basis:100%}.search-panel-actions{display:flex;margin-left:0;align-items:center;gap:8px}.search-reset{appearance:none;border:0;background:transparent;color:var(--ink-muted);font:inherit;font-size:12px;line-height:1;padding:6px 2px;cursor:pointer;letter-spacing:.02em}.search-reset:hover{color:var(--seal)}@media (max-width:720px){.search-panel{padding:10px}.search-panel-search{flex-basis:100%;min-width:0}.search-panel-fields{display:grid;flex:1 1 100%;grid-template-columns:1fr 1fr}.search-panel-fields>*,.search-panel-fields>div:has(button#date){width:100%!important;min-width:0}.search-panel-actions{grid-column:1/-1;width:100%;margin-left:0;justify-content:flex-end}}@media (min-width:901px){.admin-sidebar-trigger{display:none}}.admin-shell .stroke-blue-500{stroke:var(--primary)!important}.admin-shell .fill-blue-500{fill:var(--primary)!important}.admin-shell .bg-blue-500{background-color:var(--primary)!important}.admin-shell .text-blue-500{color:var(--primary)!important}.admin-shell .stroke-emerald-500{stroke:var(--moss)!important}.admin-shell .fill-emerald-500{fill:var(--moss)!important}.admin-shell .bg-emerald-500{background-color:var(--moss)!important}.admin-shell .text-emerald-500{color:var(--moss)!important}.admin-shell .stroke-violet-500{stroke:var(--slate)!important}.admin-shell .fill-violet-500{fill:var(--slate)!important}.admin-shell .bg-violet-500{background-color:var(--slate)!important}.admin-shell .text-violet-500{color:var(--slate)!important}.admin-shell .stroke-amber-500{stroke:var(--ochre)!important}.admin-shell .fill-amber-500{fill:var(--ochre)!important}.admin-shell .bg-amber-500{background-color:var(--ochre)!important}.admin-shell .text-amber-500{color:var(--ochre)!important}.admin-tabs{display:flex;flex-wrap:wrap;gap:0 28px;border-bottom:1px solid var(--line);margin:0 0 16px}.admin-tab{position:relative;display:inline-flex;align-items:baseline;gap:7px;border:0;padding:0 0 11px;background:transparent;color:var(--ink-muted);font-size:13px;line-height:1.4;cursor:pointer;transition:color .16s ease}.admin-tab:hover{color:var(--ink)}.admin-tab:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:transparent}.admin-tab.is-active{color:var(--ink)}.admin-tab.is-active:after{background:var(--ink)}.admin-tab-count{color:var(--faint);font-size:12px;font-variant-numeric:tabular-nums}.admin-tab.is-active .admin-tab-count{color:var(--seal)}.admin-list-card{padding:0!important;overflow:hidden}.admin-list-card .admin-list-filter{padding:16px 16px 12px}.admin-list-card .search-panel{border:0;background:transparent;padding:0}.admin-list-card .admin-list-table{border-top:1px solid var(--line);overflow-x:auto}.page-sub .sep{margin:0 6px}@media (max-width:640px){.admin-tabs{gap:0 20px;overflow-x:auto}.admin-tab{flex:0 0 auto}.admin-list-card .admin-list-filter{padding:12px 12px 8px}}.admin-question-grid{display:grid;grid-template-columns:minmax(0,1fr) 372px;gap:16px;align-items:start}.admin-question-main{min-width:0}.admin-question-aside{position:sticky;top:16px;min-width:0}.admin-preview-card{padding:0!important;overflow:hidden}.admin-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--line-soft)}.admin-preview-kicker{color:var(--faint);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.admin-preview-title{margin-top:5px;font-family:var(--font-serif);font-size:20px;font-weight:500;letter-spacing:.04em}.admin-preview-id{color:var(--faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.admin-preview-body{max-height:calc(100vh - 380px);overflow-y:auto;padding:18px 20px}.admin-preview-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-top:1px solid var(--line-soft)}.admin-preview-ref{color:var(--faint);font-size:12px}.admin-preview-empty{padding:40px 20px!important;color:var(--ink-muted);text-align:center}@media (max-width:1180px){.admin-question-grid{grid-template-columns:1fr}.admin-question-aside{position:static}.admin-preview-body{max-height:none}}.admin-shell tr[data-state=selected]{background:#f8f4ec;box-shadow:inset 2px 0 0 var(--seal)}.admin-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 306px;gap:16px;align-items:start}.admin-editor-main{padding:24px!important;min-width:0}.admin-editor-main form{max-width:none!important;margin:0!important}.admin-editor-aside{position:sticky;top:16px;min-width:0}.admin-side-card{padding:0!important;overflow:hidden}.admin-side-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:18px 18px 14px;border-bottom:1px solid var(--line-soft)}.admin-side-title{margin-top:5px;font-family:var(--font-serif);font-size:19px;font-weight:500;letter-spacing:.04em}.admin-side-state{display:inline-flex;align-items:center;height:22px;padding:0 8px;border:1px solid var(--line);border-radius:2px;color:var(--ink-muted);font-size:11px}.admin-side-body{display:flex;flex-direction:column;gap:16px;padding:16px 18px 18px}.admin-side-field{display:flex;flex-direction:column;gap:7px}.admin-side-static{color:var(--ink-muted);font-size:13px}.admin-side-note{padding-top:14px;border-top:1px solid var(--line-soft);color:var(--faint);font-size:11px;line-height:1.7}@media (max-width:1100px){.admin-editor-grid{grid-template-columns:1fr}.admin-editor-aside{position:static}}@media (max-width:640px){.admin-editor-main{padding:14px!important}}.admin-editor-main [class*="bg-muted/20"]{background:var(--paper-sunk)!important;border-color:var(--line-soft)!important}.admin-shell [data-slot=dialog-content],[data-slot=dialog-content]{background:var(--paper-raised)!important;border-color:var(--line)!important;border-radius:var(--radius)!important;box-shadow:none!important}[data-slot=dialog-title]{font-family:var(--font-serif);font-weight:500;letter-spacing:.03em}[data-slot=dialog-content] [class~="bg-primary/10"],[data-slot=dialog-content] [class~="bg-primary/5"]{background:var(--paper-sunk)!important}[data-slot=dialog-content] [class*=text-destructive]{color:var(--seal)!important}.admin-activity-head{align-items:flex-start}.page-head-actions{display:flex;align-items:center;gap:8px}.admin-activity-layout{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:16px;align-items:start}.admin-activity-main{min-width:0}.admin-activity-aside{position:sticky;top:16px;margin-top:52px;min-width:0}.admin-overview-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:11px;border-bottom:1px solid var(--line-soft);font-size:12px}.admin-overview-row:last-of-type{border-bottom:0;padding-bottom:0}.admin-overview-row span{color:var(--faint)}.admin-overview-row b{max-width:65%;color:var(--ink);font-weight:400;text-align:right;word-break:break-word}@media (max-width:1280px){.admin-activity-layout{grid-template-columns:1fr}.admin-activity-aside{position:static;margin-top:0}}@media (max-width:820px){.admin-activity-main form{grid-template-columns:1fr!important}.admin-activity-main form>*{grid-column:auto!important}}.admin-review-grid{display:grid;grid-template-columns:minmax(0,1fr) 348px;gap:20px;align-items:start}.admin-review-aside{position:sticky;top:16px}.admin-review-card{padding:20px}.admin-review-title{margin:6px 0 4px;font-family:var(--font-serif);font-size:21px;font-weight:500;letter-spacing:.03em}.admin-review-meta{color:var(--ink-muted);font-size:12px}.admin-review-scores{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:18px 0;padding:14px;border:1px solid var(--line-soft);border-radius:2px;background:var(--paper-sunk)}.admin-review-scores div{display:grid;gap:4px}.admin-review-block span,.admin-review-label,.admin-review-scores span{color:var(--ink-muted);font-size:12px}.admin-review-scores b{font-family:var(--font-serif);font-size:28px;font-weight:500;line-height:1.1;color:var(--seal)}.admin-review-label{padding-top:14px;border-top:1px solid var(--line-soft);letter-spacing:.06em}.admin-review-reason{margin:6px 0 0;font-size:13px;line-height:1.75}.admin-review-block{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft)}.admin-review-block p{margin-top:4px;font-size:13px}.admin-review-actions{margin-top:18px}.admin-review-actions .btn,.admin-review-actions button{width:100%}.admin-review-empty{padding:32px 20px;color:var(--ink-muted);text-align:center;font-size:13px}@media (max-width:1180px){.admin-review-grid{grid-template-columns:1fr}.admin-review-aside{position:static}}[data-slot=dialog-content] [class*=bg-muted]{background:var(--paper-sunk)!important}[data-slot=dialog-content] .text-destructive{color:var(--seal)!important}.admin-shell input[type=file]{width:100%;color:var(--ink-muted);font-size:12px}.admin-shell input[type=file]::file-selector-button{margin-right:12px;padding:8px 14px;border:1px solid var(--line);border-radius:2px;background:var(--paper-raised);color:var(--ink);font:inherit;cursor:pointer;transition:background-color .18s var(--ease)}.admin-shell input[type=file]::file-selector-button:hover{background:var(--paper-sunk)}.p-table-action{position:sticky;right:0;background:var(--card);border-left:1px solid var(--line-soft);padding-left:16px;padding-right:14px;width:0;white-space:nowrap}.inline-actions{justify-content:flex-end;gap:3px}.inline-actions,.row-action{display:inline-flex;align-items:center;white-space:nowrap}.row-action{justify-content:center;min-height:26px;padding:2px 6px;border-radius:2px;color:var(--ink-soft);font-size:12px;line-height:1.4;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--ink-muted) 52%,transparent);text-underline-offset:3px;text-decoration-thickness:1px;transition:background .16s ease,color .16s ease}.row-action:hover:not(:disabled){background:var(--paper-sunk);color:var(--primary);text-decoration-color:var(--seal)}.p-table-action button:not(.row-action-more){text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--ink-muted) 52%,transparent);text-underline-offset:3px;text-decoration-thickness:1px}.p-table-action button:not(.row-action-more):hover{text-decoration-color:var(--seal)}.row-action:disabled{color:var(--faint);cursor:not-allowed}.row-action-more{color:var(--faint);padding-inline:4px}.row-action-more:hover{color:var(--primary)}tbody tr:hover .p-table-action,th.p-table-action{background:var(--paper-sunk)}[data-slot=card] .search-panel{border:0;background:transparent;padding:0}[data-slot=avatar]{background:var(--paper-sunk);border:1px solid var(--line-soft)}[data-slot=avatar-fallback]{color:var(--primary);font-family:var(--font-serif);font-size:12px;font-weight:500;letter-spacing:.02em}[data-slot=avatar-fallback],[data-slot=avatar-image]{background:var(--paper-sunk)}.p-table-scroll{overflow:visible}@media (min-width:901px){[data-slot=table-container]{overflow-x:visible}.admin-list-card,.admin-list-table{overflow:visible!important}}.admin-shell table{border-collapse:separate;border-spacing:0}.admin-shell table thead th{position:sticky;top:0;z-index:3;background:var(--paper-sunk);box-shadow:inset 0 -1px 0 var(--line)}.admin-shell table thead th.p-table-action{z-index:4}