@font-face{font-family:"Xiaoyang Display SC";src:url("../fonts/xiaoyang-display-sc.woff2") format("woff2");font-display:swap;font-style:normal;font-weight:800;}:root{--xy-paper-base:#f7f5ef;--xy-ink-base:#151719;--xy-surface-base:#ffffff;--xy-line-base:#d9ddd8;--xy-line-strong-base:#b9c0bd;--xy-muted-base:#697278;--xy-sky-ink-base:#235f87;--xy-sky:#78bdf2;--xy-signal:#ffd928;--xy-risk-base:#ff6b57;--xy-done-base:#2f7d5c;--xy-touch-min:44px;--xy-radius-control:12px;--xy-radius-card:18px;--xy-shadow-card:0 14px 36px rgba(35,49,58,0.07);--xy-font-ui:"Microsoft YaHei UI","PingFang SC","Microsoft YaHei",sans-serif;--xy-font-display:"Xiaoyang Display SC","Microsoft YaHei UI","PingFang SC",sans-serif;--xy-font-data:"Bahnschrift","DIN Alternate","Segoe UI",sans-serif;--xy-motion-fast:140ms cubic-bezier(0.16,1,0.3,1);}body[data-theme="warm"]{--xy-paper:#f7f4ec;--xy-surface:#ffffff;--xy-surface-control:#fffdf8;--xy-surface-selected:#e7eef3;--xy-ink:#24313a;--xy-body:#47545c;--xy-muted:#657077;--xy-on-signal:#151719;--xy-on-light:#24313a;--xy-line:#d7d0c2;--xy-line-strong:#bfb6a6;--xy-signal-ink:var(--xy-on-signal);--xy-sky-ink:#2c5f87;--xy-risk:#a12f45;--xy-done:#16653b;}body[data-theme="dark"]{--xy-paper:#0e141c;--xy-surface:#182331;--xy-surface-control:#202c3a;--xy-surface-selected:#243547;--xy-ink:#f4f7fb;--xy-body:#cbd5e1;--xy-muted:#a4b3c4;--xy-on-signal:#151719;--xy-on-light:#24313a;--xy-line:#344355;--xy-line-strong:#52657a;--xy-signal-ink:var(--xy-on-signal);--xy-sky-ink:#78bdf2;--xy-risk:#ff9b90;--xy-done:#7dd3a4;}body{font-family:var(--xy-font-ui);background:var(--bg-primary);color:var(--text-primary);}.app-container{background:var(--bg-primary);}.sidebar{width:232px;min-width:232px;padding:24px 16px 20px;border-right:1px solid var(--border-glass);background:var(--bg-secondary);box-shadow:none;}.sidebar::after{display:none;}.sidebar-header{min-height:58px;padding:0 8px;}.brand-lockup{display:flex;width:176px;height:auto;min-width:0;align-items:center;gap:10px;color:inherit;text-decoration:none;}.brand-lockup img{width:40px;height:40px;flex:0 0 40px;}.brand-copy{display:grid;min-width:0;gap:2px;}.brand-title{color:var(--xy-ink);font-size:14px;font-weight:800;line-height:1.25;}.brand-subtitle{overflow:hidden;color:var(--xy-muted);font-size:9px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap;}.sidebar-nav{display:grid;align-content:start;grid-auto-rows:minmax(48px,max-content);gap:6px;padding-top:20px;}.nav-section-label{padding:0 12px 6px;color:var(--text-muted);font-size:12px;letter-spacing:0;}.nav-item{min-height:48px;padding:10px 12px;border:1px solid transparent;border-radius:14px;color:var(--text-secondary);background:transparent;box-shadow:none;}.nav-item::before{display:none;}.nav-item:hover{border-color:var(--border-glass);color:var(--text-primary);background:var(--bg-tertiary);}.nav-item.active{border-color:#ebc600;color:var(--xy-signal-ink);background:var(--xy-signal);box-shadow:none;}.nav-item-icon{width:21px;height:21px;stroke-width:1.65;}.nav-item-badge{color:var(--xy-signal-ink);background:rgba(255,255,255,0.58);}.icon-inline{width:1.1em;height:1.1em;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-0.14em;}.sidebar-local-data .icon-inline,.mobile-menu-btn .icon-inline{width:18px;height:18px;}.cal-action-group .btn .icon-inline{width:15px;height:15px;margin-right:4px;}.cal-legend-item .icon-inline,.cal-notice .icon-inline{width:14px;height:14px;}.sidebar-local-data{border:1px solid var(--status-success-border);border-radius:14px;color:var(--status-success-fg);background:var(--status-success-bg);}.main-content{min-width:0;background:var(--bg-primary);}.page-header{min-height:76px;padding:12px clamp(20px,3vw,42px);border-bottom:1px solid var(--border-glass);background:color-mix(in srgb,var(--bg-primary) 97%,transparent);box-shadow:none;}.page-header h1{color:var(--text-primary);font-size:24px;font-weight:800;letter-spacing:-0.02em;}.page-header p{max-width:55ch;color:var(--text-muted);}.page-content{padding:26px clamp(20px,3vw,42px) 48px;background:var(--bg-primary);}body[data-current-page="dashboard"] .page-header{display:none;}body[data-current-page="dashboard"] .page-content{padding-top:30px;}.theme-switcher-button,.mobile-menu-btn{min-height:var(--xy-touch-min);border-color:var(--border-glass);border-radius:var(--xy-radius-control);color:var(--text-primary);background:var(--bg-card);}.xy-button{display:inline-flex;min-height:var(--xy-touch-min);align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:1px solid var(--xy-signal-ink);border-radius:var(--xy-radius-control);background:var(--xy-signal);color:var(--xy-signal-ink);font:700 14px/1.35 var(--xy-font-ui);cursor:pointer;transition:transform var(--xy-motion-fast),background-color var(--xy-motion-fast);}.xy-button:active{transform:translateY(1px);}:where(button,a,input,select,textarea):focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px;}:root{--xy-theme-transition-duration:1080ms;--xy-theme-transition-ease:cubic-bezier(0.2,0.72,0.2,1);}body.theme-changing :is(.sidebar,.main-content,.page-header,.page-section,.mobile-bottom-nav){transition:background-color 360ms ease,color 360ms ease,border-color 360ms ease;}.theme-sky-transition{position:fixed;inset:0;z-index:15;overflow:hidden;opacity:0;pointer-events:none;}.theme-sky-transition > span{position:absolute;display:block;pointer-events:none;}.theme-sky-transition__daylight{inset:0;background:linear-gradient(180deg,rgba(74,119,178,0.34),rgba(247,179,92,0.24) 58%,transparent 86%);}.theme-sky-transition__horizon{right:-12vw;bottom:-38vh;width:88vw;height:70vh;border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,194,100,0.48),rgba(255,143,78,0.14) 44%,transparent 72%);filter:blur(10px);}.theme-sky-transition__solar{top:15vh;right:clamp(42px,9vw,138px);width:clamp(28px,3.2vw,48px);aspect-ratio:1;border-radius:50%;background:#fff2c3;box-shadow:0 0 30px 8px rgba(255,209,120,0.48),0 0 90px 30px rgba(255,156,81,0.16);}.theme-sky-transition__stars{inset:0;opacity:0;background-image:radial-gradient(circle at 16% 21%,rgba(255,255,255,0.82) 0 1px,transparent 1.8px),radial-gradient(circle at 31% 13%,rgba(255,255,255,0.56) 0 1px,transparent 1.7px),radial-gradient(circle at 56% 25%,rgba(255,255,255,0.7) 0 1px,transparent 1.8px),radial-gradient(circle at 76% 16%,rgba(255,255,255,0.66) 0 1px,transparent 1.7px),radial-gradient(circle at 88% 31%,rgba(255,255,255,0.76) 0 1px,transparent 1.8px);}html[data-theme-transition] .theme-sky-transition{opacity:1;animation:xy-theme-atmosphere var(--xy-theme-transition-duration) var(--xy-theme-transition-ease) both;}html[data-theme-transition] .theme-sky-transition__daylight{view-transition-name:xy-theme-daylight;}html[data-theme-transition] .theme-sky-transition__horizon{view-transition-name:xy-theme-horizon;animation:xy-theme-horizon-glow var(--xy-theme-transition-duration) var(--xy-theme-transition-ease) both;}html[data-theme-transition] .theme-sky-transition__solar{view-transition-name:xy-theme-solar;}html[data-theme-transition="sunset"] .theme-sky-transition__solar{animation:xy-theme-sunset-solar var(--xy-theme-transition-duration) var(--xy-theme-transition-ease) both;}html[data-theme-transition="sunset"] .theme-sky-transition__stars{animation:xy-theme-stars-in var(--xy-theme-transition-duration) var(--xy-theme-transition-ease) both;}html[data-theme-transition="sunrise"] .theme-sky-transition__daylight{background:linear-gradient(180deg,rgba(73,102,151,0.3),rgba(255,192,110,0.3) 58%,transparent 86%);}html[data-theme-transition="sunrise"] .theme-sky-transition__solar{animation:xy-theme-sunrise-solar var(--xy-theme-transition-duration) var(--xy-theme-transition-ease) both;}::view-transition-group(root),::view-transition-group(xy-theme-daylight),::view-transition-group(xy-theme-horizon),::view-transition-group(xy-theme-solar){animation-duration:var(--xy-theme-transition-duration);animation-timing-function:var(--xy-theme-transition-ease);}::view-transition-old(root){animation:xy-theme-root-out var(--xy-theme-transition-duration) var(--xy-theme-transition-ease) both;}::view-transition-new(root){animation:xy-theme-root-in var(--xy-theme-transition-duration) var(--xy-theme-transition-ease) both;}@keyframes xy-theme-atmosphere{0%,100%{opacity:0;}18%,74%{opacity:1;}}@keyframes xy-theme-root-out{0%,24%{opacity:1;}100%{opacity:0;}}@keyframes xy-theme-root-in{0%,18%{opacity:0;}100%{opacity:1;}}@keyframes xy-theme-sunset-solar{0%{opacity:0;transform:translate3d(0,-18px,0) scale(0.9);}16%{opacity:1;}72%{opacity:0.86;}100%{opacity:0;transform:translate3d(-2vw,40vh,0) scale(0.76);}}@keyframes xy-theme-sunrise-solar{0%{opacity:0;transform:translate3d(-2vw,40vh,0) scale(0.76);}26%{opacity:0.9;}78%{opacity:1;}100%{opacity:0;transform:translate3d(0,-18px,0) scale(0.9);}}@keyframes xy-theme-horizon-glow{0%,100%{opacity:0;transform:scale(0.88);}36%,66%{opacity:1;transform:scale(1);}}@keyframes xy-theme-stars-in{0%,42%{opacity:0;}76%{opacity:0.72;}100%{opacity:0;}}@media (max-width:768px){.theme-sky-transition__solar{top:12vh;right:28px;width:32px;}.theme-sky-transition__horizon{right:-38vw;bottom:-28vh;width:138vw;height:62vh;}.page-header{min-height:68px;padding:10px 14px;}.page-header p,.theme-switcher{display:none;}.page-content{padding:16px 14px calc(112px + env(safe-area-inset-bottom));}body[data-current-page="dashboard"] .page-content{padding:14px 14px calc(148px + env(safe-area-inset-bottom));}.mobile-bottom-nav{min-height:68px;padding:6px 10px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--border-glass);background:var(--bg-secondary);box-shadow:0 -12px 32px color-mix(in srgb,var(--bg-primary) 42%,transparent);}.mobile-nav-item{min-height:52px;border-radius:12px;color:var(--text-secondary);}.mobile-nav-item.active{color:var(--xy-signal-ink);background:color-mix(in srgb,var(--xy-signal) 36%,transparent);}}@media (prefers-reduced-motion:reduce){body.theme-changing :is(.sidebar,.main-content,.page-header,.page-section,.mobile-bottom-nav){transition-duration:0.01ms !important;}.theme-sky-transition{display:none !important;}::view-transition-group(root),::view-transition-group(xy-theme-daylight),::view-transition-group(xy-theme-horizon),::view-transition-group(xy-theme-solar),::view-transition-old(root),::view-transition-new(root){animation-duration:0.01ms !important;}*,*::before,*::after{scroll-behavior:auto !important;transition-duration:0.01ms !important;animation-duration:0.01ms !important;animation-iteration-count:1 !important;}}