/* Dimensoul UI System 1.0 — canonical source: dimensoul/design. */
:root,html[data-ds-theme="night"],[data-ds-preview="night"]{
 --ds-bg:#0b1220;--ds-surface:#131f31;--ds-surface-raised:#1b2b42;--ds-surface-soft:#101a2a;--ds-field:#0b1626;
 --ds-text:#edf3ff;--ds-muted:#b0bed3;--ds-subtle:#93a6c2;--ds-accent:#77dbe8;--ds-accent-ink:#08202b;--ds-accent-strong:#b0f1f6;--ds-accent-soft:#173746;--ds-secondary:#c5b3ff;
 --ds-border:#586f8c;--ds-divider:#2b3c54;--ds-focus:#b0f1f6;
 --ds-success:#8be2ba;--ds-success-soft:#173b31;--ds-warning:#f2cc83;--ds-warning-soft:#3e3220;--ds-danger:#ffa6b4;--ds-danger-soft:#412630;--ds-info:#a2c9ff;--ds-info-soft:#203450;
 --ds-shadow:0 10px 28px rgb(0 0 0 / 24%);color-scheme:dark;
}
html[data-ds-theme="violet"],[data-ds-preview="violet"]{
 --ds-bg:#16101f;--ds-surface:#21182e;--ds-surface-raised:#30223f;--ds-surface-soft:#1c1427;--ds-field:#180f23;
 --ds-text:#f7efff;--ds-muted:#c9b8d8;--ds-subtle:#b49cc8;--ds-accent:#f3a4d5;--ds-accent-ink:#32132e;--ds-accent-strong:#ffd4ed;--ds-accent-soft:#48223f;--ds-secondary:#b4b6ff;
 --ds-border:#88689a;--ds-divider:#473253;--ds-focus:#ffd4ed;
 --ds-success:#9ce4c2;--ds-success-soft:#203b35;--ds-warning:#f5cf8c;--ds-warning-soft:#463524;--ds-danger:#ffa9b2;--ds-danger-soft:#482630;--ds-info:#b8caff;--ds-info-soft:#2b3150;
 --ds-shadow:0 10px 28px rgb(0 0 0 / 25%);color-scheme:dark;
}
html[data-ds-theme="day"],[data-ds-preview="day"]{
 --ds-bg:#eaf0f8;--ds-surface:#ffffff;--ds-surface-raised:#f4f7fc;--ds-surface-soft:#e2eaf5;--ds-field:#ffffff;
 --ds-text:#182a44;--ds-muted:#455b78;--ds-subtle:#536b87;--ds-accent:#175d82;--ds-accent-ink:#ffffff;--ds-accent-strong:#134a69;--ds-accent-soft:#dcecf6;--ds-secondary:#69439b;
 --ds-border:#8196b0;--ds-divider:#bfccdd;--ds-focus:#175d82;
 --ds-success:#246849;--ds-success-soft:#def1e5;--ds-warning:#78500d;--ds-warning-soft:#fff0cc;--ds-danger:#a32945;--ds-danger-soft:#fbe4e9;--ds-info:#265c9a;--ds-info-soft:#e1edfc;
 --ds-shadow:0 8px 24px rgb(33 57 89 / 10%);color-scheme:light;
}
:root{
 --ds-font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
 --ds-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
 --ds-radius-sm:4px;--ds-radius-md:8px;--ds-radius-lg:12px;
 --ds-space-1:4px;--ds-space-2:8px;--ds-space-3:12px;--ds-space-4:16px;--ds-space-5:20px;--ds-space-6:24px;--ds-space-8:32px;
 --ds-control-height:36px;--ds-touch-target:44px;--ds-motion:140ms;
}
html[data-ds-theme] body{font-family:var(--ds-font);background-color:var(--ds-bg);color:var(--ds-text)}
:where(button,a,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--ds-focus);outline-offset:3px}
::selection{background:var(--ds-accent-soft);color:var(--ds-text)}
[data-ds-theme-picker]{flex:none;min-width:0;max-width:100%}
.ds-theme-control{display:inline-flex;gap:7px;align-items:center;max-width:100%;min-height:36px;font:12px/1.4 var(--ds-font);color:var(--ds-muted);white-space:nowrap}
.ds-theme-control .ds-theme-dot{width:7px;height:7px;flex:none;background:var(--ds-accent);border-radius:2px;transform:rotate(45deg)}
.ds-theme-select{appearance:auto;min-height:36px;max-width:150px;width:auto;padding:6px 8px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);background:var(--ds-field);color:var(--ds-text);font:13px/1.4 var(--ds-font);cursor:pointer;box-shadow:none}
.ds-theme-select:hover{border-color:var(--ds-accent)}
.ds-theme-select option{background:var(--ds-surface);color:var(--ds-text)}
.ds-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:760px){.ds-theme-select{min-height:44px;max-width:130px;font-size:14px}.ds-theme-control{min-height:44px}.ds-theme-control>span:not(.ds-theme-dot){display:none}}
@media(prefers-reduced-motion:reduce){:root{--ds-motion:0ms}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(forced-colors:active){.ds-theme-dot{border:1px solid CanvasText}:focus-visible{outline-color:Highlight}}
