@charset "UTF-8";
/* 玄枢 v5 · 2026-10-21. The supplied XUANSHU night-ink scene is the station backdrop; behavior stays with the original app. */
@import url('/__dsh_theme/fonts/fonts.css?v=3');
:root{--xs-gold:#C8A45C;--xs-cinnabar:#B33A3A;--xs-jade:#3E8E7E;--xs-stone:#3B6E8F}
:root,html[data-theme-preset],html [data-theme-preset]{
 --radius:2px;--font-ui-sans:"Xuanshu WenKai","LXGW WenKai",KaiTi,STKaiti,"Songti SC",SimSun,serif;--font-body:var(--font-ui-sans);
 --background:#F2ECE0;--foreground:#25211B;--card:#FCF9F3;--card-foreground:#25211B;--popover:#FCF9F3;--popover-foreground:#25211B;
 --primary:#80601C;--primary-foreground:#FFFBF3;--secondary:#E8E0CE;--secondary-foreground:#3A3226;
 --muted:#EBE4D5;--muted-foreground:#6B6153;--accent:#E3D6B4;--accent-foreground:#3A3226;
 --border:#D3C8B2;--input:#BEB19A;--ring:#8A6A22;--destructive:#A8322F;--destructive-foreground:#FFF6F4;
 --success:#2F7365;--success-foreground:#F1FBF7;--warning:#A53931;--warning-foreground:#FFF9F2;--info:#33566E;--info-foreground:#F2F8FF;
 --chart-1:#80601C;--chart-2:#A8322F;--chart-3:#2F7365;--chart-4:#33566E;--chart-5:#6E4B6E;
 --sidebar:#EFE8D8;--sidebar-background:#EFE8D8;--sidebar-foreground:#2A2620;--sidebar-primary:#80601C;--sidebar-primary-foreground:#FFF9EC;
 --sidebar-accent:#E4D9BF;--sidebar-accent-foreground:#2A2620;--sidebar-border:#D3C8B2;--sidebar-ring:#8A6A22;
 --xs-scene:url('/__dsh_theme/art/v5-scene-light.webp');--xs-scene-mobile:url('/__dsh_theme/art/v5-scene-light-portrait.webp');
 --xs-scene-phoenix:url('/__dsh_theme/art/v6-phoenix-scene-light.webp');--xs-scene-phoenix-mobile:url('/__dsh_theme/art/v6-phoenix-scene-light-portrait.webp');
 --xs-scene-opacity:.9;--xs-panel:color-mix(in srgb,var(--card) 95%,transparent);--xs-cinnabar-label:#A53931;--xs-jade-label:#2F7365;
}
html.dark,html.dark[data-theme-preset],html.dark [data-theme-preset]{
 --background:#0B0C0D;--foreground:#EDE6D7;--card:#131417;--card-foreground:#EDE6D7;--popover:#17191C;--popover-foreground:#EDE6D7;
 --primary:#C8A45C;--primary-foreground:#12100C;--secondary:#1D1F22;--secondary-foreground:#DFD6C2;
 --muted:#191B1E;--muted-foreground:#AAA08E;--accent:#292319;--accent-foreground:#EDE6D7;
 --border:#343234;--input:#4B463D;--ring:#C8A45C;--destructive:#C3514C;--destructive-foreground:#FFFFFF;
 --success:#57AA96;--success-foreground:#091713;--warning:#D77C68;--warning-foreground:#1D100C;--info:#76ACC7;--info-foreground:#0A151C;
 --chart-1:#C8A45C;--chart-2:#D77C68;--chart-3:#57AA96;--chart-4:#76ACC7;--chart-5:#A88EBA;
 --sidebar:#0E0F11;--sidebar-background:#0E0F11;--sidebar-foreground:#D9D1BE;--sidebar-primary:#C8A45C;--sidebar-primary-foreground:#12100C;
 --sidebar-accent:#20201E;--sidebar-accent-foreground:#EDE6D7;--sidebar-border:#343234;--sidebar-ring:#C8A45C;
 --xs-scene:url('/__dsh_theme/art/v5-scene-dark.webp');--xs-scene-mobile:url('/__dsh_theme/art/v5-scene-dark-portrait.webp');
 --xs-scene-phoenix:url('/__dsh_theme/art/v6-phoenix-scene-dark.webp');--xs-scene-phoenix-mobile:url('/__dsh_theme/art/v6-phoenix-scene-dark-portrait.webp');
 --xs-scene-opacity:1;--xs-panel:color-mix(in srgb,var(--card) 90%,transparent);--xs-cinnabar-label:#E18C7A;--xs-jade-label:#69B8A3;
}
html[data-theme-radius]{--radius:2px}
html{background:var(--background);color:var(--foreground);scroll-behavior:smooth}
body{background:var(--background);color:var(--foreground);font-family:var(--font-body);isolation:isolate}
/* Only verified viewport wrappers yield to the decoration. Dialogs retain opaque surfaces. */
#root{position:relative;z-index:1;background:transparent}
[data-xs-surface="true"]{background-color:transparent!important}
#xs-skin{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:var(--background)}
#xs-skin::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--background) 66%,transparent) 0,color-mix(in srgb,var(--background) 24%,transparent) 30%,transparent 58%),linear-gradient(0deg,color-mix(in srgb,var(--background) 38%,transparent),transparent 34%)}
/* Full-bleed ink scenes supplied by Linjiangxian; they drift only very slowly. */
.xs-clouds{position:absolute;inset:-2%;background:var(--xs-scene) center top/cover no-repeat;opacity:var(--xs-scene-opacity);animation:xs-cloud 168s ease-in-out infinite alternate}
html[data-xs-page="pricing"] .xs-clouds,html[data-xs-page="models"] .xs-clouds{background-image:var(--xs-scene-phoenix)}
#xs-particles{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;opacity:.9}
html:not(.dark) #xs-particles{mix-blend-mode:multiply;opacity:.5}
.xs-motes{display:none}
/* The station scene already carries the dragon, so no second creature is layered on top. */
.xs-beast{display:none!important}
.xs-band{position:absolute;bottom:-16px;left:-5%;width:110%;height:100px;background:url('/__dsh_theme/motifs/wave.gold.svg') repeat-x bottom;background-size:680px 140px;opacity:.035;animation:xs-wave 46s ease-in-out infinite alternate}
#xs-title{position:fixed;z-index:2;pointer-events:none;right:8vw;bottom:16vh;display:flex;align-items:center;gap:15px;color:var(--primary)}
#xs-title span{writing-mode:vertical-rl;font-size:clamp(40px,4.5vw,68px);letter-spacing:.28em;line-height:1.4}
#xs-title small{writing-mode:vertical-rl;font:10px/1.6 Georgia,serif;letter-spacing:.46em;opacity:.7}
[data-xs-auth-panel]{background:color-mix(in srgb,var(--card) 96%,transparent);border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));border-top:2px solid var(--primary);border-radius:2px;padding:clamp(24px,3vw,40px);box-shadow:0 24px 80px #00000012}
@media(min-width:1100px){html[data-xs-page="login"] [data-xs-auth-panel],html[data-xs-page="register"] [data-xs-auth-panel]{transform:translateX(-13vw)}}
/* Semantic component surfaces: no blanket bg-background override. */
[data-slot="card"],[data-slot="dialog-content"],[data-slot="alert-dialog-content"],[data-slot="popover-content"],[data-slot="dropdown-menu-content"],[data-slot="sheet-content"]{border-color:var(--border);border-radius:2px;background-color:var(--card);color:var(--card-foreground)}
[data-slot="popover-content"],[data-slot="dropdown-menu-content"],[data-slot="dialog-content"],[data-slot="alert-dialog-content"],[data-slot="sheet-content"]{background-color:var(--popover)!important;color:var(--popover-foreground)}
.rounded-lg,.rounded-xl,.rounded-2xl,.rounded-md{border-radius:2px}
[data-slot="card"],main .bg-card{background-color:var(--xs-panel);border-color:color-mix(in srgb,var(--primary) 25%,var(--border));box-shadow:0 1px 0 color-mix(in srgb,var(--primary) 9%,transparent)}
[data-xs-overview-lead="true"]{display:flex;flex-direction:column;justify-content:center;min-height:236px;align-content:center;padding-top:20px;padding-bottom:32px;max-width:100%}
[data-xs-overview-lead="true"] :is(h1,h2){font-size:clamp(32px,3.4vw,52px);font-weight:500;letter-spacing:.05em;line-height:1.3}
html[data-xs-page="pricing"] main>div>div:first-child{position:relative}
html[data-xs-page="pricing"] main h1{font-size:clamp(30px,3vw,44px)}
button,[data-slot="button"],input,textarea,select{transition:background-color 300ms ease,border-color 300ms ease,color 300ms ease,box-shadow 300ms ease}
button,[data-slot="button"]{border-radius:2px}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--ring);outline-offset:3px}
button[class~="bg-primary"]{position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff16}
button[class~="bg-primary"]::after{content:"";position:absolute;inset:0;pointer-events:none;transform:translateX(-180%) skewX(-22deg);background:linear-gradient(90deg,transparent,#fff2,transparent);animation:xs-sheen 9s ease-in-out infinite}
input:not([type="checkbox"]):not([type="radio"]),textarea,select{caret-color:var(--primary);border-radius:2px}
code,pre,kbd,samp,.font-mono{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;letter-spacing:normal}
.text-destructive{color:var(--xs-cinnabar-label)}
a[data-xs-brand]{letter-spacing:.12em}
a[data-xs-brand] img{width:30px;height:30px;object-fit:contain}
header{border-bottom-color:color-mix(in srgb,var(--primary) 22%,var(--border))}
[data-slot="sidebar"]{border-color:var(--sidebar-border)}
[data-slot="sidebar"] [aria-current="page"],[data-slot="sidebar-menu-button"][data-active="true"]{border-inline-start:2px solid var(--primary)}
[data-slot="sidebar-menu-button"] svg{stroke-width:1.65}
[data-xs-tone="cinnabar"],[data-group-tone="orange"]{color:var(--xs-cinnabar-label)!important;border-color:color-mix(in srgb,var(--xs-cinnabar-label) 32%,transparent)!important;background-color:color-mix(in srgb,var(--xs-cinnabar-label) 10%,transparent)!important}
[data-xs-tone="jade"],[data-group-tone="purple"],[data-group-tone="jade"]{color:var(--xs-jade-label)!important;border-color:color-mix(in srgb,var(--xs-jade-label) 32%,transparent)!important;background-color:color-mix(in srgb,var(--xs-jade-label) 10%,transparent)!important}
/* Existing dashboard status overlay keeps its own data-fetch script. */
#dsh-gs-overlay div[style*="border-radius: 0.75rem"]{border-radius:2px!important}
#dsh-gs-overlay [style*="color: rgb(249, 156, 0)"]{color:var(--xs-cinnabar-label)!important}
#dsh-gs-overlay [style*="color: rgb(167, 139, 250)"]{color:var(--xs-jade-label)!important}
#dsh-gs-overlay [style*="color: rgb(34, 197, 94)"]{color:var(--xs-jade-label)!important}
#dsh-gs-overlay [style*="color: rgb(239, 68, 68)"]{color:var(--xs-cinnabar-label)!important}
/* Six traditional patterns have discrete roles, without changing component content. */
footer{position:relative;border-top:1px solid var(--border)}
footer::before{content:"";position:absolute;inset:0 0 auto;height:8px;background:url('/__dsh_theme/motifs/fret.gold.svg') repeat-x center/120px auto;opacity:.14;pointer-events:none}
[data-slot="sidebar-footer"]{position:relative}
[data-slot="sidebar-footer"]::before{content:"";position:absolute;inset:0;pointer-events:none;background:url('/__dsh_theme/motifs/vine.gold.svg') no-repeat right bottom/90px 130px;opacity:.065}
[data-slot="empty"]::before{content:"";display:block;width:32px;height:32px;margin:0 auto 12px;background:url('/__dsh_theme/motifs/rosette.gold.svg') center/contain no-repeat;opacity:.3}
table{font-variant-numeric:tabular-nums}thead{border-bottom:1px solid color-mix(in srgb,var(--primary) 35%,var(--border))}tbody tr:not([data-state="selected"]):hover{background-color:color-mix(in srgb,var(--primary) 4%,transparent)}
::selection{background:color-mix(in srgb,var(--primary) 28%,var(--background));color:var(--foreground)}
#xs-bloom{position:fixed;inset:0;z-index:80;pointer-events:none;background:radial-gradient(ellipse at 70% 48%,color-mix(in srgb,var(--background) 80%,transparent) 0,transparent 70%);animation:xs-intro 1.5s ease-out both}
@keyframes xs-cloud{to{transform:translate3d(-1.5%,1%,0) scale(1.015)}}
@keyframes xs-motes{to{transform:translate3d(-12px,-30px,0);opacity:.16}}
@keyframes xs-breathe{to{transform:scale(1.025) translate3d(0,-6px,0)}}
@keyframes xs-wave{to{transform:translate3d(3%,7px,0)}}
@keyframes xs-sheen{0%,80%{transform:translateX(-180%) skewX(-22deg)}100%{transform:translateX(180%) skewX(-22deg)}}
@keyframes xs-intro{from{opacity:1}to{opacity:0}}
@media(max-width:760px){
 #xs-title{display:none}
 /* Portrait crop keeps the dragon head and moon inside a phone-width canvas. */
 .xs-clouds{background-image:var(--xs-scene-mobile);background-position:center top}
 html[data-xs-page="pricing"] .xs-clouds,html[data-xs-page="models"] .xs-clouds{background-image:var(--xs-scene-phoenix-mobile)}
 /* Vertical scrim on phones: the left wash would dim the dragon head. */
 #xs-skin::after{background:linear-gradient(180deg,color-mix(in srgb,var(--background) 22%,transparent),transparent 20%),linear-gradient(0deg,color-mix(in srgb,var(--background) 50%,transparent),transparent 30%)}
 [data-xs-overview-lead="true"]{min-height:188px;padding-top:30px;padding-bottom:30px;max-width:90%}
 [data-xs-overview-lead="true"] :is(h1,h2){font-size:32px}
 .xs-band{height:65px;opacity:.025}
 [data-xs-auth-panel]{padding:24px 20px;max-width:calc(100vw - 32px);box-sizing:border-box;background:color-mix(in srgb,var(--card) 96%,transparent)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}#xs-bloom{display:none}.xs-clouds,.xs-motes,.xs-beast,.xs-band{animation:none!important}}
@media(forced-colors:active){#xs-skin,#xs-title,#xs-bloom{display:none}[data-xs-auth-panel]{background:Canvas;color:CanvasText;border:1px solid CanvasText}}
