@layer dou.tokens,dou.base,dou.components;@layer dou.tokens{:root,[data-dou-theme=light]{--dou-scheme-dark: 0;--dou-color-neutral: #171717;--dou-color-neutral-on: #ffffff;--dou-color-neutral-text: #171717;--dou-color-primary: #3f56b5;--dou-color-primary-on: #ffffff;--dou-color-primary-text: #3f56b5;--dou-color-success: #2e7d5b;--dou-color-success-on: #ffffff;--dou-color-success-text: #2c7756;--dou-color-warning: #92651d;--dou-color-warning-on: #ffffff;--dou-color-warning-text: #8b5f1c;--dou-color-danger: #b2423e;--dou-color-danger-on: #ffffff;--dou-color-danger-text: #b2423e;--dou-color-bg-canvas: #fafafa;--dou-color-bg-surface: #ffffff;--dou-color-bg-muted: #f2f2f2;--dou-color-text: #171717;--dou-color-text-secondary: #5c5c5c;--dou-color-text-tertiary: #737373;--dou-color-text-disabled: #b5b5b5;--dou-color-border-subtle: #f0f0f0;--dou-color-border: #e6e6e6;--dou-color-border-strong: #d1d1d1;--dou-color-focus: #6a82cf;--dou-color-edge: #000000;--dou-color-chart-1: #3d3d3d;--dou-color-chart-2: #3f6aa1;--dou-color-chart-3: #b08341;--dou-color-chart-4: #2a9f9a;--dou-color-chart-5: #b4666d;--dou-color-chart-6: #5b4481;--dou-color-chart-7: #48773e;--dou-color-chart-8: #7e3e1e;--dou-color-syntax-keyword: #7b3f99;--dou-color-syntax-string: #3c7536;--dou-color-syntax-number: #a14a24;--dou-color-syntax-comment: #6b6b6b;--dou-color-syntax-function: #3550a8;--dou-color-syntax-type: #1d726c;--dou-color-syntax-variable: #171717;--dou-color-syntax-property: #2c6688;--dou-color-syntax-operator: #5c5c5c;--dou-color-syntax-punctuation: #5c5c5c;--dou-color-syntax-tag: #9a3a4c;--dou-color-syntax-attribute: #7d5d16;--dou-color-syntax-meta: #666666;--dou-color-syntax-invalid: #b2423e;--dou-font-family: system-ui, -apple-system, "Segoe UI", "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--dou-font-family-mono: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--dou-font-size-sm: 13px;--dou-font-size-md: 14px;--dou-font-size-lg: 16px;--dou-font-weight-regular: 400;--dou-font-weight-medium: 500;--dou-font-weight-bold: 600;--dou-font-line-height: 1.6;--dou-radius-control: 6px;--dou-radius-container: 12px;--dou-radius-full: 9999px;--dou-control-height-sm: 28px;--dou-control-height-md: 32px;--dou-control-height-lg: 40px;--dou-control-padding-x-sm: 10px;--dou-control-padding-x-md: 12px;--dou-control-padding-x-lg: 16px;--dou-control-gap-sm: 4px;--dou-control-gap-md: 6px;--dou-control-gap-lg: 8px;--dou-space-sm: 8px;--dou-space-md: 12px;--dou-space-lg: 20px;--dou-shadow-sm: 0 1px 1px rgb(0 0 0 / .03), 0 1px 2px rgb(0 0 0 / .05);--dou-shadow-md: 0 1px 2px rgb(0 0 0 / .04), 0 4px 12px -2px rgb(0 0 0 / .06);--dou-shadow-lg: 0 2px 4px rgb(0 0 0 / .04), 0 16px 32px -8px rgb(0 0 0 / .1);--dou-shadow-highlight: inset 0 1px 0 rgb(255 255 255 / .14);--dou-motion-duration-instant: .1s;--dou-motion-duration-fast: .15s;--dou-motion-duration-normal: .22s;--dou-motion-duration-slow: .32s;--dou-motion-easing: cubic-bezier(.2, 0, 0, 1);--dou-motion-easing-enter: cubic-bezier(.16, 1, .3, 1);--dou-motion-easing-exit: cubic-bezier(.4, 0, 1, 1);--dou-motion-easing-spring: linear(0, .192, .408, .616, .797, .94, 1.043, 1.107, 1.138, 1.145, 1.133, 1.111, 1.084, 1.057, 1.033, 1.013, .998, .989, .983, .982, .983, .985, .988, .992, 1);--dou-motion-distance-sm: 4px;--dou-motion-distance-md: 8px;--dou-motion-scale: .98;--dou-motion-loop-spin: .8s;--dou-motion-loop-pulse: 1.6s;--dou-motion-loop-sweep: 2s}[data-dou-theme=light]{color-scheme:light}[data-dou-theme=dark]{--dou-scheme-dark: 1;--dou-color-neutral: #ededed;--dou-color-neutral-on: #0a0a0a;--dou-color-neutral-text: #ededed;--dou-color-primary: #4c66cb;--dou-color-primary-on: #ffffff;--dou-color-primary-text: #768ad7;--dou-color-success: #2f8060;--dou-color-success-on: #ffffff;--dou-color-success-text: #42a87d;--dou-color-warning: #c18a3c;--dou-color-warning-on: #1a1206;--dou-color-warning-text: #c99852;--dou-color-danger: #c5453e;--dou-color-danger-on: #ffffff;--dou-color-danger-text: #d4746f;--dou-color-bg-canvas: #0a0a0a;--dou-color-bg-surface: #111111;--dou-color-bg-muted: #1c1c1c;--dou-color-text: #ededed;--dou-color-text-secondary: #a3a3a3;--dou-color-text-tertiary: #858585;--dou-color-text-disabled: #4d4d4d;--dou-color-border-subtle: #1a1a1a;--dou-color-border: #262626;--dou-color-border-strong: #3a3a3a;--dou-color-focus: #5a73b3;--dou-color-edge: #000000;--dou-color-chart-1: #d4d4d4;--dou-color-chart-2: #8db4e7;--dou-color-chart-3: #deb67f;--dou-color-chart-4: #36908b;--dou-color-chart-5: #e29ba0;--dou-color-chart-6: #9480b8;--dou-color-chart-7: #7ca573;--dou-color-chart-8: #ab7055;--dou-color-syntax-keyword: #c3a0de;--dou-color-syntax-string: #9fc48f;--dou-color-syntax-number: #e2a382;--dou-color-syntax-comment: #858585;--dou-color-syntax-function: #94adea;--dou-color-syntax-type: #6fc2b9;--dou-color-syntax-variable: #ededed;--dou-color-syntax-property: #8bbcd9;--dou-color-syntax-operator: #a3a3a3;--dou-color-syntax-punctuation: #a3a3a3;--dou-color-syntax-tag: #e39aa6;--dou-color-syntax-attribute: #d6b46f;--dou-color-syntax-meta: #949494;--dou-color-syntax-invalid: #d4746f;--dou-font-family: system-ui, -apple-system, "Segoe UI", "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--dou-font-family-mono: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--dou-font-size-sm: 13px;--dou-font-size-md: 14px;--dou-font-size-lg: 16px;--dou-font-weight-regular: 400;--dou-font-weight-medium: 500;--dou-font-weight-bold: 600;--dou-font-line-height: 1.6;--dou-radius-control: 6px;--dou-radius-container: 12px;--dou-radius-full: 9999px;--dou-control-height-sm: 28px;--dou-control-height-md: 32px;--dou-control-height-lg: 40px;--dou-control-padding-x-sm: 10px;--dou-control-padding-x-md: 12px;--dou-control-padding-x-lg: 16px;--dou-control-gap-sm: 4px;--dou-control-gap-md: 6px;--dou-control-gap-lg: 8px;--dou-space-sm: 8px;--dou-space-md: 12px;--dou-space-lg: 20px;--dou-shadow-sm: 0 1px 2px rgb(0 0 0 / .5);--dou-shadow-md: 0 1px 2px rgb(0 0 0 / .5), 0 4px 12px -2px rgb(0 0 0 / .5);--dou-shadow-lg: 0 2px 4px rgb(0 0 0 / .5), 0 16px 32px -8px rgb(0 0 0 / .7);--dou-shadow-highlight: inset 0 1px 0 rgb(255 255 255 / .1);--dou-motion-duration-instant: .1s;--dou-motion-duration-fast: .15s;--dou-motion-duration-normal: .22s;--dou-motion-duration-slow: .32s;--dou-motion-easing: cubic-bezier(.2, 0, 0, 1);--dou-motion-easing-enter: cubic-bezier(.16, 1, .3, 1);--dou-motion-easing-exit: cubic-bezier(.4, 0, 1, 1);--dou-motion-easing-spring: linear(0, .192, .408, .616, .797, .94, 1.043, 1.107, 1.138, 1.145, 1.133, 1.111, 1.084, 1.057, 1.033, 1.013, .998, .989, .983, .982, .983, .985, .988, .992, 1);--dou-motion-distance-sm: 4px;--dou-motion-distance-md: 8px;--dou-motion-scale: .98;--dou-motion-loop-spin: .8s;--dou-motion-loop-pulse: 1.6s;--dou-motion-loop-sweep: 2s}[data-dou-theme=dark]{color-scheme:dark}}@layer dou.tokens{:root{--dou-font-size-input-min: 0px}@media (pointer: coarse){:root{--dou-font-size-input-min: 16px}}}@layer dou.base{:where([data-dou-theme]){background-color:var(--dou-color-bg-canvas);color:var(--dou-color-text);font-family:var(--dou-font-family);font-size:var(--dou-font-size-md);line-height:var(--dou-font-line-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%}}@layer dou.base{.dou-syntax-keyword{color:var(--dou-color-syntax-keyword)}.dou-syntax-string{color:var(--dou-color-syntax-string)}.dou-syntax-number{color:var(--dou-color-syntax-number)}.dou-syntax-comment{color:var(--dou-color-syntax-comment)}.dou-syntax-function{color:var(--dou-color-syntax-function)}.dou-syntax-type{color:var(--dou-color-syntax-type)}.dou-syntax-variable{color:var(--dou-color-syntax-variable)}.dou-syntax-property{color:var(--dou-color-syntax-property)}.dou-syntax-operator{color:var(--dou-color-syntax-operator)}.dou-syntax-punctuation{color:var(--dou-color-syntax-punctuation)}.dou-syntax-tag{color:var(--dou-color-syntax-tag)}.dou-syntax-attribute{color:var(--dou-color-syntax-attribute)}.dou-syntax-meta{color:var(--dou-color-syntax-meta)}.dou-syntax-invalid{color:var(--dou-color-syntax-invalid);text-decoration:underline wavy color-mix(in oklab,currentColor 60%,transparent);text-decoration-skip-ink:none;text-underline-offset:3px}.dou-syntax-heading{color:var(--dou-color-syntax-keyword);font-weight:var(--dou-font-weight-bold)}.dou-syntax-strong{font-weight:var(--dou-font-weight-bold)}.dou-syntax-emphasis{font-style:italic}.dou-syntax-link{color:var(--dou-color-syntax-function);text-decoration:underline;text-decoration-color:color-mix(in oklab,currentColor 40%,transparent);text-underline-offset:3px}}@layer dou.tokens{:root{--dou-motion-travel: 1;--dou-motion-loop-count: infinite}@media (prefers-reduced-motion: reduce){:where(:root:not([data-dou-motion]),:root:not([data-dou-motion]) *){--dou-motion-duration-fast: var(--dou-motion-duration-instant) !important;--dou-motion-duration-normal: var(--dou-motion-duration-instant) !important;--dou-motion-duration-slow: var(--dou-motion-duration-instant) !important;--dou-motion-distance-sm: 0px !important;--dou-motion-distance-md: 0px !important;--dou-motion-scale: 1 !important;--dou-motion-easing-spring: var(--dou-motion-easing) !important;--dou-motion-loop-spin: 2s !important;--dou-motion-travel: 0 !important;--dou-motion-loop-count: 0 !important}}:where([data-dou-motion=reduce],[data-dou-motion=reduce] *){--dou-motion-duration-fast: var(--dou-motion-duration-instant) !important;--dou-motion-duration-normal: var(--dou-motion-duration-instant) !important;--dou-motion-duration-slow: var(--dou-motion-duration-instant) !important;--dou-motion-distance-sm: 0px !important;--dou-motion-distance-md: 0px !important;--dou-motion-scale: 1 !important;--dou-motion-easing-spring: var(--dou-motion-easing) !important;--dou-motion-loop-spin: 2s !important;--dou-motion-travel: 0 !important;--dou-motion-loop-count: 0 !important}:where([data-dou-motion=none],[data-dou-motion=none] *){--dou-motion-duration-instant: 0s !important;--dou-motion-duration-fast: 0s !important;--dou-motion-duration-normal: 0s !important;--dou-motion-duration-slow: 0s !important;--dou-motion-distance-sm: 0px !important;--dou-motion-distance-md: 0px !important;--dou-motion-scale: 1 !important;--dou-motion-loop-spin: 0s !important;--dou-motion-loop-pulse: 0s !important;--dou-motion-loop-sweep: 0s !important;--dou-motion-travel: 0 !important;--dou-motion-loop-count: 0 !important}}@layer dou.components{:is(.dou-fade-enter-active,.dou-zoom-enter-active,.dou-slide-up-enter-active,.dou-slide-down-enter-active,.dou-slide-left-enter-active,.dou-slide-right-enter-active){transition-property:opacity,transform;transition-duration:var(--dou-motion-duration-normal);transition-timing-function:var(--dou-motion-easing-enter)}:is(.dou-fade-leave-active,.dou-zoom-leave-active,.dou-slide-up-leave-active,.dou-slide-down-leave-active,.dou-slide-left-leave-active,.dou-slide-right-leave-active){transition-property:opacity,transform;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing-exit)}:is(.dou-fade-enter-from,.dou-fade-leave-to,.dou-zoom-enter-from,.dou-zoom-leave-to,.dou-slide-up-enter-from,.dou-slide-up-leave-to,.dou-slide-down-enter-from,.dou-slide-down-leave-to,.dou-slide-left-enter-from,.dou-slide-left-leave-to,.dou-slide-right-enter-from,.dou-slide-right-leave-to){opacity:0}:is(.dou-zoom-enter-from,.dou-zoom-leave-to){transform:scale(var(--dou-motion-scale))}:is(.dou-slide-up-enter-from,.dou-slide-up-leave-to){transform:translateY(var(--dou-motion-distance-md))}:is(.dou-slide-down-enter-from,.dou-slide-down-leave-to){transform:translateY(calc(-1 * var(--dou-motion-distance-md)))}:is(.dou-slide-left-enter-from,.dou-slide-left-leave-to){transform:translate(var(--dou-motion-distance-md))}:is(.dou-slide-right-enter-from,.dou-slide-right-leave-to){transform:translate(calc(-1 * var(--dou-motion-distance-md)))}}@layer dou.components{.dou-floating{--dou-floating-shift-x: 0;--dou-floating-shift-y: 0;box-sizing:border-box}.dou-floating[data-placement^=top]{--dou-floating-shift-y: var(--dou-motion-distance-sm);transform-origin:bottom center}.dou-floating[data-placement^=bottom]{--dou-floating-shift-y: calc(-1 * var(--dou-motion-distance-sm));transform-origin:top center}.dou-floating[data-placement^=left]{--dou-floating-shift-x: var(--dou-motion-distance-sm);transform-origin:center right}.dou-floating[data-placement^=right]{--dou-floating-shift-x: calc(-1 * var(--dou-motion-distance-sm));transform-origin:center left}.dou-floating[data-placement=top-start]{transform-origin:bottom left}.dou-floating[data-placement=top-end]{transform-origin:bottom right}.dou-floating[data-placement=bottom-start]{transform-origin:top left}.dou-floating[data-placement=bottom-end]{transform-origin:top right}.dou-floating[data-placement=left-start]{transform-origin:top right}.dou-floating[data-placement=left-end]{transform-origin:bottom right}.dou-floating[data-placement=right-start]{transform-origin:top left}.dou-floating[data-placement=right-end]{transform-origin:bottom left}.dou-floating-enter-active,.dou-floating-leave-active{transition-property:opacity,transform;transition-duration:var(--dou-motion-duration-normal);transition-timing-function:var(--dou-motion-easing-enter)}.dou-floating-leave-active{transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing-exit)}.dou-floating-enter-from,.dou-floating-leave-to{opacity:0;transform:translate(var(--dou-floating-shift-x),var(--dou-floating-shift-y)) scale(var(--dou-motion-scale))}}@layer dou.components{.dou-affix__content.is-fixed{z-index:10}}@layer dou.components{.dou-alert{--dou-alert-tone: var(--dou-color-text-secondary);--dou-alert-bg: color-mix(in oklab, var(--dou-color-text) 3%, var(--dou-color-bg-surface));--dou-alert-border: var(--dou-color-border);--dou-alert-radius: calc(var(--dou-radius-control) + 2px);display:flex;align-items:flex-start;gap:10px;box-sizing:border-box;padding:12px 14px;border:1px solid var(--dou-alert-border);border-radius:var(--dou-alert-radius);background-color:var(--dou-alert-bg);color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-md);line-height:1.5}.dou-alert--primary,.dou-alert--success,.dou-alert--warning,.dou-alert--danger{--dou-alert-bg: color-mix(in oklab, var(--dou-alert-tone) 6%, var(--dou-color-bg-surface));--dou-alert-border: color-mix(in oklab, var(--dou-alert-tone) 22%, var(--dou-color-border))}.dou-alert--primary{--dou-alert-tone: var(--dou-color-primary)}.dou-alert--success{--dou-alert-tone: var(--dou-color-success)}.dou-alert--warning{--dou-alert-tone: var(--dou-color-warning)}.dou-alert--danger{--dou-alert-tone: var(--dou-color-danger)}.dou-alert__icon{display:inline-flex;flex-shrink:0;align-items:center;height:1.5em;color:var(--dou-alert-tone)}.dou-alert__icon>svg{width:1em;height:1em;font-size:16px}.dou-alert__content{flex:1 1 auto;min-width:0}.dou-alert__title{color:var(--dou-color-text);font-weight:var(--dou-font-weight-bold)}.dou-alert.is-titled .dou-alert__description{margin-top:2px}.dou-alert__action{display:flex;flex-shrink:0;align-items:center;gap:8px;align-self:center}.dou-alert__close{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:24px;height:24px;padding:0;margin:-1px -6px -1px 0;border:0;border-radius:var(--dou-radius-control);background-color:transparent;color:var(--dou-color-text-tertiary);cursor:pointer;transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-alert__close>svg{width:1em;height:1em;font-size:14px}.dou-alert__close:hover{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-alert__close:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}}@layer dou.components{.dou-anchor{--dou-anchor-indent: 12px;position:relative;font-size:var(--dou-font-size-sm);line-height:1.5}.dou-anchor:before{position:absolute;top:0;bottom:0;left:0;width:1px;background-color:var(--dou-color-border);content:""}.dou-anchor__list{padding:0;margin:0;list-style:none}.dou-anchor__link{display:block;padding:4px 0 4px calc(12px + var(--dou-anchor-level, 0) * var(--dou-anchor-indent));overflow-x:clip;border-radius:var(--dou-radius-control);color:var(--dou-color-text-tertiary);text-decoration:none;text-overflow:ellipsis;white-space:nowrap;transition:color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-anchor__link:hover{color:var(--dou-color-text)}.dou-anchor__link:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.dou-anchor__link.is-active{color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium)}.dou-anchor__marker{position:absolute;top:0;left:-.5px;z-index:1;width:2px;border-radius:1px;background-color:var(--dou-color-text);transition-property:transform,height;transition-duration:var(--dou-motion-duration-normal);transition-timing-function:var(--dou-motion-easing)}}@layer dou.components{.dou-autocomplete__menu{--dou-autocomplete-inset: 4px;max-height:min(var(--dou-floating-available, 100vh),280px);padding:var(--dou-autocomplete-inset);overflow-y:auto;border:1px solid var(--dou-color-border);border-radius:calc(var(--dou-radius-control) + var(--dou-autocomplete-inset));background-color:color-mix(in oklab,var(--dou-color-text) calc(4% * var(--dou-scheme-dark)),var(--dou-color-bg-surface));box-shadow:var(--dou-shadow-md);color:var(--dou-color-text);font-family:var(--dou-font-family);font-size:var(--dou-font-size-md)}.dou-autocomplete__list{padding:0;margin:0;list-style:none}.dou-autocomplete__option{display:flex;align-items:center;gap:12px;box-sizing:border-box;height:var(--dou-control-height-md);padding:0 8px;border-radius:var(--dou-radius-control);color:var(--dou-color-text-secondary);line-height:1;white-space:nowrap;cursor:pointer}.dou-autocomplete__option.is-active{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-autocomplete__option.is-disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-autocomplete__label{flex:1 1 auto;min-width:0;overflow-x:clip;text-overflow:ellipsis;text-box:trim-both cap alphabetic}.dou-autocomplete__match{background:none;color:var(--dou-color-text);font-weight:var(--dou-font-weight-bold)}.dou-autocomplete__description{flex-shrink:0;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);text-box:trim-both cap alphabetic}.dou-autocomplete__status{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.dou-autocomplete__status:empty{display:none}}@layer dou.components{.dou-avatar{--dou-avatar-size: 32px;--dou-avatar-font-size: 13px;--dou-avatar-radius: var(--dou-radius-full);--dou-avatar-bg: color-mix(in oklab, var(--dou-color-text) 7%, var(--dou-color-bg-surface));--dou-avatar-fg: var(--dou-color-text-secondary);position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;box-sizing:border-box;width:var(--dou-avatar-size);height:var(--dou-avatar-size);border-radius:var(--dou-avatar-radius);background-color:var(--dou-avatar-bg);color:var(--dou-avatar-fg);font-size:var(--dou-avatar-font-size);font-weight:var(--dou-font-weight-medium);line-height:1;vertical-align:middle;overflow:hidden;-webkit-user-select:none;user-select:none}.dou-avatar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--dou-color-text) 9%,transparent);pointer-events:none}.dou-avatar--sm{--dou-avatar-size: 24px;--dou-avatar-font-size: 10px}.dou-avatar--lg{--dou-avatar-size: 40px;--dou-avatar-font-size: 16px}.dou-avatar--square{--dou-avatar-radius: calc(var(--dou-avatar-size) / 4)}.dou-avatar__image{display:block;width:100%;height:100%;object-fit:cover}.dou-avatar__initials{text-box:trim-both cap alphabetic;letter-spacing:.02em;white-space:nowrap}.dou-avatar__fallback{width:55%;height:55%}.dou-avatar-group{--dou-avatar-group-ring: var(--dou-color-bg-surface);display:inline-flex;align-items:center;vertical-align:middle}.dou-avatar-group>.dou-avatar{box-shadow:0 0 0 2px var(--dou-avatar-group-ring)}.dou-avatar-group>.dou-avatar+.dou-avatar{margin-inline-start:calc(var(--dou-avatar-size) * -.25)}.dou-avatar-group__rest{--dou-avatar-bg: var(--dou-color-bg-muted);--dou-avatar-fg: var(--dou-color-text-secondary)}}@layer dou.components{.dou-user{--dou-user-gap: 10px;--dou-user-name-size: var(--dou-font-size-md);--dou-user-description-size: 12px;display:inline-flex;align-items:center;gap:var(--dou-user-gap);min-width:0;max-width:100%;color:var(--dou-color-text);vertical-align:middle}.dou-user--sm{--dou-user-gap: 8px;--dou-user-name-size: var(--dou-font-size-sm);--dou-user-description-size: 12px}.dou-user--lg{--dou-user-gap: 12px;--dou-user-name-size: var(--dou-font-size-lg);--dou-user-description-size: var(--dou-font-size-sm)}.dou-user__text{display:flex;flex:1 1 auto;flex-direction:column;gap:4px;min-width:0}.dou-user__name,.dou-user__description{overflow-x:clip;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.dou-user__name{font-size:var(--dou-user-name-size);font-weight:var(--dou-font-weight-medium)}.dou-user__description{color:var(--dou-color-text-tertiary);font-size:var(--dou-user-description-size)}.dou-user--sm .dou-user__text{gap:2px}.dou-user__extra{display:inline-flex;flex-shrink:0;align-items:center;margin-inline-start:auto;color:var(--dou-color-text-tertiary)}}@layer dou.components{.dou-back-top{position:fixed;z-index:10;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:40px;height:40px;padding:0 12px;margin:0;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-full);background-color:color-mix(in oklab,var(--dou-color-text) calc(6% * var(--dou-scheme-dark)),var(--dou-color-bg-surface));box-shadow:var(--dou-shadow-highlight),var(--dou-shadow-md);color:var(--dou-color-text-secondary);font:inherit;font-size:var(--dou-font-size-sm);cursor:pointer;transition-property:color,border-color,background-color,opacity,translate;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-back-top:hover{border-color:var(--dou-color-border-strong);color:var(--dou-color-text)}.dou-back-top:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-back-top>svg{width:1em;height:1em;font-size:16px;margin:0 -2px}.dou-back-top-enter-active{transition-duration:var(--dou-motion-duration-normal);transition-timing-function:var(--dou-motion-easing-enter)}.dou-back-top-leave-active{transition-timing-function:var(--dou-motion-easing-exit)}.dou-back-top-enter-from,.dou-back-top-leave-to{opacity:0;translate:0 var(--dou-motion-distance-md)}}@layer dou.components{.dou-badge{position:relative;display:inline-flex;flex-shrink:0;vertical-align:middle}.dou-badge__mark{--dou-badge-tone: var(--dou-color-neutral);--dou-badge-tone-on: var(--dou-color-neutral-on);--dou-badge-height: 16px;--dou-badge-ring: var(--dou-color-bg-surface);display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:var(--dou-badge-height);height:var(--dou-badge-height);padding:0 5px;border-radius:var(--dou-radius-full);background-color:var(--dou-badge-tone);color:var(--dou-badge-tone-on);font-family:var(--dou-font-family);font-size:11px;font-weight:var(--dou-font-weight-medium);font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap;vertical-align:middle}.dou-badge__mark.is-dot{--dou-badge-height: 8px;min-width:0;width:var(--dou-badge-height);padding:0}.dou-badge .dou-badge__mark{position:absolute;z-index:1;box-shadow:0 0 0 2px var(--dou-badge-ring)}.dou-badge--top-end .dou-badge__mark{top:0;right:0;transform:translate(50%,-50%)}.dou-badge--bottom-end .dou-badge__mark{right:0;bottom:0;transform:translate(50%,50%)}.dou-badge--primary{--dou-badge-tone: var(--dou-color-primary);--dou-badge-tone-on: var(--dou-color-primary-on)}.dou-badge--success{--dou-badge-tone: var(--dou-color-success);--dou-badge-tone-on: var(--dou-color-success-on)}.dou-badge--warning{--dou-badge-tone: var(--dou-color-warning);--dou-badge-tone-on: var(--dou-color-warning-on)}.dou-badge--danger{--dou-badge-tone: var(--dou-color-danger);--dou-badge-tone-on: var(--dou-color-danger-on)}.dou-badge__text{text-box:trim-both cap alphabetic}}@layer dou.components{.dou-banner{--dou-banner-tone: var(--dou-color-text-secondary);--dou-banner-bg: color-mix(in oklab, var(--dou-color-text) 4%, var(--dou-color-bg-surface));--dou-banner-fg: var(--dou-color-text);--dou-banner-icon: var(--dou-banner-tone);--dou-banner-border: var(--dou-color-border);position:relative;display:flex;align-items:center;box-sizing:border-box;width:100%;min-height:40px;padding:8px 48px;border-bottom:1px solid var(--dou-banner-border);background-color:var(--dou-banner-bg);color:var(--dou-banner-fg);font-size:var(--dou-font-size-md);line-height:1.5}.dou-banner--primary{--dou-banner-tone: var(--dou-color-primary)}.dou-banner--success{--dou-banner-tone: var(--dou-color-success)}.dou-banner--warning{--dou-banner-tone: var(--dou-color-warning)}.dou-banner--danger{--dou-banner-tone: var(--dou-color-danger)}.dou-banner--soft:not(.dou-banner--neutral){--dou-banner-bg: color-mix(in oklab, var(--dou-banner-tone) 7%, var(--dou-color-bg-surface));--dou-banner-border: color-mix(in oklab, var(--dou-banner-tone) 20%, var(--dou-color-border))}.dou-banner--solid{--dou-banner-bg: var(--dou-color-neutral);--dou-banner-fg: var(--dou-color-neutral-on);--dou-banner-icon: currentColor;--dou-banner-border: transparent}.dou-banner--solid.dou-banner--primary{--dou-banner-bg: var(--dou-color-primary);--dou-banner-fg: var(--dou-color-primary-on)}.dou-banner--solid.dou-banner--success{--dou-banner-bg: var(--dou-color-success);--dou-banner-fg: var(--dou-color-success-on)}.dou-banner--solid.dou-banner--warning{--dou-banner-bg: var(--dou-color-warning);--dou-banner-fg: var(--dou-color-warning-on)}.dou-banner--solid.dou-banner--danger{--dou-banner-bg: var(--dou-color-danger);--dou-banner-fg: var(--dou-color-danger-on)}.dou-banner__content{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 12px;min-width:0}.dou-banner__main{display:flex;align-items:flex-start;gap:8px;min-width:0}.dou-banner__icon{display:inline-flex;flex-shrink:0;margin-block:calc((1cap - 16px)/2);color:var(--dou-banner-icon)}.dou-banner__icon>svg{width:16px;height:16px}.dou-banner__text{min-width:0;margin:0;text-box:trim-both cap alphabetic}.dou-banner__title{margin-right:8px;font-weight:var(--dou-font-weight-bold)}.dou-banner__action{display:flex;flex-shrink:0;align-items:center;gap:8px}.dou-banner--solid .dou-banner__action .dou-link,.dou-banner--solid .dou-banner__text .dou-link{--dou-link-tone: currentColor}.dou-banner__close{position:absolute;top:50%;right:12px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:var(--dou-radius-control);background-color:transparent;color:inherit;opacity:.6;cursor:pointer;translate:0 -50%;transition-property:background-color,opacity;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-banner__close>svg{width:14px;height:14px}.dou-banner__close:hover{background-color:color-mix(in oklab,currentColor 10%,transparent);opacity:1}.dou-banner__close:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px;opacity:1}@media (max-width: 639.98px){.dou-banner{padding-inline:16px 44px}.dou-banner__content{justify-content:flex-start}}}@layer dou.components{.dou-breadcrumb{font-size:var(--dou-font-size-md);line-height:1.5}.dou-breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;row-gap:4px;padding:0;margin:0;list-style:none}.dou-breadcrumb__item{display:inline-flex;align-items:center;min-width:0;margin:0}.dou-breadcrumb__separator{display:inline-flex;align-items:center;margin:0 8px;color:var(--dou-color-text-disabled);-webkit-user-select:none;user-select:none}.dou-breadcrumb__link{display:inline-flex;align-items:center;gap:4px;padding:2px 4px;margin:0 -4px;border:0;border-radius:calc(var(--dou-radius-control) - 2px);background:transparent;color:var(--dou-color-text-secondary);font:inherit;text-decoration:none;white-space:nowrap;cursor:pointer;transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-breadcrumb__link:hover{color:var(--dou-color-text)}.dou-breadcrumb__link:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:0}.dou-breadcrumb__link.is-current{color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium);cursor:default}.dou-breadcrumb__link.is-disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-breadcrumb__ellipsis{color:var(--dou-color-text-tertiary);letter-spacing:.05em}.dou-breadcrumb__ellipsis:hover{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent)}}@layer dou.components{.dou-button{--dou-button-tone: var(--dou-color-neutral);--dou-button-tone-on: var(--dou-color-neutral-on);--dou-button-tone-text: var(--dou-color-neutral-text);--dou-button-height: var(--dou-control-height-md);--dou-button-padding-x: var(--dou-control-padding-x-md);--dou-button-padding-icon: 8px;--dou-button-gap: var(--dou-control-gap-md);--dou-button-font-size: var(--dou-font-size-md);--dou-button-radius: var(--dou-radius-control);--dou-button-bg: transparent;--dou-button-bg-hover: transparent;--dou-button-bg-active: transparent;--dou-button-fg: var(--dou-button-tone-text);--dou-button-border: transparent;--dou-button-border-hover: var(--dou-button-border);--dou-button-shadow: none;--dou-button-shadow-active: var(--dou-button-shadow);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--dou-button-gap);box-sizing:border-box;height:var(--dou-button-height);padding:0 var(--dou-button-padding-x);margin:0;border:1px solid var(--dou-button-border);border-radius:var(--dou-button-radius);background-color:var(--dou-button-bg);box-shadow:var(--dou-button-shadow);color:var(--dou-button-fg);font-family:inherit;font-size:var(--dou-button-font-size);font-weight:var(--dou-font-weight-medium);line-height:1;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition-property:background-color,border-color,color,box-shadow,transform;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-button:hover{border-color:var(--dou-button-border-hover);background-color:var(--dou-button-bg-hover)}.dou-button:active{background-color:var(--dou-button-bg-active);box-shadow:var(--dou-button-shadow-active)}.dou-button:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-button:active:not(:disabled,.is-loading){transform:translateY(.5px)}.dou-button:disabled,.dou-button.is-disabled,.dou-button.is-loading{--dou-button-bg-hover: var(--dou-button-bg);--dou-button-bg-active: var(--dou-button-bg);--dou-button-border-hover: var(--dou-button-border);--dou-button-shadow-active: var(--dou-button-shadow)}.dou-button:disabled,.dou-button.is-disabled{cursor:not-allowed;opacity:.45;box-shadow:none}.dou-button.is-loading{cursor:progress}.dou-button.is-block{display:flex;width:100%}.dou-button--primary{--dou-button-tone: var(--dou-color-primary);--dou-button-tone-on: var(--dou-color-primary-on);--dou-button-tone-text: var(--dou-color-primary-text)}.dou-button--success{--dou-button-tone: var(--dou-color-success);--dou-button-tone-on: var(--dou-color-success-on);--dou-button-tone-text: var(--dou-color-success-text)}.dou-button--warning{--dou-button-tone: var(--dou-color-warning);--dou-button-tone-on: var(--dou-color-warning-on);--dou-button-tone-text: var(--dou-color-warning-text)}.dou-button--danger{--dou-button-tone: var(--dou-color-danger);--dou-button-tone-on: var(--dou-color-danger-on);--dou-button-tone-text: var(--dou-color-danger-text)}.dou-button--solid{--dou-button-bg: var(--dou-button-tone);--dou-button-bg-hover: color-mix( in oklab, var(--dou-button-tone) 88%, var(--dou-color-bg-canvas) );--dou-button-bg-active: color-mix(in oklab, var(--dou-button-tone) 92%, var(--dou-color-edge));--dou-button-fg: var(--dou-button-tone-on);--dou-button-border: color-mix(in oklab, var(--dou-button-tone) 90%, var(--dou-color-edge));--dou-button-shadow: var(--dou-shadow-highlight), 0 1px 2px color-mix(in oklab, var(--dou-button-tone) 24%, transparent), 0 2px 6px -2px color-mix(in oklab, var(--dou-button-tone) 30%, transparent);--dou-button-shadow-active: var(--dou-shadow-highlight)}.dou-button--soft{--dou-button-bg: color-mix(in oklab, var(--dou-button-tone) 7%, var(--dou-color-bg-surface));--dou-button-bg-hover: color-mix( in oklab, var(--dou-button-tone) 11%, var(--dou-color-bg-surface) );--dou-button-bg-active: color-mix( in oklab, var(--dou-button-tone) 15%, var(--dou-color-bg-surface) );--dou-button-border: color-mix(in oklab, var(--dou-button-tone) 14%, transparent);--dou-button-border-hover: color-mix(in oklab, var(--dou-button-tone) 22%, transparent);--dou-button-shadow: var(--dou-shadow-sm);--dou-button-shadow-active: none}.dou-button--outline{--dou-button-bg: var(--dou-color-bg-surface);--dou-button-bg-hover: color-mix( in oklab, var(--dou-button-tone) 4%, var(--dou-color-bg-surface) );--dou-button-bg-active: color-mix( in oklab, var(--dou-button-tone) 8%, var(--dou-color-bg-surface) );--dou-button-border: color-mix(in oklab, var(--dou-button-tone) 16%, var(--dou-color-border));--dou-button-border-hover: color-mix( in oklab, var(--dou-button-tone) 30%, var(--dou-color-border) );--dou-button-shadow: var(--dou-shadow-sm);--dou-button-shadow-active: none}.dou-button--ghost{--dou-button-bg-hover: color-mix(in oklab, var(--dou-button-tone) 6%, transparent);--dou-button-bg-active: color-mix(in oklab, var(--dou-button-tone) 10%, transparent)}.dou-button--sm{--dou-button-height: var(--dou-control-height-sm);--dou-button-padding-x: var(--dou-control-padding-x-sm);--dou-button-padding-icon: 6px;--dou-button-gap: var(--dou-control-gap-sm);--dou-button-font-size: var(--dou-font-size-sm)}.dou-button--lg{--dou-button-height: var(--dou-control-height-lg);--dou-button-padding-x: var(--dou-control-padding-x-lg);--dou-button-padding-icon: 12px;--dou-button-gap: var(--dou-control-gap-lg);--dou-button-font-size: var(--dou-font-size-lg)}.dou-button:has(>.dou-button__icon+.dou-button__label){padding-left:var(--dou-button-padding-icon)}.dou-button:has(>.dou-button__label+.dou-button__icon){padding-right:var(--dou-button-padding-icon)}.dou-button.is-icon-only:not(.is-block){width:var(--dou-button-height);padding-inline:0}@media (pointer: coarse){.dou-button.is-icon-only:after{position:absolute;inset:min(0px,calc(50% - 20px));content:""}}.dou-button__label{text-box:trim-both cap alphabetic}.dou-button__icon{display:inline-flex;flex-shrink:0;align-items:center;font-size:1.1em}.dou-button__spinner{width:1em;height:1em;border:1.5px solid currentColor;border-right-color:transparent;border-radius:var(--dou-radius-full);animation:dou-spin var(--dou-motion-loop-spin) linear infinite}@keyframes dou-spin{to{transform:rotate(1turn)}}}@layer dou.components{.dou-calendar-heatmap{--dou-calendar-heatmap-cell: 12px;--dou-calendar-heatmap-gap: 2px;--dou-calendar-heatmap-radius: 2px;--dou-calendar-heatmap-empty: color-mix(in oklab, var(--dou-color-text) 7%, transparent);display:grid;grid-template-columns:minmax(0,max-content);gap:8px;min-width:0;color:var(--dou-color-text-tertiary);font-family:var(--dou-font-family);font-size:12px;line-height:1}.dou-calendar-heatmap__scroll{min-width:0;padding:2px;overflow-x:auto}.dou-calendar-heatmap__grid{display:grid;grid-template-rows:auto repeat(7,var(--dou-calendar-heatmap-cell));grid-template-columns:auto repeat(var(--dou-calendar-heatmap-weeks),var(--dou-calendar-heatmap-cell));gap:var(--dou-calendar-heatmap-gap);width:max-content}.dou-calendar-heatmap__row{display:contents}.dou-calendar-heatmap__month{grid-row:1;padding-bottom:4px;white-space:nowrap}.dou-calendar-heatmap__weekday{grid-column:1;align-self:center;padding-inline-end:6px;white-space:nowrap}.dou-calendar-heatmap__cell{border-radius:var(--dou-calendar-heatmap-radius);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--dou-color-text) 4%,transparent);cursor:pointer;outline:none}.dou-calendar-heatmap__cell.is-active{box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--dou-color-text) 40%,transparent)}.dou-calendar-heatmap__cell:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}.dou-calendar-heatmap__legend{display:flex;align-items:center;justify-content:flex-end;gap:var(--dou-calendar-heatmap-gap)}.dou-calendar-heatmap__legend>:first-child{margin-inline-end:4px}.dou-calendar-heatmap__legend>:last-child{margin-inline-start:4px}.dou-calendar-heatmap__swatch{width:var(--dou-calendar-heatmap-cell);height:var(--dou-calendar-heatmap-cell);border-radius:var(--dou-calendar-heatmap-radius);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--dou-color-text) 4%,transparent)}}@layer dou.components{.dou-calendar-view{--dou-calendar-view-day-height: 112px;--dou-calendar-view-hour-height: 48px;--dou-calendar-view-time-height: 576px;--dou-calendar-view-gutter: 64px;--dou-calendar-view-line: var(--dou-color-border-subtle);display:flex;flex-direction:column;gap:12px;min-width:0;color:var(--dou-color-text);font-size:var(--dou-font-size-md)}.dou-calendar-view__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.dou-calendar-view__title{margin:0;font-size:var(--dou-font-size-lg);font-weight:var(--dou-font-weight-medium);line-height:1.4}.dou-calendar-view__nav{display:flex;align-items:center;gap:4px}.dou-calendar-view__today,.dou-calendar-view__step{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:var(--dou-control-height-sm);padding:0 10px;margin:0;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);color:var(--dou-color-text);font:inherit;font-size:var(--dou-font-size-sm);white-space:nowrap;cursor:pointer;transition-property:border-color,background-color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-calendar-view__today:hover,.dou-calendar-view__step:hover{border-color:var(--dou-color-border-strong)}.dou-calendar-view__today:focus-visible,.dou-calendar-view__step:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}.dou-calendar-view__today>svg,.dou-calendar-view__step>svg{width:1em;height:1em;font-size:16px}.dou-calendar-view__step{width:var(--dou-control-height-sm);padding:0}.dou-calendar-view__grid{overflow:hidden;border:1px solid var(--dou-calendar-view-line);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface)}.dou-calendar-view__weekdays,.dou-calendar-view__week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.dou-calendar-view__weekday{padding:8px 10px;border-bottom:1px solid var(--dou-calendar-view-line);color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);text-align:end}.dou-calendar-view__week+.dou-calendar-view__week{border-top:1px solid var(--dou-calendar-view-line)}.dou-calendar-view__day{display:flex;flex-direction:column;gap:4px;box-sizing:border-box;min-width:0;min-height:var(--dou-calendar-view-day-height);padding:6px;outline:none;cursor:pointer;transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-calendar-view__day+.dou-calendar-view__day{border-left:1px solid var(--dou-calendar-view-line)}.dou-calendar-view__day:hover:not(.is-disabled,.is-drawing){background-color:color-mix(in oklab,var(--dou-color-text) 3%,transparent)}.dou-calendar-view__day:focus-visible{box-shadow:inset 0 0 0 2px var(--dou-color-focus)}.dou-calendar-view__day.is-selected{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent)}.dou-calendar-view__day.is-outside{color:var(--dou-color-text-tertiary)}.dou-calendar-view__day.is-disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-calendar-view__number{display:inline-flex;align-items:center;justify-content:center;align-self:flex-end;min-width:24px;height:24px;padding:0 4px;box-sizing:border-box;border-radius:var(--dou-radius-full);font-size:var(--dou-font-size-sm);font-variant-numeric:tabular-nums;line-height:1}.dou-calendar-view__day.is-today .dou-calendar-view__number{background-color:var(--dou-color-neutral);color:var(--dou-color-neutral-on);font-weight:var(--dou-font-weight-medium)}.dou-calendar-view__content{display:flex;flex-direction:column;gap:2px;min-width:0}.dou-calendar-view__event{--dou-calendar-view-tone: var(--dou-color-primary);display:block;box-sizing:border-box;width:100%;min-width:0;height:22px;padding:0 6px;margin:0;overflow:hidden;border:0;border-left:2px solid var(--dou-calendar-view-tone);border-radius:4px;background-color:color-mix(in oklab,var(--dou-calendar-view-tone) 10%,transparent);color:color-mix(in oklab,var(--dou-calendar-view-tone) 70%,var(--dou-color-text));font:inherit;font-size:var(--dou-font-size-sm);line-height:22px;text-align:start;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.dou-calendar-view__event:hover{background-color:color-mix(in oklab,var(--dou-calendar-view-tone) 16%,transparent)}.dou-calendar-view__event:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}.dou-calendar-view__event:not(.is-start){border-left-color:transparent;border-start-start-radius:0;border-end-start-radius:0;margin-left:calc(0px - var(--dou-calendar-view-inset, 6px));width:calc(100% + var(--dou-calendar-view-inset, 6px))}.dou-calendar-view__event:not(.is-end){border-start-end-radius:0;border-end-end-radius:0;margin-right:calc(0px - var(--dou-calendar-view-inset, 6px));width:calc(100% + var(--dou-calendar-view-inset, 6px))}.dou-calendar-view__event:not(.is-start):not(.is-end){width:calc(100% + 2 * var(--dou-calendar-view-inset, 6px))}.dou-calendar-view__event.is-continued{color:transparent}.dou-calendar-view__event--neutral{--dou-calendar-view-tone: var(--dou-color-neutral)}.dou-calendar-view__event--success{--dou-calendar-view-tone: var(--dou-color-success)}.dou-calendar-view__event--warning{--dou-calendar-view-tone: var(--dou-color-warning)}.dou-calendar-view__event--danger{--dou-calendar-view-tone: var(--dou-color-danger)}.dou-calendar-view__more{padding:0 6px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.dou-calendar-view__event:has(>.dou-calendar-view__event-clock){container-type:inline-size}.dou-calendar-view__event-clock{margin-inline-end:4px;font-variant-numeric:tabular-nums;opacity:.75}@container (width < 120px){.dou-calendar-view__event-clock{display:none}}.dou-calendar-view__agenda{overflow:hidden;border:1px solid var(--dou-calendar-view-line);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface)}.dou-calendar-view__agenda-empty{margin:0;padding:32px 16px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);text-align:center}.dou-calendar-view__agenda-day{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:start}.dou-calendar-view__agenda-day+.dou-calendar-view__agenda-day{border-top:1px solid var(--dou-calendar-view-line)}.dou-calendar-view__agenda-day.is-selected{background-color:color-mix(in oklab,var(--dou-color-text) 4%,transparent)}.dou-calendar-view__agenda-date{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;margin:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}.dou-calendar-view__agenda-date:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--dou-color-focus)}.dou-calendar-view__agenda-date:disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-calendar-view__agenda-date .dou-calendar-view__number{align-self:center;font-size:var(--dou-font-size-md)}.dou-calendar-view__agenda-day.is-today .dou-calendar-view__number{background-color:var(--dou-color-neutral);color:var(--dou-color-neutral-on);font-weight:var(--dou-font-weight-medium)}.dou-calendar-view__agenda-weekday{color:var(--dou-color-text-tertiary);font-size:12px}.dou-calendar-view__agenda-events{display:flex;flex-direction:column;gap:2px;padding:6px 8px 6px 0}.dou-calendar-view__agenda-event{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:12px;box-sizing:border-box;min-height:32px;padding:4px 8px 4px 12px;margin:0;border:0;border-radius:var(--dou-radius-control);background:none;color:inherit;font:inherit;font-size:var(--dou-font-size-sm);text-align:start;cursor:pointer;position:relative;transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-calendar-view__agenda-event:before{position:absolute;top:8px;bottom:8px;left:2px;width:2px;border-radius:1px;background-color:var(--dou-calendar-view-tone, var(--dou-color-primary));content:""}.dou-calendar-view__agenda-event:hover{background-color:color-mix(in oklab,var(--dou-calendar-view-tone, var(--dou-color-primary)) 8%,transparent)}.dou-calendar-view__agenda-event:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.dou-calendar-view__agenda-time{color:var(--dou-color-text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.dou-calendar-view__agenda-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (pointer: coarse){.dou-calendar-view__agenda-event{min-height:40px}}@media (max-width: 480px){.dou-calendar-view__agenda-day{grid-template-columns:52px minmax(0,1fr)}.dou-calendar-view__agenda-event{grid-template-columns:minmax(0,1fr);gap:0}}.dou-calendar-view__time{overflow:hidden;border:1px solid var(--dou-calendar-view-line);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface)}.dou-calendar-view__time-head,.dou-calendar-view__all-day,.dou-calendar-view__time-body{display:grid;grid-template-columns:var(--dou-calendar-view-gutter) repeat(var(--dou-calendar-view-days),minmax(0,1fr))}.dou-calendar-view__time-head{border-bottom:1px solid var(--dou-calendar-view-line)}.dou-calendar-view__column-head{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;margin:0;border:0;border-left:1px solid var(--dou-calendar-view-line);background:none;color:inherit;font:inherit;cursor:pointer;transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-calendar-view__column-head:hover:not(:disabled){background-color:color-mix(in oklab,var(--dou-color-text) 3%,transparent)}.dou-calendar-view__column-head:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--dou-color-focus)}.dou-calendar-view__column-head.is-selected{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent)}.dou-calendar-view__column-head:disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-calendar-view__column-head .dou-calendar-view__number{align-self:center;font-size:var(--dou-font-size-md)}.dou-calendar-view__column-head.is-today .dou-calendar-view__number{background-color:var(--dou-color-neutral);color:var(--dou-color-neutral-on);font-weight:var(--dou-font-weight-medium)}.dou-calendar-view__column-weekday{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.dou-calendar-view__all-day{border-bottom:1px solid var(--dou-calendar-view-line)}.dou-calendar-view__all-day-label{display:flex;align-items:center;justify-content:flex-end;padding:6px 8px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.dou-calendar-view__all-day-cell{display:flex;flex-direction:column;--dou-calendar-view-inset: 2px;gap:2px;min-width:0;padding:4px var(--dou-calendar-view-inset);border-left:1px solid var(--dou-calendar-view-line)}.dou-calendar-view__scroller{max-height:var(--dou-calendar-view-time-height);overflow-y:auto}.dou-calendar-view__scroller.is-overflowing{overscroll-behavior:contain}.dou-calendar-view__time-body{height:calc(var(--dou-calendar-view-hours) * var(--dou-calendar-view-hour-height))}.dou-calendar-view__hours{display:flex;flex-direction:column}.dou-calendar-view__hour{position:relative;flex:0 0 var(--dou-calendar-view-hour-height)}.dou-calendar-view__hour-label{position:absolute;top:0;right:8px;color:var(--dou-color-text-tertiary);font-size:12px;font-variant-numeric:tabular-nums;line-height:1;transform:translateY(-50%);white-space:nowrap}.dou-calendar-view__column{position:relative;min-width:0;border-left:1px solid var(--dou-calendar-view-line);background-image:linear-gradient(to bottom,var(--dou-calendar-view-line) 1px,transparent 1px);background-size:100% var(--dou-calendar-view-hour-height);cursor:pointer}.dou-calendar-view__column.is-today{background-color:color-mix(in oklab,var(--dou-color-text) 2%,transparent)}.dou-calendar-view__column.is-disabled{cursor:not-allowed}.dou-calendar-view__event.dou-calendar-view__timed{position:absolute;top:calc(var(--dou-calendar-view-from) * var(--dou-calendar-view-hour-height) + 1px);left:calc(var(--dou-calendar-view-column) / var(--dou-calendar-view-columns) * 100% + 2px);display:flex;flex-direction:column;gap:2px;width:calc(var(--dou-calendar-view-span) / var(--dou-calendar-view-columns) * 100% - 4px);height:calc(var(--dou-calendar-view-length) * var(--dou-calendar-view-hour-height) - 2px);min-height:20px;margin:0;padding:3px 6px;background-color:color-mix(in oklab,var(--dou-calendar-view-tone) 12%,var(--dou-color-bg-surface));line-height:1.35;white-space:normal}.dou-calendar-view__event.dou-calendar-view__timed:hover{background-color:color-mix(in oklab,var(--dou-calendar-view-tone) 18%,var(--dou-color-bg-surface))}.dou-calendar-view__event.dou-calendar-view__timed.is-from-before{border-start-start-radius:0;border-start-end-radius:0}.dou-calendar-view__event.dou-calendar-view__timed.is-runs-on{border-end-start-radius:0;border-end-end-radius:0}.dou-calendar-view__event.dou-calendar-view__timed.is-short{flex-direction:row;align-items:center;gap:6px;padding-block:0}.dou-calendar-view__event.dou-calendar-view__timed.is-short .dou-calendar-view__event-title{flex-shrink:0;max-width:100%}.dou-calendar-view__event.dou-calendar-view__timed.is-short .dou-calendar-view__event-time{min-width:0}.dou-calendar-view__event-title{overflow-x:clip;font-weight:var(--dou-font-weight-medium);text-overflow:ellipsis;white-space:nowrap}.dou-calendar-view__timed.is-tall .dou-calendar-view__event-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;overflow-wrap:anywhere}.dou-calendar-view__event-time{overflow-x:clip;font-size:12px;font-variant-numeric:tabular-nums;opacity:.8;text-overflow:ellipsis;white-space:nowrap}.dou-calendar-view__timed{container-type:inline-size}@container (width < 96px){.dou-calendar-view__event-end{display:none}}.dou-calendar-view__now{position:absolute;top:calc(var(--dou-calendar-view-from) * var(--dou-calendar-view-hour-height));right:0;left:0;z-index:1;border-top:2px solid var(--dou-color-danger);pointer-events:none}.dou-calendar-view__now:before{position:absolute;top:-5px;left:-4px;width:8px;height:8px;border-radius:50%;background-color:var(--dou-color-danger);content:""}.dou-calendar-view.is-editable{-webkit-user-select:none;user-select:none}.dou-calendar-view.is-editable .dou-calendar-view__event{-webkit-touch-callout:none}.dou-calendar-view.is-editable .dou-calendar-view__event:not(.dou-calendar-view__timed){position:relative}.dou-calendar-view.is-dragging-move,.dou-calendar-view.is-dragging-move *{cursor:grabbing}.dou-calendar-view.is-dragging-resize *{cursor:ns-resize}.dou-calendar-view--month.is-dragging-resize *,.dou-calendar-view.is-dragging-resize .dou-calendar-view__all-day *{cursor:ew-resize}.dou-calendar-view.is-dragging-create *{cursor:cell}.dou-calendar-view__event.is-dragging{z-index:3;box-shadow:var(--dou-shadow-md)}.dou-calendar-view__event.is-refused{--dou-calendar-view-tone: var(--dou-color-danger);outline:1px solid var(--dou-color-danger);outline-offset:-1px}.dou-calendar-view__event.is-locked{cursor:default}.dou-calendar-view__resize{position:absolute;z-index:1;touch-action:none}.dou-calendar-view__resize--y{right:0;bottom:0;left:0;height:6px;cursor:ns-resize}.dou-calendar-view__resize--x{top:0;right:0;bottom:0;width:6px;cursor:ew-resize}@media (pointer: coarse){.dou-calendar-view__resize--y{height:12px}.dou-calendar-view__resize--x{width:12px}}.dou-calendar-view__drawing{position:absolute;top:calc(var(--dou-calendar-view-from) * var(--dou-calendar-view-hour-height) + 1px);right:2px;left:2px;z-index:2;box-sizing:border-box;height:calc(var(--dou-calendar-view-length) * var(--dou-calendar-view-hour-height) - 2px);min-height:20px;padding:3px 6px;border:1px dashed var(--dou-color-primary);border-radius:4px;background-color:color-mix(in oklab,var(--dou-color-primary) 10%,var(--dou-color-bg-surface));color:color-mix(in oklab,var(--dou-color-primary) 70%,var(--dou-color-text));font-size:var(--dou-font-size-sm);line-height:1.35;pointer-events:none;container-type:inline-size}.dou-calendar-view__drawing.is-refused{border-color:var(--dou-color-danger);background-color:color-mix(in oklab,var(--dou-color-danger) 10%,var(--dou-color-bg-surface));color:color-mix(in oklab,var(--dou-color-danger) 70%,var(--dou-color-text))}.dou-calendar-view__drawing .dou-calendar-view__event-time{display:block}.dou-calendar-view__day.is-drawing,.dou-calendar-view__all-day-cell.is-drawing{background-color:color-mix(in oklab,var(--dou-color-primary) 8%,transparent)}.dou-calendar-view__day.is-drawing.is-refused,.dou-calendar-view__all-day-cell.is-drawing.is-refused{background-color:color-mix(in oklab,var(--dou-color-danger) 8%,transparent)}.dou-calendar-view__tip{position:fixed;z-index:2000;display:flex;align-items:center;height:22px;padding:0 8px;border-radius:var(--dou-radius-control);background-color:var(--dou-color-neutral);box-shadow:var(--dou-shadow-md);color:var(--dou-color-neutral-on);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}.dou-calendar-view__tip.is-refused{background-color:var(--dou-color-danger);color:var(--dou-color-danger-on)}.dou-calendar-view__live,.dou-calendar-view__menu-anchor{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}@layer dou.components{.dou-card{--dou-card-padding: 20px;--dou-card-radius: var(--dou-radius-container);--dou-card-bg: var(--dou-color-bg-surface);--dou-card-border: var(--dou-color-border);--dou-card-shadow: none;display:flex;flex-direction:column;box-sizing:border-box;min-width:0;border:1px solid var(--dou-card-border);border-radius:var(--dou-card-radius);background-color:var(--dou-card-bg);box-shadow:var(--dou-card-shadow);color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-md);line-height:var(--dou-font-line-height);text-decoration:none;overflow:hidden}.dou-card.is-raised{--dou-card-shadow: var(--dou-shadow-md)}.dou-card.is-interactive{cursor:pointer;transition-property:border-color,box-shadow;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-card.is-interactive:hover{--dou-card-border: var(--dou-color-border-strong)}.dou-card.is-interactive.is-raised:hover{--dou-card-shadow: var(--dou-shadow-lg)}.dou-card.is-interactive:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-card--padding-none{--dou-card-padding: 0px}.dou-card--padding-sm{--dou-card-padding: 12px}.dou-card--padding-lg{--dou-card-padding: 28px}.dou-card__header{display:flex;align-items:flex-start;gap:12px;padding:var(--dou-card-padding) var(--dou-card-padding) 0}.dou-card__header:last-child{padding-bottom:var(--dou-card-padding)}.dou-card__heading{flex:1 1 auto;min-width:0}.dou-card__title{color:var(--dou-color-text);font-size:var(--dou-font-size-lg);font-weight:var(--dou-font-weight-bold);line-height:1.4}.dou-card__description{margin-top:2px;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-md)}.dou-card__extra{display:flex;flex-shrink:0;align-items:center;gap:8px}.dou-card__body{flex:1 1 auto;padding:var(--dou-card-padding)}.dou-card__header+.dou-card__body{padding-top:12px}.dou-card--padding-none .dou-card__header+.dou-card__body{padding-top:0}.dou-card__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;padding:12px var(--dou-card-padding);border-top:1px solid var(--dou-color-border-subtle);background-color:color-mix(in oklab,var(--dou-color-text) 2%,var(--dou-card-bg))}.dou-card--padding-none .dou-card__footer{padding:12px 16px}.dou-card__header+.dou-card__footer{margin-top:var(--dou-card-padding)}}@layer dou.components{.dou-carousel{--dou-carousel-arrow-size: 32px;--dou-carousel-duration: var(--dou-motion-duration-slow);position:relative;border-radius:var(--dou-radius-container);outline:none}.dou-carousel__stage{position:relative;border-radius:inherit}.dou-carousel__viewport{position:relative;overflow:hidden;border-radius:inherit;touch-action:pan-y}.dou-carousel--vertical .dou-carousel__viewport{touch-action:pan-x}.dou-carousel.is-dragging .dou-carousel__viewport{cursor:grabbing;-webkit-user-select:none;user-select:none}.dou-carousel__item{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box;transition-property:transform,opacity;transition-duration:calc(var(--dou-carousel-duration) * var(--dou-motion-travel));transition-timing-function:var(--dou-motion-easing)}.dou-carousel__item.is-active{position:relative}.dou-carousel.is-fixed .dou-carousel__item.is-active{position:absolute}.dou-carousel--fade .dou-carousel__item{opacity:0}.dou-carousel--fade .dou-carousel__item.is-active{opacity:1}.dou-carousel__arrow{position:absolute;z-index:1;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--dou-carousel-arrow-size);height:var(--dou-carousel-arrow-size);padding:0;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-full);background-color:color-mix(in oklab,var(--dou-color-bg-surface) 88%,transparent);box-shadow:var(--dou-shadow-sm);color:var(--dou-color-text);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition-property:opacity,background-color,border-color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-carousel__arrow>svg{width:16px;height:16px}.dou-carousel__arrow:hover:not(:disabled){border-color:var(--dou-color-border-strong);background-color:var(--dou-color-bg-surface)}.dou-carousel__arrow:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-carousel__arrow:disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-carousel--horizontal .dou-carousel__arrow{top:50%;translate:0 -50%}.dou-carousel--horizontal .dou-carousel__arrow--prev{left:12px}.dou-carousel--horizontal .dou-carousel__arrow--next{right:12px}.dou-carousel--vertical .dou-carousel__arrow{left:50%;translate:-50% 0}.dou-carousel--vertical .dou-carousel__arrow--prev{top:12px}.dou-carousel--vertical .dou-carousel__arrow--next{bottom:12px}.dou-carousel--arrows-hover .dou-carousel__arrow{opacity:0}.dou-carousel--arrows-hover:hover .dou-carousel__arrow,.dou-carousel--arrows-hover:focus-within .dou-carousel__arrow{opacity:1}.dou-carousel--arrows-hover .dou-carousel__arrow:disabled{opacity:0;pointer-events:none}@media (hover: none){.dou-carousel--arrows-hover .dou-carousel__arrow{display:none}}.dou-carousel__controls{display:flex;align-items:center;justify-content:center;gap:8px}.dou-carousel--indicators-inside .dou-carousel__controls,.dou-carousel--indicators-none .dou-carousel__controls{position:absolute;z-index:1;right:0;bottom:12px;left:0;pointer-events:none}.dou-carousel--indicators-inside .dou-carousel__controls>*,.dou-carousel--indicators-none .dou-carousel__controls>*{pointer-events:auto}.dou-carousel--indicators-outside .dou-carousel__controls{padding-top:12px}.dou-carousel__indicators{display:flex;align-items:center;gap:2px}.dou-carousel--indicators-inside .dou-carousel__indicators{height:20px;padding:0 4px;border-radius:var(--dou-radius-full);background-color:#0000003d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dou-carousel__indicator{--dou-carousel-dot: rgb(255 255 255 / .5);--dou-carousel-dot-active: #ffffff;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:20px;height:16px;padding:0;border:0;background:none;cursor:pointer}.dou-carousel__indicator:after{content:"";position:absolute;top:-4px;right:0;bottom:-4px;left:0}.dou-carousel__indicator:before{content:"";width:12px;height:4px;border-radius:var(--dou-radius-full);background-color:var(--dou-carousel-dot);transition-property:width,background-color;transition-duration:var(--dou-motion-duration-normal);transition-timing-function:var(--dou-motion-easing)}.dou-carousel__indicator:hover:before{background-color:color-mix(in oklab,var(--dou-carousel-dot-active) 75%,transparent)}.dou-carousel__indicator.is-active{width:28px}.dou-carousel__indicator.is-active:before{width:20px;background-color:var(--dou-carousel-dot-active)}.dou-carousel__indicator:focus-visible{border-radius:var(--dou-radius-control);outline:2px solid var(--dou-color-focus)}.dou-carousel--indicators-outside .dou-carousel__indicator{--dou-carousel-dot: var(--dou-color-border-strong);--dou-carousel-dot-active: var(--dou-color-text)}.dou-carousel--vertical.dou-carousel--indicators-inside .dou-carousel__controls{top:0;right:12px;bottom:0;left:auto;flex-direction:column}.dou-carousel--vertical.dou-carousel--indicators-inside .dou-carousel__indicators{flex-direction:column;width:20px;height:auto;padding:4px 0}.dou-carousel--vertical.dou-carousel--indicators-inside .dou-carousel__indicator{width:16px;height:20px}.dou-carousel--vertical.dou-carousel--indicators-inside .dou-carousel__indicator:after{top:0;right:-4px;bottom:0;left:-4px}.dou-carousel--vertical.dou-carousel--indicators-inside .dou-carousel__indicator:before{width:4px;height:12px}.dou-carousel--vertical.dou-carousel--indicators-inside .dou-carousel__indicator.is-active{width:16px;height:28px}.dou-carousel--vertical.dou-carousel--indicators-inside .dou-carousel__indicator.is-active:before{width:4px;height:20px}.dou-carousel__play{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:var(--dou-radius-full);background-color:#00000052;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dou-carousel__play>svg{width:12px;height:12px}.dou-carousel__play:hover{background-color:#0000007a}.dou-carousel__play:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-carousel--indicators-outside .dou-carousel__play{background-color:transparent;color:var(--dou-color-text-secondary)}.dou-carousel--indicators-outside .dou-carousel__play:hover{background-color:var(--dou-color-bg-muted);color:var(--dou-color-text)}}@layer dou.components{.dou-cascader .dou-picker__input.is-has-value::placeholder{color:var(--dou-color-text)}.dou-cascader.is-open .dou-picker__input.is-has-value::placeholder{color:var(--dou-color-text-tertiary)}.dou-cascader__panel{display:flex;max-width:calc(100vw - 16px);overflow-x:auto}.dou-cascader__columns{display:flex}.dou-cascader__column{box-sizing:border-box;min-width:160px;max-height:min(var(--dou-floating-available, 100vh),280px);padding:4px;margin:0;overflow-y:auto;list-style:none}.dou-cascader__column+.dou-cascader__column{border-left:1px solid var(--dou-color-border-subtle)}.dou-cascader__columns.is-narrow{flex-direction:column;min-width:min(240px,calc(100vw - 16px))}.dou-cascader__columns.is-narrow>.dou-cascader__column{border-left:0}.dou-cascader__back{display:flex;align-items:center;gap:4px;box-sizing:border-box;width:100%;height:var(--dou-control-height-md);padding:0 12px 0 8px;margin:0;border:0;border-bottom:1px solid var(--dou-color-border-subtle);background:transparent;color:var(--dou-color-text-secondary);font:inherit;text-align:start;cursor:pointer}.dou-cascader__back:active{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent)}.dou-cascader__back-icon{flex-shrink:0;width:16px;height:16px}.dou-cascader__trail{flex:1 1 auto;min-width:0;overflow-x:clip;text-overflow:ellipsis;white-space:nowrap}.dou-cascader__matches{min-width:240px}.dou-cascader__option{display:flex;align-items:center;gap:8px;box-sizing:border-box;height:var(--dou-control-height-md);padding:0 8px;border-radius:var(--dou-radius-control);color:var(--dou-color-text);line-height:1;white-space:nowrap;cursor:pointer}.dou-cascader__option.is-expanded{background-color:color-mix(in oklab,var(--dou-color-text) 4%,transparent)}.dou-cascader__option.is-active{background-color:color-mix(in oklab,var(--dou-color-text) 7%,transparent)}.dou-cascader__option.is-selected{font-weight:var(--dou-font-weight-medium)}.dou-cascader__option.is-disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-cascader__label{flex:1 1 auto;min-width:0;overflow-x:clip;text-overflow:ellipsis;text-box:trim-both cap alphabetic}.dou-cascader__suffix{flex-shrink:0;width:1em;height:1em;font-size:14px;color:var(--dou-color-text-tertiary)}.dou-cascader__check{color:var(--dou-color-text)}.dou-cascader__empty{padding:8px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);text-align:center}.dou-cascader.is-multiple{height:auto;min-height:var(--dou-picker-height)}.dou-cascader.is-multiple.is-has-tags{padding-inline-start:3px}.dou-cascader__tags{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;gap:4px;min-width:0;padding:3px 0}.dou-cascader .dou-cascader__input{flex:1 1 60px;min-width:60px;height:calc(var(--dou-picker-height) - 8px)}.dou-cascader__tag-more{color:var(--dou-color-text-secondary)}.dou-cascader__checkbox{flex-shrink:0}}@layer dou.components{.dou-checkbox{--dou-checkbox-tone: var(--dou-color-neutral);--dou-checkbox-tone-on: var(--dou-color-neutral-on);--dou-checkbox-size: 16px;--dou-checkbox-gap: var(--dou-space-sm);--dou-checkbox-font-size: var(--dou-font-size-md);position:relative;display:inline-flex;align-items:center;gap:var(--dou-checkbox-gap);color:var(--dou-color-text);font-size:var(--dou-checkbox-font-size);line-height:1.4;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.dou-checkbox.is-disabled{cursor:not-allowed;opacity:.45}.dou-checkbox.is-readonly{cursor:default}.dou-checkbox.is-invalid{--dou-checkbox-border: color-mix( in oklab, var(--dou-color-danger) 60%, var(--dou-color-border-strong) )}.dou-checkbox-group.is-invalid{--dou-checkbox-border: color-mix( in oklab, var(--dou-color-danger) 60%, var(--dou-color-border-strong) )}.dou-checkbox--sm{--dou-checkbox-size: 14px;--dou-checkbox-gap: 6px;--dou-checkbox-font-size: var(--dou-font-size-sm)}.dou-checkbox--lg{--dou-checkbox-size: 18px;--dou-checkbox-gap: 10px;--dou-checkbox-font-size: var(--dou-font-size-lg)}.dou-checkbox__control{position:relative;display:inline-flex;flex-shrink:0;width:var(--dou-checkbox-size);height:var(--dou-checkbox-size)}.dou-checkbox__native{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:inherit}.dou-checkbox__indicator{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%;border:1px solid var(--dou-checkbox-border, var(--dou-color-border-strong));border-radius:calc(var(--dou-radius-control) - 2px);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);color:var(--dou-checkbox-tone-on);transition-property:background-color,border-color,box-shadow;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-checkbox:hover:not(.is-disabled,.is-readonly) .dou-checkbox__indicator{border-color:color-mix(in oklab,var(--dou-checkbox-tone) 45%,var(--dou-color-border-strong))}.dou-checkbox__native:focus-visible+.dou-checkbox__indicator{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-checkbox.is-disabled:not(.is-checked,.is-indeterminate) .dou-checkbox__indicator{background-color:var(--dou-color-bg-muted);box-shadow:none}.dou-checkbox.is-checked .dou-checkbox__indicator,.dou-checkbox.is-indeterminate .dou-checkbox__indicator{border-color:color-mix(in oklab,var(--dou-checkbox-tone) 90%,var(--dou-color-edge));background-color:var(--dou-checkbox-tone);box-shadow:var(--dou-shadow-highlight),0 1px 2px color-mix(in oklab,var(--dou-checkbox-tone) 24%,transparent)}.dou-checkbox__label{text-box:trim-both cap alphabetic;min-width:0}.dou-checkbox__indicator>svg{width:100%;height:100%;opacity:0;transform:scale(.6);transition-property:opacity,transform;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-checkbox.is-checked .dou-checkbox__indicator>svg,.dou-checkbox.is-indeterminate .dou-checkbox__indicator>svg{opacity:1;transform:none}.dou-checkbox-group{display:flex;flex-wrap:wrap;gap:var(--dou-space-sm) var(--dou-space-lg)}.dou-checkbox-group--vertical{flex-direction:column;flex-wrap:nowrap}}@layer dou.components{.dou-check-tag{--dou-check-tag-tone: var(--dou-color-neutral);--dou-check-tag-tone-on: var(--dou-color-neutral-on);--dou-check-tag-height: 28px;--dou-check-tag-padding-x: 10px;--dou-check-tag-gap: 4px;--dou-check-tag-font-size: var(--dou-font-size-sm);--dou-check-tag-radius: var(--dou-radius-control);display:inline-flex;align-items:center;justify-content:center;gap:var(--dou-check-tag-gap);box-sizing:border-box;height:var(--dou-check-tag-height);max-width:100%;padding:0 var(--dou-check-tag-padding-x);margin:0;border:1px solid var(--dou-color-border);border-radius:var(--dou-check-tag-radius);background-color:var(--dou-color-bg-surface);color:var(--dou-color-text-secondary);font:inherit;font-size:var(--dou-check-tag-font-size);font-weight:var(--dou-font-weight-medium);line-height:1;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;transition-property:background-color,border-color,color,box-shadow;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-check-tag:hover:not(.is-checked,.is-disabled){border-color:var(--dou-color-border-strong);background-color:color-mix(in oklab,var(--dou-color-text) 3%,var(--dou-color-bg-surface));color:var(--dou-color-text)}.dou-check-tag:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}.dou-check-tag.is-checked{border-color:color-mix(in oklab,var(--dou-check-tag-tone) 90%,var(--dou-color-edge));background-color:var(--dou-check-tag-tone);box-shadow:var(--dou-shadow-highlight),0 1px 2px color-mix(in oklab,var(--dou-check-tag-tone) 22%,transparent);color:var(--dou-check-tag-tone-on)}.dou-check-tag.is-round{--dou-check-tag-radius: var(--dou-radius-full)}.dou-check-tag.is-disabled{color:var(--dou-color-text-disabled);cursor:not-allowed;box-shadow:none}.dou-check-tag.is-disabled.is-checked{border-color:transparent;background-color:color-mix(in oklab,var(--dou-color-text) 10%,var(--dou-color-bg-surface))}.dou-check-tag--primary{--dou-check-tag-tone: var(--dou-color-primary);--dou-check-tag-tone-on: var(--dou-color-primary-on)}.dou-check-tag--success{--dou-check-tag-tone: var(--dou-color-success);--dou-check-tag-tone-on: var(--dou-color-success-on)}.dou-check-tag--warning{--dou-check-tag-tone: var(--dou-color-warning);--dou-check-tag-tone-on: var(--dou-color-warning-on)}.dou-check-tag--danger{--dou-check-tag-tone: var(--dou-color-danger);--dou-check-tag-tone-on: var(--dou-color-danger-on)}.dou-check-tag--sm{--dou-check-tag-height: 24px;--dou-check-tag-padding-x: 8px;--dou-check-tag-gap: 3px;--dou-check-tag-font-size: calc(var(--dou-font-size-sm) - 1px);--dou-check-tag-radius: calc(var(--dou-radius-control) - 2px)}.dou-check-tag--lg{--dou-check-tag-height: 32px;--dou-check-tag-padding-x: 12px;--dou-check-tag-gap: 6px;--dou-check-tag-font-size: var(--dou-font-size-md)}.dou-check-tag__label{text-box:trim-both cap alphabetic;overflow-x:clip;text-overflow:ellipsis}.dou-check-tag__icon{display:inline-flex;flex-shrink:0;align-items:center}.dou-check-tag__icon>svg{width:1.1em;height:1.1em}.dou-check-tag-group{display:flex;flex-wrap:wrap;gap:8px}}@layer dou.components{.dou-code-block{--dou-code-block-bg: var(--dou-color-bg-muted);--dou-code-block-font-size: var(--dou-font-size-sm);--dou-code-block-line-height: 1.7;--dou-code-block-padding-x: 16px;--dou-code-block-padding-y: 12px;--dou-code-block-mark: color-mix(in oklab, var(--dou-color-text) 5%, transparent);position:relative;box-sizing:border-box;width:100%;min-width:0;overflow:hidden;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-code-block-bg);color:var(--dou-color-text);font-size:var(--dou-code-block-font-size)}.dou-code-block__header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px;padding:2px 6px 2px var(--dou-code-block-padding-x);box-sizing:border-box;border-bottom:1px solid var(--dou-color-border);color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}.dou-code-block__title{min-width:0;overflow-x:clip;font-family:var(--dou-font-family-mono);text-overflow:ellipsis;white-space:nowrap}.dou-code-block__actions{display:inline-flex;flex:none;align-items:center;gap:2px}.dou-code-block__copy{position:absolute;top:6px;right:6px;z-index:1;opacity:0;transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-code-block:is(:hover,:focus-within)>.dou-code-block__copy,.dou-code-block__copy.is-copied{opacity:1}@media (hover: none){.dou-code-block__copy{opacity:1}}.dou-code-block__body{overflow-x:auto;padding-block:var(--dou-code-block-padding-y)}.dou-code-block__code{display:block;min-width:max-content;font-family:var(--dou-font-family-mono);line-height:var(--dou-code-block-line-height)}.dou-code-block__row{position:relative;display:flex;padding-inline:var(--dou-code-block-padding-x)}.dou-code-block__row:is(.is-marked,:has(.line.highlighted)){background-color:var(--dou-code-block-mark)}.dou-code-block__row:is(.is-marked,:has(.line.highlighted)):before{position:absolute;inset-block:0;inset-inline-start:0;width:2px;background-color:var(--dou-color-text-tertiary);content:""}.dou-code-block__row:has(.line.diff.add){background-color:color-mix(in oklab,var(--dou-color-success) 12%,transparent)}.dou-code-block__row:has(.line.diff.remove){background-color:color-mix(in oklab,var(--dou-color-danger) 10%,transparent)}.dou-code-block__row:has(.line.diff.remove) .dou-code-block__line{opacity:.7}.dou-code-block__row:has(.line.diff):before{position:absolute;inset-inline-start:4px;color:var(--dou-color-text-tertiary);content:"+";-webkit-user-select:none;user-select:none}.dou-code-block__row:has(.line.diff.remove):before{content:"−"}.dou-code-block__number{flex:none;min-width:2ch;margin-inline-end:16px;color:var(--dou-color-text-tertiary);text-align:end;-webkit-user-select:none;user-select:none}.dou-code-block__line{flex:1 0 auto;white-space:pre}.dou-code-block__line>.line:empty:before{content:"​"}.dou-code-block__line span{color:var(--shiki-light, inherit);color:color-mix(in oklab,var(--shiki-dark, currentColor) calc(100% * var(--dou-scheme-dark)),var(--shiki-light, currentColor));font-style:var(--shiki-light-font-style, inherit);font-weight:var(--shiki-light-font-weight, inherit)}.dou-code-block.is-wrap .dou-code-block__code{min-width:0}.dou-code-block.is-wrap .dou-code-block__line{flex-shrink:1;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.dou-code-block.is-folded .dou-code-block__body{max-height:calc(var(--dou-code-block-max-lines) * var(--dou-code-block-line-height) * 1em + var(--dou-code-block-padding-y));overflow-y:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 40px),transparent)}.dou-code-block__toggle{display:block;width:100%;padding:6px;margin:0;border:0;border-top:1px solid var(--dou-color-border);background:transparent;color:var(--dou-color-text-secondary);font:inherit;font-size:var(--dou-font-size-sm);cursor:pointer}.dou-code-block__toggle:hover{color:var(--dou-color-text)}.dou-code-block__toggle:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}}@layer dou.components{.dou-relative-time{font-variant-numeric:tabular-nums}}@layer dou.components{.dou-collapse{--dou-collapse-padding-x: 0px;--dou-collapse-header-padding-y: 12px;--dou-collapse-arrow-size: 16px;--dou-collapse-gap: 8px;--dou-collapse-border: var(--dou-color-border);display:flex;flex-direction:column;min-width:0;color:var(--dou-color-text);font-size:var(--dou-font-size-md);line-height:var(--dou-font-line-height)}.dou-collapse.is-bordered{--dou-collapse-padding-x: 16px;overflow:hidden;border:1px solid var(--dou-collapse-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface)}.dou-collapse__item{border-bottom:1px solid var(--dou-collapse-border)}.dou-collapse.is-bordered>.dou-collapse__item:last-child{border-bottom:0}.dou-collapse__header{display:flex;align-items:center;gap:12px;padding-right:var(--dou-collapse-padding-x)}.dou-collapse__trigger{display:flex;flex:1 1 auto;align-items:center;gap:var(--dou-collapse-gap);min-width:0;padding:var(--dou-collapse-header-padding-y) 0 var(--dou-collapse-header-padding-y) var(--dou-collapse-padding-x);border:0;background:none;color:inherit;font:inherit;font-weight:var(--dou-font-weight-medium);line-height:1;text-align:start;cursor:pointer}.dou-collapse__trigger:focus-visible{border-radius:var(--dou-radius-control);outline:2px solid var(--dou-color-focus);outline-offset:-2px}.dou-collapse__trigger:hover .dou-collapse__arrow{color:var(--dou-color-text)}.dou-collapse__item.is-disabled .dou-collapse__trigger{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-collapse__item.is-disabled .dou-collapse__trigger .dou-collapse__arrow{color:inherit}.dou-collapse__arrow{flex-shrink:0;width:1em;height:1em;font-size:var(--dou-collapse-arrow-size);color:var(--dou-color-text-tertiary);transition:transform var(--dou-motion-duration-normal) var(--dou-motion-easing),color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-collapse__item.is-open .dou-collapse__arrow{transform:rotate(90deg)}.dou-collapse__title{flex:1 1 auto;min-width:0;text-box:trim-both cap alphabetic}.dou-collapse__extra{display:flex;flex-shrink:0;align-items:center;gap:8px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.dou-collapse__content{padding:0 var(--dou-collapse-padding-x) 16px calc(var(--dou-collapse-padding-x) + var(--dou-collapse-arrow-size) + var(--dou-collapse-gap));color:var(--dou-color-text-secondary)}.dou-collapse-enter-active{transition:height var(--dou-motion-duration-normal) var(--dou-motion-easing)}.dou-collapse-leave-active{transition:height var(--dou-motion-duration-fast) var(--dou-motion-easing)}}@layer dou.components{.dou-color-panel{--dou-color-panel-checker: conic-gradient( color-mix(in oklab, var(--dou-color-text) 10%, transparent) 25%, transparent 0 50%, color-mix(in oklab, var(--dou-color-text) 10%, transparent) 0 75%, transparent 0 ) 0 0 / 8px 8px;display:flex;flex-direction:column;gap:12px;box-sizing:border-box;width:256px;padding:12px}.dou-color-panel.is-bordered{border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm)}.dou-color-panel.is-disabled{opacity:.5}.dou-color-panel__swatch{position:relative;display:inline-flex;flex-shrink:0;overflow:hidden;border-radius:4px;background:var(--dou-color-panel-checker),var(--dou-color-bg-surface);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--dou-color-text) 12%,transparent)}.dou-color-panel__swatch>span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--dou-color-edge) 12%,transparent)}.dou-color-panel__tabs{display:flex;gap:2px;padding:2px;border-radius:var(--dou-radius-control);background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent)}.dou-color-panel__tab{flex:1 1 0;min-width:0;height:24px;padding:0 6px;border:0;border-radius:calc(var(--dou-radius-control) - 2px);background:none;color:var(--dou-color-text-secondary);font:inherit;font-size:var(--dou-font-size-sm);white-space:nowrap;cursor:pointer;outline:none;transition-property:color,background-color,box-shadow;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-color-panel__tab:hover{color:var(--dou-color-text)}.dou-color-panel__tab:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:0}.dou-color-panel__tab.is-active{background-color:var(--dou-color-bg-surface);box-shadow:0 0 0 1px color-mix(in oklab,var(--dou-color-text) 8%,transparent),var(--dou-shadow-sm);color:var(--dou-color-text)}.dou-color-panel__area{position:relative;height:144px;border-radius:var(--dou-radius-control);background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent);box-shadow:inset 0 0 0 1px #0000000f;cursor:crosshair;touch-action:none;outline:none}.dou-color-panel__area:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-color-panel__wheel{position:relative;align-self:center;width:184px;height:184px;border-radius:var(--dou-radius-full);background:radial-gradient(closest-side,#fff,transparent),conic-gradient(from 90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);box-shadow:inset 0 0 0 1px #0000000f;cursor:crosshair;touch-action:none;outline:none}.dou-color-panel__wheel:before{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background-color:#000;opacity:var(--dou-color-panel-dim, 0);content:""}.dou-color-panel__wheel:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-color-panel__wheel>.dou-color-panel__thumb{top:auto}.dou-color-panel__bar{width:100%;height:32px;border-radius:var(--dou-radius-control)}.dou-color-panel__channels{display:flex;flex-direction:column;gap:8px}.dou-color-panel__channel{display:flex;align-items:center;gap:8px}.dou-color-panel__channel>.dou-color-panel__track{flex:1 1 auto}.dou-color-panel__label{flex-shrink:0;width:12px;color:var(--dou-color-text-secondary);font-family:var(--dou-font-family-mono);font-size:var(--dou-font-size-sm);text-align:center}.dou-color-panel__number{box-sizing:border-box;flex-shrink:0;width:52px;height:24px;padding:0 6px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);color:var(--dou-color-text);font-family:var(--dou-font-family-mono);font-size:max(var(--dou-font-size-input-min, 0px),12px);font-variant-numeric:tabular-nums;text-align:right;outline:none}.dou-color-panel__number:focus{border-color:color-mix(in oklab,var(--dou-color-focus) 70%,var(--dou-color-text));box-shadow:0 0 0 3px color-mix(in oklab,var(--dou-color-focus) 32%,transparent)}.dou-color-panel__controls{display:flex;align-items:center;gap:12px}.dou-color-panel__sliders{display:flex;flex:1 1 auto;flex-direction:column;gap:10px}.dou-color-panel__track{position:relative;height:10px;margin:0 5px;border-radius:var(--dou-radius-full);cursor:pointer;touch-action:none;outline:none}.dou-color-panel__track:before{position:absolute;top:0;right:-5px;bottom:0;left:-5px;border-radius:inherit;background:var(--dou-color-panel-track);box-shadow:inset 0 0 0 1px #0000000f;content:""}.dou-color-panel__track:focus-visible:before{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-color-panel__hue{--dou-color-panel-track: linear-gradient( to right, #f00, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 )}.dou-color-panel__value{--dou-color-panel-track: linear-gradient(to right, #000, var(--dou-color-panel-bright))}.dou-color-panel__alpha{--dou-color-panel-track: linear-gradient(to right, transparent, var(--dou-color-panel-opaque)), var(--dou-color-panel-checker), var(--dou-color-bg-surface)}.dou-color-panel__thumb{position:absolute;top:50%;box-sizing:border-box;width:14px;height:14px;border:2px solid #fff;border-radius:var(--dou-radius-full);box-shadow:0 0 0 1px #0000001f,0 1px 3px #0003;pointer-events:none;translate:-50% -50%}.dou-color-panel__area>.dou-color-panel__thumb{top:auto}.dou-color-panel__preview{width:28px;height:28px;border-radius:var(--dou-radius-control)}.dou-field-group>.dou-color-panel__format{flex:0 0 96px}.dou-color-panel__format .dou-select__value,.dou-color-panel__text .dou-input__native{font-family:var(--dou-font-family-mono);font-size:max(var(--dou-font-size-input-min, 0px),12px)}.dou-color-panel__text.is-hex .dou-input__native{text-transform:uppercase}.dou-color-panel__presets{display:grid;grid-template-columns:repeat(auto-fill,20px);gap:6px;padding-top:12px;border-top:1px solid var(--dou-color-border-subtle)}.dou-color-panel__preset{position:relative;width:20px;height:20px;padding:0;overflow:hidden;border:0;border-radius:4px;background:var(--dou-color-panel-checker),var(--dou-color-bg-surface);cursor:pointer}.dou-color-panel__preset>span{position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--dou-color-edge) 12%,transparent)}.dou-color-panel__preset:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-color-panel__preset.is-selected{outline:2px solid var(--dou-color-text);outline-offset:2px}}@layer dou.components{.dou-color-picker{--dou-color-picker-checker: conic-gradient( color-mix(in oklab, var(--dou-color-text) 10%, transparent) 25%, transparent 0 50%, color-mix(in oklab, var(--dou-color-text) 10%, transparent) 0 75%, transparent 0 ) 0 0 / 8px 8px}.dou-color-picker:not(.is-text){width:auto;padding:0 calc((var(--dou-picker-height) - 2px - 1.25em) / 2)}.dou-color-picker.is-text{width:auto;min-width:160px}.dou-color-picker.is-text.is-hex{width:160px}.dou-color-picker__swatch{position:relative;display:inline-flex;flex-shrink:0;width:1.25em;height:1.25em;overflow:hidden;border-radius:4px;background:var(--dou-color-picker-checker),var(--dou-color-bg-surface);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--dou-color-text) 12%,transparent)}.dou-color-picker__swatch>span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--dou-color-edge) 12%,transparent)}.dou-color-picker__swatch.is-empty>span{background:linear-gradient(to top right,transparent calc(50% - .5px),var(--dou-color-danger) calc(50% - .5px) calc(50% + .5px),transparent calc(50% + .5px))}.dou-color-picker__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dou-color-picker .dou-picker__value{font-family:var(--dou-font-family-mono);font-size:.93em}.dou-color-picker.is-hex .dou-picker__value{text-transform:uppercase}.dou-color-picker__panel{padding:0}}@layer dou.components{.dou-color-mode-button{width:var(--dou-button-height);padding:0}.dou-color-mode-button__icon{display:inline-flex;width:1em;height:1em}.dou-color-mode-button__icon>svg{width:100%;height:100%}.dou-color-mode-select__icon{flex-shrink:0;width:1em;height:1em;color:var(--dou-color-text-tertiary)}.dou-color-mode-select__option{display:flex;align-items:center;gap:8px}.dou-color-mode-select__label{min-width:0;overflow-x:clip;text-overflow:ellipsis;text-box:trim-both cap alphabetic}}@layer dou.components{.dou-command{display:flex;flex-direction:column;color:var(--dou-color-text);font-size:var(--dou-font-size-md)}.dou-command__search{display:flex;align-items:center;gap:10px;height:48px;padding:0 16px;border-bottom:1px solid var(--dou-color-border)}.dou-command__prefix{display:inline-flex;flex-shrink:0;color:var(--dou-color-text-tertiary)}.dou-command__prefix svg{width:1em;height:1em;font-size:16px}.dou-command__input{flex:1 1 auto;min-width:0;height:100%;padding:0;margin:0;border:0;outline:0;background:transparent;color:inherit;font:inherit;font-size:max(var(--dou-font-size-input-min, 0px),var(--dou-font-size-lg))}.dou-command__input::placeholder{color:var(--dou-color-text-tertiary);opacity:1}.dou-command__list{padding:6px;overflow-y:auto;overscroll-behavior:contain;scroll-padding:6px}.dou-command__group+.dou-command__group{padding-top:4px;margin-top:4px;border-top:1px solid var(--dou-color-border-subtle)}.dou-command__group-label{padding:8px 10px 4px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);line-height:1.4}.dou-command__item{display:flex;align-items:center;gap:10px;box-sizing:border-box;height:36px;padding:0 10px;border-radius:var(--dou-radius-control);color:var(--dou-color-text);line-height:1;white-space:nowrap;cursor:pointer}.dou-command__item.is-active{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent)}.dou-command__item.is-disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-command__label{flex:0 1 auto;min-width:0;overflow-x:clip;text-overflow:ellipsis;text-box:trim-both cap alphabetic}.dou-command__label:has(.dou-command__match){color:var(--dou-color-text-secondary)}.dou-command__match{background:none;color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium)}.dou-command__description{flex:1 1 auto;min-width:0;overflow-x:clip;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);text-overflow:ellipsis;text-box:trim-both cap alphabetic}.dou-command__shortcut{flex-shrink:0;margin-left:auto}.dou-command__empty{padding:28px 12px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);text-align:center}.dou-command__footer{display:flex;align-items:center;gap:16px;padding:10px 16px;border-top:1px solid var(--dou-color-border);color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.dou-command-dialog{overflow:hidden}.dou-command-dialog>.dou-dialog__body{padding:0}}@layer dou.components{.dou-comment-thread{--dou-comment-thread-gap: 14px;--dou-comment-thread-avatar: 24px;--dou-comment-thread-indent: calc(var(--dou-comment-thread-avatar) + 8px);display:flex;flex-direction:column;gap:var(--dou-comment-thread-gap);min-width:0;color:var(--dou-color-text);font-size:var(--dou-font-size-sm);line-height:var(--dou-font-line-height)}.dou-comment-thread__status{display:flex;align-items:center;gap:6px;min-height:28px;color:var(--dou-color-text-tertiary)}.dou-comment-thread__status>.dou-button{margin-inline-start:auto}.dou-comment-thread__status-icon{flex:none;width:16px;height:16px;color:var(--dou-color-success)}.dou-comment-thread__status-text{min-width:0;overflow-x:clip;text-overflow:ellipsis;white-space:nowrap}.dou-comment-thread__list{display:flex;flex-direction:column;gap:var(--dou-comment-thread-gap);margin:0;padding:0;list-style:none}.dou-comment-thread__comment{display:flex;flex-direction:column;gap:4px;min-width:0}.dou-comment-thread__head{display:flex;align-items:center;gap:8px;min-width:0;min-height:28px}.dou-comment-thread__avatar{flex:none}.dou-comment-thread__author{min-width:0;overflow-x:clip;font-weight:var(--dou-font-weight-medium);text-overflow:ellipsis;white-space:nowrap}.dou-comment-thread__time,.dou-comment-thread__edited{flex:none;color:var(--dou-color-text-tertiary);font-size:12px}.dou-comment-thread__actions{display:flex;flex:none;gap:2px;margin-inline-start:auto;margin-block:-2px}.dou-comment-thread__body{margin:0;padding-inline-start:var(--dou-comment-thread-indent);overflow-wrap:anywhere;white-space:pre-wrap}.dou-comment-thread.is-resolved .dou-comment-thread__body{color:var(--dou-color-text-secondary)}.dou-comment-thread__editor,.dou-comment-thread__confirm{display:flex;flex-direction:column;gap:8px;padding-inline-start:var(--dou-comment-thread-indent)}.dou-comment-thread__confirm{color:var(--dou-color-danger)}.dou-comment-thread__composer{display:flex;flex-direction:column;gap:8px}.dou-comment-thread__buttons{display:flex;justify-content:flex-end;gap:8px}}@layer dou.components{.dou-copy-button{--dou-copy-button-size: var(--dou-control-height-md);position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;min-width:var(--dou-copy-button-size);height:var(--dou-copy-button-size);padding:0;margin:0;border:1px solid transparent;border-radius:var(--dou-radius-control);background:transparent;color:var(--dou-color-text-tertiary);font:inherit;font-size:var(--dou-font-size-sm);cursor:pointer;transition-property:color,background-color,border-color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-copy-button:hover:not(:disabled){background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-copy-button:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}.dou-copy-button:disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-copy-button.is-copied,.dou-copy-button.is-copied:hover{color:var(--dou-color-success-text)}.dou-copy-button.is-labelled{padding:0 10px 0 8px}.dou-copy-button--sm{--dou-copy-button-size: var(--dou-control-height-sm)}.dou-copy-button--outline{border-color:var(--dou-color-border);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm)}.dou-copy-button--outline:hover:not(:disabled){border-color:var(--dou-color-border-strong);background-color:var(--dou-color-bg-surface)}.dou-copy-button__icon{flex-shrink:0;width:1em;height:1em;font-size:16px}.dou-copy-button--sm .dou-copy-button__icon{width:1em;height:1em;font-size:14px}.dou-copy-button__label{text-box:trim-both cap alphabetic}@media (pointer: coarse){.dou-copy-button:after{position:absolute;inset:min(0px,calc(50% - 20px));content:""}}.dou-copy-button__status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}@layer dou.components{.dou-date-picker{--dou-date-picker-height: var(--dou-control-height-md);--dou-date-picker-padding-x: var(--dou-control-padding-x-md);--dou-date-picker-gap: var(--dou-control-gap-md);--dou-date-picker-font-size: var(--dou-font-size-md);--dou-date-picker-bg: var(--dou-color-bg-surface);--dou-date-picker-border: var(--dou-color-border);--dou-date-picker-border-hover: var(--dou-color-border-strong);--dou-date-picker-border-focus: color-mix( in oklab, var(--dou-color-focus) 70%, var(--dou-color-text) );--dou-date-picker-ring: color-mix(in oklab, var(--dou-color-focus) 32%, transparent);--dou-date-picker-shadow: var(--dou-shadow-sm);display:inline-flex;align-items:center;gap:var(--dou-date-picker-gap);box-sizing:border-box;width:100%;height:var(--dou-date-picker-height);padding:0 var(--dou-date-picker-padding-x);border:1px solid var(--dou-date-picker-border);border-radius:var(--dou-radius-control);background-color:var(--dou-date-picker-bg);box-shadow:var(--dou-date-picker-shadow);color:var(--dou-color-text);font-size:var(--dou-date-picker-font-size);vertical-align:middle;cursor:text;transition-property:border-color,box-shadow,background-color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-date-picker:hover{border-color:var(--dou-date-picker-border-hover)}.dou-date-picker:focus-within,.dou-date-picker.is-open{border-color:var(--dou-date-picker-border-focus);box-shadow:0 0 0 3px var(--dou-date-picker-ring),var(--dou-date-picker-shadow)}.dou-date-picker.is-invalid{--dou-date-picker-border: color-mix( in oklab, var(--dou-color-danger) 55%, var(--dou-color-border) );--dou-date-picker-border-hover: color-mix( in oklab, var(--dou-color-danger) 75%, var(--dou-color-border) );--dou-date-picker-border-focus: var(--dou-color-danger);--dou-date-picker-ring: color-mix(in oklab, var(--dou-color-danger) 18%, transparent)}.dou-date-picker.is-readonly{--dou-date-picker-border-hover: var(--dou-date-picker-border);--dou-date-picker-shadow: none;cursor:default}.dou-date-picker.is-disabled{--dou-date-picker-bg: var(--dou-color-bg-muted);--dou-date-picker-border-hover: var(--dou-date-picker-border);--dou-date-picker-shadow: none;color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-date-picker--sm{--dou-date-picker-height: var(--dou-control-height-sm);--dou-date-picker-padding-x: var(--dou-control-padding-x-sm);--dou-date-picker-gap: var(--dou-control-gap-sm);--dou-date-picker-font-size: var(--dou-font-size-sm)}.dou-date-picker--lg{--dou-date-picker-height: var(--dou-control-height-lg);--dou-date-picker-padding-x: var(--dou-control-padding-x-lg);--dou-date-picker-gap: var(--dou-control-gap-lg);--dou-date-picker-font-size: var(--dou-font-size-lg)}.dou-date-picker__icon,.dou-date-picker__separator{flex-shrink:0;width:1em;height:1em;font-size:1.1em;color:var(--dou-color-text-tertiary)}.dou-date-picker__input{flex:1 1 0;min-width:0;height:calc(var(--dou-date-picker-height) - 2px);padding:0;margin:0;border:0;outline:0;background:transparent;color:inherit;font:inherit;font-size:max(var(--dou-font-size-input-min, 0px),1em);font-variant-numeric:tabular-nums}.dou-date-picker__input::placeholder{color:var(--dou-color-text-tertiary);opacity:1}.dou-date-picker__input:disabled{cursor:not-allowed}.dou-date-picker.is-range .dou-date-picker__input{text-align:center}.dou-date-picker__clear{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.15em;height:1.15em;padding:0;margin:0;border:0;border-radius:var(--dou-radius-full);background-color:color-mix(in oklab,var(--dou-color-text) 10%,transparent);color:var(--dou-color-text-secondary);cursor:pointer}.dou-date-picker__clear>svg{width:1em;height:1em;font-size:.8em}.dou-date-picker__clear:hover{background-color:color-mix(in oklab,var(--dou-color-text) 18%,transparent);color:var(--dou-color-text)}.dou-date-picker__clear:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.dou-date-picker__panel{padding:5px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:color-mix(in oklab,var(--dou-color-text) calc(4% * var(--dou-scheme-dark)),var(--dou-color-bg-surface));box-shadow:var(--dou-shadow-md);color:var(--dou-color-text);font-family:var(--dou-font-family);font-size:var(--dou-font-size-md)}.dou-date-picker__body{display:flex;gap:8px}.dou-date-picker__shortcuts{display:flex;flex-direction:column;gap:2px;min-width:96px;padding-inline-end:8px;border-inline-end:1px solid var(--dou-color-border-subtle)}.dou-date-picker__shortcut{height:28px;padding:0 8px;margin:0;border:0;border-radius:var(--dou-radius-control);background:transparent;color:var(--dou-color-text-secondary);font:inherit;font-size:var(--dou-font-size-sm);text-align:start;white-space:nowrap;cursor:pointer}.dou-date-picker__shortcut:hover{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-date-picker__shortcut:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.dou-date-picker__times{--dou-time-picker-cell: 32px;--dou-time-picker-rows: 7;padding-inline-start:8px;border-inline-start:1px solid var(--dou-color-border-subtle)}@media (max-width: 639.98px){.dou-date-picker__panel{max-height:var(--dou-floating-available, calc(100dvh - 16px) );overflow-y:auto;overscroll-behavior:contain}.dou-date-picker__body{display:grid;grid-template-columns:minmax(0,auto)}.dou-date-picker__shortcuts{contain:inline-size;flex-direction:row;min-width:0;padding-inline-end:0;padding-bottom:8px;border-inline-end:0;border-bottom:1px solid var(--dou-color-border-subtle);overflow-x:auto;scrollbar-width:none}.dou-date-picker__times{--dou-time-picker-rows: 5;justify-content:center;padding-inline-start:0;padding-top:8px;border-inline-start:0;border-top:1px solid var(--dou-color-border-subtle)}}.dou-date-picker__footer{display:flex;justify-content:flex-end;gap:4px;padding-top:8px;margin-top:8px;border-top:1px solid var(--dou-color-border-subtle)}.dou-calendar{--dou-calendar-cell: 32px;--dou-calendar-key-height: 36px;--dou-calendar-range-bg: color-mix(in oklab, var(--dou-color-text) 6%, transparent);--dou-calendar-range-edge: color-mix(in oklab, var(--dou-color-text) 28%, transparent);display:inline-flex;flex-direction:column;color:var(--dou-color-text);font-size:var(--dou-font-size-md);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.dou-calendar__panels{display:flex;gap:20px}.dou-calendar__panel{display:flex;flex-direction:column;gap:4px}.dou-calendar__header{display:flex;align-items:center;justify-content:space-between;height:32px}.dou-calendar__step,.dou-calendar__step-space{flex-shrink:0;width:28px;height:28px}.dou-calendar__step,.dou-calendar__title{display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0;border:0;border-radius:var(--dou-radius-control);background:transparent;color:inherit;font:inherit;cursor:pointer}.dou-calendar__step:hover,.dou-calendar__title:hover{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent)}.dou-calendar__step:focus-visible,.dou-calendar__title:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}.dou-calendar__step{color:var(--dou-color-text-secondary)}.dou-calendar__step>svg{width:1em;height:1em;font-size:16px}.dou-calendar__title{height:28px;padding:0 8px;font-weight:var(--dou-font-weight-medium);text-box:trim-both cap alphabetic}.dou-calendar__title.is-static{cursor:default}.dou-calendar__title.is-static:hover{background:transparent}.dou-calendar__grid{border-collapse:collapse;border-spacing:0}.dou-calendar__grid th{width:var(--dou-calendar-cell);height:28px;padding:0;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);font-weight:var(--dou-font-weight-regular);text-align:center}.dou-calendar__grid td{padding:1px 0}.dou-calendar__cell{position:relative;text-align:center}.dou-calendar__cell.is-in-range:before,.dou-calendar__cell.is-range-start:before,.dou-calendar__cell.is-range-end:before{position:absolute;top:1px;right:0;bottom:1px;left:0;background-color:var(--dou-calendar-range-bg);content:""}.dou-calendar__cell.is-range-start:before,.dou-calendar__cell:first-child:before,.dou-calendar__cell.is-hidden+.dou-calendar__cell:before{border-start-start-radius:var(--dou-radius-control);border-end-start-radius:var(--dou-radius-control)}.dou-calendar__cell.is-range-end:before,.dou-calendar__cell:last-child:before,.dou-calendar__cell:has(+.is-hidden):before{border-start-end-radius:var(--dou-radius-control);border-end-end-radius:var(--dou-radius-control)}.dou-calendar__cell.is-range-start.is-range-end:before{content:none}.dou-calendar__cell:is(.is-in-range,.is-range-start,.is-range-end)>.dou-calendar__day:hover:not(.is-selected,.is-disabled){border-color:var(--dou-calendar-range-edge);background-color:transparent}.dou-calendar__day{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--dou-calendar-cell);height:var(--dou-calendar-cell);padding:0;margin:0;border:1px solid transparent;border-radius:var(--dou-radius-control);background:transparent;color:inherit;font:inherit;line-height:1;cursor:pointer;transition-property:background-color,border-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-calendar__day:hover:not(.is-selected,.is-disabled){background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent)}.dou-calendar__day:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}.dou-calendar__day.is-today:after{position:absolute;bottom:5px;left:50%;width:10px;height:2px;border-radius:1px;background-color:currentColor;content:"";translate:-50% 0}.dou-calendar__day.is-selected{border-color:color-mix(in oklab,var(--dou-color-neutral) 90%,var(--dou-color-edge));background-color:var(--dou-color-neutral);box-shadow:var(--dou-shadow-highlight),0 1px 2px color-mix(in oklab,var(--dou-color-neutral) 24%,transparent);color:var(--dou-color-neutral-on);font-weight:var(--dou-font-weight-medium)}.dou-calendar__day.is-disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-calendar__cell.is-outside>.dou-calendar__day:not(.is-selected,.is-disabled){color:var(--dou-color-text-tertiary)}:is(.dou-calendar--month,.dou-calendar--quarter,.dou-calendar--year){--dou-calendar-key: 56px}:is(.dou-calendar--month,.dou-calendar--quarter,.dou-calendar--year) .dou-calendar__day{width:var(--dou-calendar-key);height:var(--dou-calendar-key-height);margin:4px 0}:is(.dou-calendar--month,.dou-calendar--quarter,.dou-calendar--year) .dou-calendar__panel{min-width:calc(var(--dou-calendar-cell) * 7)}:is(.dou-calendar--month,.dou-calendar--quarter,.dou-calendar--year) .dou-calendar__grid{width:100%}:is(.dou-calendar--month,.dou-calendar--quarter,.dou-calendar--year) .dou-calendar__cell:is(.is-in-range,.is-range-start,.is-range-end):before{inset-block:5px}:is(.dou-calendar--month,.dou-calendar--quarter,.dou-calendar--year) .dou-calendar__cell.is-range-start:before{inset-inline-start:calc(50% - var(--dou-calendar-key) / 2)}:is(.dou-calendar--month,.dou-calendar--quarter,.dou-calendar--year) .dou-calendar__cell.is-range-end:before{inset-inline-end:calc(50% - var(--dou-calendar-key) / 2)}.dou-calendar--quarter{--dou-calendar-key: 64px}.dou-calendar.is-week tbody tr:hover>.dou-calendar__cell:not(.is-hidden):before{position:absolute;top:1px;right:0;bottom:1px;left:0;background-color:var(--dou-calendar-range-bg);content:""}.dou-calendar.is-week .dou-calendar__day:hover:not(.is-selected,.is-disabled){background-color:transparent}.dou-calendar.is-week tbody tr:hover>.dou-calendar__cell:first-child:before{border-start-start-radius:var(--dou-radius-control);border-end-start-radius:var(--dou-radius-control)}.dou-calendar.is-week tbody tr:hover>.dou-calendar__cell:last-child:before{border-start-end-radius:var(--dou-radius-control);border-end-end-radius:var(--dou-radius-control)}.dou-calendar__footer{display:flex;justify-content:flex-end;gap:4px;padding-top:8px;margin-top:8px;border-top:1px solid var(--dou-color-border-subtle)}@media (pointer: coarse){.dou-calendar{--dou-calendar-cell: 40px;--dou-calendar-key-height: 40px}}}@layer dou.components{.dou-descriptions{--dou-descriptions-columns: 3;--dou-descriptions-label-width: 96px;--dou-descriptions-gap-x: 24px;--dou-descriptions-gap-y: 16px;--dou-descriptions-cell-padding: 10px 14px;--dou-descriptions-radius: calc(var(--dou-radius-control) + 2px);color:var(--dou-color-text);font-size:var(--dou-font-size-md);line-height:1.5}.dou-descriptions__header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.dou-descriptions__title{flex:1 1 auto;min-width:0;color:var(--dou-color-text);font-size:var(--dou-font-size-md);font-weight:var(--dou-font-weight-bold)}.dou-descriptions__extra{display:flex;flex-shrink:0;align-items:center;gap:8px}.dou-descriptions__list{display:grid;grid-template-columns:repeat(var(--dou-descriptions-columns),minmax(0,1fr));gap:var(--dou-descriptions-gap-y) var(--dou-descriptions-gap-x);margin:0}.dou-descriptions__item{display:flex;flex-direction:column;gap:2px;min-width:0}.dou-descriptions__label{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.dou-descriptions__content{min-width:0;margin:0;overflow-wrap:anywhere}.dou-descriptions--horizontal{--dou-descriptions-gap-y: 10px}.dou-descriptions--horizontal .dou-descriptions__item{flex-direction:row;align-items:baseline;gap:12px}.dou-descriptions--horizontal .dou-descriptions__label{flex-shrink:0;width:var(--dou-descriptions-label-width);font-size:var(--dou-font-size-md)}.dou-descriptions--horizontal .dou-descriptions__content{flex:1 1 auto}.dou-descriptions.is-bordered .dou-descriptions__body{border:1px solid var(--dou-color-border);border-radius:var(--dou-descriptions-radius);background-color:var(--dou-color-bg-surface);overflow:hidden}.dou-descriptions.is-bordered .dou-descriptions__list{gap:0;margin:0 -1px -1px 0}.dou-descriptions.is-bordered .dou-descriptions__item{gap:0;border-right:1px solid var(--dou-color-border-subtle);border-bottom:1px solid var(--dou-color-border-subtle)}.dou-descriptions.is-bordered .dou-descriptions__label{padding:var(--dou-descriptions-cell-padding);padding-bottom:0}.dou-descriptions.is-bordered .dou-descriptions__content{padding:var(--dou-descriptions-cell-padding);padding-top:2px}.dou-descriptions--horizontal.is-bordered .dou-descriptions__item{align-items:stretch}.dou-descriptions--horizontal.is-bordered .dou-descriptions__label{box-sizing:border-box;padding:var(--dou-descriptions-cell-padding);border-right:1px solid var(--dou-color-border-subtle);background-color:color-mix(in oklab,var(--dou-color-text) 2.5%,var(--dou-color-bg-surface));color:var(--dou-color-text-secondary)}.dou-descriptions--horizontal.is-bordered .dou-descriptions__content{padding:var(--dou-descriptions-cell-padding)}}@layer dou.components{.dou-dialog{--dou-dialog-mask: rgb(0 0 0 / calc(.32 + .32 * var(--dou-scheme-dark)));--dou-dialog-bg: color-mix( in oklab, var(--dou-color-text) calc(3% * var(--dou-scheme-dark)), var(--dou-color-bg-surface) );--dou-dialog-width: 480px;--dou-dialog-top: 12vh;--dou-dialog-radius: var(--dou-radius-container);--dou-dialog-padding: 20px;position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;box-sizing:border-box;padding:var(--dou-dialog-top) 16px 32px;overflow:auto;overscroll-behavior:contain;background-color:var(--dou-dialog-mask)}.dou-dialog.is-centered{align-items:center;padding-top:32px}.dou-dialog__panel{position:relative;display:flex;flex-direction:column;box-sizing:border-box;width:var(--dou-dialog-width);max-width:100%;margin:auto 0;border:1px solid var(--dou-color-border);border-radius:var(--dou-dialog-radius);background-color:var(--dou-dialog-bg);box-shadow:var(--dou-shadow-lg);color:var(--dou-color-text-secondary);font-family:var(--dou-font-family);font-size:var(--dou-font-size-md);line-height:var(--dou-font-line-height);outline:none}.dou-dialog:not(.is-centered) .dou-dialog__panel{margin-top:0}.dou-dialog__header{display:flex;align-items:flex-start;gap:12px;padding:var(--dou-dialog-padding) var(--dou-dialog-padding) 0}.dou-dialog__title{flex:1 1 auto;min-width:0;margin:0;padding:0;border:0;color:var(--dou-color-text);font-size:var(--dou-font-size-lg);font-weight:var(--dou-font-weight-bold);line-height:28px;letter-spacing:normal}.dou-dialog__close,.dou-drawer__close{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:28px;height:28px;padding:0;margin:0 -6px 0 auto;border:0;border-radius:var(--dou-radius-control);background-color:transparent;color:var(--dou-color-text-tertiary);cursor:pointer;transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-dialog__close>svg,.dou-drawer__close>svg{width:1em;height:1em;font-size:16px}.dou-dialog__close:hover,.dou-drawer__close:hover{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-dialog__close:focus-visible,.dou-drawer__close:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}.dou-dialog__body{padding:8px var(--dou-dialog-padding) var(--dou-dialog-padding);overflow-wrap:break-word}.dou-dialog__header+.dou-dialog__body{padding-top:8px}.dou-dialog__fullscreen{margin-right:0}.dou-dialog__fullscreen+.dou-dialog__close{margin-left:-8px}.dou-dialog__panel.is-draggable>.dou-dialog__header{cursor:move;-webkit-user-select:none;user-select:none;touch-action:none}.dou-dialog-dragging,.dou-dialog-dragging *{cursor:move!important;-webkit-user-select:none!important;user-select:none!important}.dou-dialog.is-fullscreen{align-items:stretch;padding:0;overflow:hidden}.dou-dialog.is-fullscreen .dou-dialog__panel{width:100%;height:100%;margin:0;border:0;border-radius:0}.dou-dialog.is-fullscreen .dou-dialog__body{flex:1 1 auto;min-height:0;overflow:auto}.dou-dialog.is-fullscreen .dou-dialog__footer{border-radius:0}.dou-dialog__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;padding:12px var(--dou-dialog-padding);border-top:1px solid var(--dou-color-border);border-radius:0 0 calc(var(--dou-dialog-radius) - 1px) calc(var(--dou-dialog-radius) - 1px);background-color:color-mix(in oklab,var(--dou-color-text) 2%,var(--dou-dialog-bg))}.dou-dialog-enter-active,.dou-dialog-enter-active .dou-dialog__panel{transition-property:opacity,transform;transition-duration:var(--dou-motion-duration-normal);transition-timing-function:var(--dou-motion-easing-enter)}.dou-dialog-leave-active,.dou-dialog-leave-active .dou-dialog__panel{transition-property:opacity,transform;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing-exit)}.dou-dialog-enter-from,.dou-dialog-leave-to{opacity:0}.dou-dialog-enter-from .dou-dialog__panel,.dou-dialog-leave-to .dou-dialog__panel{transform:translateY(var(--dou-motion-distance-md)) scale(var(--dou-motion-scale))}}@layer dou.components{.dou-dialog-box{--dou-dialog-box-tone: var(--dou-color-text-secondary)}.dou-dialog-box--primary{--dou-dialog-box-tone: var(--dou-color-primary)}.dou-dialog-box--success{--dou-dialog-box-tone: var(--dou-color-success)}.dou-dialog-box--warning{--dou-dialog-box-tone: var(--dou-color-warning)}.dou-dialog-box--danger{--dou-dialog-box-tone: var(--dou-color-danger)}.dou-dialog-box .dou-dialog__body{padding-top:var(--dou-dialog-padding)}.dou-dialog-box__main{display:flex;align-items:flex-start;gap:12px}.dou-dialog-box__icon{display:inline-flex;flex-shrink:0;align-items:center;height:28px;color:var(--dou-dialog-box-tone)}.dou-dialog-box__icon>svg{width:1em;height:1em;font-size:20px}.dou-dialog-box__text{flex:1 1 auto;min-width:0}.dou-dialog-box__title{color:var(--dou-color-text);font-size:var(--dou-font-size-lg);font-weight:var(--dou-font-weight-bold);line-height:28px}.dou-dialog-box__content{color:var(--dou-color-text-secondary);overflow-wrap:break-word}.dou-dialog-box__title+.dou-dialog-box__content{margin-top:4px}.dou-dialog-box__field{margin-top:16px}.dou-dialog-box__error{margin-top:6px;color:var(--dou-color-danger-text);font-size:var(--dou-font-size-sm);line-height:20px}}@layer dou.components{.dou-divider{--dou-divider-color: var(--dou-color-border);--dou-divider-style: solid;--dou-divider-spacing: var(--dou-space-lg);--dou-divider-label-gap: var(--dou-space-md);border:0 var(--dou-divider-style) var(--dou-divider-color);color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.dou-divider.is-dashed{--dou-divider-style: dashed}.dou-divider--horizontal{display:block;width:100%;margin:var(--dou-divider-spacing) 0;border-top-width:1px}.dou-divider--vertical{display:inline-block;width:0;height:1em;margin:0 var(--dou-space-sm);border-left-width:1px;vertical-align:-.125em}.dou-divider.is-labelled{display:flex;align-items:center;border-top-width:0}.dou-divider.is-labelled:before,.dou-divider.is-labelled:after{flex:1 1 0;border-top:1px var(--dou-divider-style) var(--dou-divider-color);content:""}.dou-divider--start:before,.dou-divider--end:after{flex:0 0 var(--dou-space-lg)}.dou-divider__label{text-box:trim-both cap alphabetic;flex-shrink:0;padding:0 var(--dou-divider-label-gap);line-height:1;white-space:nowrap}}@layer dou.components{.dou-drawer{--dou-drawer-mask: rgb(0 0 0 / calc(.32 + .32 * var(--dou-scheme-dark)));--dou-drawer-bg: color-mix( in oklab, var(--dou-color-text) calc(3% * var(--dou-scheme-dark)), var(--dou-color-bg-surface) );--dou-drawer-padding: 20px;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;overscroll-behavior:contain;background-color:var(--dou-drawer-mask)}.dou-drawer__panel{position:absolute;display:flex;flex-direction:column;box-sizing:border-box;border:0 solid var(--dou-color-border);background-color:var(--dou-drawer-bg);box-shadow:var(--dou-shadow-lg);color:var(--dou-color-text-secondary);font-family:var(--dou-font-family);font-size:var(--dou-font-size-md);line-height:var(--dou-font-line-height);outline:none}.dou-drawer--left .dou-drawer__panel,.dou-drawer--right .dou-drawer__panel{top:0;bottom:0;width:var(--dou-drawer-size, 400px);max-width:100%}.dou-drawer--top .dou-drawer__panel,.dou-drawer--bottom .dou-drawer__panel{right:0;left:0;height:var(--dou-drawer-size, 320px);max-height:100%}.dou-drawer--right .dou-drawer__panel{right:0;border-left-width:1px}.dou-drawer--left .dou-drawer__panel{left:0;border-right-width:1px}.dou-drawer--top .dou-drawer__panel{top:0;border-bottom-width:1px}.dou-drawer--bottom .dou-drawer__panel{bottom:0;border-top-width:1px}.dou-drawer__resizer{position:absolute;z-index:1;outline:none;touch-action:none}.dou-drawer__resizer:after{position:absolute;background-color:transparent;content:"";transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-drawer__resizer:hover:after,.dou-drawer__resizer:focus-visible:after{background-color:color-mix(in oklab,var(--dou-color-text) 24%,transparent)}.dou-drawer__resizer:focus-visible:after{background-color:var(--dou-color-focus)}.dou-drawer--left .dou-drawer__resizer,.dou-drawer--right .dou-drawer__resizer{top:0;bottom:0;width:8px;cursor:col-resize}.dou-drawer--left .dou-drawer__resizer:after,.dou-drawer--right .dou-drawer__resizer:after{top:0;bottom:0;left:3px;width:2px}.dou-drawer--right .dou-drawer__resizer{left:-5px}.dou-drawer--left .dou-drawer__resizer{right:-5px}.dou-drawer--top .dou-drawer__resizer,.dou-drawer--bottom .dou-drawer__resizer{right:0;left:0;height:8px;cursor:row-resize}.dou-drawer--top .dou-drawer__resizer:after,.dou-drawer--bottom .dou-drawer__resizer:after{top:3px;right:0;left:0;height:2px}.dou-drawer--bottom .dou-drawer__resizer{top:-5px}.dou-drawer--top .dou-drawer__resizer{bottom:-5px}.dou-drawer-resizing,.dou-drawer-resizing *{-webkit-user-select:none!important;user-select:none!important}.dou-drawer-resizing--left,.dou-drawer-resizing--left *,.dou-drawer-resizing--right,.dou-drawer-resizing--right *{cursor:col-resize!important}.dou-drawer-resizing--top,.dou-drawer-resizing--top *,.dou-drawer-resizing--bottom,.dou-drawer-resizing--bottom *{cursor:row-resize!important}.dou-drawer__panel.is-dragging{-webkit-user-select:none;user-select:none}.dou-drawer__panel.is-settling{transition-property:transform,width,height;transition-duration:var(--dou-motion-duration-normal);transition-timing-function:var(--dou-motion-easing-enter)}.dou-drawer__handle{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:20px;margin:0;padding:0;border:0;background:none;cursor:grab;outline:none;touch-action:none}.dou-drawer__handle:before{width:32px;height:4px;border-radius:2px;background-color:color-mix(in oklab,var(--dou-color-text) 16%,transparent);content:"";transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-drawer__handle:hover:before{background-color:color-mix(in oklab,var(--dou-color-text) 28%,transparent)}.dou-drawer__handle:focus-visible:before{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-drawer__panel.is-dragging .dou-drawer__handle{cursor:grabbing}.dou-drawer--top .dou-drawer__handle{order:1}.dou-drawer--bottom .dou-drawer__panel:has(>.dou-drawer__handle){border-radius:var(--dou-radius-container) var(--dou-radius-container) 0 0}.dou-drawer--top .dou-drawer__panel:has(>.dou-drawer__handle){border-radius:0 0 var(--dou-radius-container) var(--dou-radius-container)}.dou-drawer--bottom .dou-drawer__handle~.dou-drawer__header{padding-top:4px}.dou-drawer__header{display:flex;flex-shrink:0;align-items:flex-start;gap:12px;padding:var(--dou-drawer-padding) var(--dou-drawer-padding) 0}.dou-drawer__title{flex:1 1 auto;min-width:0;margin:0;padding:0;border:0;color:var(--dou-color-text);font-size:var(--dou-font-size-lg);font-weight:var(--dou-font-weight-bold);line-height:28px;letter-spacing:normal}.dou-drawer__body{flex:1 1 auto;min-height:0;padding:12px var(--dou-drawer-padding) var(--dou-drawer-padding);overflow:auto;overflow-wrap:break-word}.dou-drawer__footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;padding:12px var(--dou-drawer-padding);border-top:1px solid var(--dou-color-border);background-color:color-mix(in oklab,var(--dou-color-text) 2%,var(--dou-drawer-bg))}.dou-drawer-enter-active,.dou-drawer-enter-active .dou-drawer__panel{transition-property:opacity,transform;transition-duration:var(--dou-motion-duration-slow);transition-timing-function:var(--dou-motion-easing-enter)}.dou-drawer-leave-active,.dou-drawer-leave-active .dou-drawer__panel{transition-property:opacity,transform;transition-duration:var(--dou-motion-duration-normal);transition-timing-function:var(--dou-motion-easing-exit)}.dou-drawer-enter-from,.dou-drawer-leave-to{opacity:0}.dou-drawer--right:is(.dou-drawer-enter-from,.dou-drawer-leave-to) .dou-drawer__panel{transform:translate(calc(100% * var(--dou-motion-travel)))}.dou-drawer--left:is(.dou-drawer-enter-from,.dou-drawer-leave-to) .dou-drawer__panel{transform:translate(calc(-100% * var(--dou-motion-travel)))}.dou-drawer--top:is(.dou-drawer-enter-from,.dou-drawer-leave-to) .dou-drawer__panel{transform:translateY(calc(-100% * var(--dou-motion-travel)))}.dou-drawer--bottom:is(.dou-drawer-enter-from,.dou-drawer-leave-to) .dou-drawer__panel{transform:translateY(calc(100% * var(--dou-motion-travel)))}}@layer dou.components{.dou-editable{--dou-editable-padding-x: 6px;--dou-editable-padding-y: 2px;--dou-editable-radius: var(--dou-radius-control);--dou-editable-hover-bg: color-mix(in oklab, var(--dou-color-text) 6%, transparent);--dou-editable-border-focus: color-mix( in oklab, var(--dou-color-focus) 70%, var(--dou-color-text) );--dou-editable-ring: color-mix(in oklab, var(--dou-color-focus) 32%, transparent);display:block;min-width:0;max-width:100%}.dou-editable.is-invalid{--dou-editable-border-focus: var(--dou-color-danger);--dou-editable-ring: color-mix(in oklab, var(--dou-color-danger) 18%, transparent)}.dou-editable__view{margin:calc(var(--dou-editable-padding-y) * -1) calc(var(--dou-editable-padding-x) * -1);padding:var(--dou-editable-padding-y) var(--dou-editable-padding-x);border-radius:var(--dou-editable-radius);white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;outline:none;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-editable__view:hover{background-color:var(--dou-editable-hover-bg)}.dou-editable__view:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-editable__view.is-empty{color:var(--dou-color-text-tertiary)}.dou-editable__view.is-blank{display:inline-block;min-width:4em;min-height:1lh;vertical-align:top}.is-disabled>.dou-editable__view{cursor:default}.is-disabled>.dou-editable__view:hover{background-color:transparent}.dou-editable__field{display:block;box-sizing:border-box;width:calc(100% + var(--dou-editable-padding-x) * 2 + 2px);margin:calc(var(--dou-editable-padding-y) * -1 - 1px) calc(var(--dou-editable-padding-x) * -1 - 1px);padding:var(--dou-editable-padding-y) var(--dou-editable-padding-x);border:1px solid var(--dou-editable-border-focus);border-radius:var(--dou-editable-radius);background-color:var(--dou-color-bg-surface);box-shadow:0 0 0 3px var(--dou-editable-ring);color:inherit;font:inherit;font-size:max(var(--dou-font-size-input-min, 0px),1em);letter-spacing:inherit;outline:none;resize:none;overflow:hidden}.dou-editable__field::placeholder{color:var(--dou-color-text-tertiary)}.dou-editable__error{margin-top:6px;color:var(--dou-color-danger-text);font-size:var(--dou-font-size-sm);font-weight:var(--dou-font-weight-regular);line-height:var(--dou-font-line-height)}}@layer dou.components{.dou-ellipsis{display:flex;min-width:0}.dou-ellipsis__text{display:-webkit-box;min-width:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:var(--dou-ellipsis-lines, 1);line-clamp:var(--dou-ellipsis-lines, 1);overflow-wrap:anywhere}.dou-ellipsis.is-expanded .dou-ellipsis__text{display:block;-webkit-line-clamp:unset;line-clamp:none}.dou-ellipsis.is-expandable .dou-ellipsis__text:before{float:right;height:calc(100% - 1lh);content:""}.dou-ellipsis__toggle{position:relative;float:right;clear:both;padding:0;margin-left:8px;border:0;border-radius:2px;background:none;color:var(--dou-color-primary-text);font:inherit;line-height:inherit;cursor:pointer}.dou-ellipsis__toggle:hover{text-decoration:underline;text-underline-offset:3px}.dou-ellipsis__toggle:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}}@layer dou.components{.dou-dropdown{--dou-dropdown-bg: color-mix( in oklab, var(--dou-color-text) calc(4% * var(--dou-scheme-dark)), var(--dou-color-bg-surface) );--dou-dropdown-inset: 4px;--dou-dropdown-item-height: var(--dou-control-height-md);--dou-dropdown-item-radius: var(--dou-radius-control);--dou-dropdown-item-padding-x: 8px;--dou-dropdown-item-gap: 8px;--dou-dropdown-indicator-size: 16px;--dou-dropdown-indicator-pull: -2px;--dou-dropdown-item-active-bg: color-mix(in oklab, var(--dou-color-text) 6%, transparent);min-width:160px;max-height:min(var(--dou-floating-available, 100vh),400px);padding:var(--dou-dropdown-inset);overflow-y:auto;border:1px solid var(--dou-color-border);border-radius:calc(var(--dou-dropdown-item-radius) + var(--dou-dropdown-inset));background-color:var(--dou-dropdown-bg);box-shadow:var(--dou-shadow-md);color:var(--dou-color-text);font-family:var(--dou-font-family);font-size:var(--dou-font-size-md);outline:none}.dou-dropdown__item{display:flex;align-items:center;gap:var(--dou-dropdown-item-gap, 8px);box-sizing:border-box;height:var(--dou-dropdown-item-height);padding:0 var(--dou-dropdown-item-padding-x, 8px);border-radius:var(--dou-dropdown-item-radius);color:var(--dou-color-text);line-height:1;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;outline:none}.dou-dropdown__item:focus{background-color:var(--dou-dropdown-item-active-bg)}.dou-dropdown__item.is-disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-dropdown--danger:not(.is-disabled){--dou-dropdown-item-active-bg: color-mix(in oklab, var(--dou-color-danger) 10%, transparent);color:var(--dou-color-danger-text)}.dou-dropdown--danger:not(.is-disabled) .dou-dropdown__prefix{color:inherit}.dou-dropdown__label{flex:1 1 auto;min-width:0;overflow-x:clip;text-overflow:ellipsis;text-box:trim-both cap alphabetic}.dou-dropdown__prefix,.dou-dropdown__suffix{display:inline-flex;flex-shrink:0;align-items:center;color:var(--dou-color-text-tertiary)}.dou-dropdown__suffix{margin-left:16px;font-size:var(--dou-font-size-sm);text-box:trim-both cap alphabetic}.dou-dropdown__suffix:has(>svg:only-child){font-size:inherit;text-box:none}.dou-dropdown__indicator{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:var(--dou-dropdown-indicator-size, 16px);height:var(--dou-dropdown-indicator-size, 16px);margin-inline-end:var(--dou-dropdown-indicator-pull, -2px);color:var(--dou-color-text)}.dou-dropdown__indicator>svg{width:14px;height:14px}.dou-dropdown:has(>.dou-dropdown__item>.dou-dropdown__indicator,>[role=group]>.dou-dropdown__item>.dou-dropdown__indicator)>.dou-dropdown__item:not(:has(>.dou-dropdown__indicator)){padding-inline-start:calc(var(--dou-dropdown-item-padding-x, 8px) + var(--dou-dropdown-indicator-size, 16px) + var(--dou-dropdown-indicator-pull, -2px) + var(--dou-dropdown-item-gap, 8px))}.dou-dropdown__item.is-checked>.dou-dropdown__indicator--radio:before{content:"";width:6px;height:6px;border-radius:50%;background-color:currentColor}.dou-dropdown__separator{height:1px;margin:var(--dou-dropdown-inset) calc(var(--dou-dropdown-inset) * -1);background-color:var(--dou-color-border)}.dou-dropdown__sub.is-open{background-color:var(--dou-dropdown-item-active-bg)}.dou-dropdown__arrow{margin-inline-end:-2px}.dou-dropdown__arrow>svg{width:14px;height:14px}.dou-dropdown-button__arrow{aspect-ratio:1;padding-inline:0}.dou-dropdown-button>.dou-button--solid+.dou-dropdown-button__arrow{border-inline-start-color:color-mix(in oklab,currentColor 28%,transparent)}@media (pointer: coarse){.dou-dropdown{--dou-dropdown-item-height: 40px}}@media (hover: none){.dou-dropdown__shortcut{display:none}}}@layer dou.components{.dou-dropdown.dou-context-menu{min-width:180px}}@layer dou.components{.dou-empty{--dou-empty-tile: 48px;--dou-empty-icon: 24px;--dou-empty-padding: 40px 24px;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;padding:var(--dou-empty-padding);color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-md);line-height:1.5;text-align:center}.dou-empty--sm{--dou-empty-tile: 36px;--dou-empty-icon: 18px;--dou-empty-padding: 24px 16px;font-size:var(--dou-font-size-sm)}.dou-empty__icon{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--dou-empty-tile);height:var(--dou-empty-tile);margin-bottom:12px;border:1px solid var(--dou-color-border);border-radius:calc(var(--dou-radius-control) + 4px);background-color:color-mix(in oklab,var(--dou-color-text) 3%,var(--dou-color-bg-surface));color:var(--dou-color-text-tertiary)}.dou-empty__icon>svg{width:1em;height:1em;font-size:var(--dou-empty-icon)}.dou-empty--sm .dou-empty__icon{margin-bottom:8px;border-radius:var(--dou-radius-control)}.dou-empty__title{color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium)}.dou-empty__description{max-width:36em;color:var(--dou-color-text-tertiary);text-wrap:pretty}.dou-empty__title+.dou-empty__description{margin-top:2px}.dou-empty__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}.dou-empty--sm .dou-empty__actions{margin-top:12px}}@layer dou.components{.dou-node-graph,.dou-node-graph-legend{--dou-node-graph-node-bg: var(--dou-color-bg-surface);--dou-node-graph-status-wait: var(--dou-color-text-disabled);--dou-node-graph-status-process: var(--dou-color-warning);--dou-node-graph-status-finish: var(--dou-color-success);--dou-node-graph-status-error: var(--dou-color-danger);--dou-node-graph-status-blocked: var(--dou-color-warning);--dou-node-graph-marker: var(--dou-color-danger);--dou-node-graph-progress-track: color-mix(in oklab, var(--dou-color-text) 8%, transparent);--dou-node-graph-progress-fill: var(--dou-color-primary)}.dou-node-graph{--dou-node-graph-node-height: 32px;--dou-node-graph-node-padding-x: 12px;--dou-node-graph-node-gap: 8px;--dou-node-graph-font-size: var(--dou-font-size-md);--dou-node-graph-node-border: var(--dou-color-border);--dou-node-graph-node-border-hover: var(--dou-color-border-strong);--dou-node-graph-node-shadow: var(--dou-shadow-sm);--dou-node-graph-node-shadow-hover: var(--dou-shadow-md);--dou-node-graph-card-radius: calc(var(--dou-radius-control) + 4px);--dou-node-graph-edge: var(--dou-color-border-strong);--dou-node-graph-edge-active: color-mix(in oklab, var(--dou-color-text) 56%, transparent);--dou-node-graph-selected: var(--dou-color-primary);--dou-node-graph-dim-opacity: .4;position:relative;box-sizing:border-box;width:100%;min-width:0;overflow:hidden;color:var(--dou-color-text);font-size:var(--dou-node-graph-font-size);line-height:var(--dou-font-line-height)}.dou-node-graph.is-pannable{cursor:grab}.dou-node-graph.is-dragging,.dou-node-graph.is-dragging .dou-node-graph__node{cursor:grabbing}.dou-node-graph--sm{--dou-node-graph-node-height: 28px;--dou-node-graph-node-padding-x: 10px;--dou-node-graph-node-gap: 6px;--dou-node-graph-font-size: var(--dou-font-size-sm)}.dou-node-graph--lg{--dou-node-graph-node-height: 40px;--dou-node-graph-node-padding-x: 16px;--dou-node-graph-font-size: var(--dou-font-size-lg)}.dou-node-graph__canvas{position:absolute;top:0;left:0;transform-origin:0 0}.dou-node-graph__edges{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;pointer-events:none}.dou-node-graph__edge{fill:none;stroke:var(--dou-node-graph-edge);stroke-width:1px;vector-effect:non-scaling-stroke;transition-property:stroke,opacity;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-node-graph__edge.is-active{stroke:var(--dou-node-graph-edge-active)}.dou-node-graph__edge.is-muted{stroke-dasharray:4 3}.dou-node-graph__edge.is-dimmed{opacity:var(--dou-node-graph-dim-opacity)}.dou-node-graph__node{position:absolute;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;border:1px solid var(--dou-node-graph-node-border);background-color:var(--dou-node-graph-node-bg);box-shadow:var(--dou-node-graph-node-shadow);color:var(--dou-color-text);outline:none;-webkit-user-select:none;user-select:none;transition-property:border-color,box-shadow,opacity;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-node-graph__node.is-selectable{cursor:pointer}.dou-node-graph__node:hover,.dou-node-graph__node.is-hovered{border-color:var(--dou-node-graph-node-border-hover);box-shadow:var(--dou-node-graph-node-shadow-hover)}.dou-node-graph__node:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-node-graph__node.is-selected{border-color:var(--dou-node-graph-selected);box-shadow:0 0 0 3px color-mix(in oklab,var(--dou-node-graph-selected) 14%,transparent),var(--dou-node-graph-node-shadow)}.dou-node-graph__node.is-dimmed{opacity:var(--dou-node-graph-dim-opacity)}.dou-node-graph__node.is-disabled{cursor:not-allowed}.dou-node-graph__node--pill{height:var(--dou-node-graph-node-height);padding:0 var(--dou-node-graph-node-padding-x);border-radius:var(--dou-radius-full)}.dou-node-graph__node--card{justify-content:flex-start;gap:6px;padding:6px var(--dou-node-graph-node-padding-x) 8px;border-radius:var(--dou-node-graph-card-radius)}.dou-node-graph__node--card>.dou-node-graph__main{height:calc(var(--dou-node-graph-node-height) - 14px)}.dou-node-graph__main{display:flex;align-items:center;gap:var(--dou-node-graph-node-gap);min-width:0}.dou-node-graph__label{flex:1 1 auto;min-width:0;overflow-x:clip;font-weight:var(--dou-font-weight-medium);line-height:1;text-overflow:ellipsis;text-box:trim-both cap alphabetic;white-space:nowrap}.dou-node-graph__node.is-wait .dou-node-graph__label{color:var(--dou-color-text-tertiary)}.dou-node-graph__icon{display:inline-flex;flex-shrink:0;color:var(--dou-color-text-secondary)}.dou-node-graph__icon svg{width:16px;height:16px}.dou-node-graph__extra{flex:0 1 auto;min-width:0;max-width:50%;padding:4px 6px;overflow-x:clip;border-radius:var(--dou-radius-full);background-color:var(--dou-color-bg-muted);color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);font-variant-numeric:tabular-nums;line-height:1;text-overflow:ellipsis;text-box:trim-both cap alphabetic;white-space:nowrap}.dou-node-graph__node--pill .dou-node-graph__extra{margin-right:calc(8px - var(--dou-node-graph-node-padding-x))}.dou-node-graph__description{--dou-node-graph-description-tone: var(--dou-color-neutral);color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);line-height:1.5;overflow-wrap:anywhere}.dou-node-graph__description.is-toned{align-self:flex-start;max-width:100%;box-sizing:border-box;padding:2px 6px;border-radius:calc(var(--dou-radius-control) - 2px);background-color:color-mix(in oklab,var(--dou-node-graph-description-tone) 8%,var(--dou-color-bg-surface));color:color-mix(in oklab,var(--dou-node-graph-description-tone) 86%,var(--dou-color-text))}.dou-node-graph__description--primary{--dou-node-graph-description-tone: var(--dou-color-primary)}.dou-node-graph__description--success{--dou-node-graph-description-tone: var(--dou-color-success)}.dou-node-graph__description--warning{--dou-node-graph-description-tone: var(--dou-color-warning)}.dou-node-graph__description--danger{--dou-node-graph-description-tone: var(--dou-color-danger)}.dou-node-graph__dot{--dou-node-graph-status: var(--dou-node-graph-status-wait);flex-shrink:0;box-sizing:border-box;width:8px;height:8px;border-radius:var(--dou-radius-full);background-color:var(--dou-node-graph-status)}.dou-node-graph__dot.is-blocked{border:1.5px solid var(--dou-node-graph-status);background-color:color-mix(in oklab,var(--dou-node-graph-status) 18%,transparent)}.dou-node-graph__milestone{--dou-node-graph-status: var(--dou-node-graph-status-wait);display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:16px;height:16px;margin-left:-4px;border-radius:var(--dou-radius-full);background-color:var(--dou-node-graph-status);color:var(--dou-color-bg-surface)}.dou-node-graph__milestone svg{width:10px;height:10px;stroke-width:2.5px}.dou-node-graph__milestone.is-wait{background-color:var(--dou-color-text-tertiary)}.dou-node-graph__milestone.is-blocked{box-shadow:inset 0 0 0 1.5px var(--dou-node-graph-status);background-color:color-mix(in oklab,var(--dou-node-graph-status) 18%,transparent);color:var(--dou-node-graph-status)}:is(.dou-node-graph__dot,.dou-node-graph__milestone).is-process{--dou-node-graph-status: var(--dou-node-graph-status-process)}:is(.dou-node-graph__dot,.dou-node-graph__milestone).is-finish{--dou-node-graph-status: var(--dou-node-graph-status-finish)}:is(.dou-node-graph__dot,.dou-node-graph__milestone).is-error{--dou-node-graph-status: var(--dou-node-graph-status-error)}:is(.dou-node-graph__dot,.dou-node-graph__milestone).is-blocked{--dou-node-graph-status: var(--dou-node-graph-status-blocked)}.dou-node-graph__progress{overflow:hidden;background-color:var(--dou-node-graph-progress-track)}.dou-node-graph__progress-bar{display:block;height:100%;border-radius:inherit;background-color:var(--dou-node-graph-progress-fill);transition:width var(--dou-motion-duration-normal) var(--dou-motion-easing)}.dou-node-graph__node--pill .dou-node-graph__progress{position:absolute;right:calc(var(--dou-node-graph-node-height) / 2);bottom:3px;left:calc(var(--dou-node-graph-node-height) / 2);height:2px;border-radius:var(--dou-radius-full)}.dou-node-graph__node--card .dou-node-graph__progress{height:4px;margin-top:2px;border-radius:var(--dou-radius-full)}.dou-node-graph__marker{position:absolute;top:50%;right:-3px;width:4px;height:12px;border-radius:var(--dou-radius-full);background-color:var(--dou-node-graph-marker);box-shadow:0 0 0 2px var(--dou-node-graph-node-bg);transform:translateY(-50%)}.dou-node-graph__corner{position:absolute;top:0;right:0;display:inline-flex;transform:translate(50%,-50%);cursor:default}.dou-node-graph__node--pill .dou-node-graph__corner{top:2px;right:2px}.dou-node-graph__toolbar{position:absolute;top:3px;right:3px;display:flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--dou-color-border);border-radius:calc(var(--dou-radius-control) + 2px);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);cursor:default}.dou-node-graph__tool{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:24px;height:24px;padding:0 4px;border:0;border-radius:var(--dou-radius-control);background:none;color:var(--dou-color-text-secondary);font:inherit;font-size:var(--dou-font-size-sm);font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-node-graph__tool svg{width:16px;height:16px}.dou-node-graph__tool:hover:not(:disabled){background-color:var(--dou-color-bg-muted);color:var(--dou-color-text)}.dou-node-graph__tool:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:0}.dou-node-graph__tool:disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-node-graph__zoom{min-width:44px}.dou-node-graph__empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--dou-color-text-tertiary)}.dou-node-graph-legend{min-width:240px;color:var(--dou-color-text);font-size:var(--dou-font-size-md)}.dou-node-graph-legend__title{margin-bottom:10px;font-weight:var(--dou-font-weight-bold)}.dou-node-graph-legend__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin:0;padding:0;list-style:none}.dou-node-graph-legend__item{display:flex;align-items:center;gap:8px;min-width:0}.dou-node-graph-legend__swatch{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:24px;height:16px}.dou-node-graph-legend__swatch .dou-node-graph__milestone{margin-left:0}.dou-node-graph-legend__label{color:var(--dou-color-text-secondary);line-height:1;text-box:trim-both cap alphabetic;white-space:nowrap}.dou-node-graph-legend__task{box-sizing:border-box;width:16px;height:16px;border:1px solid var(--dou-color-border-strong);border-radius:var(--dou-radius-full);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm)}.dou-node-graph-legend__incomplete{width:4px;height:12px;border-radius:var(--dou-radius-full);background-color:var(--dou-node-graph-marker)}.dou-node-graph-legend__progress{position:relative;width:24px;height:4px;overflow:hidden;border-radius:var(--dou-radius-full);background-color:var(--dou-node-graph-progress-track)}.dou-node-graph-legend__progress:before{content:"";position:absolute;top:0;right:50%;bottom:0;left:0;border-radius:inherit;background-color:var(--dou-node-graph-progress-fill)}}@layer dou.components{.dou-form{--dou-form-gap: var(--dou-space-lg);--dou-form-label-gap: 16px;--dou-form-label-width: max-content;display:flex;flex-direction:column;gap:var(--dou-form-gap);min-width:0;margin:0}.dou-form>.dou-divider{margin-block:0}.dou-form--horizontal{display:grid;grid-template-columns:var(--dou-form-label-width) minmax(0,1fr);align-items:start;column-gap:var(--dou-form-label-gap);row-gap:var(--dou-form-gap)}.dou-form--inline{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:var(--dou-space-md) var(--dou-space-lg)}.dou-form-item{--dou-form-item-control-height: var(--dou-control-height-md);--dou-form-item-label-size: var(--dou-font-size-sm);--dou-form-item-message-size: var(--dou-font-size-sm);--dou-form-item-message-gap: 8px;--dou-form-item-label-color: var(--dou-color-text);--dou-form-item-help-color: var(--dou-color-text-secondary);--dou-form-item-error-color: var(--dou-color-danger-text);display:flex;flex-direction:column;gap:8px;min-width:0}.dou-form-item.is-error{--dou-checkbox-border: color-mix( in oklab, var(--dou-color-danger) 60%, var(--dou-color-border-strong) );--dou-radio-border: var(--dou-checkbox-border)}.dou-form-item--sm{--dou-form-item-control-height: var(--dou-control-height-sm)}.dou-form-item--lg{--dou-form-item-control-height: var(--dou-control-height-lg);--dou-form-item-label-size: var(--dou-font-size-md)}.dou-form-item__label{display:flex;align-items:center;gap:4px;color:var(--dou-form-item-label-color);font-size:var(--dou-form-item-label-size);font-weight:var(--dou-font-weight-medium);line-height:1.4}.dou-form-item__label-text,.dou-form-item__asterisk,.dou-form-item__optional,.dou-form-item__help,.dou-form-item__error{text-box:trim-both cap alphabetic}.dou-form-item__label-text{min-width:0}.dou-form-item__asterisk{color:var(--dou-form-item-error-color)}.dou-form-item__optional{color:var(--dou-color-text-tertiary);font-weight:var(--dou-font-weight-regular)}.dou-form-item__body{display:flex;flex-direction:column;min-width:0}.dou-form-item__control{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dou-space-sm);min-width:0}.dou-form-item__help,.dou-form-item__error{margin-top:var(--dou-form-item-message-gap);font-size:var(--dou-form-item-message-size);line-height:1.4}.dou-form-item__help{color:var(--dou-form-item-help-color)}.dou-form-item__error{color:var(--dou-form-item-error-color);animation:dou-form-item-error-in var(--dou-motion-duration-normal) var(--dou-motion-easing-enter)}@keyframes dou-form-item-error-in{0%{opacity:0;transform:translateY(-2px)}}.dou-form--horizontal .dou-form-item__label,.dou-form--inline .dou-form-item__label{min-height:var(--dou-form-item-control-height);white-space:nowrap}.dou-form--horizontal .dou-form-item__control,.dou-form--inline .dou-form-item__control{min-height:var(--dou-form-item-control-height)}.dou-form--horizontal>.dou-divider{grid-column:1 / -1}.dou-form--horizontal .dou-form-item{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;align-items:start}.dou-form--horizontal .dou-form-item .dou-form-item__body{grid-column:2}.dou-form--horizontal .dou-form-item.is-fixed-label{grid-template-columns:var(--dou-form-label-width) minmax(0,1fr);column-gap:var(--dou-form-label-gap)}.dou-form--horizontal .dou-form-item.is-fixed-label .dou-form-item__label{white-space:normal}.dou-form--label-end .dou-form-item__label{justify-content:flex-end;text-align:end}.dou-form--inline .dou-form-item{flex-direction:row;align-items:flex-start;gap:var(--dou-space-md)}}@layer dou.components{.dou-grid{--dou-grid-cols: initial;--dou-grid-cols-sm: initial;--dou-grid-cols-md: initial;--dou-grid-cols-lg: initial;--dou-grid-cols-xl: initial;--dou-grid-min: initial;--dou-grid-row-gap: var(--dou-space-md);--dou-grid-column-gap: var(--dou-space-md);display:grid;grid-template-columns:repeat(var(--dou-grid-cols, 1),minmax(0,1fr));gap:var(--dou-grid-row-gap) var(--dou-grid-column-gap);min-width:0}.dou-grid.is-auto-fill{grid-template-columns:repeat(auto-fill,minmax(min(var(--dou-grid-min),100%),1fr))}.dou-grid--align-start{align-items:start}.dou-grid--align-center{align-items:center}.dou-grid--align-end{align-items:end}.dou-grid__item{--dou-grid-column: initial;--dou-grid-column-sm: initial;--dou-grid-column-md: initial;--dou-grid-column-lg: initial;--dou-grid-column-xl: initial;grid-column:var(--dou-grid-column, auto);min-width:0}@media (min-width: 640px){.dou-grid:not(.is-auto-fill){grid-template-columns:repeat(var(--dou-grid-cols-sm, var(--dou-grid-cols, 1)),minmax(0,1fr))}.dou-grid__item{grid-column:var(--dou-grid-column-sm, var(--dou-grid-column, auto))}}@media (min-width: 768px){.dou-grid:not(.is-auto-fill){grid-template-columns:repeat(var(--dou-grid-cols-md, var(--dou-grid-cols-sm, var(--dou-grid-cols, 1))),minmax(0,1fr))}.dou-grid__item{grid-column:var( --dou-grid-column-md, var(--dou-grid-column-sm, var(--dou-grid-column, auto)) )}}@media (min-width: 1024px){.dou-grid:not(.is-auto-fill){grid-template-columns:repeat(var( --dou-grid-cols-lg, var(--dou-grid-cols-md, var(--dou-grid-cols-sm, var(--dou-grid-cols, 1))) ),minmax(0,1fr))}.dou-grid__item{grid-column:var( --dou-grid-column-lg, var(--dou-grid-column-md, var(--dou-grid-column-sm, var(--dou-grid-column, auto))) )}}@media (min-width: 1280px){.dou-grid:not(.is-auto-fill){grid-template-columns:repeat(var( --dou-grid-cols-xl, var( --dou-grid-cols-lg, var(--dou-grid-cols-md, var(--dou-grid-cols-sm, var(--dou-grid-cols, 1))) ) ),minmax(0,1fr))}.dou-grid__item{grid-column:var( --dou-grid-column-xl, var( --dou-grid-column-lg, var(--dou-grid-column-md, var(--dou-grid-column-sm, var(--dou-grid-column, auto))) ) )}}}@layer dou.components{.dou-highlight__mark{padding:0 1px;border-radius:2px;background-color:color-mix(in oklab,var(--dou-color-warning) calc(24% + 14% * var(--dou-scheme-dark)),transparent);color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone}}@layer dou.components{.dou-icon{--dou-icon-size: 1em;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:var(--dou-icon-size);height:var(--dou-icon-size);line-height:1;vertical-align:-.125em}.dou-icon>svg{width:100%;height:100%;font-size:var(--dou-icon-size)}.dou-icon.is-spin{animation:dou-spin var(--dou-motion-loop-spin) linear infinite}@keyframes dou-spin{to{transform:rotate(1turn)}}}@layer dou.components{.dou-image{--dou-image-radius: var(--dou-radius-control);--dou-image-bg: color-mix(in oklab, var(--dou-color-text) 4%, var(--dou-color-bg-surface));position:relative;display:inline-block;overflow:hidden;box-sizing:border-box;border-radius:var(--dou-image-radius);background-color:var(--dou-image-bg);vertical-align:middle}.dou-image:after{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--dou-color-text) 8%,transparent);content:"";pointer-events:none}.dou-image.is-previewable{cursor:zoom-in}.dou-image.is-previewable:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-image__inner{display:block;width:100%;height:100%;object-fit:var(--dou-image-fit, cover);transition:opacity var(--dou-motion-duration-normal) var(--dou-motion-easing)}.dou-image.is-loading .dou-image__inner{opacity:0}.dou-image__placeholder,.dou-image__error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px}.dou-image__placeholder:empty{background:linear-gradient(100deg,transparent 30%,color-mix(in oklab,var(--dou-color-text) 5%,transparent) 50%,transparent 70%) 0 0 / 200% 100%;animation:dou-image-shimmer var(--dou-motion-loop-sweep) linear var(--dou-motion-loop-count)}.dou-image.is-error{min-width:48px;min-height:48px}.dou-image__error{color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);line-height:1.4;text-align:center}.dou-image__error>svg{flex-shrink:0;width:1em;height:1em;font-size:24px}.dou-image__alt{display:-webkit-box;max-width:100%;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.dou-image__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@keyframes dou-image-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.dou-image-preview{--dou-image-preview-chrome: rgb(255 255 255 / .1);--dou-image-preview-chrome-hover: rgb(255 255 255 / .18);--dou-image-preview-chrome-border: rgb(255 255 255 / .12);position:fixed;top:0;right:0;bottom:0;left:0;color:#ffffffeb;background-color:#08090be0;font-family:var(--dou-font-family);font-size:var(--dou-font-size-sm);outline:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dou-image-preview__stage{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:56px 72px 80px}.dou-image-preview__image{max-width:100%;max-height:100%;border-radius:2px;box-shadow:0 16px 48px #0006;transition:transform var(--dou-motion-duration-normal) var(--dou-motion-easing);-webkit-user-select:none;user-select:none;touch-action:none}.dou-image-preview__image.is-movable{cursor:grab}.dou-image-preview__image.is-movable:active{cursor:grabbing;transition:none}.dou-image-preview__error{color:#fff9;font-size:var(--dou-font-size-md)}.dou-image-preview__nav,.dou-image-preview__close,.dou-image-preview__tool{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;padding:0;margin:0;border:0;color:inherit;font:inherit;cursor:pointer;transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-image-preview__nav:focus-visible,.dou-image-preview__close:focus-visible,.dou-image-preview__tool:focus-visible{outline:2px solid rgb(255 255 255 / .8);outline-offset:2px}.dou-image-preview__nav:disabled,.dou-image-preview__close:disabled,.dou-image-preview__tool:disabled{opacity:.32;cursor:not-allowed}.dou-image-preview__nav,.dou-image-preview__close{position:absolute;width:40px;height:40px;border:1px solid var(--dou-image-preview-chrome-border);border-radius:var(--dou-radius-full);background-color:var(--dou-image-preview-chrome)}.dou-image-preview__nav:hover:not(:disabled),.dou-image-preview__close:hover:not(:disabled){background-color:var(--dou-image-preview-chrome-hover)}.dou-image-preview__nav>svg,.dou-image-preview__close>svg{width:1em;height:1em;font-size:18px}.dou-image-preview__nav{top:50%;translate:0 -50%}.dou-image-preview__nav.is-prev{left:16px}.dou-image-preview__nav.is-next{right:16px}.dou-image-preview__close{top:16px;right:16px}.dou-image-preview__toolbar{position:absolute;bottom:24px;left:50%;display:flex;align-items:center;gap:2px;padding:4px;border:1px solid var(--dou-image-preview-chrome-border);border-radius:var(--dou-radius-full);background-color:#1e1f22db;box-shadow:0 8px 24px #00000052;translate:-50% 0;white-space:nowrap}.dou-image-preview__tool{width:32px;height:32px;border-radius:var(--dou-radius-full);background:transparent}.dou-image-preview__tool:hover:not(:disabled){background-color:var(--dou-image-preview-chrome-hover)}.dou-image-preview__tool>svg{width:1em;height:1em;font-size:16px}.dou-image-preview__tool[aria-pressed=true]{background-color:var(--dou-image-preview-chrome-hover)}.dou-image-preview__counter,.dou-image-preview__scale{min-width:44px;padding:0 6px;color:#ffffffb8;font-variant-numeric:tabular-nums;text-align:center}.dou-image-preview__counter{padding-right:10px;margin-right:4px;border-right:1px solid var(--dou-image-preview-chrome-border)}.dou-image-preview__divider{width:1px;height:16px;margin:0 4px;background-color:var(--dou-image-preview-chrome-border)}.dou-image-preview-enter-active{transition:opacity var(--dou-motion-duration-normal) var(--dou-motion-easing-enter)}.dou-image-preview-leave-active{transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing-exit)}.dou-image-preview-enter-from,.dou-image-preview-leave-to{opacity:0}}@layer dou.components{.dou-image-cropper{display:flex;flex-direction:column;gap:8px;min-width:0}.dou-image-cropper__stage{position:relative;overflow:hidden;--dou-image-cropper-veil: color-mix(in oklab, var(--dou-color-bg-canvas) 70%, transparent);border-radius:var(--dou-radius-container);background-color:color-mix(in oklab,var(--dou-color-text) 6%,var(--dou-color-bg-surface));box-shadow:inset 0 0 0 1px var(--dou-color-border-subtle);touch-action:none;user-select:none;-webkit-user-select:none;outline:none}.dou-image-cropper__stage.is-ready{cursor:grab}.dou-image-cropper__stage.is-moving{cursor:grabbing}.dou-image-cropper__stage:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-image-cropper.is-disabled .dou-image-cropper__stage{cursor:auto;opacity:.6}.dou-image-cropper__image{position:absolute;top:50%;left:50%;max-width:none;pointer-events:none;transform-origin:center}.dou-image-cropper__frame{position:absolute;top:50%;left:50%;box-sizing:border-box;border:1px solid rgb(255 255 255 / .92);box-shadow:0 0 0 1px #00000029,0 0 0 9999px var(--dou-image-cropper-veil);pointer-events:none;translate:-50% -50%}.dou-image-cropper__frame:before{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,transparent calc(100% / 3 - .5px),rgb(255 255 255 / .5) 0 calc(100% / 3 + .5px),transparent 0 calc(200% / 3 - .5px),rgb(255 255 255 / .5) 0 calc(200% / 3 + .5px),transparent 0),linear-gradient(to bottom,transparent calc(100% / 3 - .5px),rgb(255 255 255 / .5) 0 calc(100% / 3 + .5px),transparent 0 calc(200% / 3 - .5px),rgb(255 255 255 / .5) 0 calc(200% / 3 + .5px),transparent 0);border-radius:inherit;opacity:0;content:"";transition:opacity var(--dou-motion-duration-normal) var(--dou-motion-easing)}.dou-image-cropper__stage.is-moving .dou-image-cropper__frame:before{opacity:1}.dou-image-cropper__frame.is-round{border-radius:50%}.dou-image-cropper__placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}.dou-image-cropper__toolbar{display:flex;align-items:center;gap:4px}.dou-image-cropper__toolbar>.dou-button{flex-shrink:0}.dou-image-cropper__zoom{flex:1 1 auto;min-width:80px;margin:0 8px}.dou-image-cropper__divider{width:1px;height:16px;margin:0 4px;background-color:var(--dou-color-border)}}@layer dou.components{.dou-infinite-scroll__footer{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 0;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);line-height:20px}.dou-infinite-scroll__footer:empty{padding:0}.dou-infinite-scroll__retry{padding:0;border:0;border-radius:2px;background:none;color:var(--dou-color-text);font:inherit;text-decoration:underline;text-decoration-color:color-mix(in oklab,currentColor 35%,transparent);text-underline-offset:3px;cursor:pointer}.dou-infinite-scroll__retry:hover{text-decoration-color:currentColor}.dou-infinite-scroll__retry:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}}@layer dou.components{.dou-input-number{--dou-input-number-height: var(--dou-control-height-md);--dou-input-number-padding-x: var(--dou-control-padding-x-md);--dou-input-number-gap: var(--dou-control-gap-md);--dou-input-number-font-size: var(--dou-font-size-md);--dou-input-number-radius: var(--dou-radius-control);--dou-input-number-step-width: 24px;--dou-input-number-icon-size: 11px;--dou-input-number-bg: var(--dou-color-bg-surface);--dou-input-number-border: var(--dou-color-border);--dou-input-number-border-hover: var(--dou-color-border-strong);--dou-input-number-border-focus: color-mix( in oklab, var(--dou-color-focus) 70%, var(--dou-color-text) );--dou-input-number-ring: color-mix(in oklab, var(--dou-color-focus) 32%, transparent);--dou-input-number-shadow: var(--dou-shadow-sm);display:inline-flex;align-items:center;gap:var(--dou-input-number-gap);box-sizing:border-box;width:160px;max-width:100%;height:var(--dou-input-number-height);padding:0 var(--dou-input-number-padding-x);border:1px solid var(--dou-input-number-border);border-radius:var(--dou-input-number-radius);background-color:var(--dou-input-number-bg);box-shadow:var(--dou-input-number-shadow);color:var(--dou-color-text);font-size:var(--dou-input-number-font-size);vertical-align:middle;cursor:text;transition-property:border-color,box-shadow,background-color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-input-number.is-controls{padding-right:0}.dou-input-number:hover{border-color:var(--dou-input-number-border-hover)}.dou-input-number:focus-within{border-color:var(--dou-input-number-border-focus);box-shadow:0 0 0 3px var(--dou-input-number-ring),var(--dou-input-number-shadow)}.dou-input-number.is-invalid{--dou-input-number-border: color-mix( in oklab, var(--dou-color-danger) 55%, var(--dou-color-border) );--dou-input-number-border-hover: color-mix( in oklab, var(--dou-color-danger) 75%, var(--dou-color-border) );--dou-input-number-border-focus: var(--dou-color-danger);--dou-input-number-ring: color-mix(in oklab, var(--dou-color-danger) 18%, transparent)}.dou-input-number.is-readonly{--dou-input-number-bg: color-mix( in oklab, var(--dou-color-bg-muted) 50%, var(--dou-color-bg-surface) )}.dou-input-number.is-disabled{--dou-input-number-bg: var(--dou-color-bg-muted);--dou-input-number-border-hover: var(--dou-input-number-border);--dou-input-number-shadow: none;color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-input-number--sm{--dou-input-number-height: var(--dou-control-height-sm);--dou-input-number-padding-x: var(--dou-control-padding-x-sm);--dou-input-number-gap: var(--dou-control-gap-sm);--dou-input-number-font-size: var(--dou-font-size-sm);--dou-input-number-step-width: 20px;--dou-input-number-icon-size: 9px}.dou-input-number--lg{--dou-input-number-height: var(--dou-control-height-lg);--dou-input-number-padding-x: var(--dou-control-padding-x-lg);--dou-input-number-gap: var(--dou-control-gap-lg);--dou-input-number-font-size: var(--dou-font-size-lg);--dou-input-number-step-width: 28px;--dou-input-number-icon-size: 13px}.dou-input-number__native{flex:1 1 auto;width:100%;min-width:0;height:100%;padding:0;margin:0;border:0;outline:0;background:transparent;color:inherit;font:inherit;font-size:max(var(--dou-font-size-input-min, 0px),1em);font-variant-numeric:tabular-nums;line-height:normal}.dou-input-number__native::placeholder{color:var(--dou-color-text-tertiary);opacity:1}.dou-input-number__native:disabled{cursor:not-allowed}.dou-input-number__affix{display:inline-flex;flex-shrink:0;align-items:center;color:var(--dou-color-text-tertiary);white-space:nowrap}.dou-input-number__clear{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.15em;height:1.15em;padding:0;margin:0;border:0;border-radius:var(--dou-radius-full);background-color:color-mix(in oklab,var(--dou-color-text) 10%,transparent);color:var(--dou-color-text-secondary);cursor:pointer;transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-input-number__clear>svg{width:1em;height:1em;font-size:.8em}.dou-input-number__clear:hover{background-color:color-mix(in oklab,var(--dou-color-text) 18%,transparent);color:var(--dou-color-text)}.dou-input-number__clear:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.dou-input-number__controls{position:relative;flex-shrink:0;align-self:stretch;width:var(--dou-input-number-step-width);border-left:1px solid var(--dou-color-border)}.dou-input-number__keys{--dou-input-number-keys-radius: calc(var(--dou-input-number-radius) - 1px);--dou-input-number-keys-padding: 0px;--dou-input-number-key-radius: 0px;position:absolute;top:0;right:0;bottom:0;display:flex;flex-direction:column;gap:0;box-sizing:border-box;width:100%;padding:var(--dou-input-number-keys-padding);border-radius:0 var(--dou-input-number-keys-radius) var(--dou-input-number-keys-radius) 0;background-color:transparent;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition-property:top,right,bottom,width,padding,gap,border-radius,background-color,box-shadow;transition-duration:var(--dou-motion-duration-normal);transition-timing-function:var(--dou-motion-easing)}.dou-input-number.is-expanded{position:relative;z-index:10}.dou-input-number.is-expanded .dou-input-number__controls{--dou-input-number-key-size: 40px;--dou-input-number-pad-width: 48px;--dou-input-number-pad-height: calc( 2 * var(--dou-input-number-key-size) + 3 * var(--dou-input-number-keys-padding-open) );--dou-input-number-keys-padding-open: 4px}.dou-input-number.is-expanded .dou-input-number__keys{--dou-input-number-keys-radius: var(--dou-radius-container);--dou-input-number-keys-padding: var(--dou-input-number-keys-padding-open);--dou-input-number-key-radius: calc( var(--dou-radius-container) - var(--dou-input-number-keys-padding-open) );top:calc(50% - var(--dou-input-number-pad-height) / 2);right:-1px;bottom:calc(50% - var(--dou-input-number-pad-height) / 2);gap:var(--dou-input-number-keys-padding-open);width:var(--dou-input-number-pad-width);border-radius:var(--dou-input-number-keys-radius);background-color:var(--dou-color-bg-surface);box-shadow:inset 0 0 0 1px var(--dou-color-border),var(--dou-shadow-lg);transition-duration:var(--dou-motion-duration-slow);transition-timing-function:var(--dou-motion-easing-spring)}.dou-input-number.is-expanded .dou-input-number__step{border-radius:var(--dou-input-number-key-radius);background-color:color-mix(in oklab,var(--dou-color-text) 4%,transparent);color:var(--dou-color-text);transition-duration:var(--dou-motion-duration-slow);transition-timing-function:var(--dou-motion-easing-spring)}.dou-input-number.is-expanded .dou-input-number__step+:is(.dou-input-number.is-expanded .dou-input-number__step){box-shadow:none}.dou-input-number.is-expanded .dou-input-number__step>svg{font-size:16px;transition-duration:var(--dou-motion-duration-slow);transition-timing-function:var(--dou-motion-easing-spring)}.dou-input-number.is-expanded .dou-input-number__step:active:not(:disabled),.dou-input-number.is-expanded .dou-input-number__step.is-held{background-color:color-mix(in oklab,var(--dou-color-text) 10%,transparent);transform:scale(.94)}.dou-input-number.is-expanded .dou-input-number__step:disabled{background-color:color-mix(in oklab,var(--dou-color-text) 2%,transparent);color:var(--dou-color-text-disabled)}.dou-input-number__step{display:inline-flex;flex:1 1 0;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:0;padding:0;margin:0;border:0;border-radius:var(--dou-input-number-key-radius);background-color:transparent;color:var(--dou-color-text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;transition-property:background-color,color,border-radius,box-shadow,transform;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing-exit)}.dou-input-number__step+.dou-input-number__step{box-shadow:inset 0 1px 0 var(--dou-color-border-subtle)}.dou-input-number__step>svg{width:1em;height:1em;font-size:var(--dou-input-number-icon-size);transition:font-size var(--dou-motion-duration-normal) var(--dou-motion-easing)}@media (hover: hover){.dou-input-number__step:hover:not(:disabled){background-color:color-mix(in oklab,var(--dou-color-text) 5%,transparent);color:var(--dou-color-text)}}.dou-input-number__step:active:not(:disabled),.dou-input-number__step.is-held{background-color:color-mix(in oklab,var(--dou-color-text) 9%,transparent)}.dou-input-number__step:disabled{color:var(--dou-color-text-disabled);pointer-events:none}.dou-input-number:not(.is-expanded) .dou-input-number__increase{border-top-right-radius:var(--dou-input-number-keys-radius)}.dou-input-number:not(.is-expanded) .dou-input-number__decrease{border-bottom-right-radius:var(--dou-input-number-keys-radius)}}@layer dou.components{.dou-input{--dou-input-height: var(--dou-control-height-md);--dou-input-padding-x: var(--dou-control-padding-x-md);--dou-input-gap: var(--dou-control-gap-md);--dou-input-font-size: var(--dou-font-size-md);--dou-input-radius: var(--dou-radius-control);--dou-input-bg: var(--dou-color-bg-surface);--dou-input-border: var(--dou-color-border);--dou-input-border-hover: var(--dou-color-border-strong);--dou-input-border-focus: color-mix( in oklab, var(--dou-color-focus) 70%, var(--dou-color-text) );--dou-input-ring: color-mix(in oklab, var(--dou-color-focus) 32%, transparent);--dou-input-shadow: var(--dou-shadow-sm);display:inline-flex;align-items:center;gap:var(--dou-input-gap);box-sizing:border-box;width:100%;height:var(--dou-input-height);padding:0 var(--dou-input-padding-x);border:1px solid var(--dou-input-border);border-radius:var(--dou-input-radius);background-color:var(--dou-input-bg);box-shadow:var(--dou-input-shadow);color:var(--dou-color-text);font-size:var(--dou-input-font-size);vertical-align:middle;cursor:text;transition-property:border-color,box-shadow,background-color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-input:hover{border-color:var(--dou-input-border-hover)}.dou-input:focus-within{border-color:var(--dou-input-border-focus);box-shadow:0 0 0 3px var(--dou-input-ring),var(--dou-input-shadow)}.dou-input.is-invalid{--dou-input-border: color-mix(in oklab, var(--dou-color-danger) 55%, var(--dou-color-border));--dou-input-border-hover: color-mix( in oklab, var(--dou-color-danger) 75%, var(--dou-color-border) );--dou-input-border-focus: var(--dou-color-danger);--dou-input-ring: color-mix(in oklab, var(--dou-color-danger) 18%, transparent)}.dou-input.is-readonly{--dou-input-shadow: none}.dou-input.is-disabled{--dou-input-bg: var(--dou-color-bg-muted);--dou-input-border-hover: var(--dou-input-border);--dou-input-shadow: none;color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-input__native{flex:1 1 auto;width:100%;min-width:0;height:100%;padding:0;margin:0;border:0;outline:0;background:transparent;color:inherit;font:inherit;font-size:max(var(--dou-font-size-input-min, 0px),1em);line-height:normal}.dou-input__native::placeholder{color:var(--dou-color-text-tertiary);opacity:1}.dou-input__native:disabled{cursor:not-allowed}.dou-input__affix{display:inline-flex;flex-shrink:0;align-items:center;color:var(--dou-color-text-tertiary);white-space:nowrap}.dou-input__reveal{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.4em;height:1.4em;padding:0;margin:0 -.2em;border:0;border-radius:calc(var(--dou-radius-control) - 2px);background:transparent;color:var(--dou-color-text-tertiary);cursor:pointer;transition:color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-input__reveal>svg{width:1em;height:1em}.dou-input__reveal:hover{color:var(--dou-color-text)}.dou-input__reveal:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:0}.dou-input__reveal:disabled{cursor:not-allowed}.dou-input__reveal:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.dou-input__count{flex-shrink:0;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);font-variant-numeric:tabular-nums;white-space:nowrap;-webkit-user-select:none;user-select:none}.dou-input__clear{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.15em;height:1.15em;padding:0;margin:0;border:0;border-radius:var(--dou-radius-full);background-color:color-mix(in oklab,var(--dou-color-text) 10%,transparent);color:var(--dou-color-text-secondary);cursor:pointer;transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-input__clear>svg{width:1em;height:1em;font-size:.8em}.dou-input__clear:hover{background-color:color-mix(in oklab,var(--dou-color-text) 18%,transparent);color:var(--dou-color-text)}.dou-input__clear:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.dou-input--sm{--dou-input-height: var(--dou-control-height-sm);--dou-input-padding-x: var(--dou-control-padding-x-sm);--dou-input-gap: var(--dou-control-gap-sm);--dou-input-font-size: var(--dou-font-size-sm)}.dou-input--lg{--dou-input-height: var(--dou-control-height-lg);--dou-input-padding-x: var(--dou-control-padding-x-lg);--dou-input-gap: var(--dou-control-gap-lg);--dou-input-font-size: var(--dou-font-size-lg)}}@layer dou.components{.dou-input-otp{--dou-input-otp-size: 40px;--dou-input-otp-gap: 8px;--dou-input-otp-font-size: var(--dou-font-size-lg);--dou-input-otp-bg: var(--dou-color-bg-surface);--dou-input-otp-border: var(--dou-color-border);--dou-input-otp-border-focus: color-mix( in oklab, var(--dou-color-focus) 70%, var(--dou-color-text) );--dou-input-otp-ring: color-mix(in oklab, var(--dou-color-focus) 32%, transparent);--dou-input-otp-shadow: var(--dou-shadow-sm);position:relative;display:inline-flex;vertical-align:middle;color:var(--dou-color-text)}.dou-input-otp:hover:not(.is-disabled){--dou-input-otp-border: var(--dou-color-border-strong)}.dou-input-otp.is-invalid{--dou-input-otp-border: color-mix( in oklab, var(--dou-color-danger) 55%, var(--dou-color-border) );--dou-input-otp-border-focus: var(--dou-color-danger);--dou-input-otp-ring: color-mix(in oklab, var(--dou-color-danger) 18%, transparent)}.dou-input-otp.is-disabled{--dou-input-otp-bg: var(--dou-color-bg-muted);--dou-input-otp-shadow: none;color:var(--dou-color-text-disabled)}.dou-input-otp--sm{--dou-input-otp-size: 32px;--dou-input-otp-gap: 6px;--dou-input-otp-font-size: var(--dou-font-size-md)}.dou-input-otp--lg{--dou-input-otp-size: 48px;--dou-input-otp-gap: 10px;--dou-input-otp-font-size: 20px}.dou-input-otp__cells{display:flex;align-items:center;gap:var(--dou-input-otp-gap)}.dou-input-otp__cell{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--dou-input-otp-size);height:var(--dou-input-otp-size);border:1px solid var(--dou-input-otp-border);border-radius:var(--dou-radius-control);background-color:var(--dou-input-otp-bg);box-shadow:var(--dou-input-otp-shadow);font-family:var(--dou-font-family-mono);font-size:var(--dou-input-otp-font-size);font-weight:var(--dou-font-weight-medium);font-variant-numeric:tabular-nums;line-height:1;transition-property:border-color,box-shadow,background-color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-input-otp__cell.is-active{border-color:var(--dou-input-otp-border-focus);box-shadow:0 0 0 3px var(--dou-input-otp-ring),var(--dou-input-otp-shadow)}.dou-input-otp__dot{width:.4em;height:.4em;border-radius:var(--dou-radius-full);background-color:currentColor}.dou-input-otp__caret{width:1px;height:1.1em;background-color:var(--dou-color-text);animation:dou-input-otp-blink 1s step-end var(--dou-motion-loop-count)}.dou-input-otp__separator{display:inline-flex;align-items:center;justify-content:center;min-width:8px;color:var(--dou-color-text-tertiary)}.dou-input-otp__separator:empty:before{content:"";width:8px;height:1px;background-color:var(--dou-color-border-strong)}.dou-input-otp__native{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;margin:0;border:0;outline:0;background:transparent;color:transparent;caret-color:transparent;font-size:16px;letter-spacing:-1em;opacity:0;cursor:text}.dou-input-otp__native:disabled{cursor:not-allowed}@keyframes dou-input-otp-blink{50%{opacity:0}}}@layer dou.components{.dou-input-tag{--dou-input-tag-height: var(--dou-control-height-md);--dou-input-tag-padding-x: var(--dou-control-padding-x-md);--dou-input-tag-gap: var(--dou-control-gap-md);--dou-input-tag-font-size: var(--dou-font-size-md);--dou-input-tag-inset: 3px;--dou-input-tag-bg: var(--dou-color-bg-surface);--dou-input-tag-border: var(--dou-color-border);--dou-input-tag-border-hover: var(--dou-color-border-strong);--dou-input-tag-border-focus: color-mix( in oklab, var(--dou-color-focus) 70%, var(--dou-color-text) );--dou-input-tag-ring: color-mix(in oklab, var(--dou-color-focus) 32%, transparent);--dou-input-tag-shadow: var(--dou-shadow-sm);display:inline-flex;align-items:center;gap:var(--dou-input-tag-gap);box-sizing:border-box;width:100%;min-height:var(--dou-input-tag-height);padding:0 var(--dou-input-tag-padding-x);border:1px solid var(--dou-input-tag-border);border-radius:var(--dou-radius-control);background-color:var(--dou-input-tag-bg);box-shadow:var(--dou-input-tag-shadow);color:var(--dou-color-text);font-size:var(--dou-input-tag-font-size);vertical-align:middle;cursor:text;transition-property:border-color,box-shadow,background-color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-input-tag:hover{border-color:var(--dou-input-tag-border-hover)}.dou-input-tag:focus-within{border-color:var(--dou-input-tag-border-focus);box-shadow:0 0 0 3px var(--dou-input-tag-ring),var(--dou-input-tag-shadow)}.dou-input-tag.is-filled{padding-left:var(--dou-input-tag-inset)}.dou-input-tag.is-invalid{--dou-input-tag-border: color-mix( in oklab, var(--dou-color-danger) 55%, var(--dou-color-border) );--dou-input-tag-border-hover: color-mix( in oklab, var(--dou-color-danger) 75%, var(--dou-color-border) );--dou-input-tag-border-focus: var(--dou-color-danger);--dou-input-tag-ring: color-mix(in oklab, var(--dou-color-danger) 18%, transparent)}.dou-input-tag.is-readonly{--dou-input-tag-bg: color-mix( in oklab, var(--dou-color-bg-muted) 50%, var(--dou-color-bg-surface) )}.dou-input-tag.is-disabled{--dou-input-tag-bg: var(--dou-color-bg-muted);--dou-input-tag-border-hover: var(--dou-input-tag-border);--dou-input-tag-shadow: none;color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-input-tag--sm{--dou-input-tag-height: var(--dou-control-height-sm);--dou-input-tag-padding-x: var(--dou-control-padding-x-sm);--dou-input-tag-gap: var(--dou-control-gap-sm);--dou-input-tag-font-size: var(--dou-font-size-sm)}.dou-input-tag--lg{--dou-input-tag-height: var(--dou-control-height-lg);--dou-input-tag-padding-x: var(--dou-control-padding-x-lg);--dou-input-tag-gap: var(--dou-control-gap-lg);--dou-input-tag-font-size: var(--dou-font-size-lg);--dou-input-tag-inset: 5px}.dou-input-tag__prefix{display:inline-flex;flex-shrink:0;align-items:center;color:var(--dou-color-text-tertiary)}.dou-input-tag.is-filled .dou-input-tag__prefix{padding-left:calc(var(--dou-input-tag-padding-x) - var(--dou-input-tag-inset))}.dou-input-tag__selection{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;gap:4px;min-width:0}.dou-input-tag.is-filled .dou-input-tag__selection{padding:var(--dou-input-tag-inset) 0}.dou-input-tag__tag{max-width:100%;transition:box-shadow var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-input-tag__tag.is-pending{box-shadow:0 0 0 1px var(--dou-color-border-strong)}.dou-input-tag__input{flex:1 1 60px;min-width:60px;height:calc(var(--dou-input-tag-height) - 2px);padding:0;margin:0;border:0;outline:0;background:transparent;color:inherit;font:inherit;font-size:max(var(--dou-font-size-input-min, 0px),1em);line-height:normal}.dou-input-tag__input::placeholder{color:var(--dou-color-text-tertiary);opacity:1}.dou-input-tag__input:disabled{cursor:not-allowed}.dou-input-tag.is-filled .dou-input-tag__input{height:calc(var(--dou-input-tag-height) - 2px - var(--dou-input-tag-inset) * 2);padding-left:4px}.dou-input-tag__clear{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.15em;height:1.15em;padding:0;margin:0;border:0;border-radius:var(--dou-radius-full);background-color:color-mix(in oklab,var(--dou-color-text) 10%,transparent);color:var(--dou-color-text-secondary);cursor:pointer;transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-input-tag__clear>svg{width:1em;height:1em;font-size:.8em}.dou-input-tag__clear:hover{background-color:color-mix(in oklab,var(--dou-color-text) 18%,transparent);color:var(--dou-color-text)}.dou-input-tag__clear:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}}@layer dou.components{.dou-input-date{--dou-input-date-height: var(--dou-control-height-md);--dou-input-date-padding-x: var(--dou-control-padding-x-md);--dou-input-date-gap: var(--dou-control-gap-md);--dou-input-date-font-size: var(--dou-font-size-md);--dou-input-date-bg: var(--dou-color-bg-surface);--dou-input-date-border: var(--dou-color-border);--dou-input-date-border-hover: var(--dou-color-border-strong);--dou-input-date-border-focus: color-mix( in oklab, var(--dou-color-focus) 70%, var(--dou-color-text) );--dou-input-date-ring: color-mix(in oklab, var(--dou-color-focus) 32%, transparent);--dou-input-date-shadow: var(--dou-shadow-sm);--dou-input-date-segment-active: color-mix(in oklab, var(--dou-color-focus) 20%, transparent);display:inline-flex;align-items:center;gap:var(--dou-input-date-gap);box-sizing:border-box;width:100%;height:var(--dou-input-date-height);padding:0 var(--dou-input-date-padding-x);border:1px solid var(--dou-input-date-border);border-radius:var(--dou-radius-control);background-color:var(--dou-input-date-bg);box-shadow:var(--dou-input-date-shadow);color:var(--dou-color-text);font-size:max(var(--dou-font-size-input-min, 0px),var(--dou-input-date-font-size));vertical-align:middle;cursor:text;transition-property:border-color,box-shadow,background-color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-input-date:hover{border-color:var(--dou-input-date-border-hover)}.dou-input-date:focus-within,.dou-input-date.is-open{border-color:var(--dou-input-date-border-focus);box-shadow:0 0 0 3px var(--dou-input-date-ring),var(--dou-input-date-shadow)}.dou-input-date.is-invalid{--dou-input-date-border: color-mix( in oklab, var(--dou-color-danger) 55%, var(--dou-color-border) );--dou-input-date-border-hover: color-mix( in oklab, var(--dou-color-danger) 75%, var(--dou-color-border) );--dou-input-date-border-focus: var(--dou-color-danger);--dou-input-date-ring: color-mix(in oklab, var(--dou-color-danger) 18%, transparent);--dou-input-date-segment-active: color-mix( in oklab, var(--dou-color-danger) 16%, transparent )}.dou-input-date.is-disabled{--dou-input-date-bg: var(--dou-color-bg-muted);--dou-input-date-border-hover: var(--dou-input-date-border);--dou-input-date-shadow: none;color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-input-date--sm{--dou-input-date-height: var(--dou-control-height-sm);--dou-input-date-padding-x: var(--dou-control-padding-x-sm);--dou-input-date-gap: var(--dou-control-gap-sm);--dou-input-date-font-size: var(--dou-font-size-sm)}.dou-input-date--lg{--dou-input-date-height: var(--dou-control-height-lg);--dou-input-date-padding-x: var(--dou-control-padding-x-lg);--dou-input-date-gap: var(--dou-control-gap-lg);--dou-input-date-font-size: var(--dou-font-size-lg)}.dou-input-date__icon,.dou-input-date__separator{flex-shrink:0;width:1em;height:1em;font-size:1.1em;color:var(--dou-color-text-tertiary)}.dou-input-date__toggle{display:inline-flex;align-items:center;justify-content:center;box-sizing:content-box;padding:2px;margin:-2px;border:0;border-radius:var(--dou-radius-control);background:transparent;cursor:pointer;transition:color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-input-date__toggle>svg{width:1em;height:1em}.dou-input-date__toggle:hover:not(:disabled),.dou-input-date.is-open .dou-input-date__toggle{color:var(--dou-color-text)}.dou-input-date__toggle:disabled{cursor:inherit}.dou-input-date__value{display:inline-flex;flex:1 1 auto;align-items:center;min-width:0;font-variant-numeric:tabular-nums;white-space:nowrap}.dou-input-date.is-range .dou-input-date__value{flex-basis:0;justify-content:center}.dou-input-date__literal{color:var(--dou-color-text-tertiary);line-height:1;white-space:pre}.dou-input-date__segment{box-sizing:content-box;min-width:2ch;padding:4px 1px;border-radius:4px;outline:none;caret-color:transparent;line-height:1;text-align:center;text-box:trim-both cap alphabetic;transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-input-date__segment:focus{background-color:var(--dou-input-date-segment-active)}.dou-input-date__segment.is-placeholder{color:var(--dou-color-text-tertiary)}.dou-input-date.is-disabled .dou-input-date__segment{cursor:not-allowed}.dou-input-date__segment.dou-input-date--year{min-width:4ch}.dou-input-date__segment.is-placeholder,.dou-input-date__segment.dou-input-date--meridiem{min-width:auto;padding-inline:2px}.dou-input-date__clear{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.15em;height:1.15em;padding:0;margin:0;border:0;border-radius:var(--dou-radius-full);background-color:color-mix(in oklab,var(--dou-color-text) 10%,transparent);color:var(--dou-color-text-secondary);cursor:pointer}.dou-input-date__clear>svg{width:1em;height:1em;font-size:.8em}.dou-input-date__clear:hover{background-color:color-mix(in oklab,var(--dou-color-text) 18%,transparent);color:var(--dou-color-text)}.dou-input-date__clear:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}}@layer dou.components{.dou-kbd{--dou-kbd-height: 20px;--dou-kbd-padding-x: 5px;--dou-kbd-font-size: 12px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:var(--dou-kbd-height);height:var(--dou-kbd-height);padding:0 var(--dou-kbd-padding-x);border:1px solid var(--dou-color-border);border-radius:calc(var(--dou-radius-control) - 2px);background-color:var(--dou-color-bg-surface);box-shadow:inset 0 -1px 0 var(--dou-color-border);color:var(--dou-color-text-secondary);font-family:var(--dou-font-family-mono);font-size:var(--dou-kbd-font-size);font-weight:var(--dou-font-weight-medium);line-height:1;white-space:nowrap;vertical-align:middle}.dou-kbd--sm{--dou-kbd-height: 18px;--dou-kbd-padding-x: 4px;--dou-kbd-font-size: 11px}.dou-kbd__label{text-box:trim-both cap alphabetic}.dou-kbd.is-group{gap:8px;min-width:0;height:auto;padding:0;border:0;background:none;box-shadow:none}.dou-kbd__step{display:inline-flex;gap:3px}}@layer dou.components{.dou-layout{display:flex;flex:1 1 auto;flex-direction:column;box-sizing:border-box;min-width:0;min-height:0;color:var(--dou-color-text)}.dou-layout:has(>.dou-layout-aside){flex-direction:row}.dou-layout-header,.dou-layout-footer{display:flex;flex-shrink:0;align-items:center;gap:var(--dou-space-md);box-sizing:border-box;padding:0 var(--dou-layout-padding-x, 20px);background-color:var(--dou-color-bg-canvas)}.dou-layout-header{height:var(--dou-layout-header-height)}.dou-layout-header.is-bordered{border-bottom:1px solid var(--dou-color-border-subtle)}.dou-layout-header.is-sticky{position:sticky;top:0;z-index:10}.dou-layout-footer{min-height:48px;border-top:1px solid var(--dou-color-border-subtle);color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.dou-layout-aside{display:flex;flex-direction:column;flex-shrink:0;box-sizing:border-box;width:var(--dou-layout-aside-width);background-color:var(--dou-color-bg-canvas);transition:width var(--dou-motion-duration-normal) var(--dou-motion-easing)}.dou-layout-aside.is-bordered{box-shadow:inset -1px 0 0 var(--dou-color-border-subtle)}.dou-layout-aside.is-bordered:not(:first-child):last-child{box-shadow:inset 1px 0 0 var(--dou-color-border-subtle)}.dou-layout-aside.is-sticky{position:sticky;top:var(--dou-layout-aside-top, 0px);align-self:flex-start;height:calc(100vh - var(--dou-layout-aside-top, 0px));height:calc(100dvh - var(--dou-layout-aside-top, 0px))}.dou-layout-aside__body{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;padding:8px;overflow-x:hidden;overflow-y:auto}.dou-layout-aside__footer{display:flex;flex-direction:column;gap:4px;padding:8px;border-top:1px solid var(--dou-color-border-subtle)}.dou-layout-aside__toggle{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;width:32px;height:32px;padding:0;margin:0;border:0;border-radius:var(--dou-radius-control);background-color:transparent;color:var(--dou-color-text-tertiary);cursor:pointer;transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-layout-aside__toggle>svg{width:1em;height:1em;font-size:16px}.dou-layout-aside__toggle:hover{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-layout-aside__toggle:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}.dou-layout-aside.is-collapsed .dou-layout-aside__body,.dou-layout-aside.is-collapsed .dou-layout-aside__footer{align-items:center}.dou-layout-aside.is-collapsed .dou-layout-aside__toggle{align-self:center}.dou-layout-aside-drawer{--dou-drawer-bg: var(--dou-color-bg-canvas)}.dou-layout-aside-drawer .dou-drawer__body{display:flex;flex-direction:column;padding:0;overflow:hidden}.dou-layout-aside-trigger{width:var(--dou-button-height);padding:0}.dou-layout-main{flex:1 1 auto;box-sizing:border-box;min-width:0;padding:var(--dou-layout-main-padding, 24px)}}@layer dou.components{.dou-listbox{--dou-listbox-inset: 4px;--dou-listbox-row: var(--dou-control-height-md);--dou-listbox-font-size: var(--dou-font-size-md);--dou-listbox-border: var(--dou-color-border);display:flex;flex-direction:column;box-sizing:border-box;width:100%;border:1px solid var(--dou-listbox-border);border-radius:calc(var(--dou-radius-control) + var(--dou-listbox-inset));background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);color:var(--dou-color-text);font-size:var(--dou-listbox-font-size);transition-property:border-color,box-shadow;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-listbox:focus-within{--dou-listbox-border: color-mix(in oklab, var(--dou-color-focus) 70%, var(--dou-color-text));box-shadow:0 0 0 3px color-mix(in oklab,var(--dou-color-focus) 32%,transparent),var(--dou-shadow-sm)}.dou-listbox.is-invalid{--dou-listbox-border: color-mix( in oklab, var(--dou-color-danger) 55%, var(--dou-color-border) )}.dou-listbox.is-disabled{background-color:color-mix(in oklab,var(--dou-color-text) 3%,var(--dou-color-bg-surface));color:var(--dou-color-text-disabled);box-shadow:none}.dou-listbox--sm{--dou-listbox-row: var(--dou-control-height-sm);--dou-listbox-font-size: var(--dou-font-size-sm)}.dou-listbox--lg{--dou-listbox-row: var(--dou-control-height-lg);--dou-listbox-font-size: var(--dou-font-size-lg)}.dou-listbox__search{display:flex;align-items:center;gap:8px;height:var(--dou-listbox-row);padding:0 12px;border-bottom:1px solid var(--dou-color-border-subtle);color:var(--dou-color-text-tertiary)}.dou-listbox__search-icon{flex-shrink:0;width:1em;height:1em}.dou-listbox__input{flex:1 1 auto;min-width:0;height:100%;padding:0;margin:0;border:0;outline:0;background:transparent;color:var(--dou-color-text);font:inherit;font-size:max(var(--dou-font-size-input-min, 0px),1em)}.dou-listbox__input::placeholder{color:var(--dou-color-text-tertiary);opacity:1}.dou-listbox__input:disabled{cursor:not-allowed}.dou-listbox__list{padding:var(--dou-listbox-inset);margin:0;overflow-y:auto;list-style:none;outline:none;overscroll-behavior:contain}.dou-listbox__section,.dou-listbox__group{padding:0;margin:0;list-style:none}.dou-listbox__section+.dou-listbox__section:has(.dou-listbox__group-label){margin-top:4px;padding-top:4px;border-top:1px solid var(--dou-color-border-subtle)}.dou-listbox__group-label{display:flex;align-items:center;height:var(--dou-listbox-row);padding:0 8px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);font-weight:var(--dou-font-weight-medium);-webkit-user-select:none;user-select:none}.dou-listbox__option{display:flex;align-items:center;gap:8px;box-sizing:border-box;min-height:var(--dou-listbox-row);padding:6px 8px;border-radius:var(--dou-radius-control);cursor:pointer;-webkit-user-select:none;user-select:none}.dou-listbox__option:hover,.dou-listbox:focus-within .dou-listbox__option.is-active{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent)}.dou-listbox__option.is-selected{font-weight:var(--dou-font-weight-medium)}.dou-listbox__option.is-disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-listbox__option.is-disabled:hover{background-color:transparent}.dou-listbox.is-disabled .dou-listbox__option{cursor:not-allowed}.dou-listbox.is-disabled .dou-listbox__option:hover{background-color:transparent}.dou-listbox__icon{flex-shrink:0;width:1em;height:1em;color:var(--dou-color-text-secondary)}.dou-listbox__text{display:flex;flex:1 1 auto;flex-direction:column;gap:4px;min-width:0}.dou-listbox__label,.dou-listbox__description{overflow-x:clip;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.dou-listbox__description{color:var(--dou-color-text-tertiary);font-size:12px;font-weight:var(--dou-font-weight-regular)}.dou-listbox__check{flex-shrink:0;width:1em;height:1em;color:var(--dou-color-text)}.dou-listbox__empty{padding:16px 12px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);text-align:center}.dou-listbox.is-readonly .dou-listbox__option{cursor:default}}@layer dou.components{.dou-link{--dou-link-tone: var(--dou-color-text);--dou-link-underline: color-mix(in oklab, var(--dou-link-tone) 28%, transparent);--dou-link-underline-hover: var(--dou-link-tone);display:inline-flex;align-items:baseline;gap:.25em;color:var(--dou-link-tone);font-weight:var(--dou-font-weight-medium);text-decoration-line:none;text-decoration-thickness:1px;text-underline-offset:.25em;cursor:pointer;transition-property:color,text-decoration-color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-link:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-link.is-disabled{cursor:not-allowed;opacity:.45}.dou-link__label{text-decoration-line:inherit;text-decoration-color:inherit;text-decoration-thickness:inherit}.dou-link--underline-always{text-decoration-line:underline;text-decoration-color:var(--dou-link-underline)}.dou-link--underline-always:hover:not(.is-disabled){text-decoration-color:var(--dou-link-underline-hover)}.dou-link--underline-hover:hover:not(.is-disabled){text-decoration-line:underline;text-decoration-color:var(--dou-link-underline-hover)}.dou-link--primary{--dou-link-tone: var(--dou-color-primary-text)}.dou-link--success{--dou-link-tone: var(--dou-color-success-text)}.dou-link--warning{--dou-link-tone: var(--dou-color-warning-text)}.dou-link--danger{--dou-link-tone: var(--dou-color-danger-text)}.dou-link__icon{display:inline-flex;flex-shrink:0;align-self:center;font-size:1em}.dou-link__external{width:.85em;height:.85em;opacity:.6}.dou-link__external>svg{width:100%;height:100%}}@layer dou.components{.dou-loading,.dou-loading-parent{position:relative}.dou-loading{--dou-loading-radius: var(--dou-radius-container)}.dou-loading__mask{--dou-loading-veil: color-mix(in oklab, var(--dou-color-bg-surface) 72%, transparent);position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;border-radius:var(--dou-loading-radius, inherit);background-color:var(--dou-loading-veil);color:var(--dou-color-text-secondary);cursor:progress}.dou-loading__mask.is-fullscreen{--dou-loading-veil: color-mix(in oklab, var(--dou-color-bg-canvas) 80%, transparent);position:fixed;border-radius:0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dou-loading__content{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:calc(100% - 32px)}.dou-loading__text{color:var(--dou-color-text-secondary);font-family:var(--dou-font-family);font-size:var(--dou-font-size-sm);line-height:20px;text-align:center}.dou-loading-enter-active{transition:opacity var(--dou-motion-duration-normal) var(--dou-motion-easing-enter)}.dou-loading-leave-active{transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing-exit)}.dou-loading-enter-from,.dou-loading-leave-to{opacity:0}}@layer dou.components{.dou-marquee{--dou-marquee-fade: 48px;display:flex;overflow:hidden}.dou-marquee--horizontal{contain:inline-size}.dou-marquee--vertical{flex-direction:column}.dou-marquee.is-fade{-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--dou-marquee-fade),#000 calc(100% - var(--dou-marquee-fade)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--dou-marquee-fade),#000 calc(100% - var(--dou-marquee-fade)),transparent)}.dou-marquee--vertical.is-fade{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 var(--dou-marquee-fade),#000 calc(100% - var(--dou-marquee-fade)),transparent);mask-image:linear-gradient(to bottom,transparent,#000 var(--dou-marquee-fade),#000 calc(100% - var(--dou-marquee-fade)),transparent)}.dou-marquee__track{display:flex;flex-shrink:0;gap:var(--dou-marquee-gap)}.dou-marquee--vertical .dou-marquee__track{flex-direction:column}.dou-marquee__content{display:flex;flex-shrink:0;align-items:center;gap:var(--dou-marquee-gap)}.dou-marquee--vertical .dou-marquee__content{flex-direction:column;align-items:stretch}.dou-marquee.is-ready .dou-marquee__track{animation:dou-marquee-x var(--dou-marquee-duration) linear infinite}.dou-marquee--vertical.is-ready .dou-marquee__track{animation-name:dou-marquee-y}.dou-marquee.is-reverse .dou-marquee__track{animation-direction:reverse}.dou-marquee.is-paused .dou-marquee__track,.dou-marquee.is-pausable:hover .dou-marquee__track,.dou-marquee.is-pausable:focus-within .dou-marquee__track{animation-play-state:paused}.dou-marquee.is-still{overflow:auto;-webkit-mask-image:none;mask-image:none}@keyframes dou-marquee-x{to{transform:translate(calc(-1 * var(--dou-marquee-distance)))}}@keyframes dou-marquee-y{to{transform:translateY(calc(-1 * var(--dou-marquee-distance)))}}}@layer dou.components{.dou-masonry{--dou-masonry-cols: 1;--dou-masonry-row-gap: var(--dou-space-md);--dou-masonry-column-gap: var(--dou-space-md);--dou-masonry-width: calc( (100% - (var(--dou-masonry-cols) - 1) * var(--dou-masonry-column-gap)) / var(--dou-masonry-cols) );display:grid;grid-template-columns:repeat(var(--dou-masonry-cols),minmax(0,1fr));gap:var(--dou-masonry-row-gap) var(--dou-masonry-column-gap);align-items:start;min-width:0}.dou-masonry.is-placed{position:relative;display:block}.dou-masonry__item{min-width:0}.dou-masonry.is-placed>.dou-masonry__item{position:absolute;top:var(--dou-masonry-top, 0);inset-inline-start:calc(var(--dou-masonry-col, 0) * (var(--dou-masonry-width) + var(--dou-masonry-column-gap)));width:var(--dou-masonry-width)}}@layer dou.components{.dou-menu{--dou-menu-item-height: var(--dou-control-height-md);--dou-menu-padding-x: 10px;--dou-menu-gap: 8px;--dou-menu-icon-size: 16px;--dou-menu-indent: calc(var(--dou-menu-icon-size) + var(--dou-menu-gap));--dou-menu-hover-bg: color-mix(in oklab, var(--dou-color-text) 4%, transparent);--dou-menu-selected-bg: color-mix(in oklab, var(--dou-color-text) 7%, transparent);min-width:0;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-md)}.dou-menu__list{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.dou-menu__sub{padding-top:2px}.dou-menu__item{--dou-menu-level: 0;display:flex;align-items:center;gap:var(--dou-menu-gap);box-sizing:border-box;width:100%;height:var(--dou-menu-item-height);padding:0 var(--dou-menu-padding-x);padding-inline-start:calc(var(--dou-menu-padding-x) + var(--dou-menu-level) * var(--dou-menu-indent));border:0;border-radius:var(--dou-radius-control);background-color:transparent;color:inherit;font:inherit;line-height:1;text-align:start;text-decoration:none;white-space:nowrap;cursor:pointer;transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-menu__item:hover:not(.is-disabled){background-color:var(--dou-menu-hover-bg);color:var(--dou-color-text)}.dou-menu__item:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.dou-menu__item.is-active{color:var(--dou-color-text)}.dou-menu__item.is-selected{background-color:var(--dou-menu-selected-bg);color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium)}.dou-menu__item.is-selected:hover{background-color:var(--dou-menu-selected-bg)}.dou-menu__item.is-disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-menu__icon{flex-shrink:0;width:var(--dou-menu-icon-size);height:var(--dou-menu-icon-size)}.dou-menu__initial{display:inline-flex;align-items:center;justify-content:center;width:var(--dou-menu-icon-size);height:var(--dou-menu-icon-size);font-size:12px;font-weight:var(--dou-font-weight-medium)}.dou-menu__label{flex:1 1 auto;display:flex;align-items:center;gap:6px;min-width:0;overflow-x:clip;text-overflow:ellipsis;text-box:trim-both cap alphabetic}.dou-menu__arrow{flex-shrink:0;width:1em;height:1em;font-size:14px;color:var(--dou-color-text-tertiary);transition:transform var(--dou-motion-duration-normal) var(--dou-motion-easing)}.dou-menu__arrow.is-open{transform:rotate(180deg)}.dou-menu__group+.dou-menu__group,.dou-menu__entry+.dou-menu__group{margin-top:8px}.dou-menu__group-label{--dou-menu-level: 0;padding:8px var(--dou-menu-padding-x) 6px;padding-inline-start:calc(var(--dou-menu-padding-x) + var(--dou-menu-level) * var(--dou-menu-indent));color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);line-height:1}.dou-menu__divider{height:1px;margin:6px var(--dou-menu-padding-x);background-color:var(--dou-color-border-subtle)}.dou-menu.is-collapsed{width:max-content}.dou-menu.is-collapsed .dou-menu__item{justify-content:center;width:var(--dou-menu-item-height);padding:0}.dou-menu.is-collapsed .dou-menu__divider{margin:6px 4px}.dou-menu.is-collapsed .dou-menu__item.is-active{background-color:var(--dou-menu-selected-bg)}.dou-menu--horizontal{box-sizing:border-box;width:100%;border-bottom:1px solid var(--dou-color-border)}.dou-menu--horizontal .dou-menu__list{flex-direction:row;align-items:center;gap:4px;padding:6px 0}.dou-menu--horizontal .dou-menu__entry,.dou-menu--horizontal .dou-menu__divider{flex-shrink:0}.dou-menu--horizontal .dou-menu__entry{position:relative}.dou-menu--horizontal .dou-menu__item{width:auto}.dou-menu--horizontal .dou-menu__item.is-selected{background-color:transparent}.dou-menu--horizontal .dou-menu__item.is-selected:hover{background-color:var(--dou-menu-hover-bg)}.dou-menu--horizontal .dou-menu__item.is-selected:after,.dou-menu--horizontal .dou-menu__item.is-active:after{position:absolute;right:var(--dou-menu-padding-x);bottom:-7px;left:var(--dou-menu-padding-x);height:2px;border-radius:1px;background-color:var(--dou-color-text);content:""}.dou-menu--horizontal .dou-menu__divider{width:1px;height:16px;margin:0 6px;background-color:var(--dou-color-border)}.dou-menu__popup-label{padding:8px 8px 4px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);line-height:1;-webkit-user-select:none;user-select:none}.dou-menu__check{width:1em;height:1em;font-size:14px}}@layer dou.components{.dou-menubar{--dou-menubar-height: var(--dou-control-height-sm);--dou-menubar-padding-x: 10px;--dou-menubar-active-bg: color-mix(in oklab, var(--dou-color-text) 6%, transparent);display:flex;flex-wrap:wrap;align-items:center;gap:2px;min-width:0}.dou-menubar--md{--dou-menubar-height: var(--dou-control-height-md);--dou-menubar-padding-x: var(--dou-control-padding-x-sm)}.dou-menubar__trigger{display:inline-flex;align-items:center;box-sizing:border-box;height:var(--dou-menubar-height);margin:0;padding:0 var(--dou-menubar-padding-x);border:0;border-radius:var(--dou-radius-control);background-color:transparent;color:var(--dou-color-text);font:inherit;font-size:var(--dou-font-size-md);line-height:1;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--dou-motion-duration-instant) var(--dou-motion-easing)}.dou-menubar__trigger:hover,.dou-menubar__trigger.is-open{background-color:var(--dou-menubar-active-bg)}.dou-menubar__trigger:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-menubar__trigger.is-disabled{color:var(--dou-color-text-disabled);background-color:transparent;cursor:not-allowed}}@layer dou.components{.dou-pagination{--dou-pagination-size: var(--dou-control-height-md);--dou-pagination-font-size: var(--dou-font-size-md);--dou-pagination-gap: 2px;display:flex;flex-wrap:wrap;align-items:center;gap:var(--dou-pagination-gap);color:var(--dou-color-text-secondary);font-size:var(--dou-pagination-font-size);font-variant-numeric:tabular-nums}.dou-pagination--sm{--dou-pagination-size: var(--dou-control-height-sm);--dou-pagination-font-size: var(--dou-font-size-sm)}.dou-pagination--lg{--dou-pagination-size: var(--dou-control-height-lg);--dou-pagination-font-size: var(--dou-font-size-lg);--dou-pagination-gap: 4px}.dou-pagination__pages{display:flex;align-items:center;gap:var(--dou-pagination-gap);padding:0;margin:0;list-style:none}.dou-pagination__pages>li{margin:0}.dou-pagination__item{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:var(--dou-pagination-size);height:var(--dou-pagination-size);padding:0 6px;border:1px solid transparent;border-radius:var(--dou-radius-control);background-color:transparent;color:inherit;font:inherit;line-height:1;cursor:pointer;transition-property:background-color,border-color,color,box-shadow;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-pagination__item:hover:not(:disabled,.is-current){background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}@media (pointer: coarse){.dou-pagination__item:after{content:"";position:absolute;inset:min(0px,calc((var(--dou-pagination-size) - 40px) / 2))}}.dou-pagination__item:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}.dou-pagination__item:disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-pagination__item.is-current{border-color:var(--dou-color-border);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium);cursor:default}.dou-pagination__item>svg{width:1em;height:1em;font-size:16px}.dou-pagination.is-disabled .dou-pagination__item.is-current{color:var(--dou-color-text-disabled);box-shadow:none}.dou-pagination__number{text-box:trim-both cap alphabetic}.dou-pagination__ellipsis{color:var(--dou-color-text-tertiary)}.dou-pagination__ellipsis.is-open{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-pagination__gap{--dou-popover-padding: 4px}.dou-pagination__gap-list{width:120px;border-radius:var(--dou-radius-control);outline:none;font-variant-numeric:tabular-nums}.dou-pagination__gap-list:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-pagination__gap-option{display:flex;align-items:center;box-sizing:border-box;height:var(--dou-pagination-gap-row, 32px);padding:0 10px;border-radius:var(--dou-radius-control);color:var(--dou-color-text);font-size:var(--dou-font-size-md);white-space:nowrap;cursor:pointer}.dou-pagination__gap-option.is-active{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent)}.dou-pagination__simple{display:inline-flex;align-items:center;gap:6px;padding:0 8px}.dou-pagination__current{color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium)}.dou-pagination__slash{color:var(--dou-color-text-disabled)}.dou-pagination__total{margin-right:10px;color:var(--dou-color-text-tertiary)}.dou-pagination__sizes{display:inline-flex;flex:none;width:7.5em;margin-left:10px}.dou-pagination__jumper{display:inline-flex;flex:none;align-items:center;gap:6px;margin-left:10px;color:var(--dou-color-text-tertiary)}.dou-pagination__jump{width:4.5em}}@layer dou.components{.dou-page-header{display:flex;flex-direction:column;gap:12px;min-width:0;color:var(--dou-color-text);font-size:var(--dou-font-size-md)}.dou-page-header__main{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;min-width:0}.dou-page-header__heading{display:flex;flex:1 1 auto;align-items:center;gap:12px;min-width:0}.dou-page-header__back{display:inline-flex;flex-shrink:0;align-items:center;gap:6px;height:var(--dou-control-height-sm);padding:0 8px;margin-inline-start:-8px;border:0;border-radius:var(--dou-radius-control);background:transparent;color:var(--dou-color-text-secondary);font:inherit;line-height:1;cursor:pointer;transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-page-header__back:hover{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-page-header__back:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:0}.dou-page-header__back-icon{display:inline-flex}.dou-page-header__back-icon>svg{width:16px;height:16px}.dou-page-header__back-text{text-box:trim-both cap alphabetic}.dou-page-header__divider{flex-shrink:0;width:1px;height:16px;background-color:var(--dou-color-border)}.dou-page-header__title{min-width:0;margin:0;overflow-x:clip;color:var(--dou-color-text);font-size:20px;font-weight:var(--dou-font-weight-bold);line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.dou-page-header__subtitle{flex-shrink:1;min-width:0;overflow-x:clip;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-md);text-overflow:ellipsis;white-space:nowrap}.dou-page-header__extra{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;gap:8px}.dou-page-header__content{color:var(--dou-color-text-secondary);line-height:1.6}}@layer dou.components{.dou-picker{--dou-picker-height: var(--dou-control-height-md);--dou-picker-padding-x: var(--dou-control-padding-x-md);--dou-picker-gap: var(--dou-control-gap-md);--dou-picker-font-size: var(--dou-font-size-md);--dou-picker-bg: var(--dou-color-bg-surface);--dou-picker-border: var(--dou-color-border);--dou-picker-border-hover: var(--dou-color-border-strong);--dou-picker-border-focus: color-mix( in oklab, var(--dou-color-focus) 70%, var(--dou-color-text) );--dou-picker-ring: color-mix(in oklab, var(--dou-color-focus) 32%, transparent);--dou-picker-shadow: var(--dou-shadow-sm);display:inline-flex;align-items:center;gap:var(--dou-picker-gap);box-sizing:border-box;width:100%;height:var(--dou-picker-height);padding:0 var(--dou-picker-padding-x);border:1px solid var(--dou-picker-border);border-radius:var(--dou-radius-control);background-color:var(--dou-picker-bg);box-shadow:var(--dou-picker-shadow);color:var(--dou-color-text);font-size:var(--dou-picker-font-size);vertical-align:middle;cursor:pointer;outline:none;transition-property:border-color,box-shadow,background-color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-picker:hover{border-color:var(--dou-picker-border-hover)}.dou-picker:focus-within,.dou-picker.is-open{border-color:var(--dou-picker-border-focus);box-shadow:0 0 0 3px var(--dou-picker-ring),var(--dou-picker-shadow)}.dou-picker.is-invalid{--dou-picker-border: color-mix( in oklab, var(--dou-color-danger) 55%, var(--dou-color-border) );--dou-picker-border-hover: color-mix( in oklab, var(--dou-color-danger) 75%, var(--dou-color-border) );--dou-picker-border-focus: var(--dou-color-danger);--dou-picker-ring: color-mix(in oklab, var(--dou-color-danger) 18%, transparent)}.dou-picker.is-readonly{--dou-picker-border-hover: var(--dou-picker-border);--dou-picker-shadow: none;cursor:default}.dou-picker.is-disabled{--dou-picker-bg: var(--dou-color-bg-muted);--dou-picker-border-hover: var(--dou-picker-border);--dou-picker-shadow: none;color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-picker--sm{--dou-picker-height: var(--dou-control-height-sm);--dou-picker-padding-x: var(--dou-control-padding-x-sm);--dou-picker-gap: var(--dou-control-gap-sm);--dou-picker-font-size: var(--dou-font-size-sm)}.dou-picker--lg{--dou-picker-height: var(--dou-control-height-lg);--dou-picker-padding-x: var(--dou-control-padding-x-lg);--dou-picker-gap: var(--dou-control-gap-lg);--dou-picker-font-size: var(--dou-font-size-lg)}.dou-picker__icon{flex-shrink:0;width:1em;height:1em;font-size:1.1em;color:var(--dou-color-text-tertiary)}.dou-picker__input{flex:1 1 0;min-width:0;height:calc(var(--dou-picker-height) - 2px);padding:0;margin:0;border:0;outline:0;background:transparent;color:inherit;font:inherit;font-size:max(var(--dou-font-size-input-min, 0px),1em);font-variant-numeric:tabular-nums}.dou-picker__input::placeholder{color:var(--dou-color-text-tertiary);opacity:1}.dou-picker__input:disabled{cursor:not-allowed}.dou-picker__value,.dou-picker__placeholder{flex:1 1 auto;min-width:0;overflow-x:clip;line-height:1;text-overflow:ellipsis;white-space:nowrap;text-box:trim-both cap alphabetic}.dou-picker__placeholder{color:var(--dou-color-text-tertiary)}.dou-picker.is-readonly .dou-picker__arrow{visibility:hidden}.dou-picker__arrow{flex-shrink:0;width:1em;height:1em;font-size:16px;color:var(--dou-color-text-tertiary);transition:transform var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-picker.is-open .dou-picker__arrow{transform:rotate(180deg)}.dou-picker__clear{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.15em;height:1.15em;padding:0;margin:0;border:0;border-radius:var(--dou-radius-full);background-color:color-mix(in oklab,var(--dou-color-text) 10%,transparent);color:var(--dou-color-text-secondary);cursor:pointer}.dou-picker__clear>svg{width:1em;height:1em;font-size:.8em}.dou-picker__clear:hover{background-color:color-mix(in oklab,var(--dou-color-text) 18%,transparent);color:var(--dou-color-text)}.dou-picker__clear:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.dou-picker-panel{box-sizing:border-box;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:color-mix(in oklab,var(--dou-color-text) calc(4% * var(--dou-scheme-dark)),var(--dou-color-bg-surface));box-shadow:var(--dou-shadow-md);color:var(--dou-color-text);font-family:var(--dou-font-family);font-size:var(--dou-font-size-md)}}@layer dou.components{.dou-popover.dou-popconfirm{--dou-popconfirm-tone: var(--dou-color-warning);--dou-popover-padding: 14px 14px 12px;--dou-popover-max-width: 320px}.dou-popconfirm--neutral{--dou-popconfirm-tone: var(--dou-color-text-secondary)}.dou-popconfirm--danger{--dou-popconfirm-tone: var(--dou-color-danger)}.dou-popconfirm__body{display:flex;align-items:flex-start;gap:10px}.dou-popconfirm__icon{display:inline-flex;flex-shrink:0;align-items:center;height:1.5em;color:var(--dou-popconfirm-tone)}.dou-popconfirm__icon>svg{width:1em;height:1em;font-size:16px}.dou-popconfirm__text{min-width:0}.dou-popconfirm__title{color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium);line-height:1.5}.dou-popconfirm__description{margin-top:2px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);line-height:1.5}.dou-popconfirm__actions{display:flex;justify-content:flex-end;gap:6px;margin-top:12px}}@layer dou.components{.dou-popover{--dou-popover-bg: color-mix( in oklab, var(--dou-color-text) calc(4% * var(--dou-scheme-dark)), var(--dou-color-bg-surface) );--dou-popover-border: var(--dou-color-border);--dou-popover-padding: 12px 14px;--dou-popover-radius: var(--dou-radius-container);--dou-popover-max-width: 360px;max-width:min(var(--dou-popover-max-width),calc(100vw - 16px));padding:var(--dou-popover-padding);border:1px solid var(--dou-popover-border);border-radius:var(--dou-popover-radius);background-color:var(--dou-popover-bg);box-shadow:var(--dou-shadow-md);color:var(--dou-color-text-secondary);font-family:var(--dou-font-family);font-size:var(--dou-font-size-md);line-height:var(--dou-font-line-height);outline:none}.dou-popover__title{margin-bottom:6px;color:var(--dou-color-text);font-weight:var(--dou-font-weight-bold);line-height:1.5}.dou-popover__content:empty{display:none}}@layer dou.components{.dou-progress{--dou-progress-tone: var(--dou-color-neutral);--dou-progress-height: 6px;--dou-progress-track: color-mix(in oklab, var(--dou-color-text) 8%, transparent);--dou-progress-on: var(--dou-color-neutral-on);display:flex;align-items:center;gap:10px;width:100%}.dou-progress.is-custom{--dou-progress-on: #ffffff}.dou-progress--sm{--dou-progress-height: 4px}.dou-progress--lg{--dou-progress-height: 8px}.dou-progress--primary{--dou-progress-tone: var(--dou-color-primary);--dou-progress-on: var(--dou-color-primary-on)}.dou-progress--success{--dou-progress-tone: var(--dou-color-success);--dou-progress-on: var(--dou-color-success-on)}.dou-progress--warning{--dou-progress-tone: var(--dou-color-warning);--dou-progress-on: var(--dou-color-warning-on)}.dou-progress--danger{--dou-progress-tone: var(--dou-color-danger);--dou-progress-on: var(--dou-color-danger-on)}.dou-progress__track{position:relative;flex:1 1 auto;height:var(--dou-progress-height);overflow:hidden;border-radius:var(--dou-radius-full);background-color:var(--dou-progress-track)}.dou-progress__bar{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background-color:var(--dou-progress-tone);transform:translate(-100%);transition:transform var(--dou-motion-duration-normal) var(--dou-motion-easing)}.dou-progress:not(.dou-progress--ring).is-indeterminate .dou-progress__bar{right:auto;width:40%;animation:dou-progress-glide calc(var(--dou-motion-loop-spin) * 2) var(--dou-motion-easing) infinite}.dou-progress.is-text-inside{--dou-progress-height: 18px}.dou-progress__inner{position:absolute;top:0;bottom:0;display:flex;align-items:center;padding:0 8px;color:var(--dou-progress-on);font-size:12px;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap;translate:-100% 0;transition:left var(--dou-motion-duration-normal) var(--dou-motion-easing)}.dou-progress__inner.is-outside{color:var(--dou-color-text-secondary);translate:0 0}.dou-progress__value{flex-shrink:0;min-width:3ch;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);font-variant-numeric:tabular-nums;line-height:1;text-align:right}.dou-progress--ring{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;vertical-align:middle}.dou-progress--ring .dou-progress__svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.dou-progress--ring .dou-progress__track,.dou-progress--ring .dou-progress__bar{position:static;height:auto;border-radius:0;background:none;fill:none;stroke-linecap:round;transform:none}.dou-progress--ring .dou-progress__track{stroke:var(--dou-progress-track)}.dou-progress--ring .dou-progress__bar{stroke:var(--dou-progress-tone);transition:stroke-dasharray var(--dou-motion-duration-normal) var(--dou-motion-easing),opacity var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-progress--ring.is-empty .dou-progress__bar{opacity:0}.dou-progress--ring.is-indeterminate .dou-progress__svg{animation:dou-progress-spin var(--dou-motion-loop-spin) linear infinite}.dou-progress--ring .dou-progress__value{position:relative;min-width:0;color:var(--dou-color-text);font-size:var(--dou-font-size-lg);font-weight:var(--dou-font-weight-medium);text-align:center;text-box:trim-both cap alphabetic}.dou-progress--dashboard .dou-progress__value{translate:0 4%}@keyframes dou-progress-spin{to{rotate:360deg}}@keyframes dou-progress-glide{0%{transform:translate(-100%)}to{transform:translate(250%)}}}@layer dou.components{.dou-progress-group{--dou-progress-group-height: 6px;--dou-progress-group-track: color-mix(in oklab, var(--dou-color-text) 8%, transparent);--dou-progress-group-neutral: color-mix(in oklab, var(--dou-color-text) 30%, transparent);display:flex;flex-direction:column;gap:10px;width:100%}.dou-progress-group--sm{--dou-progress-group-height: 4px}.dou-progress-group--lg{--dou-progress-group-height: 8px}.dou-progress-group__track{display:flex;height:var(--dou-progress-group-height);overflow:hidden;border-radius:var(--dou-radius-full);background-color:var(--dou-progress-group-track)}.dou-progress-group__segment{flex-shrink:0;height:100%;background-color:var(--dou-progress-group-color);transition:width var(--dou-motion-duration-normal) var(--dou-motion-easing)}.dou-progress-group__segment+.dou-progress-group__segment{box-shadow:inset 2px 0 0 var(--dou-color-bg-surface)}.dou-progress-group__legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none;font-size:var(--dou-font-size-sm);line-height:20px}.dou-progress-group__legend-item{display:inline-flex;align-items:center;gap:6px}.dou-progress-group__dot{width:8px;height:8px;border-radius:2px;background-color:var(--dou-progress-group-color)}.dou-progress-group__label{color:var(--dou-color-text)}.dou-progress-group__value{color:var(--dou-color-text-secondary);font-variant-numeric:tabular-nums}}@layer dou.components{.dou-qrcode{--dou-qrcode-ink: var(--dou-qrcode-color, oklch(.2 0 0));--dou-qrcode-paper: var(--dou-qrcode-bg, #fff);position:relative;display:inline-flex;box-sizing:content-box;width:var(--dou-qrcode-size);height:var(--dou-qrcode-size);padding:8px;overflow:hidden;border:1px solid var(--dou-color-border-subtle);border-radius:var(--dou-radius-container);background-color:var(--dou-qrcode-paper);vertical-align:middle}.dou-qrcode__svg{display:block}.dou-qrcode__bg{fill:var(--dou-qrcode-paper)}.dou-qrcode__modules{fill:var(--dou-qrcode-ink)}.dou-qrcode__icon{position:absolute;top:50%;left:50%;box-sizing:border-box;padding:3px;border-radius:6px;background-color:var(--dou-qrcode-paper);object-fit:contain;translate:-50% -50%}.dou-qrcode__cover{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background-color:color-mix(in oklab,var(--dou-qrcode-paper) 86%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:var(--dou-qrcode-ink);font-size:var(--dou-font-size-sm);text-align:center}.dou-qrcode__expired{color:color-mix(in oklab,var(--dou-qrcode-ink) 70%,var(--dou-qrcode-paper))}.dou-qrcode__refresh{display:inline-flex;align-items:center;gap:4px;height:var(--dou-control-height-sm);padding:0 10px;margin:0;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);color:var(--dou-color-text);font:inherit;cursor:pointer}.dou-qrcode__refresh:hover{border-color:var(--dou-color-border-strong)}.dou-qrcode__refresh:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}.dou-qrcode__refresh>svg{width:1em;height:1em;font-size:14px}}@layer dou.components{.dou-radio{--dou-radio-tone: var(--dou-color-neutral);--dou-radio-tone-on: var(--dou-color-neutral-on);--dou-radio-size: 16px;--dou-radio-dot: 6px;--dou-radio-gap: var(--dou-space-sm);--dou-radio-font-size: var(--dou-font-size-md);position:relative;display:inline-flex;align-items:center;gap:var(--dou-radio-gap);color:var(--dou-color-text);font-size:var(--dou-radio-font-size);line-height:1.4;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.dou-radio.is-disabled{cursor:not-allowed;opacity:.45}.dou-radio.is-readonly{cursor:default}.dou-radio-group.is-invalid{--dou-radio-border: color-mix( in oklab, var(--dou-color-danger) 60%, var(--dou-color-border-strong) )}.dou-radio--sm{--dou-radio-size: 14px;--dou-radio-dot: 4px;--dou-radio-gap: 6px;--dou-radio-font-size: var(--dou-font-size-sm)}.dou-radio--lg{--dou-radio-size: 18px;--dou-radio-dot: 6px;--dou-radio-gap: 10px;--dou-radio-font-size: var(--dou-font-size-lg)}.dou-radio__control{position:relative;display:inline-flex;flex-shrink:0;width:var(--dou-radio-size);height:var(--dou-radio-size)}.dou-radio__native{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:inherit}.dou-radio__indicator{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%;border:1px solid var(--dou-radio-border, var(--dou-color-border-strong));border-radius:var(--dou-radius-full);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);color:var(--dou-radio-tone-on);transition-property:background-color,border-color,box-shadow;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-radio:hover:not(.is-disabled,.is-readonly) .dou-radio__indicator{border-color:color-mix(in oklab,var(--dou-radio-tone) 45%,var(--dou-color-border-strong))}.dou-radio__native:focus-visible+.dou-radio__indicator{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-radio.is-disabled:not(.is-checked) .dou-radio__indicator{background-color:var(--dou-color-bg-muted);box-shadow:none}.dou-radio.is-checked .dou-radio__indicator{border-color:color-mix(in oklab,var(--dou-radio-tone) 90%,var(--dou-color-edge));background-color:var(--dou-radio-tone);box-shadow:var(--dou-shadow-highlight),0 1px 2px color-mix(in oklab,var(--dou-radio-tone) 24%,transparent)}.dou-radio__label{text-box:trim-both cap alphabetic;min-width:0}.dou-radio__indicator:after{flex-shrink:0;width:var(--dou-radio-dot);height:var(--dou-radio-dot);border-radius:var(--dou-radius-full);background-color:currentColor;opacity:0;transform:scale(.4);transition-property:opacity,transform;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing);content:""}.dou-radio.is-checked .dou-radio__indicator:after{opacity:1;transform:none}.dou-radio-group{display:flex;flex-wrap:wrap;gap:var(--dou-space-sm) var(--dou-space-lg)}.dou-radio-group--vertical{flex-direction:column;flex-wrap:nowrap}}@layer dou.components{.dou-rate{--dou-rate-size: 20px;--dou-rate-gap: 4px;--dou-rate-color: var(--dou-color-text);--dou-rate-empty: color-mix(in oklab, var(--dou-color-text) 12%, transparent);display:inline-flex;align-items:center;gap:8px;vertical-align:middle;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-md)}.dou-rate--sm{--dou-rate-size: 16px;--dou-rate-gap: 2px;font-size:var(--dou-font-size-sm)}.dou-rate--lg{--dou-rate-size: 24px;--dou-rate-gap: 6px;font-size:var(--dou-font-size-lg)}.dou-rate--warning{--dou-rate-color: var(--dou-color-warning);--dou-rate-empty: color-mix(in oklab, var(--dou-color-warning) 16%, transparent)}.dou-rate__stars{display:inline-flex;gap:var(--dou-rate-gap);border-radius:var(--dou-radius-control);outline:none}.dou-rate__stars:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-rate__star{position:relative;display:inline-flex;width:var(--dou-rate-size);height:var(--dou-rate-size);cursor:pointer;transition:transform var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-rate__star.is-hovered{transform:scale(1.08)}.dou-rate__star svg{width:100%;height:100%;fill:currentColor}.dou-rate__empty,.dou-rate__full{position:absolute;top:0;right:0;bottom:0;left:0;display:inline-flex}.dou-rate__empty{color:var(--dou-rate-empty)}.dou-rate__full{color:var(--dou-rate-color);clip-path:inset(0 calc((1 - var(--dou-rate-fill)) * 100%) 0 0)}.dou-rate.is-readonly .dou-rate__star,.dou-rate.is-disabled .dou-rate__star{cursor:default;transform:none}.dou-rate.is-disabled{--dou-rate-color: var(--dou-color-text-disabled);cursor:not-allowed}.dou-rate__text{font-variant-numeric:tabular-nums;line-height:1;text-box:trim-both cap alphabetic}}@layer dou.components{.dou-result{--dou-result-tone: var(--dou-color-text-secondary);display:flex;flex-direction:column;align-items:center;box-sizing:border-box;padding:48px 24px;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-md);line-height:1.5;text-align:center}.dou-result--success{--dou-result-tone: var(--dou-color-success)}.dou-result--warning{--dou-result-tone: var(--dou-color-warning)}.dou-result--danger{--dou-result-tone: var(--dou-color-danger)}.dou-result__icon{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:64px;height:64px;margin-bottom:20px;border:1px solid color-mix(in oklab,var(--dou-result-tone) 24%,var(--dou-color-border));border-radius:calc(var(--dou-radius-container) + 4px);background-color:color-mix(in oklab,var(--dou-result-tone) 7%,var(--dou-color-bg-surface));box-shadow:var(--dou-shadow-highlight);color:var(--dou-result-tone)}.dou-result__icon>svg{width:1em;height:1em;font-size:32px}.dou-result__title{color:var(--dou-color-text);font-size:var(--dou-font-size-lg);font-weight:var(--dou-font-weight-bold);line-height:1.4}.dou-result__description{max-width:40em;margin-top:6px;color:var(--dou-color-text-tertiary);text-wrap:pretty}.dou-result__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:24px}.dou-result__extra{box-sizing:border-box;width:100%;max-width:560px;padding:16px 20px;margin-top:28px;border:1px solid var(--dou-color-border-subtle);border-radius:var(--dou-radius-container);background-color:color-mix(in oklab,var(--dou-color-text) 2.5%,var(--dou-color-bg-surface));text-align:left}}@layer dou.components{.dou-scrollbar{--dou-scrollbar-size: 6px;--dou-scrollbar-size-hover: 8px;--dou-scrollbar-inset: 2px;--dou-scrollbar-thumb: color-mix(in oklab, var(--dou-color-text) 24%, transparent);--dou-scrollbar-thumb-hover: color-mix(in oklab, var(--dou-color-text) 40%, transparent);position:relative;box-sizing:border-box;min-height:0;overflow:hidden}.dou-scrollbar__wrap{box-sizing:border-box;height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:none}.dou-scrollbar__wrap::-webkit-scrollbar{display:none}.dou-scrollbar__wrap:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.dou-scrollbar:not(.is-fixed) .dou-scrollbar__wrap{height:auto}.dou-scrollbar__view{box-sizing:border-box;width:fit-content;min-width:100%}.dou-scrollbar__bar{position:absolute;z-index:1;visibility:hidden;opacity:0;pointer-events:none;transition:opacity var(--dou-motion-duration-normal) var(--dou-motion-easing)}.dou-scrollbar__bar.is-active{visibility:visible}.dou-scrollbar__bar.is-vertical{top:var(--dou-scrollbar-inset);right:var(--dou-scrollbar-inset);bottom:var(--dou-scrollbar-inset);width:var(--dou-scrollbar-size-hover)}.dou-scrollbar__bar.is-horizontal{right:var(--dou-scrollbar-inset);bottom:var(--dou-scrollbar-inset);left:var(--dou-scrollbar-inset);height:var(--dou-scrollbar-size-hover)}.dou-scrollbar__bar.is-vertical.is-active~.dou-scrollbar__bar.is-horizontal{right:calc(var(--dou-scrollbar-inset) * 2 + var(--dou-scrollbar-size-hover))}.dou-scrollbar:hover>.dou-scrollbar__bar,.dou-scrollbar.is-scrolling>.dou-scrollbar__bar,.dou-scrollbar.is-dragging>.dou-scrollbar__bar,.dou-scrollbar.is-always>.dou-scrollbar__bar{opacity:1;pointer-events:auto}.dou-scrollbar__thumb{position:absolute;border-radius:var(--dou-radius-full);background-color:var(--dou-scrollbar-thumb);cursor:default;touch-action:none;transition-property:background-color,width,height;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-scrollbar__bar.is-vertical .dou-scrollbar__thumb{top:0;right:0;width:var(--dou-scrollbar-size)}.dou-scrollbar__bar.is-horizontal .dou-scrollbar__thumb{bottom:0;left:0;height:var(--dou-scrollbar-size)}.dou-scrollbar__bar:hover .dou-scrollbar__thumb,.dou-scrollbar.is-dragging .dou-scrollbar__thumb{background-color:var(--dou-scrollbar-thumb-hover)}.dou-scrollbar__bar.is-vertical:hover .dou-scrollbar__thumb,.dou-scrollbar.is-dragging .dou-scrollbar__bar.is-vertical .dou-scrollbar__thumb{width:var(--dou-scrollbar-size-hover)}.dou-scrollbar__bar.is-horizontal:hover .dou-scrollbar__thumb,.dou-scrollbar.is-dragging .dou-scrollbar__bar.is-horizontal .dou-scrollbar__thumb{height:var(--dou-scrollbar-size-hover)}.dou-scrollbar.is-dragging{-webkit-user-select:none;user-select:none}}@layer dou.components{.dou-segmented-control{--dou-segmented-control-height: var(--dou-control-height-md);--dou-segmented-control-padding-x: var(--dou-control-padding-x-md);--dou-segmented-control-font-size: var(--dou-font-size-md);--dou-segmented-control-radius: var(--dou-radius-control);--dou-segmented-control-inset: 2px;--dou-segmented-control-bg: color-mix( in oklab, var(--dou-color-text) 4%, var(--dou-color-bg-surface) );--dou-segmented-control-indicator-bg: color-mix( in oklab, var(--dou-color-text) calc(12% * var(--dou-scheme-dark)), var(--dou-color-bg-surface) );position:relative;display:inline-flex;align-items:stretch;box-sizing:border-box;max-width:100%;height:var(--dou-segmented-control-height);padding:var(--dou-segmented-control-inset);border:1px solid transparent;border-radius:var(--dou-segmented-control-radius);background-color:var(--dou-segmented-control-bg);font-size:var(--dou-segmented-control-font-size);vertical-align:middle;isolation:isolate}.dou-segmented-control.is-block{display:flex;width:100%}.dou-segmented-control.is-block .dou-segmented-control__item{flex:1 1 0;min-width:0}.dou-segmented-control.is-disabled{opacity:.45}.dou-segmented-control--sm{--dou-segmented-control-height: var(--dou-control-height-sm);--dou-segmented-control-padding-x: var(--dou-control-padding-x-sm);--dou-segmented-control-font-size: var(--dou-font-size-sm)}.dou-segmented-control--lg{--dou-segmented-control-height: var(--dou-control-height-lg);--dou-segmented-control-padding-x: var(--dou-control-padding-x-lg);--dou-segmented-control-font-size: var(--dou-font-size-lg);--dou-segmented-control-inset: 3px}.dou-segmented-control__indicator{position:absolute;top:var(--dou-segmented-control-inset);bottom:var(--dou-segmented-control-inset);left:0;z-index:-1;box-sizing:border-box;border:1px solid color-mix(in oklab,var(--dou-color-text) 6%,var(--dou-color-border));border-radius:calc(var(--dou-segmented-control-radius) - var(--dou-segmented-control-inset));background-color:var(--dou-segmented-control-indicator-bg);box-shadow:0 1px 2px color-mix(in oklab,var(--dou-color-edge) 10%,transparent),var(--dou-shadow-sm)}.dou-segmented-control.is-settled .dou-segmented-control__indicator{transition-property:transform,width;transition-duration:calc(var(--dou-motion-duration-normal) * var(--dou-motion-travel));transition-timing-function:var(--dou-motion-easing)}.dou-segmented-control__item{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;padding:0 var(--dou-segmented-control-padding-x);border-radius:calc(var(--dou-segmented-control-radius) - var(--dou-segmented-control-inset));color:var(--dou-color-text-secondary);font-weight:var(--dou-font-weight-medium);line-height:1;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition-property:color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-segmented-control__item:hover:not(.is-disabled,.is-checked){color:var(--dou-color-text)}.dou-segmented-control__item.is-checked{color:var(--dou-color-text)}.dou-segmented-control__item.is-disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-segmented-control__item+.dou-segmented-control__item:before{position:absolute;top:25%;bottom:25%;left:0;width:1px;background-color:color-mix(in oklab,var(--dou-color-text) 8%,transparent);transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing);content:""}.dou-segmented-control__item.is-checked:before,.dou-segmented-control__item.is-checked+.dou-segmented-control__item:before{opacity:0}.dou-segmented-control.is-disabled .dou-segmented-control__item{cursor:not-allowed}.dou-segmented-control__native{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;opacity:0}.dou-segmented-control__item:has(.dou-segmented-control__native:focus-visible){outline:2px solid var(--dou-color-focus);outline-offset:1px}.dou-segmented-control__label{display:inline-flex;align-items:center;gap:var(--dou-control-gap-md);min-width:0;overflow-x:clip;text-overflow:ellipsis;text-box:trim-both cap alphabetic}.dou-segmented-control.is-readonly .dou-segmented-control__item{cursor:default}.dou-segmented-control.is-invalid{border-color:color-mix(in oklab,var(--dou-color-danger) 60%,var(--dou-color-border-strong))}}@layer dou.components{.dou-select{--dou-select-height: var(--dou-control-height-md);--dou-select-padding-x: var(--dou-control-padding-x-md);--dou-select-gap: var(--dou-control-gap-md);--dou-select-font-size: var(--dou-font-size-md);--dou-select-radius: var(--dou-radius-control);--dou-select-tag-inset: 3px;--dou-select-bg: var(--dou-color-bg-surface);--dou-select-border: var(--dou-color-border);--dou-select-border-hover: var(--dou-color-border-strong);--dou-select-border-focus: color-mix( in oklab, var(--dou-color-focus) 70%, var(--dou-color-text) );--dou-select-ring: color-mix(in oklab, var(--dou-color-focus) 32%, transparent);--dou-select-shadow: var(--dou-shadow-sm);position:relative;display:inline-flex;align-items:center;gap:var(--dou-select-gap);box-sizing:border-box;width:100%;min-height:var(--dou-select-height);padding:0 var(--dou-select-padding-x);border:1px solid var(--dou-select-border);border-radius:var(--dou-select-radius);background-color:var(--dou-select-bg);box-shadow:var(--dou-select-shadow);color:var(--dou-color-text);font-size:var(--dou-select-font-size);vertical-align:middle;cursor:pointer;outline:none;-webkit-user-select:none;user-select:none;transition-property:border-color,box-shadow,background-color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-select:hover{border-color:var(--dou-select-border-hover)}.dou-select:focus-within,.dou-select.is-open{border-color:var(--dou-select-border-focus);box-shadow:0 0 0 3px var(--dou-select-ring),var(--dou-select-shadow)}.dou-select.is-filterable{cursor:text}.dou-select.is-multiple.is-selected{padding-left:var(--dou-select-tag-inset)}.dou-select.is-invalid{--dou-select-border: color-mix( in oklab, var(--dou-color-danger) 55%, var(--dou-color-border) );--dou-select-border-hover: color-mix( in oklab, var(--dou-color-danger) 75%, var(--dou-color-border) );--dou-select-border-focus: var(--dou-color-danger);--dou-select-ring: color-mix(in oklab, var(--dou-color-danger) 18%, transparent)}.dou-select.is-readonly{--dou-select-border-hover: var(--dou-select-border);--dou-select-shadow: none;cursor:default}.dou-select.is-disabled{--dou-select-bg: var(--dou-color-bg-muted);--dou-select-border-hover: var(--dou-select-border);--dou-select-shadow: none;color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-select--sm{--dou-select-height: var(--dou-control-height-sm);--dou-select-padding-x: var(--dou-control-padding-x-sm);--dou-select-gap: var(--dou-control-gap-sm);--dou-select-font-size: var(--dou-font-size-sm)}.dou-select--lg{--dou-select-height: var(--dou-control-height-lg);--dou-select-padding-x: var(--dou-control-padding-x-lg);--dou-select-gap: var(--dou-control-gap-lg);--dou-select-font-size: var(--dou-font-size-lg);--dou-select-tag-inset: 5px}.dou-select__prefix{display:inline-flex;flex-shrink:0;align-items:center;color:var(--dou-color-text-tertiary)}.dou-select__selection{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;gap:4px;min-width:0}.dou-select.is-multiple .dou-select__selection{padding:var(--dou-select-tag-inset) 0}.dou-select__value,.dou-select__placeholder{flex:1 1 auto;min-width:0;overflow-x:clip;line-height:1;text-overflow:ellipsis;white-space:nowrap;text-box:trim-both cap alphabetic}.dou-select__value:has(>*){display:flex;align-items:center}.dou-select__placeholder{color:var(--dou-color-text-tertiary)}.dou-select__input{flex:1 1 60px;min-width:60px;height:calc(var(--dou-select-height) - 2px - var(--dou-select-tag-inset) * 2);padding:0;margin:0;border:0;outline:0;background:transparent;color:inherit;font:inherit;font-size:max(var(--dou-font-size-input-min, 0px),1em);line-height:normal}.dou-select__input::placeholder{color:var(--dou-color-text-tertiary);opacity:1}.dou-select__input:disabled{cursor:not-allowed}.dou-select:not(.is-multiple) .dou-select__input{height:calc(var(--dou-select-height) - 2px)}.dou-select.is-filterable.is-selected:not(.is-multiple,.is-disabled) .dou-select__input::placeholder{color:var(--dou-color-text)}.dou-select.is-filterable.is-selected.is-open:not(.is-multiple) .dou-select__input::placeholder{color:var(--dou-color-text-tertiary)}.dou-select.is-readonly .dou-select__arrow{visibility:hidden}.dou-select__arrow{flex-shrink:0;width:1em;height:1em;font-size:16px;color:var(--dou-color-text-tertiary);transition:transform var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-select.is-open .dou-select__arrow{transform:rotate(180deg)}.dou-select__clear{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.15em;height:1.15em;padding:0;margin:0;border:0;border-radius:var(--dou-radius-full);background-color:color-mix(in oklab,var(--dou-color-text) 10%,transparent);color:var(--dou-color-text-secondary);cursor:pointer}.dou-select__clear>svg{width:1em;height:1em;font-size:.8em}.dou-select__clear:hover{background-color:color-mix(in oklab,var(--dou-color-text) 18%,transparent);color:var(--dou-color-text)}.dou-select__clear:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.dou-select__menu{--dou-select-menu-inset: 4px;max-height:min(var(--dou-floating-available, 100vh),280px);padding:var(--dou-select-menu-inset);overflow-y:auto;border:1px solid var(--dou-color-border);border-radius:calc(var(--dou-radius-control) + var(--dou-select-menu-inset));background-color:color-mix(in oklab,var(--dou-color-text) calc(4% * var(--dou-scheme-dark)),var(--dou-color-bg-surface));box-shadow:var(--dou-shadow-md);color:var(--dou-color-text);font-family:var(--dou-font-family);font-size:var(--dou-font-size-md)}.dou-select__list{padding:0;margin:0;list-style:none}.dou-select__option{display:flex;align-items:center;gap:8px;box-sizing:border-box;height:var(--dou-control-height-md);padding:0 8px;border-radius:var(--dou-radius-control);line-height:1;white-space:nowrap;cursor:pointer}.dou-select__option.is-active{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent)}.dou-select__option.is-selected{font-weight:var(--dou-font-weight-medium)}.dou-select__option.is-disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-select__option-label{flex:1 1 auto;min-width:0;overflow-x:clip;text-overflow:ellipsis;text-box:trim-both cap alphabetic}.dou-select__check{flex-shrink:0;width:1em;height:1em;font-size:14px;color:var(--dou-color-text)}.dou-select__section,.dou-select__group{padding:0;margin:0;list-style:none}.dou-select__section+.dou-select__section:has(.dou-select__group-label){margin-top:4px;padding-top:4px;border-top:1px solid var(--dou-color-border-subtle)}.dou-select__group-label{display:flex;align-items:center;box-sizing:border-box;height:var(--dou-control-height-md);padding:0 8px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);font-weight:var(--dou-font-weight-medium);white-space:nowrap;cursor:default;-webkit-user-select:none;user-select:none}.dou-select__option.is-create{color:var(--dou-color-text-secondary)}.dou-select__loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.dou-select__menu.is-virtual .dou-select__list{position:relative}.dou-select__menu.is-virtual .dou-select__option,.dou-select__menu.is-virtual .dou-select__group-label{position:absolute;top:0;right:0;left:0}.dou-select__menu.is-virtual .dou-select__group-label.is-separated{border-top:1px solid var(--dou-color-border-subtle)}.dou-select__header,.dou-select__footer{position:sticky;z-index:1;padding:4px 8px;margin-inline:calc(var(--dou-select-menu-inset) * -1);background-color:inherit;font-size:var(--dou-font-size-sm)}.dou-select__header{top:calc(var(--dou-select-menu-inset) * -1);padding-bottom:6px;margin-top:calc(var(--dou-select-menu-inset) * -1);margin-bottom:4px;border-bottom:1px solid var(--dou-color-border-subtle)}.dou-select__footer{bottom:calc(var(--dou-select-menu-inset) * -1);padding-top:6px;margin-top:4px;margin-bottom:calc(var(--dou-select-menu-inset) * -1);border-top:1px solid var(--dou-color-border-subtle)}.dou-select__tag-more{color:var(--dou-color-text-secondary)}.dou-select__empty{padding:8px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);text-align:center}}@layer dou.components{.dou-skeleton{--dou-skeleton-bg: color-mix(in oklab, var(--dou-color-text) 7%, transparent);--dou-skeleton-shine: color-mix(in oklab, var(--dou-color-text) 4%, transparent);--dou-skeleton-radius: 4px;display:flex;flex-direction:column;gap:calc(1em * var(--dou-font-line-height) - 10px);width:var(--dou-skeleton-width, 100%);max-width:100%;vertical-align:middle}.dou-skeleton__item{display:block;height:var(--dou-skeleton-height, 10px);border-radius:var(--dou-skeleton-radius);background-color:var(--dou-skeleton-bg)}.dou-skeleton--text{padding:calc((1em * var(--dou-font-line-height) - 10px) / 2) 0}.dou-skeleton--text .dou-skeleton__item:last-child:not(:first-child){width:60%}.dou-skeleton--rect .dou-skeleton__item{height:var(--dou-skeleton-height, 96px);border-radius:var(--dou-radius-control)}.dou-skeleton--circle{display:inline-flex;width:var(--dou-skeleton-width, 40px)}.dou-skeleton--circle .dou-skeleton__item{width:100%;height:var(--dou-skeleton-height, 40px);border-radius:var(--dou-radius-full)}.dou-skeleton.is-animated .dou-skeleton__item{background-image:linear-gradient(90deg,transparent 0%,var(--dou-skeleton-shine) 50%,transparent 100%);background-repeat:no-repeat;background-attachment:fixed;background-size:60vw 100%;background-position:-60vw 0;animation:dou-skeleton-sweep var(--dou-motion-loop-sweep) ease-in-out var(--dou-motion-loop-count)}@keyframes dou-skeleton-sweep{0%{background-position:-60vw 0}to{background-position:100vw 0}}}@layer dou.components{.dou-slider{--dou-slider-tone: var(--dou-color-neutral);--dou-slider-height: var(--dou-control-height-md);--dou-slider-rail-size: 4px;--dou-slider-thumb-size: 16px;--dou-slider-rail-bg: color-mix( in oklab, var(--dou-color-text) 9%, var(--dou-color-bg-surface) );--dou-slider-thumb-bg: var(--dou-color-bg-surface);--dou-slider-thumb-border: var(--dou-color-border-strong);--dou-slider-ring: color-mix(in oklab, var(--dou-color-focus) 32%, transparent);display:flex;align-items:center;gap:16px;box-sizing:border-box;width:100%;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.dou-slider.is-invalid{--dou-slider-tone: var(--dou-color-danger);--dou-slider-thumb-border: color-mix( in oklab, var(--dou-color-danger) 60%, var(--dou-color-border-strong) );--dou-slider-ring: color-mix(in oklab, var(--dou-color-danger) 18%, transparent)}.dou-slider.is-disabled{opacity:.45}.dou-slider__body{display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;box-sizing:border-box;min-width:0;min-height:var(--dou-slider-height);padding:0 calc(var(--dou-slider-thumb-size) / 2)}.dou-slider.is-marked .dou-slider__body{padding-bottom:22px}.dou-slider__input{flex:none;width:112px;touch-action:auto;-webkit-user-select:auto;user-select:auto}.dou-slider--sm{--dou-slider-height: var(--dou-control-height-sm);--dou-slider-thumb-size: 14px}.dou-slider--lg{--dou-slider-height: var(--dou-control-height-lg);--dou-slider-rail-size: 6px;--dou-slider-thumb-size: 20px}.dou-slider__rail{position:relative;height:var(--dou-slider-rail-size);border-radius:var(--dou-radius-full);background-color:var(--dou-slider-rail-bg);box-shadow:inset 0 1px 1px color-mix(in oklab,var(--dou-color-edge) 8%,transparent);cursor:pointer}.dou-slider__rail:before{position:absolute;inset:calc((var(--dou-slider-thumb-size) - var(--dou-slider-rail-size)) / -2) 0;content:""}.dou-slider.is-disabled .dou-slider__rail{cursor:not-allowed}.dou-slider__fill{position:absolute;top:0;bottom:0;border-radius:inherit;background-color:var(--dou-slider-tone);transition-property:left,width,background-color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-slider__dot{position:absolute;top:0;width:var(--dou-slider-rail-size);height:var(--dou-slider-rail-size);margin-left:calc(var(--dou-slider-rail-size) / -2);border-radius:var(--dou-radius-full);background-color:color-mix(in oklab,var(--dou-color-text) 22%,var(--dou-color-bg-surface))}.dou-slider__dot.is-active{background-color:color-mix(in oklab,var(--dou-color-bg-surface) 55%,var(--dou-slider-tone))}.dou-slider__thumb{position:absolute;top:50%;box-sizing:border-box;width:var(--dou-slider-thumb-size);height:var(--dou-slider-thumb-size);margin:calc(var(--dou-slider-thumb-size) / -2) 0 0 calc(var(--dou-slider-thumb-size) / -2);border:1px solid var(--dou-slider-thumb-border);border-radius:var(--dou-radius-full);background-color:var(--dou-slider-thumb-bg);box-shadow:0 1px 2px color-mix(in oklab,var(--dou-color-edge) 14%,transparent),var(--dou-shadow-sm);outline:none;cursor:grab;transition-property:left,border-color,box-shadow;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-slider__thumb:hover{border-color:color-mix(in oklab,var(--dou-slider-tone) 45%,var(--dou-color-border-strong))}.dou-slider__thumb:focus-visible{border-color:color-mix(in oklab,var(--dou-slider-tone) 60%,var(--dou-color-border-strong));box-shadow:0 0 0 3px var(--dou-slider-ring),var(--dou-shadow-sm)}.dou-slider__thumb:focus-visible,.dou-slider__thumb.is-active{z-index:1}.dou-slider.is-dragging .dou-slider__rail,.dou-slider.is-dragging .dou-slider__thumb{cursor:grabbing}.dou-slider.is-dragging .dou-slider__fill,.dou-slider.is-dragging .dou-slider__thumb{transition-property:border-color,box-shadow}.dou-slider.is-disabled .dou-slider__thumb{border-color:var(--dou-slider-thumb-border);cursor:not-allowed}.dou-slider__marks{position:relative;height:0}.dou-slider__mark{position:absolute;top:10px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);line-height:1;white-space:nowrap;text-box:trim-both cap alphabetic;transform:translate(-50%)}.dou-slider__mark.is-active{color:var(--dou-color-text-secondary)}.dou-slider.is-vertical{--dou-slider-mark-space: 48px;display:inline-flex;flex-direction:column;width:auto;height:200px;vertical-align:top}.dou-slider.is-vertical .dou-slider__body{flex-direction:row;justify-content:center;min-width:var(--dou-slider-height);min-height:0;padding:calc(var(--dou-slider-thumb-size) / 2) 0}.dou-slider.is-vertical.is-marked .dou-slider__body{padding-right:var(--dou-slider-mark-space);padding-bottom:calc(var(--dou-slider-thumb-size) / 2)}.dou-slider.is-vertical .dou-slider__rail{width:var(--dou-slider-rail-size);height:100%}.dou-slider.is-vertical .dou-slider__rail:before{inset:0 calc((var(--dou-slider-thumb-size) - var(--dou-slider-rail-size)) / -2)}.dou-slider.is-vertical .dou-slider__fill{top:auto;right:0;left:0;transition-property:bottom,height,background-color}.dou-slider.is-vertical .dou-slider__dot{top:auto;left:0;margin:0 0 calc(var(--dou-slider-rail-size) / -2)}.dou-slider.is-vertical .dou-slider__thumb{top:auto;left:50%;margin:0 0 calc(var(--dou-slider-thumb-size) / -2) calc(var(--dou-slider-thumb-size) / -2);transition-property:bottom,border-color,box-shadow}.dou-slider.is-vertical .dou-slider__marks{width:0;height:auto;align-self:stretch}.dou-slider.is-vertical .dou-slider__mark{top:auto;left:10px;transform:translateY(50%)}.dou-slider.is-vertical .dou-slider__input{width:96px}.dou-slider.is-vertical.is-dragging .dou-slider__fill,.dou-slider.is-vertical.is-dragging .dou-slider__thumb{transition-property:border-color,box-shadow}.dou-slider__tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;padding:2px 8px;border:1px solid color-mix(in oklab,color-mix(in oklab,var(--dou-color-text) 6%,var(--dou-color-border-strong)) calc(100% * var(--dou-scheme-dark)),var(--dou-color-neutral));border-radius:var(--dou-radius-control);background-color:color-mix(in oklab,color-mix(in oklab,var(--dou-color-text) 12%,var(--dou-color-bg-surface)) calc(100% * var(--dou-scheme-dark)),var(--dou-color-neutral));box-shadow:var(--dou-shadow-md);color:color-mix(in oklab,var(--dou-color-text) calc(100% * var(--dou-scheme-dark)),var(--dou-color-neutral-on));font-size:var(--dou-font-size-sm);font-variant-numeric:tabular-nums;line-height:1.5;white-space:nowrap;opacity:0;pointer-events:none;translate:-50% 4px;transition-property:opacity,translate;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-slider__thumb:hover>.dou-slider__tooltip,.dou-slider__thumb:focus-visible>.dou-slider__tooltip,.dou-slider__thumb.is-active>.dou-slider__tooltip,.dou-slider__thumb.is-pinned>.dou-slider__tooltip{opacity:1;translate:-50% 0}.dou-slider.is-disabled .dou-slider__thumb:not(.is-pinned)>.dou-slider__tooltip{opacity:0}.dou-slider.is-vertical .dou-slider__tooltip{top:50%;right:calc(100% + 8px);bottom:auto;left:auto;translate:-4px -50%}.dou-slider.is-vertical .dou-slider__thumb:hover>.dou-slider__tooltip,.dou-slider.is-vertical .dou-slider__thumb:focus-visible>.dou-slider__tooltip,.dou-slider.is-vertical .dou-slider__thumb.is-active>.dou-slider__tooltip,.dou-slider.is-vertical .dou-slider__thumb.is-pinned>.dou-slider__tooltip{translate:0 -50%}.dou-slider.is-readonly .dou-slider__rail,.dou-slider.is-readonly .dou-slider__thumb{cursor:default}}@layer dou.components{.dou-sortable{display:flex;flex-direction:column;gap:8px;min-height:40px;margin:0;padding:0;list-style:none}.dou-sortable--horizontal{flex-direction:row;flex-wrap:nowrap}.dou-sortable--grid{flex-flow:row wrap}.dou-sortable__item{position:relative;border-radius:var(--dou-radius-control);outline:none;cursor:grab;touch-action:manipulation;user-select:none;-webkit-user-select:none}.dou-sortable__item.is-handle{cursor:auto;user-select:auto;-webkit-user-select:auto}.dou-sortable__item:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-sortable__item.is-dragging:after{position:absolute;top:0;right:0;bottom:0;left:0;border:1px dashed var(--dou-color-border-strong);border-radius:inherit;background-color:color-mix(in oklab,var(--dou-color-text) 4%,var(--dou-color-bg-canvas));content:""}.dou-sortable__item.is-dragging>*{visibility:hidden}.dou-sortable__item.is-lifted{z-index:1;box-shadow:var(--dou-shadow-md);outline:2px solid var(--dou-color-focus);outline-offset:2px;scale:1.01}.dou-sortable__item.is-lifted:after{content:none}.dou-sortable__item.is-lifted>*{visibility:visible}.dou-sortable.is-disabled>.dou-sortable__item{cursor:auto}.dou-sortable__empty{display:flex;flex:1 1 auto;align-items:center;justify-content:center;min-height:40px;border:1px dashed var(--dou-color-border);border-radius:var(--dou-radius-control);color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}.dou-sortable__handle{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:20px;height:24px;padding:0;border:0;border-radius:calc(var(--dou-radius-control) - 2px);background:none;color:var(--dou-color-text-tertiary);cursor:grab;touch-action:none}.dou-sortable__handle>svg{width:16px;height:16px}.dou-sortable__handle:hover{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-sortable__handle:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}.dou-sortable-move{transition:transform calc(var(--dou-motion-duration-normal) * var(--dou-motion-travel)) var(--dou-motion-easing)}.dou-sortable-ghost{box-shadow:var(--dou-shadow-lg),0 0 0 1px color-mix(in oklab,var(--dou-color-text) 8%,transparent);opacity:.96;cursor:grabbing;rotate:1deg}.dou-sortable-dragging,.dou-sortable-dragging *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}}@layer dou.components{.dou-space{--dou-space-gap: var(--dou-space-md);display:inline-flex;gap:var(--dou-space-gap);min-width:0}.dou-space.is-wrap{flex-wrap:wrap}.dou-space.is-block{display:flex}.dou-space--vertical{flex-direction:column}.dou-space--sm{--dou-space-gap: var(--dou-space-sm)}.dou-space--md{--dou-space-gap: var(--dou-space-md)}.dou-space--lg{--dou-space-gap: var(--dou-space-lg)}.dou-space--align-start{align-items:flex-start}.dou-space--align-center{align-items:center}.dou-space--align-end{align-items:flex-end}.dou-space--align-baseline{align-items:baseline}.dou-space--align-stretch{align-items:stretch}.dou-space--justify-start{justify-content:flex-start}.dou-space--justify-center{justify-content:center}.dou-space--justify-end{justify-content:flex-end}.dou-space--justify-between{justify-content:space-between}}@layer dou.components{.dou-sparkline{--dou-sparkline-width: 120px;--dou-sparkline-height: 32px;--dou-sparkline-inset: 3px;--dou-sparkline-stroke: 1.5px;--dou-sparkline-area-top: color-mix( in oklab, currentColor calc(22% + 14% * var(--dou-scheme-dark)), transparent );--dou-sparkline-bar-radius: 3px;--dou-sparkline-dot: 5px;display:inline-block;box-sizing:border-box;width:var(--dou-sparkline-width);max-width:100%;height:var(--dou-sparkline-height);padding:var(--dou-sparkline-inset);color:var(--dou-sparkline-color);vertical-align:middle;border-radius:2px;outline:none}.dou-sparkline:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-sparkline--bar{--dou-sparkline-inset: 0px}.dou-sparkline__plot{position:relative;width:100%;height:100%}.dou-sparkline.is-interactive .dou-sparkline__plot{touch-action:pan-y}.dou-sparkline__svg{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;overflow:visible}.dou-sparkline__line{fill:none;stroke:currentColor;stroke-width:var(--dou-sparkline-stroke);stroke-linecap:round;stroke-linejoin:round}.dou-sparkline__fill-top{stop-color:var(--dou-sparkline-area-top)}.dou-sparkline__fill-bottom{stop-color:currentColor;stop-opacity:0}.dou-sparkline__bar{position:absolute;background:currentColor;border-radius:min(var(--dou-sparkline-bar-radius),50%) min(var(--dou-sparkline-bar-radius),50%) 0 0;pointer-events:none;transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-sparkline__bar.is-down{border-radius:0 0 min(var(--dou-sparkline-bar-radius),50%) min(var(--dou-sparkline-bar-radius),50%)}.dou-sparkline__plot:has(.dou-sparkline__bar.is-active) .dou-sparkline__bar:not(.is-active){opacity:.45}.dou-sparkline__dot,.dou-sparkline__marker,.dou-sparkline__point{position:absolute;width:var(--dou-sparkline-dot);height:var(--dou-sparkline-dot);background:currentColor;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.dou-sparkline__point{--dou-sparkline-dot: 7px;box-shadow:0 0 0 2px var(--dou-color-bg-surface)}.dou-sparkline--bar .dou-sparkline__point{visibility:hidden}.dou-sparkline__tooltip{font-variant-numeric:tabular-nums}}@layer dou.components{.dou-spinner{--dou-spinner-size: 16px;--dou-spinner-width: 1.5px;display:inline-block;flex-shrink:0;box-sizing:border-box;width:var(--dou-spinner-size);height:var(--dou-spinner-size);border:var(--dou-spinner-width) solid currentColor;border-right-color:transparent;border-radius:var(--dou-radius-full);vertical-align:middle;animation:dou-spinner-turn var(--dou-motion-loop-spin) linear infinite}.dou-spinner--sm{--dou-spinner-size: 12px}.dou-spinner--lg{--dou-spinner-size: 20px;--dou-spinner-width: 2px}@keyframes dou-spinner-turn{to{transform:rotate(1turn)}}}@layer dou.components{.dou-splitter{--dou-splitter-line: var(--dou-color-border);--dou-splitter-hit: 9px;display:grid;box-sizing:border-box;width:100%;height:100%;min-height:0;overflow:hidden}.dou-splitter.is-dragging{-webkit-user-select:none;user-select:none}.dou-splitter--horizontal.is-dragging{cursor:col-resize}.dou-splitter--vertical.is-dragging{cursor:row-resize}.dou-splitter__pane{min-width:0;min-height:0;overflow:auto}.dou-splitter.is-collapsed .dou-splitter__pane.is-start{visibility:hidden}.dou-splitter__bar{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;background-color:var(--dou-splitter-line);outline:none;touch-action:none;transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-splitter__bar:before{position:absolute;content:""}.dou-splitter__bar:hover,.dou-splitter__bar:focus-visible{--dou-splitter-line: var(--dou-color-border-strong)}.dou-splitter__bar:focus-visible{--dou-splitter-line: var(--dou-color-focus)}.dou-splitter.is-dragging .dou-splitter__bar{--dou-splitter-line: var(--dou-color-focus)}.dou-splitter--horizontal>.dou-splitter__bar{width:1px;cursor:col-resize}.dou-splitter--horizontal>.dou-splitter__bar:before{inset:0 calc((var(--dou-splitter-hit) - 1px) / -2)}.dou-splitter--vertical>.dou-splitter__bar{height:1px;cursor:row-resize}.dou-splitter--vertical>.dou-splitter__bar:before{inset:calc((var(--dou-splitter-hit) - 1px) / -2) 0}.dou-splitter.is-disabled>.dou-splitter__bar{cursor:default}.dou-splitter.is-disabled>.dou-splitter__bar:before{content:none}.dou-splitter__handle{flex-shrink:0;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-full);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);opacity:0;pointer-events:none;transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-splitter--horizontal .dou-splitter__handle{width:6px;height:24px}.dou-splitter--vertical .dou-splitter__handle{width:24px;height:6px}.dou-splitter__bar:hover .dou-splitter__handle,.dou-splitter__bar:focus-visible .dou-splitter__handle,.dou-splitter.is-dragging .dou-splitter__handle{opacity:1}.dou-splitter.is-disabled .dou-splitter__handle{display:none}}@layer dou.components{.dou-statistic{--dou-statistic-value-size: 28px;--dou-statistic-trend: var(--dou-color-text-tertiary);display:inline-flex;flex-direction:column;gap:6px;min-width:0;color:var(--dou-color-text)}.dou-statistic.is-good{--dou-statistic-trend: var(--dou-color-success)}.dou-statistic.is-bad{--dou-statistic-trend: var(--dou-color-danger)}.dou-statistic__title{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);line-height:1.4}.dou-statistic__content{display:flex;align-items:baseline;gap:4px;min-height:calc(var(--dou-statistic-value-size) * 1.2);font-variant-numeric:tabular-nums;line-height:1.2}.dou-statistic__value{font-size:var(--dou-statistic-value-size);font-weight:var(--dou-font-weight-medium);letter-spacing:-.01em;white-space:nowrap}.dou-statistic__decimal,.dou-statistic__prefix,.dou-statistic__suffix{color:var(--dou-color-text-secondary);font-size:max(var(--dou-font-size-md),calc(var(--dou-statistic-value-size) * .58));font-weight:var(--dou-font-weight-regular);white-space:nowrap}.dou-statistic__decimal{letter-spacing:0}.dou-statistic__trend{flex-shrink:0;align-self:center;width:1em;height:1em;font-size:calc(var(--dou-statistic-value-size) * .64);color:var(--dou-statistic-trend)}.dou-statistic__placeholder{display:inline-block;align-self:center;width:6em;height:calc(var(--dou-statistic-value-size) * .8);border-radius:var(--dou-radius-control);background-color:color-mix(in oklab,var(--dou-color-text) 7%,transparent);animation:dou-statistic-pulse var(--dou-motion-loop-pulse) ease-in-out var(--dou-motion-loop-count)}.dou-statistic__footer{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);line-height:1.4}@keyframes dou-statistic-pulse{50%{opacity:.5}}}@layer dou.components{.dou-statistic.dou-countdown .dou-statistic__value{font-variant-numeric:tabular-nums}}@layer dou.components{.dou-steps{--dou-steps-marker-size: 24px;--dou-steps-marker-font-size: 12px;--dou-steps-gap: 8px;--dou-steps-line-gap: 12px;--dou-steps-line-min: 16px;--dou-steps-line: var(--dou-color-border);--dou-steps-line-done: color-mix(in oklab, var(--dou-color-text) 72%, transparent);position:relative;display:flex;min-width:0;margin:0;padding:0;color:var(--dou-color-text);font-size:var(--dou-font-size-md);list-style:none}.dou-steps--sm{--dou-steps-marker-size: 20px;--dou-steps-marker-font-size: 11px;--dou-steps-gap: 6px;--dou-steps-line-gap: 8px;--dou-steps-line-min: 12px;font-size:var(--dou-font-size-sm)}.dou-steps__item{display:flex;flex:1 1 0}.dou-steps__item:last-child{flex:0 0 auto}.dou-steps__main{display:flex;flex:0 1 auto;align-items:flex-start;gap:var(--dou-steps-gap);min-width:0;max-width:100%;margin:0;padding:0;border:0;border-radius:var(--dou-radius-control);background:none;color:inherit;font:inherit;text-align:start}button.dou-steps__main{cursor:pointer}button.dou-steps__main:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}button.dou-steps__main:disabled{cursor:not-allowed}button.dou-steps__main:hover:not(:disabled) .dou-steps__title{text-decoration:underline;text-decoration-color:var(--dou-color-border-strong);text-underline-offset:3px}.dou-steps__marker{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;box-sizing:border-box;width:var(--dou-steps-marker-size);height:var(--dou-steps-marker-size);border:1px solid var(--dou-color-border-strong);border-radius:var(--dou-radius-full);background-color:var(--dou-color-bg-surface);color:var(--dou-color-text-tertiary);font-size:var(--dou-steps-marker-font-size);font-weight:var(--dou-font-weight-medium);font-variant-numeric:tabular-nums;line-height:1;transition-property:background-color,border-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-steps__marker svg{width:1em;height:1em;font-size:12px}.dou-steps__icon{width:14px;height:14px}.dou-steps__number{text-box:trim-both cap alphabetic}.dou-steps__text{display:flex;flex-direction:column;gap:4px;min-width:0;padding-top:calc((var(--dou-steps-marker-size) - 1lh) / 2);line-height:1.5}.dou-steps__title{color:var(--dou-color-text-secondary);white-space:nowrap}.dou-steps__status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dou-steps__description{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.dou-steps__line{flex:1 1 auto;min-width:var(--dou-steps-line-min);height:1px;margin:calc(var(--dou-steps-marker-size) / 2) var(--dou-steps-line-gap) 0;background-color:var(--dou-steps-line)}.dou-steps__item.is-finish .dou-steps__line{background-color:var(--dou-steps-line-done)}.dou-steps__item.is-finish .dou-steps__marker{border-color:var(--dou-steps-line-done);color:var(--dou-color-text)}.dou-steps__item.is-finish .dou-steps__title{color:var(--dou-color-text)}.dou-steps__item.is-process .dou-steps__marker{border-color:color-mix(in oklab,var(--dou-color-neutral) 80%,var(--dou-color-edge));background-color:var(--dou-color-neutral);box-shadow:var(--dou-shadow-highlight);color:var(--dou-color-neutral-on)}.dou-steps__item.is-process .dou-steps__title{color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium)}.dou-steps__item.is-error .dou-steps__marker{border-color:color-mix(in oklab,var(--dou-color-danger) 50%,transparent);background-color:color-mix(in oklab,var(--dou-color-danger) 8%,var(--dou-color-bg-surface));color:var(--dou-color-danger-text)}.dou-steps__item.is-error .dou-steps__title{color:var(--dou-color-danger-text);font-weight:var(--dou-font-weight-medium)}.dou-steps__item.is-disabled .dou-steps__title{color:var(--dou-color-text-disabled)}.dou-steps.is-compact{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;margin:-4px;padding:4px}.dou-steps.is-compact .dou-steps__item:not(:last-child){flex:1 0 auto}.dou-steps.is-compact .dou-steps__item:not([aria-current]) .dou-steps__text{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dou-steps__tip-description{display:block;opacity:.72}.dou-steps--vertical{flex-direction:column}.dou-steps--vertical .dou-steps__item{position:relative;flex:0 0 auto;padding-bottom:20px}.dou-steps--vertical .dou-steps__item:last-child{padding-bottom:0}.dou-steps--vertical .dou-steps__title{white-space:normal}.dou-steps--vertical .dou-steps__line{position:absolute;top:calc(var(--dou-steps-marker-size) + 4px);bottom:4px;left:calc(var(--dou-steps-marker-size) / 2);width:1px;height:auto;min-width:0;margin:0}}@layer dou.components{.dou-switch{--dou-switch-tone: var(--dou-color-neutral);--dou-switch-tone-on: var(--dou-color-neutral-on);--dou-switch-width: 36px;--dou-switch-height: 20px;--dou-switch-gap: var(--dou-space-sm);--dou-switch-font-size: var(--dou-font-size-md);--dou-switch-thumb-size: calc(var(--dou-switch-height) - 6px);--dou-switch-travel: calc(var(--dou-switch-width) - var(--dou-switch-height));--dou-switch-spinner-size: 8px;display:inline-flex;align-items:center;gap:var(--dou-switch-gap);color:var(--dou-color-text);font-size:var(--dou-switch-font-size);line-height:1.4;vertical-align:middle}.dou-switch.is-disabled{opacity:.45}.dou-switch--sm{--dou-switch-width: 28px;--dou-switch-height: 16px;--dou-switch-spinner-size: 6px;--dou-switch-gap: 6px;--dou-switch-font-size: var(--dou-font-size-sm)}.dou-switch--lg{--dou-switch-width: 44px;--dou-switch-height: 24px;--dou-switch-spinner-size: 10px;--dou-switch-gap: 10px;--dou-switch-font-size: var(--dou-font-size-lg)}.dou-switch__track{position:relative;display:inline-flex;flex-shrink:0;align-items:center;box-sizing:border-box;width:var(--dou-switch-width);height:var(--dou-switch-height);padding:2px;margin:0;border:1px solid color-mix(in oklab,var(--dou-color-text) 8%,var(--dou-color-border-strong));border-radius:var(--dou-radius-full);background-color:color-mix(in oklab,var(--dou-color-text) 7%,var(--dou-color-bg-surface));box-shadow:inset 0 1px 2px color-mix(in oklab,var(--dou-color-edge) 8%,transparent);cursor:pointer;-webkit-tap-highlight-color:transparent;transition-property:background-color,border-color,box-shadow;transition-duration:var(--dou-motion-duration-normal);transition-timing-function:var(--dou-motion-easing)}.dou-switch__track:hover{border-color:color-mix(in oklab,var(--dou-color-text) 20%,var(--dou-color-border-strong))}.dou-switch__track:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-switch__track:disabled{cursor:not-allowed}.dou-switch.is-loading .dou-switch__track{cursor:progress}.dou-switch.is-readonly .dou-switch__track,.dou-switch.is-readonly .dou-switch__label{cursor:default}.dou-switch.is-readonly .dou-switch__track:hover{border-color:color-mix(in oklab,var(--dou-color-text) 8%,var(--dou-color-border-strong))}.dou-switch.is-invalid:not(.is-checked) .dou-switch__track{border-color:color-mix(in oklab,var(--dou-color-danger) 60%,var(--dou-color-border-strong))}.dou-switch__thumb{display:inline-flex;align-items:center;justify-content:center;width:var(--dou-switch-thumb-size);height:var(--dou-switch-thumb-size);border-radius:var(--dou-radius-full);background-color:var(--dou-color-text-tertiary);box-shadow:0 1px 2px color-mix(in oklab,var(--dou-color-edge) 16%,transparent);color:var(--dou-color-bg-surface);transition-property:transform,background-color,box-shadow;transition-duration:var(--dou-motion-duration-normal);transition-timing-function:var(--dou-motion-easing)}.dou-switch.is-checked .dou-switch__track{border-color:color-mix(in oklab,var(--dou-switch-tone) 90%,var(--dou-color-edge));background-color:var(--dou-switch-tone);box-shadow:var(--dou-shadow-highlight),0 1px 2px color-mix(in oklab,var(--dou-switch-tone) 24%,transparent)}.dou-switch.is-checked .dou-switch__thumb{background-color:var(--dou-switch-tone-on);box-shadow:0 1px 2px color-mix(in oklab,var(--dou-color-edge) 24%,transparent);color:var(--dou-switch-tone);transform:translate(var(--dou-switch-travel))}.dou-switch__label{text-box:trim-both cap alphabetic;cursor:pointer;-webkit-user-select:none;user-select:none}.dou-switch.is-disabled .dou-switch__label{cursor:not-allowed}.dou-switch__spinner{flex-shrink:0;width:var(--dou-switch-spinner-size);height:var(--dou-switch-spinner-size);box-sizing:border-box;border:1.5px solid currentColor;border-right-color:transparent;border-radius:var(--dou-radius-full);animation:dou-spin var(--dou-motion-loop-spin) linear infinite}@keyframes dou-spin{to{transform:rotate(1turn)}}}@layer dou.components{.dou-table{--dou-table-cell-height: 44px;--dou-table-cell-padding-x: 14px;--dou-table-font-size: var(--dou-font-size-md);--dou-table-radius: var(--dou-radius-container);--dou-table-bg: var(--dou-color-bg-surface);--dou-table-head-bg: color-mix(in oklab, var(--dou-color-text) 2.5%, var(--dou-table-bg));--dou-table-row-hover: color-mix(in oklab, var(--dou-color-text) 2.5%, var(--dou-table-bg));--dou-table-row-selected: color-mix(in oklab, var(--dou-color-text) 4.5%, var(--dou-table-bg));--dou-table-divider: var(--dou-color-border-subtle);position:relative;box-sizing:border-box;min-width:0;max-width:100%;border:1px solid var(--dou-color-border);border-radius:var(--dou-table-radius);background-color:var(--dou-table-bg);color:var(--dou-color-text);font-size:var(--dou-table-font-size);line-height:1.5;overflow:hidden}.dou-table--sm{--dou-table-cell-height: 36px;--dou-table-cell-padding-x: 10px;--dou-table-font-size: var(--dou-font-size-sm)}.dou-table--lg{--dou-table-cell-height: 52px;--dou-table-cell-padding-x: 16px}.dou-table__wrapper{overflow:auto;overscroll-behavior-x:contain;outline:none}.dou-table__wrapper:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.dou-table__table{width:100%;margin:0;border:0;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}.dou-table.is-fixed-layout .dou-table__table{table-layout:fixed}.dou-table__col-utility{width:40px}.dou-table__cell{box-sizing:border-box;height:var(--dou-table-cell-height);padding:6px var(--dou-table-cell-padding-x);border:0;border-bottom:1px solid var(--dou-table-divider);background-color:var(--dou-table-row-bg, transparent);text-align:start;vertical-align:middle}.dou-table__cell.is-center{text-align:center}.dou-table__cell.is-end{text-align:end}.dou-table__cell.is-ellipsis{max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dou-table__head .dou-table__cell{height:calc(var(--dou-table-cell-height) - 8px);border-bottom-color:var(--dou-color-border);background-color:var(--dou-table-head-bg);color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);font-weight:var(--dou-font-weight-medium);white-space:nowrap}.dou-table.is-scroll .dou-table__head .dou-table__cell{position:sticky;top:calc(var(--dou-table-head-level, 0) * (var(--dou-table-cell-height) - 8px));z-index:1}.dou-table__drag,.dou-table__selection,.dou-table__expand{width:40px;padding-right:0;padding-left:var(--dou-table-cell-padding-x);line-height:0}.dou-table__body .dou-table__row:last-child .dou-table__cell{border-bottom:0}.dou-table__row{--dou-table-row-bg: var(--dou-table-bg)}.dou-table__row>.dou-table__cell{transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-table.is-striped .dou-table__row.is-even{--dou-table-row-bg: var(--dou-table-head-bg)}.dou-table.is-hoverable .dou-table__row:hover{--dou-table-row-bg: var(--dou-table-row-hover)}.dou-table__row.is-selected,.dou-table.is-hoverable .dou-table__row.is-selected:hover{--dou-table-row-bg: var(--dou-table-row-selected)}.dou-table.is-bordered .dou-table__cell+.dou-table__cell{border-left:1px solid var(--dou-table-divider)}.dou-table.is-bordered .dou-table__head .dou-table__cell+.dou-table__cell{border-left-color:var(--dou-color-border)}.dou-table__sorter{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:2px 4px;margin:0 -4px;border:0;border-radius:calc(var(--dou-radius-control) - 2px);background:transparent;color:inherit;font:inherit;cursor:pointer;transition:color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-table__sorter:hover,.dou-table__sorter.is-sorted{color:var(--dou-color-text)}.dou-table__sorter:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:0}.dou-table__cell.is-end .dou-table__sorter{flex-direction:row-reverse}.dou-table__title{overflow-x:clip;text-overflow:ellipsis}.dou-table__sort-icon{position:relative;flex-shrink:0;width:12px;height:14px;color:var(--dou-color-text-disabled)}.dou-table__sort-icon>svg{position:absolute;left:0;font-size:12px;transition:color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-table__sort-asc{top:-2px}.dou-table__sort-desc{top:4px}.dou-table__sort-icon.is-asc .dou-table__sort-asc,.dou-table__sort-icon.is-desc .dou-table__sort-desc{color:var(--dou-color-text)}.dou-table__empty{padding:0;border:0}.dou-table.is-loading .dou-table__empty{height:120px}.dou-table.is-loading .dou-table__body{opacity:.5}.dou-table__loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;color:var(--dou-color-text-secondary)}.dou-table__cell.is-fixed-start,.dou-table__cell.is-fixed-end{position:sticky;z-index:1}.dou-table__head .dou-table__cell.is-fixed-start,.dou-table__head .dou-table__cell.is-fixed-end{z-index:3}.dou-table__foot .dou-table__cell.is-fixed-start,.dou-table__foot .dou-table__cell.is-fixed-end{z-index:2}.dou-table__cell.is-fixed-start-edge:after,.dou-table__cell.is-fixed-end-edge:before{position:absolute;top:0;bottom:-1px;width:12px;content:"";opacity:0;pointer-events:none;transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-table__cell.is-fixed-start-edge:after{inset-inline-end:-12px;box-shadow:inset 10px 0 8px -8px var(--dou-table-fixed-shadow)}.dou-table__cell.is-fixed-end-edge:before{inset-inline-start:-12px;box-shadow:inset -10px 0 8px -8px var(--dou-table-fixed-shadow)}.dou-table{--dou-table-fixed-shadow: rgb(0 0 0 / calc(.12 + .38 * var(--dou-scheme-dark)))}.dou-table.is-shadow-start .dou-table__cell.is-fixed-start-edge:after,.dou-table.is-shadow-end .dou-table__cell.is-fixed-end-edge:before{opacity:1}.dou-table__toggle{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;border-radius:calc(var(--dou-radius-control) - 2px);background:transparent;color:var(--dou-color-text-tertiary);cursor:pointer;vertical-align:middle;transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-table__toggle>svg{width:1em;height:1em;font-size:14px;transition:transform var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-table__toggle.is-open>svg{transform:rotate(90deg)}.dou-table__toggle:hover{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-table__toggle:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:0}.dou-table__expand{padding-right:0;line-height:0}.dou-table__tree{display:inline-flex;align-items:center;gap:6px;max-width:100%;vertical-align:middle}.dou-table__toggle-space{flex-shrink:0;width:20px}.dou-table__tree-content{min-width:0}.dou-table__cell.is-ellipsis .dou-table__tree-content{overflow:hidden;text-overflow:ellipsis}.dou-table__detail{padding:16px var(--dou-table-cell-padding-x) 16px calc(var(--dou-table-cell-padding-x) + 26px);border-bottom:1px solid var(--dou-table-divider);background-color:color-mix(in oklab,var(--dou-color-text) 1.5%,var(--dou-table-bg));color:var(--dou-color-text-secondary)}.dou-table__body .dou-table__detail-row:last-child .dou-table__detail{border-bottom:0}.dou-table__head .dou-table__cell{position:sticky}.dou-table__resizer{position:absolute;top:0;bottom:0;inset-inline-end:-4px;z-index:1;width:8px;cursor:col-resize;touch-action:none}.dou-table__resizer:after{position:absolute;top:25%;bottom:25%;left:3px;width:2px;border-radius:1px;background-color:transparent;content:"";transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-table__resizer:hover:after,.dou-table__resizer:active:after{top:0;bottom:0;background-color:var(--dou-color-border-strong)}.dou-table__resizer:focus-visible{outline:none}.dou-table__resizer:focus-visible:after{top:0;bottom:0;background-color:var(--dou-color-focus)}.dou-table__head .dou-table__cell:last-child .dou-table__resizer{inset-inline-end:0}.dou-table__foot .dou-table__cell{border-top:1px solid var(--dou-color-border);border-bottom:0;background-color:var(--dou-table-head-bg);color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium)}.dou-table.is-scroll .dou-table__foot .dou-table__cell{position:sticky;bottom:0;z-index:1}.dou-table.is-scroll .dou-table__foot .dou-table__cell.is-fixed-start,.dou-table.is-scroll .dou-table__foot .dou-table__cell.is-fixed-end{z-index:3}.dou-table.is-fixed-rows .dou-table__body .dou-table__cell{padding-top:0;padding-bottom:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dou-table__spacer>td{padding:0;border:0}.dou-table__drag-handle{display:inline-flex;align-items:center;justify-content:center;width:20px;height:24px;margin-inline-start:-4px;padding:0;border:0;border-radius:calc(var(--dou-radius-control) - 2px);background:none;color:var(--dou-color-text-tertiary);cursor:grab;touch-action:none}.dou-table__drag-handle>svg{width:16px;height:16px}.dou-table__drag-handle:hover:not(:disabled){background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-table__drag-handle:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}.dou-table__drag-handle:disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-table__row.is-dragging>.dou-table__cell{background-color:color-mix(in oklab,var(--dou-color-text) 4%,var(--dou-table-bg));color:transparent}.dou-table__row.is-dragging>.dou-table__cell>*{visibility:hidden}.dou-table__row.is-lifted>.dou-table__cell{background-color:var(--dou-table-row-selected);box-shadow:inset 0 2px 0 -1px var(--dou-color-focus),inset 0 -2px 0 -1px var(--dou-color-focus)}.dou-table__ghost{box-shadow:var(--dou-shadow-lg);rotate:.5deg;cursor:grabbing}.dou-table__ghost .dou-table__cell{border-bottom:0}.dou-table__visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dou-table.is-grouped .dou-table__head .dou-table__cell:not(.is-edge){border-left:1px solid var(--dou-color-border)}.dou-table__group{text-align:center}.dou-table__head-content{display:inline-flex;align-items:center;gap:4px;max-width:100%;vertical-align:middle}.dou-table__filter-trigger{flex-shrink:0}.dou-table__filter-trigger{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;border-radius:calc(var(--dou-radius-control) - 2px);background:transparent;color:var(--dou-color-text-disabled);cursor:pointer;transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-table__filter-trigger>svg{width:1em;height:1em;font-size:13px}.dou-table__filter-trigger:hover{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text-secondary)}.dou-table__filter-trigger.is-active{color:var(--dou-color-text)}.dou-table__filter-trigger:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:0}.dou-table__filter{min-width:140px;margin:-4px;font-size:var(--dou-font-size-sm)}.dou-table__filter-list{display:flex;flex-direction:column;gap:2px;max-height:240px;padding:4px;overflow-y:auto}.dou-table__filter-list>.dou-checkbox{padding:4px}.dou-table__filter-footer{display:flex;justify-content:space-between;gap:8px;padding:8px 4px 4px;border-top:1px solid var(--dou-color-border-subtle)}.dou-table__filter-option{height:28px;padding:0 8px;margin:0;border:0;border-radius:var(--dou-radius-control);background:transparent;color:var(--dou-color-text-secondary);font:inherit;text-align:start;white-space:nowrap;cursor:pointer}.dou-table__filter-option:hover{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-table__filter-option.is-selected{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium)}.dou-table__filter-option:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.dou-table.is-highlight-current .dou-table__row{cursor:pointer}.dou-table__row.is-current,.dou-table.is-hoverable .dou-table__row.is-current:hover{--dou-table-row-bg: var(--dou-table-row-selected)}.dou-table__row.is-current>.dou-table__cell:first-child,.dou-table.is-hoverable .dou-table__row.is-current:hover>.dou-table__cell:first-child{box-shadow:inset 2px 0 0 var(--dou-color-text)}.dou-table__cell.is-spanned{border-bottom:1px solid var(--dou-table-divider)}.dou-table.is-bordered.is-spanning .dou-table__body .dou-table__cell:not(.is-edge){border-left:1px solid var(--dou-table-divider)}.dou-table__toggle.is-loading{cursor:progress}}@layer dou.components{.dou-tabs{--dou-tabs-height: var(--dou-control-height-md);--dou-tabs-padding-x: 10px;--dou-tabs-font-size: var(--dou-font-size-md);--dou-tabs-gap: 4px;--dou-tabs-indicator: var(--dou-color-text);display:flex;flex-direction:column;min-width:0;color:var(--dou-color-text);font-size:var(--dou-tabs-font-size)}.dou-tabs--sm{--dou-tabs-height: var(--dou-control-height-sm);--dou-tabs-padding-x: 8px;--dou-tabs-font-size: var(--dou-font-size-sm);--dou-tabs-gap: 2px}.dou-tabs--lg{--dou-tabs-height: var(--dou-control-height-lg);--dou-tabs-padding-x: 12px;--dou-tabs-font-size: var(--dou-font-size-lg);--dou-tabs-gap: 6px}.dou-tabs__header{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--dou-color-border)}.dou-tabs__list{position:relative;display:flex;flex:1 1 auto;gap:var(--dou-tabs-gap);min-width:0;padding:4px 0 6px;margin-bottom:-1px;overflow-x:auto;scrollbar-width:none}.dou-tabs__tab{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;box-sizing:border-box;height:var(--dou-tabs-height);padding:0 var(--dou-tabs-padding-x);border:0;border-radius:var(--dou-radius-control);background-color:transparent;color:var(--dou-color-text-secondary);font:inherit;font-weight:var(--dou-font-weight-medium);line-height:1;white-space:nowrap;cursor:pointer;transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-tabs__tab:hover:not(.is-disabled){background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-tabs__tab:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.dou-tabs__tab.is-selected{color:var(--dou-color-text)}.dou-tabs__tab.is-disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-tabs__label{display:inline-flex;align-items:center;gap:6px;text-box:trim-both cap alphabetic}.dou-tabs__indicator{position:absolute;bottom:0;left:0;height:2px;border-radius:1px;background-color:var(--dou-tabs-indicator);pointer-events:none}.dou-tabs.is-settled .dou-tabs__indicator{transition-property:transform,width;transition-duration:calc(var(--dou-motion-duration-normal) * var(--dou-motion-travel));transition-timing-function:var(--dou-motion-easing)}.dou-tabs__extra{display:flex;flex-shrink:0;align-items:center;gap:8px;padding-bottom:2px}.dou-tabs__panel{padding-top:16px;color:var(--dou-color-text-secondary);outline:none}.dou-tabs__panel:focus-visible{border-radius:var(--dou-radius-control);outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-tabs__close{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-inline:4px -4px;border-radius:calc(var(--dou-radius-control) - 2px);color:var(--dou-color-text-tertiary);transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-tabs__close>svg{width:12px;height:12px}.dou-tabs__close:hover{background-color:color-mix(in oklab,var(--dou-color-text) 10%,transparent);color:var(--dou-color-text)}.dou-tabs__list{--dou-tabs-fade: 32px}.dou-tabs__list.is-fade-start{-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--dou-tabs-fade));mask-image:linear-gradient(to right,transparent,#000 var(--dou-tabs-fade))}.dou-tabs__list.is-fade-end{-webkit-mask-image:linear-gradient(to left,transparent,#000 var(--dou-tabs-fade));mask-image:linear-gradient(to left,transparent,#000 var(--dou-tabs-fade))}.dou-tabs__list.is-fade-start.is-fade-end{-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--dou-tabs-fade),#000 calc(100% - var(--dou-tabs-fade)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--dou-tabs-fade),#000 calc(100% - var(--dou-tabs-fade)),transparent)}.dou-tabs__scroll{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:24px;height:calc(var(--dou-tabs-height) - 4px);padding:0;margin-bottom:2px;border:0;border-radius:var(--dou-radius-control);background:transparent;color:var(--dou-color-text-secondary);cursor:pointer;transition-property:background-color,color,opacity;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-tabs__scroll.is-start{margin-right:-8px}.dou-tabs__scroll.is-end{margin-left:-8px}@media (pointer: coarse){.dou-tabs__scroll:after{content:"";position:absolute;inset:calc(50% - 20px)}}.dou-tabs__scroll>svg{width:16px;height:16px}.dou-tabs__scroll:hover:not(:disabled){background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-tabs__scroll:disabled{opacity:.35;cursor:default}.dou-tabs__add{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:calc(var(--dou-tabs-height) - 4px);height:calc(var(--dou-tabs-height) - 4px);padding:0;margin-bottom:2px;border:0;border-radius:var(--dou-radius-control);background:transparent;color:var(--dou-color-text-tertiary);cursor:pointer;transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-tabs__add>svg{width:1em;height:1em}.dou-tabs__add:hover{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-tabs__add:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.dou-tabs.is-vertical{flex-direction:row;align-items:flex-start}.dou-tabs.is-vertical>.dou-tabs__header{flex-direction:column;align-items:stretch;gap:8px;flex-shrink:0;align-self:stretch;border-bottom:0;border-inline-end:1px solid var(--dou-color-border)}.dou-tabs.is-vertical .dou-tabs__list{flex-direction:column;flex:0 0 auto;padding:0 6px 0 0;margin:0 -1px 0 0;overflow:visible}.dou-tabs.is-vertical .dou-tabs__tab{justify-content:flex-start}.dou-tabs.is-vertical .dou-tabs__indicator{top:0;right:0;bottom:auto;left:auto;width:2px;height:0}.dou-tabs.is-vertical .dou-tabs__add,.dou-tabs.is-vertical .dou-tabs__extra{margin-inline-end:6px;padding-bottom:0}.dou-tabs.is-vertical>.dou-tabs__panel{flex:1 1 auto;min-width:0;padding-top:max(0px,calc((var(--dou-tabs-height) - 1lh) / 2));padding-inline-start:20px}.dou-tabs.is-placement-end{flex-direction:row-reverse}.dou-tabs.is-placement-end>.dou-tabs__header{border-inline-end:0;border-inline-start:1px solid var(--dou-color-border)}.dou-tabs.is-placement-end .dou-tabs__list{padding:0 0 0 6px;margin:0 0 0 -1px}.dou-tabs.is-placement-end .dou-tabs__indicator{right:auto;left:0}.dou-tabs.is-placement-end .dou-tabs__add,.dou-tabs.is-placement-end .dou-tabs__extra{margin-inline:6px 0}.dou-tabs.is-placement-end>.dou-tabs__panel{padding-inline:0 20px}.dou-tabs.is-settled.is-vertical .dou-tabs__indicator{transition-property:transform,height}}@layer dou.components{.dou-tag{--dou-tag-tone: var(--dou-color-neutral);--dou-tag-tone-on: var(--dou-color-neutral-on);--dou-tag-tone-text: var(--dou-color-neutral-text);--dou-tag-height: 24px;--dou-tag-padding-x: 8px;--dou-tag-gap: 4px;--dou-tag-font-size: var(--dou-font-size-sm);--dou-tag-radius: calc(var(--dou-radius-control) - 2px);--dou-tag-bg: transparent;--dou-tag-fg: var(--dou-tag-tone-text);--dou-tag-border: transparent;--dou-tag-shadow: none;display:inline-flex;align-items:center;gap:var(--dou-tag-gap);box-sizing:border-box;height:var(--dou-tag-height);max-width:100%;padding:0 var(--dou-tag-padding-x);border:1px solid var(--dou-tag-border);border-radius:var(--dou-tag-radius);background-color:var(--dou-tag-bg);box-shadow:var(--dou-tag-shadow);color:var(--dou-tag-fg);font-size:var(--dou-tag-font-size);font-weight:var(--dou-font-weight-medium);line-height:1;white-space:nowrap;vertical-align:middle}.dou-tag.is-round{--dou-tag-radius: var(--dou-radius-full)}.dou-tag--primary{--dou-tag-tone: var(--dou-color-primary);--dou-tag-tone-on: var(--dou-color-primary-on);--dou-tag-tone-text: var(--dou-color-primary-text)}.dou-tag--success{--dou-tag-tone: var(--dou-color-success);--dou-tag-tone-on: var(--dou-color-success-on);--dou-tag-tone-text: var(--dou-color-success-text)}.dou-tag--warning{--dou-tag-tone: var(--dou-color-warning);--dou-tag-tone-on: var(--dou-color-warning-on);--dou-tag-tone-text: var(--dou-color-warning-text)}.dou-tag--danger{--dou-tag-tone: var(--dou-color-danger);--dou-tag-tone-on: var(--dou-color-danger-on);--dou-tag-tone-text: var(--dou-color-danger-text)}.dou-tag--soft{--dou-tag-bg: color-mix(in oklab, var(--dou-tag-tone) 7%, var(--dou-color-bg-surface));--dou-tag-border: color-mix(in oklab, var(--dou-tag-tone) 13%, transparent)}.dou-tag--outline{--dou-tag-bg: var(--dou-color-bg-surface);--dou-tag-border: color-mix(in oklab, var(--dou-tag-tone) 22%, var(--dou-color-border));--dou-tag-shadow: var(--dou-shadow-sm)}.dou-tag--solid{--dou-tag-bg: var(--dou-tag-tone);--dou-tag-fg: var(--dou-tag-tone-on);--dou-tag-border: color-mix(in oklab, var(--dou-tag-tone) 90%, var(--dou-color-edge));--dou-tag-shadow: var(--dou-shadow-highlight), 0 1px 2px color-mix(in oklab, var(--dou-tag-tone) 22%, transparent)}.dou-tag--sm{--dou-tag-height: 20px;--dou-tag-padding-x: 6px;--dou-tag-gap: 3px;--dou-tag-font-size: calc(var(--dou-font-size-sm) - 1px)}.dou-tag--lg{--dou-tag-height: 28px;--dou-tag-padding-x: 10px;--dou-tag-gap: 6px;--dou-tag-font-size: var(--dou-font-size-md)}.dou-tag__label{text-box:trim-both cap alphabetic;overflow-x:clip;text-overflow:ellipsis}.dou-tag:not(.is-round):has(>.dou-tag__icon:first-child>svg){padding-left:calc(var(--dou-tag-padding-x) - 2px)}.dou-tag__icon{display:inline-flex;flex-shrink:0;align-items:center}.dou-tag__close{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.15em;height:1.15em;padding:0;margin:0 calc(var(--dou-tag-gap) * -.5) 0 0;border:0;border-radius:calc(var(--dou-tag-radius) - 1px);background:transparent;color:inherit;font:inherit;opacity:.6;cursor:pointer;transition-property:background-color,opacity;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-tag__close>svg{width:100%;height:100%}.dou-tag__close:hover{background-color:color-mix(in oklab,currentColor 14%,transparent);opacity:1}.dou-tag__close:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px;opacity:1}.dou-tag__close:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}@media (pointer: coarse){.dou-tag__close:after{inset:calc(50% - 20px)}}}@layer dou.components{.dou-text{--dou-text-tone: var(--dou-color-text);color:var(--dou-text-tone)}.dou-text.is-mono{font-family:var(--dou-font-family-mono);font-variant-numeric:tabular-nums}.dou-text.is-truncate{display:inline-block;max-width:100%;overflow-x:clip;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.dou-text.is-clamp{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:var(--dou-text-lines);line-clamp:var(--dou-text-lines)}.dou-text--primary{--dou-text-tone: var(--dou-color-primary-text)}.dou-text--success{--dou-text-tone: var(--dou-color-success-text)}.dou-text--warning{--dou-text-tone: var(--dou-color-warning-text)}.dou-text--danger{--dou-text-tone: var(--dou-color-danger-text)}.dou-text--neutral.dou-text--secondary{color:var(--dou-color-text-secondary)}.dou-text--neutral.dou-text--tertiary{color:var(--dou-color-text-tertiary)}.dou-text--sm{font-size:var(--dou-font-size-sm)}.dou-text--md{font-size:var(--dou-font-size-md)}.dou-text--lg{font-size:var(--dou-font-size-lg)}.dou-text--regular{font-weight:var(--dou-font-weight-regular)}.dou-text--medium{font-weight:var(--dou-font-weight-medium)}.dou-text--bold{font-weight:var(--dou-font-weight-bold)}}@layer dou.components{.dou-textarea{--dou-textarea-line-height: 22px;--dou-textarea-padding-y: 4px;--dou-textarea-padding-x: var(--dou-control-padding-x-md);--dou-textarea-font-size: var(--dou-font-size-md);--dou-textarea-radius: var(--dou-radius-control);--dou-textarea-bg: var(--dou-color-bg-surface);--dou-textarea-border: var(--dou-color-border);--dou-textarea-border-hover: var(--dou-color-border-strong);--dou-textarea-border-focus: color-mix( in oklab, var(--dou-color-focus) 70%, var(--dou-color-text) );--dou-textarea-ring: color-mix(in oklab, var(--dou-color-focus) 32%, transparent);--dou-textarea-shadow: var(--dou-shadow-sm);display:inline-flex;flex-direction:column;box-sizing:border-box;width:100%;border:1px solid var(--dou-textarea-border);border-radius:var(--dou-textarea-radius);background-color:var(--dou-textarea-bg);box-shadow:var(--dou-textarea-shadow);color:var(--dou-color-text);font-size:var(--dou-textarea-font-size);vertical-align:top;cursor:text;transition-property:border-color,box-shadow,background-color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-textarea:hover{border-color:var(--dou-textarea-border-hover)}.dou-textarea:focus-within{border-color:var(--dou-textarea-border-focus);box-shadow:0 0 0 3px var(--dou-textarea-ring),var(--dou-textarea-shadow)}.dou-textarea.is-invalid{--dou-textarea-border: color-mix( in oklab, var(--dou-color-danger) 55%, var(--dou-color-border) );--dou-textarea-border-hover: color-mix( in oklab, var(--dou-color-danger) 75%, var(--dou-color-border) );--dou-textarea-border-focus: var(--dou-color-danger);--dou-textarea-ring: color-mix(in oklab, var(--dou-color-danger) 18%, transparent)}.dou-textarea.is-readonly{--dou-textarea-shadow: none}.dou-textarea.is-disabled{--dou-textarea-bg: var(--dou-color-bg-muted);--dou-textarea-border-hover: var(--dou-textarea-border);--dou-textarea-shadow: none;color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-textarea--sm{--dou-textarea-line-height: 20px;--dou-textarea-padding-y: 3px;--dou-textarea-padding-x: var(--dou-control-padding-x-sm);--dou-textarea-font-size: var(--dou-font-size-sm)}.dou-textarea--lg{--dou-textarea-line-height: 26px;--dou-textarea-padding-y: 6px;--dou-textarea-padding-x: var(--dou-control-padding-x-lg);--dou-textarea-font-size: var(--dou-font-size-lg)}.dou-textarea__native{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:calc(var(--dou-textarea-line-height) + 2 * var(--dou-textarea-padding-y));padding:var(--dou-textarea-padding-y) var(--dou-textarea-padding-x);margin:0;border:0;border-radius:inherit;outline:0;background:transparent;color:inherit;font:inherit;font-size:max(var(--dou-font-size-input-min, 0px),1em);line-height:var(--dou-textarea-line-height)}.dou-textarea__native::placeholder{color:var(--dou-color-text-tertiary);opacity:1}.dou-textarea__native:disabled{cursor:not-allowed}@supports (field-sizing: content){.dou-textarea.is-autosize>.dou-textarea__native{field-sizing:content;min-height:calc(var(--dou-textarea-min-rows, 1) * var(--dou-textarea-line-height) + 2 * var(--dou-textarea-padding-y));max-height:calc(var(--dou-textarea-max-rows, 1000) * var(--dou-textarea-line-height) + 2 * var(--dou-textarea-padding-y));overflow-y:auto}}.dou-textarea__count{align-self:flex-end;padding:0 var(--dou-textarea-padding-x) var(--dou-textarea-padding-y);color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);font-variant-numeric:tabular-nums;line-height:20px;-webkit-user-select:none;user-select:none}}@layer dou.components{.dou-time-picker.is-range .dou-time-picker__input{text-align:center}.dou-time-picker__separator{flex-shrink:0;width:1em;height:1em;font-size:1.1em;color:var(--dou-color-text-tertiary)}.dou-time-picker__panel{--dou-time-picker-cell: 32px;--dou-time-picker-rows: 7;padding:4px}.dou-time-picker__body{display:flex;gap:4px}.dou-time-picker__columns+.dou-time-picker__columns{padding-left:4px;border-left:1px solid var(--dou-color-border-subtle)}.dou-time-picker__caption{padding:6px 8px 4px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);line-height:1}.dou-time-picker__grid{display:flex}.dou-time-picker__column{position:relative;width:54px;height:calc(var(--dou-time-picker-cell) * var(--dou-time-picker-rows));margin:0;padding:1px 1px calc(var(--dou-time-picker-cell) * (var(--dou-time-picker-rows) - 1)) 1px;overflow-y:auto;box-sizing:border-box;list-style:none;scrollbar-width:none;border-radius:var(--dou-radius-control);outline:none}.dou-time-picker__column+.dou-time-picker__column{border-left:1px solid var(--dou-color-border-subtle);border-start-start-radius:0;border-end-start-radius:0}.dou-time-picker__column:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.dou-time-picker__cell{display:flex;align-items:center;justify-content:center;height:var(--dou-time-picker-cell);border-radius:var(--dou-radius-control);color:var(--dou-color-text-secondary);font-variant-numeric:tabular-nums;line-height:1;cursor:pointer;transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-time-picker__cell:hover{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-time-picker__cell.is-selected{background-color:var(--dou-color-neutral);box-shadow:var(--dou-shadow-highlight);color:var(--dou-color-neutral-on);font-weight:var(--dou-font-weight-medium)}.dou-time-picker__cell.is-disabled:not(.is-selected){background-color:transparent;color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-time-picker__footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 1px 1px;margin-top:4px;border-top:1px solid var(--dou-color-border-subtle)}}@layer dou.components{.dou-timeline{--dou-timeline-dot-size: 10px;--dou-timeline-rail-width: 16px;--dou-timeline-first-line: 20px;--dou-timeline-gap: 12px;--dou-timeline-spacing: 16px;--dou-timeline-line: var(--dou-color-border);display:flex;flex-direction:column;min-width:0;margin:0;padding:0;color:var(--dou-color-text);font-size:var(--dou-font-size-md);list-style:none}.dou-timeline.is-reverse{flex-direction:column-reverse}.dou-timeline__item{--dou-timeline-dot: var(--dou-color-border-strong);position:relative;display:flex;gap:var(--dou-timeline-gap);padding-bottom:var(--dou-timeline-spacing)}.dou-timeline:not(.is-reverse)>.dou-timeline__item:last-child,.dou-timeline.is-reverse>.dou-timeline__item:first-child{padding-bottom:0}.dou-timeline:not(.is-reverse)>.dou-timeline__item:last-child .dou-timeline__line,.dou-timeline.is-reverse>.dou-timeline__item:first-child .dou-timeline__line{display:none}.dou-timeline--primary{--dou-timeline-dot: var(--dou-color-primary)}.dou-timeline--success{--dou-timeline-dot: var(--dou-color-success)}.dou-timeline--warning{--dou-timeline-dot: var(--dou-color-warning)}.dou-timeline--danger{--dou-timeline-dot: var(--dou-color-danger)}.dou-timeline__rail{display:flex;flex-shrink:0;justify-content:center;width:var(--dou-timeline-rail-width)}.dou-timeline__dot{box-sizing:border-box;width:var(--dou-timeline-dot-size);height:var(--dou-timeline-dot-size);margin-top:calc((var(--dou-timeline-first-line) - var(--dou-timeline-dot-size)) / 2);border-radius:var(--dou-radius-full);background-color:var(--dou-timeline-dot)}.dou-timeline__item.is-pending>.dou-timeline__rail>.dou-timeline__dot{border:2px solid var(--dou-timeline-dot);background-color:var(--dou-color-bg-surface)}.dou-timeline__item.is-custom-dot>.dou-timeline__rail>.dou-timeline__dot{display:inline-flex;align-items:center;justify-content:center;width:var(--dou-timeline-rail-width);height:var(--dou-timeline-rail-width);margin-top:calc((var(--dou-timeline-first-line) - var(--dou-timeline-rail-width)) / 2);border:0;background:none;color:var(--dou-timeline-dot)}.dou-timeline__item.is-custom-dot>.dou-timeline__rail>.dou-timeline__dot>svg{width:100%;height:100%}.dou-timeline--neutral.is-custom-dot{--dou-timeline-dot: var(--dou-color-text-secondary)}.dou-timeline--neutral.is-active{--dou-timeline-dot: var(--dou-color-text)}.dou-timeline__item.is-active>.dou-timeline__rail>.dou-timeline__dot{position:relative}.dou-timeline__item.is-active>.dou-timeline__rail>.dou-timeline__dot:after{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background-color:var(--dou-timeline-dot);content:"";animation:dou-timeline-ripple var(--dou-motion-loop-sweep) var(--dou-motion-easing-enter) var(--dou-motion-loop-count)}@keyframes dou-timeline-ripple{0%{opacity:.4;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}.dou-timeline__line{position:absolute;top:calc((var(--dou-timeline-first-line) + var(--dou-timeline-dot-size)) / 2 + 4px);bottom:calc(4px - (var(--dou-timeline-first-line) - var(--dou-timeline-dot-size)) / 2);left:calc(var(--dou-timeline-rail-width) / 2 - .5px);width:0;border-left:1px solid var(--dou-timeline-line)}.dou-timeline:not(.is-reverse)>.dou-timeline__item:has(+.is-pending) .dou-timeline__line,.dou-timeline.is-reverse>.dou-timeline__item.is-pending .dou-timeline__line{border-left-style:dashed}.dou-timeline__body{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;min-width:0}@media (prefers-reduced-motion: reduce){:root:not([data-dou-motion]) .dou-timeline__item.is-active>.dou-timeline__rail>.dou-timeline__dot:after{opacity:.2;transform:scale(1.8)}}:is([data-dou-motion=reduce],[data-dou-motion=none]) .dou-timeline__item.is-active>.dou-timeline__rail>.dou-timeline__dot:after{opacity:.2;transform:scale(1.8)}.dou-timeline__time{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);font-variant-numeric:tabular-nums;line-height:var(--dou-timeline-first-line)}.dou-timeline__title{color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium);line-height:var(--dou-timeline-first-line)}.dou-timeline__content{color:var(--dou-color-text-secondary);line-height:var(--dou-font-line-height)}}@layer dou.components{.dou-toggle{--dou-button-fg: var(--dou-color-text-secondary)}.dou-toggle:hover:not(:disabled){--dou-button-fg: var(--dou-color-text)}.dou-toggle.is-pressed{--dou-button-fg: var(--dou-color-text);--dou-button-bg: color-mix(in oklab, var(--dou-color-text) 9%, transparent);--dou-button-bg-hover: color-mix(in oklab, var(--dou-color-text) 12%, transparent);--dou-button-bg-active: color-mix(in oklab, var(--dou-color-text) 14%, transparent)}.dou-toggle--outline.is-pressed{--dou-button-bg: color-mix(in oklab, var(--dou-color-text) 7%, var(--dou-color-bg-surface));--dou-button-bg-hover: color-mix( in oklab, var(--dou-color-text) 10%, var(--dou-color-bg-surface) );--dou-button-border: color-mix(in oklab, var(--dou-color-text) 22%, var(--dou-color-border));--dou-button-border-hover: var(--dou-button-border);--dou-button-shadow: none}.dou-toggle-group{display:inline-flex;align-items:center;gap:2px;vertical-align:middle}.dou-toggle-group--vertical{flex-direction:column;align-items:stretch}}@layer dou.components{.dou-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0}.dou-toolbar--vertical{display:inline-flex;flex-direction:column;align-items:stretch}.dou-toolbar-separator{flex:none;align-self:center;width:1px;height:20px;margin-inline:4px;background-color:var(--dou-color-border)}.dou-toolbar--vertical>.dou-toolbar-separator{width:20px;height:1px;margin-block:4px;margin-inline:0}}@layer dou.components{.dou-toast{position:fixed;display:flex;flex-direction:column;box-sizing:border-box;width:min(380px,100vw);padding:16px;pointer-events:none}.dou-toast--top,.dou-toast--bottom{left:50%;align-items:center;transform:translate(-50%)}.dou-toast--top,.dou-toast--top-left,.dou-toast--top-right{top:0}.dou-toast--bottom,.dou-toast--bottom-left,.dou-toast--bottom-right{bottom:0}.dou-toast--top-left,.dou-toast--bottom-left{left:0}.dou-toast--top-right,.dou-toast--bottom-right{right:0}.dou-toast__list{display:flex;flex-direction:column;gap:8px;width:100%;padding:0;margin:0;list-style:none}.dou-toast[class*=dou-toast--bottom] .dou-toast__list{flex-direction:column}.dou-toast[class*=dou-toast--top] .dou-toast__list{flex-direction:column-reverse}.dou-toast__item{--dou-toast-tone: var(--dou-color-text-secondary);display:flex;align-items:flex-start;gap:10px;box-sizing:border-box;width:100%;padding:12px 14px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:color-mix(in oklab,var(--dou-color-text) calc(5% * var(--dou-scheme-dark)),var(--dou-color-bg-surface));box-shadow:var(--dou-shadow-lg);color:var(--dou-color-text);font-family:var(--dou-font-family);font-size:var(--dou-font-size-md);line-height:1.5;pointer-events:auto}.dou-toast--primary{--dou-toast-tone: var(--dou-color-primary)}.dou-toast--success{--dou-toast-tone: var(--dou-color-success)}.dou-toast--warning{--dou-toast-tone: var(--dou-color-warning)}.dou-toast--danger{--dou-toast-tone: var(--dou-color-danger)}.dou-toast__icon{display:inline-flex;flex-shrink:0;align-items:center;height:1.5em;color:var(--dou-toast-tone)}.dou-toast__icon>svg{width:1em;height:1em;font-size:16px}.dou-toast__content{flex:1 1 auto;min-width:0;overflow-wrap:break-word}.dou-toast__title{font-weight:var(--dou-font-weight-bold)}.dou-toast__title+.dou-toast__message{color:var(--dou-color-text-secondary)}.dou-toast__action{flex-shrink:0;align-self:center;height:24px;padding:0 8px;margin:-2px 0;border:1px solid var(--dou-color-border);border-radius:calc(var(--dou-radius-control) - 2px);background-color:transparent;color:var(--dou-color-text);font:inherit;font-size:var(--dou-font-size-sm);font-weight:var(--dou-font-weight-medium);line-height:1;cursor:pointer;transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-toast__action:hover{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent)}.dou-toast__close{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:24px;height:24px;padding:0;margin:-1px -6px -1px 0;border:0;border-radius:var(--dou-radius-control);background-color:transparent;color:var(--dou-color-text-tertiary);cursor:pointer}.dou-toast__close>svg{width:1em;height:1em;font-size:14px}.dou-toast__close:hover{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-toast__action:focus-visible,.dou-toast__close:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}.dou-toast-enter-active,.dou-toast-leave-active{transition-property:opacity,transform;transition-duration:var(--dou-motion-duration-normal);transition-timing-function:var(--dou-motion-easing-enter)}.dou-toast-leave-active{transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing-exit)}.dou-toast-enter-from{opacity:0;transform:translateY(calc(-1 * var(--dou-motion-distance-md))) scale(var(--dou-motion-scale))}.dou-toast[class*=dou-toast--bottom] .dou-toast-enter-from{transform:translateY(var(--dou-motion-distance-md)) scale(var(--dou-motion-scale))}.dou-toast-leave-to{opacity:0;transform:scale(var(--dou-motion-scale))}}@layer dou.components{.dou-tooltip{--dou-tooltip-bg: color-mix( in oklab, color-mix(in oklab, var(--dou-color-text) 12%, var(--dou-color-bg-surface)) calc(100% * var(--dou-scheme-dark)), var(--dou-color-neutral) );--dou-tooltip-color: color-mix( in oklab, var(--dou-color-text) calc(100% * var(--dou-scheme-dark)), var(--dou-color-neutral-on) );--dou-tooltip-border: color-mix( in oklab, color-mix(in oklab, var(--dou-color-text) 6%, var(--dou-color-border-strong)) calc(100% * var(--dou-scheme-dark)), var(--dou-color-neutral) );--dou-tooltip-max-width: 280px;max-width:var(--dou-tooltip-max-width);padding:8px 10px;border:1px solid var(--dou-tooltip-border);border-radius:var(--dou-radius-control);background-color:var(--dou-tooltip-bg);box-shadow:var(--dou-shadow-md);color:var(--dou-tooltip-color);font-family:var(--dou-font-family);font-size:var(--dou-font-size-sm);line-height:1.5;overflow-wrap:break-word;pointer-events:auto;text-box:trim-both cap alphabetic}.dou-tooltip__shortcut{display:flex;align-items:center;gap:8px;margin-block:-3px;margin-inline-end:-5px}.dou-tooltip__text{text-box:trim-both cap alphabetic}.dou-tooltip.is-static{pointer-events:none}}@layer dou.components{.dou-tour{--dou-tour-mask: rgb(0 0 0 / .48);--dou-tour-bg: color-mix( in oklab, var(--dou-color-text) calc(4% * var(--dou-scheme-dark)), var(--dou-color-bg-surface) );--dou-tour-width: 320px}.dou-tour__mask{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.dou-tour__mask>path{fill:var(--dou-tour-mask);pointer-events:auto;transition:d calc(var(--dou-motion-duration-normal) * var(--dou-motion-travel)) var(--dou-motion-easing)}.dou-tour__ring{position:fixed;box-sizing:border-box;border-radius:8px;box-shadow:0 0 0 1px #ffffff80,0 0 0 4px color-mix(in oklab,var(--dou-color-focus) 40%,transparent);pointer-events:none;transition-property:top,left,width,height;transition-duration:calc(var(--dou-motion-duration-normal) * var(--dou-motion-travel));transition-timing-function:var(--dou-motion-easing)}.dou-tour__card{box-sizing:border-box;width:min(var(--dou-tour-width),calc(100vw - 16px));padding:14px 16px 12px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-tour-bg);box-shadow:var(--dou-shadow-lg);color:var(--dou-color-text-secondary);font-family:var(--dou-font-family);font-size:var(--dou-font-size-md);line-height:var(--dou-font-line-height);outline:none}.dou-tour__header{display:flex;align-items:flex-start;gap:8px}.dou-tour__title{flex:1 1 auto;min-width:0;color:var(--dou-color-text);font-weight:var(--dou-font-weight-bold);line-height:1.5}.dou-tour__title:empty{display:none}.dou-tour__close{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:24px;height:24px;margin:-2px -6px 0 auto;padding:0;border:0;border-radius:var(--dou-radius-control);background-color:transparent;color:var(--dou-color-text-tertiary);cursor:pointer;transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast)}.dou-tour__close>svg{width:14px;height:14px}.dou-tour__close:hover{background-color:var(--dou-color-bg-muted);color:var(--dou-color-text)}.dou-tour__close:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}.dou-tour__body{margin-top:4px}.dou-tour__body:empty{display:none}.dou-tour__footer{display:flex;align-items:center;gap:8px;margin-top:14px}.dou-tour__progress{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);font-variant-numeric:tabular-nums}.dou-tour__actions{display:flex;gap:8px;margin-left:auto}}@layer dou.components{.dou-transfer{--dou-transfer-stack: calc(2 * 200px + 2 * 12px + var(--dou-control-height-sm));display:flex;flex-wrap:wrap;align-items:center;box-sizing:border-box;width:100%;gap:12px;min-width:0;color:var(--dou-color-text);font-size:var(--dou-font-size-md)}.dou-transfer__list{display:flex;flex:1 1 calc((var(--dou-transfer-stack) - 100%) * 999);flex-direction:column;min-width:min(200px,100%);overflow:hidden;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface)}.dou-transfer__header{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border-bottom:1px solid var(--dou-color-border-subtle);background-color:color-mix(in oklab,var(--dou-color-text) 2%,var(--dou-color-bg-surface))}.dou-transfer__title{flex:1 1 auto;min-width:0;font-weight:var(--dou-font-weight-medium);line-height:1;text-box:trim-both cap alphabetic}.dou-transfer__count{flex-shrink:0;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);font-variant-numeric:tabular-nums;line-height:1}.dou-transfer__search{padding:8px 8px 0}.dou-transfer__body{padding:4px}.dou-transfer__item{box-sizing:border-box;height:32px}.dou-transfer__checkbox{display:flex;align-items:center;box-sizing:border-box;width:100%;height:100%;padding:0 8px;border-radius:var(--dou-radius-control);transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-transfer__checkbox:hover{background-color:color-mix(in oklab,var(--dou-color-text) 4%,transparent)}.dou-transfer__label{min-width:0;overflow-x:clip;text-overflow:ellipsis;white-space:nowrap}.dou-transfer__description{margin-left:8px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);white-space:nowrap}.dou-transfer__empty{display:flex;align-items:center;justify-content:center;height:100%;min-height:64px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.dou-transfer__footer{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--dou-color-border-subtle)}.dou-transfer__actions{display:flex;flex:0 1 calc((var(--dou-transfer-stack) - 100%) * 999);flex-wrap:wrap;justify-content:center;gap:8px;min-width:var(--dou-control-height-sm);container-type:inline-size}@container (min-width: 80px){.dou-transfer__actions .dou-button svg{rotate:90deg}}}@layer dou.components{.dou-tree{--dou-tree-row-height: 28px;--dou-tree-indent: 20px;--dou-tree-padding-x: 4px;--dou-tree-gap: 6px;--dou-tree-font-size: var(--dou-font-size-md);--dou-tree-hover-bg: color-mix(in oklab, var(--dou-color-text) 4%, transparent);--dou-tree-selected-bg: color-mix(in oklab, var(--dou-color-text) 7%, transparent);--dou-tree-guide: var(--dou-color-border);position:relative;color:var(--dou-color-text);font-size:var(--dou-tree-font-size);outline:none;-webkit-user-select:none;user-select:none}.dou-tree--sm{--dou-tree-row-height: 24px;--dou-tree-indent: 18px;--dou-tree-gap: 4px;--dou-tree-font-size: var(--dou-font-size-sm)}.dou-tree--lg{--dou-tree-row-height: 32px;--dou-tree-indent: 22px;--dou-tree-gap: 8px;--dou-tree-font-size: var(--dou-font-size-lg)}.dou-tree__node{display:flex;align-items:center;gap:var(--dou-tree-gap);box-sizing:border-box;height:var(--dou-tree-row-height);padding:0 var(--dou-tree-padding-x);border-radius:var(--dou-radius-control);line-height:1;white-space:nowrap;cursor:pointer;transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-tree__node:hover{background-color:var(--dou-tree-hover-bg)}.dou-tree__node.is-selected{background-color:var(--dou-tree-selected-bg);font-weight:var(--dou-font-weight-medium)}.dou-tree__node.is-disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-tree__node.is-disabled:hover{background-color:transparent}.dou-tree:not(.is-selectable) .dou-tree__node.is-selected{background-color:transparent;font-weight:inherit}.dou-tree:focus-visible .dou-tree__node.is-active{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.dou-tree__indent{flex-shrink:0;align-self:stretch;width:calc(var(--dou-tree-level) * var(--dou-tree-indent) - var(--dou-tree-gap));margin-right:0}.dou-tree.is-guides .dou-tree__indent{background-image:repeating-linear-gradient(to right,transparent 0 7px,var(--dou-tree-guide) 7px 8px,transparent 8px var(--dou-tree-indent))}.dou-tree__toggle{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;color:var(--dou-color-text-tertiary)}.dou-tree__toggle>svg{width:1em;height:1em;font-size:16px;transition:transform var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-tree__toggle:not(.is-leaf):hover{color:var(--dou-color-text)}.dou-tree__node.is-expanded>.dou-tree__toggle>svg{transform:rotate(90deg)}.dou-tree__checkbox{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;box-sizing:border-box;width:16px;height:16px;border:1px solid var(--dou-color-border-strong);border-radius:calc(var(--dou-radius-control) - 2px);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);color:var(--dou-color-neutral-on);transition-property:background-color,border-color,box-shadow;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-tree__checkbox>svg{width:100%;height:100%;opacity:0}.dou-tree__checkbox.is-checked,.dou-tree__checkbox.is-indeterminate{border-color:color-mix(in oklab,var(--dou-color-neutral) 90%,var(--dou-color-edge));background-color:var(--dou-color-neutral);box-shadow:var(--dou-shadow-highlight),0 1px 2px color-mix(in oklab,var(--dou-color-neutral) 24%,transparent)}.dou-tree__checkbox.is-checked>svg,.dou-tree__checkbox.is-indeterminate>svg{opacity:1}.dou-tree__node:hover:not(.is-disabled) .dou-tree__checkbox:not(.is-checked,.is-indeterminate){border-color:color-mix(in oklab,var(--dou-color-neutral) 45%,var(--dou-color-border-strong))}.dou-tree__node.is-disabled .dou-tree__checkbox{opacity:.45}.dou-tree--sm .dou-tree__checkbox{width:14px;height:14px}.dou-tree__label{display:inline-flex;flex:1 1 auto;align-items:center;gap:var(--dou-tree-gap);min-width:0;overflow-x:clip;text-overflow:ellipsis;text-box:trim-both cap alphabetic}.dou-tree__text{min-width:0;overflow-x:clip;text-overflow:ellipsis}.dou-tree__match{background:none;color:inherit;font-weight:var(--dou-font-weight-bold);text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--dou-color-text) 35%,transparent);text-underline-offset:3px}.dou-tree__node.is-draggable{position:relative;touch-action:pan-y}.dou-tree__node.is-dragging{opacity:.4}.dou-tree.is-dragging .dou-tree__node:hover{background-color:transparent}.dou-tree__node.is-drop-before:before,.dou-tree__node.is-drop-after:before{position:absolute;inset-inline:calc(var(--dou-tree-level) * var(--dou-tree-indent) + var(--dou-tree-padding-x)) var(--dou-tree-padding-x);height:2px;border-radius:1px;background-color:var(--dou-color-primary);content:"";pointer-events:none}.dou-tree__node.is-drop-before:before{top:-1px}.dou-tree__node.is-drop-after:before{bottom:-1px}.dou-tree__node.is-drop-inside{background-color:color-mix(in oklab,var(--dou-color-primary) 10%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--dou-color-primary) 55%,transparent)}.dou-tree__ghost{position:fixed;top:0;left:0;z-index:9999;display:flex;align-items:center;box-sizing:border-box;max-width:240px;height:28px;padding:0 10px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-md);color:var(--dou-color-text);font-family:var(--dou-font-family);font-size:var(--dou-font-size-sm);white-space:nowrap;pointer-events:none}.dou-tree__ghost>.dou-tree__label{gap:6px}.dou-tree__empty{padding:12px 8px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);text-align:center}}@layer dou.components{.dou-tree-select__menu{--dou-tree-select-list-max-height: calc( min(var(--dou-floating-available, 100vh), 320px) - 2 * var(--dou-select-menu-inset, 4px) - 2px );max-height:min(var(--dou-floating-available, 100vh),320px)}.dou-tree-select__menu>.dou-tree{background-color:transparent}}@layer dou.components{.dou-prose{color:var(--dou-color-text-secondary);font-size:16px;line-height:1.75;overflow-wrap:break-word}@scope (.dou-prose) to (.dou-not-prose,[class*="dou-"]:not(.dou-prose)){:where(h1){margin:0 0 24px;color:var(--dou-color-text);font-size:30px;font-weight:var(--dou-font-weight-bold);letter-spacing:-.01em;line-height:1.3}:where(h2){padding-top:24px;margin:48px 0 16px;border-top:1px solid var(--dou-color-border-subtle);color:var(--dou-color-text);font-size:22px;font-weight:var(--dou-font-weight-bold);line-height:1.4}:where(h3){margin:32px 0 12px;color:var(--dou-color-text);font-size:18px;font-weight:var(--dou-font-weight-bold);line-height:1.5}:where(h4),:where(h5),:where(h6){margin:24px 0 8px;color:var(--dou-color-text);font-size:16px;font-weight:var(--dou-font-weight-bold);line-height:1.6}:where(p){margin:16px 0}:where(a){color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium);text-decoration-line:underline;text-decoration-color:color-mix(in oklab,var(--dou-color-text) 28%,transparent);text-decoration-thickness:1px;text-underline-offset:.25em;transition:text-decoration-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}:where(a:hover){text-decoration-color:var(--dou-color-text)}:where(a:focus-visible){border-radius:2px;outline:2px solid var(--dou-color-focus);outline-offset:2px}:where(strong),:where(b){color:var(--dou-color-text);font-weight:var(--dou-font-weight-bold)}:where(ul),:where(ol){padding-left:1.375em;margin:16px 0}:where(ul){list-style:disc}:where(ol){list-style:decimal}:where(li){padding-left:.25em}:where(li+li){margin-top:6px}:where(li)::marker{color:var(--dou-color-text-tertiary)}:where(li>ul),:where(li>ol){margin:6px 0}:where(blockquote){padding-left:16px;margin:20px 0;border-left:2px solid var(--dou-color-border-strong);color:var(--dou-color-text-tertiary)}:where(code){padding:.15em .4em;border-radius:4px;background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text);font-family:var(--dou-font-family-mono);font-size:.875em;overflow-wrap:break-word}:where(pre){margin:20px 0;padding:16px 20px;overflow-x:auto;border:1px solid var(--dou-color-border-subtle);border-radius:var(--dou-radius-container);background-color:color-mix(in oklab,var(--dou-color-text) 2.5%,var(--dou-color-bg-surface));font-family:var(--dou-font-family-mono);font-size:13px;line-height:1.7;-moz-tab-size:2;tab-size:2}:where(pre code){padding:0;border-radius:0;background:transparent;color:inherit;font-size:inherit;overflow-wrap:normal}:where(table){display:block;max-width:100%;margin:20px 0;overflow-x:auto;border-collapse:collapse;font-size:var(--dou-font-size-md);line-height:1.6}:where(th),:where(td){padding:8px 12px;border-bottom:1px solid var(--dou-color-border-subtle);text-align:left;vertical-align:top}:where(th){border-bottom-color:var(--dou-color-border);color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium);white-space:nowrap}:where(hr){height:0;margin:40px 0;border:0;border-top:1px solid var(--dou-color-border)}:where(img),:where(video){max-width:100%;height:auto;border-radius:var(--dou-radius-control)}:where(figure){margin:24px 0}:where(figcaption){margin-top:8px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);text-align:center}:where(dt){color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium)}:where(dd){margin:4px 0 12px 1.375em}:where(mark){padding:0 .15em;border-radius:2px;background-color:color-mix(in oklab,var(--dou-color-warning) 22%,transparent);color:inherit}:where(:scope>:first-child){margin-top:0}:where(:scope>:last-child){margin-bottom:0}}}@layer dou.components{.dou-upload{--dou-upload-font-size: var(--dou-font-size-md);--dou-upload-thumb: 32px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;color:var(--dou-color-text);font-size:var(--dou-upload-font-size)}.dou-upload--sm{--dou-upload-font-size: var(--dou-font-size-sm);--dou-upload-thumb: 28px}.dou-upload--lg{--dou-upload-font-size: var(--dou-font-size-lg);--dou-upload-thumb: 40px}.dou-upload__native{display:none}.dou-upload__trigger{display:inline-flex}.dou-upload__hint{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);line-height:1.5}.dou-upload__zone{--dou-upload-zone-border: var(--dou-color-border-strong);display:flex;flex-direction:column;align-items:center;gap:8px;box-sizing:border-box;width:100%;padding:28px 20px;border:1px dashed var(--dou-upload-zone-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface);text-align:center;cursor:pointer;outline:none;transition-property:border-color,background-color,box-shadow;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-upload__zone:hover{--dou-upload-zone-border: color-mix( in oklab, var(--dou-color-text) 40%, var(--dou-color-border-strong) )}.dou-upload__zone:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-upload__zone.is-dragging{--dou-upload-zone-border: var(--dou-color-text-secondary);border-style:solid;background-color:color-mix(in oklab,var(--dou-color-text) 3%,var(--dou-color-bg-surface))}.dou-upload.is-disabled .dou-upload__zone{background-color:var(--dou-color-bg-muted);color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-upload.is-disabled .dou-upload__zone:hover{--dou-upload-zone-border: var(--dou-color-border-strong)}.dou-upload__zone-icon{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:40px;height:40px;margin-bottom:4px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);color:var(--dou-color-text-secondary)}.dou-upload__zone-icon>svg{width:1em;height:1em;font-size:20px}.dou-upload__zone-text{color:var(--dou-color-text-secondary);line-height:1.5}.dou-upload__zone-link{margin-left:.25em;color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium);text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--dou-color-text) 30%,transparent);text-underline-offset:3px}.dou-upload__list{display:flex;flex-direction:column;gap:2px;box-sizing:border-box;width:100%;padding:0;margin:0;list-style:none}.dou-upload__file{display:flex;align-items:center;gap:10px;box-sizing:border-box;min-height:calc(var(--dou-upload-thumb) + 12px);padding:6px;border-radius:var(--dou-radius-control);transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-upload__file:hover{background-color:color-mix(in oklab,var(--dou-color-text) 4%,transparent)}.dou-upload__thumb{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;box-sizing:border-box;width:var(--dou-upload-thumb);height:var(--dou-upload-thumb);overflow-x:clip;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);color:var(--dou-color-text-tertiary)}.dou-upload__thumb>img{width:100%;height:100%;object-fit:cover}.dou-upload__thumb>svg{width:1em;height:1em;font-size:16px}.dou-upload__file.is-error .dou-upload__thumb{border-color:color-mix(in oklab,var(--dou-color-danger) 40%,var(--dou-color-border));color:var(--dou-color-danger-text)}.dou-upload__meta{display:flex;flex:1 1 auto;flex-direction:column;gap:4px;min-width:0}.dou-upload__name{overflow-x:clip;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.dou-upload__name>a{color:inherit;text-decoration:none}.dou-upload__name>a:hover{text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--dou-color-text) 30%,transparent);text-underline-offset:3px}.dou-upload__detail{display:flex;gap:8px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);font-variant-numeric:tabular-nums;line-height:1.3}.dou-upload__file.is-error .dou-upload__status{color:var(--dou-color-danger-text)}.dou-upload__progress{width:100%}.dou-upload__actions{display:flex;flex-shrink:0;gap:2px}.dou-upload__action{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:calc(var(--dou-radius-control) - 2px);background:transparent;color:var(--dou-color-text-tertiary);cursor:pointer}.dou-upload__action>svg{width:1em;height:1em;font-size:14px}.dou-upload__action:hover:not(:disabled){background-color:color-mix(in oklab,var(--dou-color-text) 8%,transparent);color:var(--dou-color-text)}.dou-upload__action:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}.dou-upload__action:disabled{cursor:not-allowed;opacity:.45}.dou-upload.is-cards{--dou-upload-card-size: 104px}.dou-upload--sm.is-cards{--dou-upload-card-size: 80px}.dou-upload--lg.is-cards{--dou-upload-card-size: 128px}.dou-upload__cards{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}.dou-upload__card,.dou-upload__card-slot{position:relative;box-sizing:border-box;width:var(--dou-upload-card-size);height:var(--dou-upload-card-size);border-radius:calc(var(--dou-radius-control) + 2px)}.dou-upload__card{overflow:hidden;border:1px solid var(--dou-color-border);background-color:var(--dou-color-bg-muted);box-shadow:var(--dou-shadow-sm)}.dou-upload__card.is-error{border-color:color-mix(in oklab,var(--dou-color-danger) 55%,var(--dou-color-border))}.dou-upload__card-image{display:block;width:100%;height:100%;object-fit:cover}.dou-upload__card-file{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;height:100%;padding:8px;color:var(--dou-color-text-tertiary)}.dou-upload__card-file>svg{width:24px;height:24px}.dou-upload__card-name{max-width:100%;overflow-x:clip;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.dou-upload__card-progress,.dou-upload__card-error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px;background-color:color-mix(in oklab,var(--dou-color-bg-surface) 82%,transparent);color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dou-upload__card-progress .dou-progress,.dou-upload__card-error .dou-progress{width:100%}.dou-upload__card-error{color:var(--dou-color-danger-text)}.dou-upload__card-actions{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:4px;background-color:color-mix(in oklab,black 45%,transparent);opacity:0;transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-upload__card:hover .dou-upload__card-actions,.dou-upload__card-actions:focus-within{opacity:1}.dou-upload__card.is-uploading .dou-upload__card-actions{inset:4px 4px auto auto;background:transparent}.dou-upload__card-action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--dou-radius-control);background:transparent;color:#fff;cursor:pointer}.dou-upload__card-action>svg{width:16px;height:16px}.dou-upload__card-action:hover:not(:disabled){background-color:color-mix(in oklab,white 18%,transparent)}.dou-upload__card-action:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:0}.dou-upload__card-action:disabled{cursor:not-allowed;opacity:.5}.dou-upload__card.is-uploading .dou-upload__card-action{width:22px;height:22px;color:var(--dou-color-text-secondary)}.dou-upload__card.is-uploading .dou-upload__card-action:hover:not(:disabled){background-color:color-mix(in oklab,var(--dou-color-text) 8%,transparent)}.dou-upload__card-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;width:100%;height:100%;padding:0;border:1px dashed var(--dou-color-border-strong);border-radius:inherit;background-color:var(--dou-color-bg-surface);color:var(--dou-color-text-secondary);font:inherit;font-size:var(--dou-font-size-sm);cursor:pointer;transition-property:border-color,color,background-color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-upload__card-trigger>svg{width:20px;height:20px}.dou-upload__card-trigger:hover:not(:disabled){border-color:var(--dou-color-text-tertiary);background-color:color-mix(in oklab,var(--dou-color-text) 3%,var(--dou-color-bg-surface));color:var(--dou-color-text)}.dou-upload__card-trigger:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-upload__card-trigger:disabled{background-color:var(--dou-color-bg-muted);color:var(--dou-color-text-disabled);cursor:not-allowed}}@layer dou.components{.dou-virtual-list{position:relative;overflow-y:auto;overscroll-behavior:contain;outline:none}.dou-virtual-list:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.dou-virtual-list__spacer{position:relative;width:100%}.dou-virtual-list__item{position:absolute;top:0;left:0;box-sizing:border-box;width:100%}}@layer dou.components{.dou-watermark{--dou-watermark-color: var(--dou-color-text);position:relative}.dou-watermark__layer{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--dou-watermark-color);background-repeat:repeat;-webkit-mask-repeat:repeat;mask-repeat:repeat;pointer-events:none;-webkit-user-select:none;user-select:none}.dou-watermark__layer.is-image,.dou-watermark__layer:not([style*=mask-image]){background-color:transparent}.dou-watermark.is-fullscreen>.dou-watermark__layer{position:fixed}@media print{.dou-watermark__layer{-webkit-print-color-adjust:exact;print-color-adjust:exact}}}@layer dou.components{.dou-field-group{display:inline-flex;align-items:stretch;max-width:100%;vertical-align:middle;isolation:isolate}.dou-field-group>*{position:relative;flex:1 1 auto;width:auto;min-width:0}.dou-field-group>:is(.dou-button,.dou-field-group-text){flex:0 0 auto}.dou-field-group>:hover{z-index:1}.dou-field-group>:is(:focus-visible,:focus-within,.is-open){z-index:2}.dou-field-group.is-block{display:flex;width:100%}.dou-field-group--horizontal>:not(:first-child){margin-inline-start:-1px;border-start-start-radius:0;border-end-start-radius:0}.dou-field-group--horizontal>:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.dou-field-group--vertical{flex-direction:column}.dou-field-group--vertical>*{flex:0 0 auto}.dou-field-group--vertical>:not(:first-child){margin-block-start:-1px;border-start-start-radius:0;border-start-end-radius:0}.dou-field-group--vertical>:not(:last-child){border-end-start-radius:0;border-end-end-radius:0}.dou-field-group-text{--dou-field-group-text-height: var(--dou-control-height-md);--dou-field-group-text-padding-x: var(--dou-control-padding-x-md);--dou-field-group-text-font-size: var(--dou-font-size-md);display:inline-flex;flex-shrink:0;align-items:center;gap:6px;box-sizing:border-box;min-height:var(--dou-field-group-text-height);padding:0 var(--dou-field-group-text-padding-x);border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:color-mix(in oklab,var(--dou-color-text) 4%,var(--dou-color-bg-surface));color:var(--dou-color-text-secondary);font-size:var(--dou-field-group-text-font-size);line-height:1;white-space:nowrap}.dou-field-group-text>svg{width:1em;height:1em}.dou-field-group-text--sm{--dou-field-group-text-height: var(--dou-control-height-sm);--dou-field-group-text-padding-x: var(--dou-control-padding-x-sm);--dou-field-group-text-font-size: var(--dou-font-size-sm)}.dou-field-group-text--lg{--dou-field-group-text-height: var(--dou-control-height-lg);--dou-field-group-text-padding-x: var(--dou-control-padding-x-lg);--dou-field-group-text-font-size: var(--dou-font-size-lg)}}@layer dou.components{.dou-find-replace{display:flex;gap:2px;align-items:flex-start;box-sizing:border-box;max-width:100%;padding:4px;border:1px solid var(--dou-color-border);border-radius:calc(var(--dou-radius-control) + 5px);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-md);color:var(--dou-color-text);font-family:var(--dou-font-family);font-size:var(--dou-font-size-sm);line-height:normal}.dou-find-replace .dou-button{flex:none}.dou-find-replace__rows{display:flex;flex-direction:column;gap:4px;min-width:0}.dou-find-replace__row{display:flex;gap:2px;align-items:center;min-width:0}.dou-find-replace__field{display:flex;flex:1 1 auto;gap:1px;align-items:center;box-sizing:border-box;width:260px;min-width:0;height:var(--dou-control-height-sm);padding-right:2px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);transition:border-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-find-replace__field:focus-within{border-color:var(--dou-color-focus)}.dou-find-replace__field.is-invalid{border-color:var(--dou-color-danger)}.dou-find-replace__field .dou-toggle{--dou-button-height: calc(var(--dou-control-height-sm) - 6px);flex:none}.dou-find-replace__input{flex:1 1 auto;min-width:0;height:100%;padding:0 8px;border:0;outline:none;background:transparent;color:var(--dou-color-text);font:inherit;font-family:var(--dou-font-family-mono);font-size:max(var(--dou-font-size-input-min),var(--dou-font-size-sm))}.dou-find-replace__input::placeholder{color:var(--dou-color-text-tertiary);font-family:var(--dou-font-family)}.dou-find-replace__status{flex:none;min-width:64px;padding:0 6px;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.dou-find-replace__status.is-empty{color:var(--dou-color-text-tertiary)}@media (pointer: coarse){.dou-find-replace .dou-find-replace__field{height:40px}.dou-find-replace .dou-find-replace__field .dou-toggle{--dou-button-height: 34px}.dou-find-replace .dou-button:not(.dou-toggle){--dou-button-height: 40px}}@container (max-width: 480px){.dou-find-replace,.dou-find-replace .dou-find-replace__rows{flex:1 1 auto}.dou-find-replace .dou-find-replace__field{width:auto}.dou-find-replace .dou-find-replace__row:first-child{flex-wrap:wrap;row-gap:4px}.dou-find-replace .dou-find-replace__row:first-child>.dou-find-replace__field{flex-basis:100%}.dou-find-replace .dou-find-replace__status{min-width:0;margin-right:auto;padding:0 4px}}}@layer dou.components{.dou-shimmer{--dou-shimmer-base: var(--dou-color-text-tertiary);--dou-shimmer-highlight: var(--dou-color-text);--dou-shimmer-duration: var(--dou-motion-loop-sweep)}.dou-shimmer.is-active{background-image:linear-gradient(90deg,var(--dou-shimmer-base) 0%,var(--dou-shimmer-base) 35%,var(--dou-shimmer-highlight) 50%,var(--dou-shimmer-base) 65%,var(--dou-shimmer-base) 100%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:dou-shimmer-sweep var(--dou-shimmer-duration) linear var(--dou-motion-loop-count)}@media (prefers-reduced-motion: reduce){:root:not([data-dou-motion]) .dou-shimmer.is-active{background-image:none;color:var(--dou-shimmer-base)}}:is([data-dou-motion=reduce],[data-dou-motion=none]) .dou-shimmer.is-active{background-image:none;color:var(--dou-shimmer-base)}@keyframes dou-shimmer-sweep{0%{background-position:100% 0}to{background-position:0 0}}}@layer dou.components{.dou-stream-text{--dou-stream-text-caret: currentColor;overflow-wrap:anywhere}.dou-stream-text.is-plain{white-space:pre-wrap}.dou-stream-text__caret{display:inline-block;width:2px;height:1.1em;margin-left:2px;border-radius:1px;background-color:var(--dou-stream-text-caret);vertical-align:-.2em;animation:dou-stream-text-blink 1s steps(1) var(--dou-motion-loop-count)}@keyframes dou-stream-text-blink{50%{opacity:0}}}@layer dou.components{.dou-chat-bubble{--dou-chat-bubble-bg: color-mix( in oklab, var(--dou-color-text) 5%, var(--dou-color-bg-surface) );--dou-chat-bubble-fg: var(--dou-color-text);--dou-chat-bubble-border: transparent;--dou-chat-bubble-radius: var(--dou-radius-container);--dou-chat-bubble-padding: 8px 14px;--dou-chat-bubble-max-width: 80%;display:flex;align-items:flex-start;gap:12px;min-width:0;color:var(--dou-color-text);font-size:var(--dou-font-size-md);line-height:var(--dou-font-line-height)}.dou-chat-bubble--end{flex-direction:row-reverse}.dou-chat-bubble--outline{--dou-chat-bubble-bg: var(--dou-color-bg-surface);--dou-chat-bubble-border: var(--dou-color-border)}.dou-chat-bubble--ghost{--dou-chat-bubble-bg: transparent;--dou-chat-bubble-padding: 0;--dou-chat-bubble-max-width: 100%}.dou-chat-bubble__avatar{flex:none}.dou-chat-bubble__body{display:flex;flex:1 1 auto;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.dou-chat-bubble--end>.dou-chat-bubble__body{align-items:flex-end}.dou-chat-bubble__header{display:flex;align-items:baseline;gap:8px;font-size:var(--dou-font-size-sm);line-height:20px}.dou-chat-bubble__name{color:var(--dou-color-text-secondary);font-weight:var(--dou-font-weight-medium)}.dou-chat-bubble__time{color:var(--dou-color-text-tertiary);font-variant-numeric:tabular-nums}.dou-chat-bubble__content{box-sizing:border-box;max-width:var(--dou-chat-bubble-max-width);min-width:0;padding:var(--dou-chat-bubble-padding);border:1px solid var(--dou-chat-bubble-border);border-radius:var(--dou-chat-bubble-radius);background-color:var(--dou-chat-bubble-bg);color:var(--dou-chat-bubble-fg);overflow-wrap:anywhere}.dou-chat-bubble--ghost>.dou-chat-bubble__body>.dou-chat-bubble__content{width:100%;border:0}.dou-chat-bubble--ghost.is-with-avatar:not(:has(.dou-chat-bubble__header)) .dou-chat-bubble__content{padding-top:5px}.dou-chat-bubble__text{white-space:pre-wrap}.dou-chat-bubble__footer{display:flex;flex-wrap:wrap;align-items:center;gap:2px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.dou-chat-bubble__footer>.dou-button--ghost:not(:hover,:focus-visible){color:inherit}.dou-chat-bubble--center{justify-content:center}.dou-chat-bubble--center>.dou-chat-bubble__body{flex:0 1 auto;align-items:center}.dou-chat-bubble--center .dou-chat-bubble__content{--dou-chat-bubble-max-width: 100%;padding:2px 12px;border-radius:var(--dou-radius-full);color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);text-align:center}.dou-chat-bubble--center.dou-chat-bubble--ghost .dou-chat-bubble__content{padding:0}.dou-chat-bubble__dots{display:inline-flex;align-items:center;gap:4px;height:calc(1em * var(--dou-font-line-height));vertical-align:top}.dou-chat-bubble__dots>i{width:6px;height:6px;border-radius:50%;background-color:var(--dou-color-text-tertiary);animation:dou-chat-bubble-dot var(--dou-motion-loop-pulse) ease-in-out var(--dou-motion-loop-count)}.dou-chat-bubble__dots>i:nth-child(2){animation-delay:calc(var(--dou-motion-loop-pulse) / 8)}.dou-chat-bubble__dots>i:nth-child(3){animation-delay:calc(var(--dou-motion-loop-pulse) / 4)}@keyframes dou-chat-bubble-dot{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}}@layer dou.components{.dou-chat-list{--dou-chat-list-gap: 24px;--dou-chat-list-padding: 16px;position:relative;display:flex;flex-direction:column;min-height:0}.dou-chat-list__viewport{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;outline:none}.dou-chat-list__viewport:focus-visible{border-radius:var(--dou-radius-control);box-shadow:inset 0 0 0 2px var(--dou-color-focus)}.dou-chat-list__content{display:flex;flex-direction:column;gap:var(--dou-chat-list-gap);padding:var(--dou-chat-list-padding)}.dou-chat-list.is-virtual .dou-virtual-list__spacer{box-sizing:content-box;margin-top:calc(var(--dou-chat-list-padding) - var(--dou-chat-list-gap));padding-bottom:var(--dou-chat-list-padding)}.dou-chat-list.is-virtual .dou-virtual-list__item{display:flex;flex-direction:column;padding:var(--dou-chat-list-gap) var(--dou-chat-list-padding) 0}.dou-chat-list__scroll{position:absolute;bottom:12px;left:50%;translate:-50% 0}.dou-chat-list__scroll-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-full);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-md);color:var(--dou-color-text-secondary);font-size:16px;cursor:pointer;transition:color var(--dou-motion-duration-fast) var(--dou-motion-easing),border-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-chat-list__scroll-button:hover{border-color:var(--dou-color-border-strong);color:var(--dou-color-text)}.dou-chat-list__scroll-button:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-chat-list-button-enter-active,.dou-chat-list-button-leave-active{transition-property:opacity,translate;transition-duration:var(--dou-motion-duration-normal);transition-timing-function:var(--dou-motion-easing-enter)}.dou-chat-list-button-leave-active{transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing-exit)}.dou-chat-list-button-enter-from,.dou-chat-list-button-leave-to{opacity:0;translate:-50% var(--dou-motion-distance-md)}}@layer dou.components{.dou-chat-input{--dou-chat-input-bg: var(--dou-color-bg-surface);--dou-chat-input-border: var(--dou-color-border);--dou-chat-input-border-hover: var(--dou-color-border-strong);--dou-chat-input-border-focus: color-mix( in oklab, var(--dou-color-focus) 70%, var(--dou-color-text) );--dou-chat-input-ring: color-mix(in oklab, var(--dou-color-focus) 32%, transparent);--dou-chat-input-shadow: var(--dou-shadow-md);--dou-chat-input-radius: 16px;--dou-chat-input-line-height: 22px;position:relative;display:flex;flex-direction:column;gap:8px;box-sizing:border-box;width:100%;padding:9px;border:1px solid var(--dou-chat-input-border);border-radius:var(--dou-chat-input-radius);background-color:var(--dou-chat-input-bg);box-shadow:var(--dou-chat-input-shadow);color:var(--dou-color-text);font-size:var(--dou-font-size-md);cursor:text;transition-property:border-color,box-shadow,background-color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-chat-input:hover{border-color:var(--dou-chat-input-border-hover)}.dou-chat-input:focus-within{border-color:var(--dou-chat-input-border-focus);box-shadow:0 0 0 3px var(--dou-chat-input-ring),var(--dou-chat-input-shadow)}.dou-chat-input.is-dragging{--dou-chat-input-bg: color-mix( in oklab, var(--dou-color-primary) 4%, var(--dou-color-bg-surface) );border-style:dashed;border-color:var(--dou-color-primary)}.dou-chat-input.dou-chat-input--sm{--dou-chat-input-radius: 12px;--dou-chat-input-line-height: 20px;gap:4px;padding:5px;font-size:var(--dou-font-size-sm)}.dou-chat-input.dou-chat-input--lg{--dou-chat-input-radius: 18px;--dou-chat-input-line-height: 24px;padding:11px;font-size:var(--dou-font-size-lg)}.dou-chat-input.is-disabled{--dou-chat-input-bg: var(--dou-color-bg-muted);--dou-chat-input-border-hover: var(--dou-chat-input-border);--dou-chat-input-shadow: none;cursor:not-allowed}.dou-chat-input__header{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.dou-chat-input__native{box-sizing:border-box;width:100%;margin:0;padding:0 4px;border:0;outline:none;background:none;color:inherit;font:inherit;font-size:max(var(--dou-font-size-input-min, 0px),1em);line-height:var(--dou-chat-input-line-height);resize:none}.dou-chat-input__native::placeholder{color:var(--dou-color-text-tertiary);opacity:1}.dou-chat-input__native:disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-chat-input__footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.dou-chat-input__actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0}.dou-chat-input__submit.dou-button{flex:none;border-radius:var(--dou-radius-full)}.dou-chat-input__menu{--dou-chat-input-menu-inset: 4px;box-sizing:border-box;width:min(360px,var(--dou-chat-input-menu-width, 360px),calc(100vw - 16px));max-height:min(var(--dou-floating-available, 100vh),280px);margin:0;padding:var(--dou-chat-input-menu-inset);overflow-y:auto;border:1px solid var(--dou-color-border);border-radius:calc(var(--dou-radius-control) + var(--dou-chat-input-menu-inset));background-color:var(--dou-color-bg-surface);color:var(--dou-color-text);font-family:var(--dou-font-family);box-shadow:var(--dou-shadow-md);list-style:none;cursor:default}.dou-chat-input__option{display:flex;align-items:center;gap:8px;min-width:0;padding:6px 8px;border-radius:var(--dou-radius-control);font-size:var(--dou-font-size-sm);line-height:20px;cursor:pointer}.dou-chat-input__option.is-active{background-color:var(--dou-color-bg-muted)}.dou-chat-input__option.is-disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-chat-input__option-icon{flex:none;color:var(--dou-color-text-secondary);font-size:16px}.dou-chat-input__option-label{flex:none;font-weight:var(--dou-font-weight-medium)}.dou-chat-input__option-description{overflow-x:clip;min-width:0;color:var(--dou-color-text-tertiary);text-overflow:ellipsis;white-space:nowrap}}@layer dou.components{.dou-chat-reasoning{color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-md);line-height:var(--dou-font-line-height)}.dou-chat-reasoning__trigger{display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:0;padding:2px 0;border:0;border-radius:var(--dou-radius-control);background:none;color:inherit;font:inherit;cursor:pointer;transition:color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-chat-reasoning__trigger:hover{color:var(--dou-color-text)}.dou-chat-reasoning__trigger:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-chat-reasoning__icon{flex:none;font-size:16px}.dou-chat-reasoning.is-thinking .dou-chat-reasoning__icon{animation:dou-chat-reasoning-breathe var(--dou-motion-loop-pulse) ease-in-out var(--dou-motion-loop-count)}.dou-chat-reasoning__title{overflow-x:clip;min-width:0;text-overflow:ellipsis;white-space:nowrap}.dou-chat-reasoning__arrow{flex:none;font-size:14px;transition:rotate var(--dou-motion-duration-normal) var(--dou-motion-easing)}.dou-chat-reasoning.is-open .dou-chat-reasoning__arrow{rotate:180deg}.dou-chat-reasoning__content{padding:8px 0 4px 7px}.dou-chat-reasoning__text{padding-left:15px;border-left:2px solid var(--dou-color-border);font-size:var(--dou-font-size-sm);line-height:22px;white-space:pre-wrap}@keyframes dou-chat-reasoning-breathe{0%,to{opacity:1;scale:1}50%{opacity:.5;scale:.85}}}@layer dou.components{.dou-chat-tool-call{--dou-chat-tool-call-status: var(--dou-color-text-secondary);overflow:hidden;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface);color:var(--dou-color-text);font-size:var(--dou-font-size-sm);line-height:20px}.dou-chat-tool-call--pending{--dou-chat-tool-call-status: var(--dou-color-warning-text)}.dou-chat-tool-call--success{--dou-chat-tool-call-status: var(--dou-color-success-text)}.dou-chat-tool-call--error{--dou-chat-tool-call-status: var(--dou-color-danger-text)}.dou-chat-tool-call__header{display:flex;align-items:center;gap:8px;box-sizing:border-box;width:100%;margin:0;padding:8px 12px;border:0;background:none;color:inherit;font:inherit;text-align:left}.dou-chat-tool-call__header:not(button){padding-inline-end:34px}.dou-chat-tool-call__header:is(button){cursor:pointer}.dou-chat-tool-call__header:is(button):hover{background-color:color-mix(in oklab,var(--dou-color-text) 3%,transparent)}.dou-chat-tool-call__header:is(button):focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px;border-radius:calc(var(--dou-radius-container) - 2px)}.dou-chat-tool-call__icon{display:inline-flex;flex:none;color:var(--dou-color-text-tertiary);font-size:16px}.dou-chat-tool-call__title{flex:1 1 auto;overflow-x:clip;min-width:0;text-overflow:ellipsis;white-space:nowrap}.dou-chat-tool-call__name{font-family:var(--dou-font-family-mono);font-size:12px}.dou-chat-tool-call__status{display:inline-flex;flex:none;align-items:center;gap:4px;color:var(--dou-chat-tool-call-status)}.dou-chat-tool-call__status>svg{font-size:14px}.dou-chat-tool-call__arrow{flex:none;color:var(--dou-color-text-tertiary);font-size:14px;transition:rotate var(--dou-motion-duration-normal) var(--dou-motion-easing)}.dou-chat-tool-call.is-open .dou-chat-tool-call__arrow{rotate:180deg}.dou-chat-tool-call__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:8px 12px;border-top:1px solid var(--dou-color-border-subtle);background-color:color-mix(in oklab,var(--dou-color-text) 2%,var(--dou-color-bg-surface))}.dou-chat-tool-call__panel{border-top:1px solid var(--dou-color-border-subtle)}.dou-chat-tool-call__body{display:flex;flex-direction:column;gap:12px;padding:12px}.dou-chat-tool-call__section{display:flex;flex-direction:column;gap:6px}.dou-chat-tool-call__label{margin:0;color:var(--dou-color-text-tertiary);font-size:12px;font-weight:var(--dou-font-weight-medium);line-height:16px}.dou-chat-tool-call__code{overflow:auto;max-height:240px;margin:0;padding:8px 10px;border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-muted);color:var(--dou-color-text-secondary);font-family:var(--dou-font-family-mono);font-size:12px;line-height:18px;white-space:pre-wrap;overflow-wrap:anywhere}.dou-chat-tool-call__code.is-error{color:var(--dou-color-danger-text)}}@layer dou.components{.dou-chat-suggestions{--dou-chat-suggestions-columns: auto-fill;--dou-chat-suggestions-min: 200px;display:flex;flex-direction:column;gap:8px;min-width:0;color:var(--dou-color-text);font-size:var(--dou-font-size-md)}.dou-chat-suggestions__title{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);line-height:20px}.dou-chat-suggestions__list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.dou-chat-suggestions--card>.dou-chat-suggestions__list{display:grid;grid-template-columns:repeat(var(--dou-chat-suggestions-columns),minmax(min(var(--dou-chat-suggestions-min),100%),1fr))}.dou-chat-suggestions--card.is-columns>.dou-chat-suggestions__list{grid-template-columns:repeat(var(--dou-chat-suggestions-columns),minmax(0,1fr))}.dou-chat-suggestions__list>li{display:flex;min-width:0}.dou-chat-suggestions__item{display:inline-flex;align-items:center;gap:6px;box-sizing:border-box;min-width:0;height:32px;margin:0;padding:0 12px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-full);background-color:var(--dou-color-bg-surface);color:inherit;font:inherit;font-size:var(--dou-font-size-sm);text-align:left;cursor:pointer;transition-property:background-color,border-color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-chat-suggestions__item:hover:not(:disabled){border-color:var(--dou-color-border-strong);background-color:color-mix(in oklab,var(--dou-color-text) 4%,var(--dou-color-bg-surface))}.dou-chat-suggestions__item:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-chat-suggestions__item:disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-chat-suggestions--card .dou-chat-suggestions__item{flex-direction:column;align-items:flex-start;gap:8px;width:100%;height:auto;padding:12px 14px;border-radius:var(--dou-radius-container);font-size:var(--dou-font-size-md)}.dou-chat-suggestions__icon{flex:none;color:var(--dou-color-text-secondary);font-size:16px}.dou-chat-suggestions--card .dou-chat-suggestions__icon{font-size:18px}.dou-chat-suggestions__text{display:flex;flex-direction:column;gap:2px;min-width:0}.dou-chat-suggestions__label{overflow-x:clip;text-overflow:ellipsis;white-space:nowrap}.dou-chat-suggestions--card .dou-chat-suggestions__label{font-weight:var(--dou-font-weight-medium);line-height:22px;white-space:normal}.dou-chat-suggestions__description{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);line-height:20px}}@layer dou.components{.dou-chat-attachments{--dou-chat-attachments-size: 56px;--dou-chat-attachments-width: 220px;display:flex;flex-wrap:wrap;gap:8px;min-width:0;margin:0;padding:0;list-style:none;color:var(--dou-color-text);font-size:var(--dou-font-size-sm)}.dou-chat-attachments__item{position:relative;display:flex;min-width:0;max-width:100%}.dou-chat-attachments__main{position:relative;display:flex;align-items:center;gap:10px;box-sizing:border-box;width:var(--dou-chat-attachments-width);max-width:100%;height:var(--dou-chat-attachments-size);margin:0;padding:7px 12px 7px 7px;overflow:hidden;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-chat-attachments__main:hover{border-color:var(--dou-color-border-strong)}.dou-chat-attachments__main:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-chat-attachments__item.is-thumb>.dou-chat-attachments__main{width:var(--dou-chat-attachments-size);padding:0}.dou-chat-attachments__item.is-error>.dou-chat-attachments__main{border-color:color-mix(in oklab,var(--dou-color-danger) 45%,var(--dou-color-border))}.dou-chat-attachments__image{display:block;width:100%;height:100%;object-fit:cover}.dou-chat-attachments__icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background-color:var(--dou-color-bg-muted);color:var(--dou-color-text-secondary);font-size:20px}.dou-chat-attachments__meta{display:flex;flex-direction:column;min-width:0}.dou-chat-attachments__name{overflow-x:clip;font-weight:var(--dou-font-weight-medium);line-height:20px;text-overflow:ellipsis;white-space:nowrap}.dou-chat-attachments__detail{overflow-x:clip;color:var(--dou-color-text-tertiary);font-size:12px;line-height:16px;text-overflow:ellipsis;white-space:nowrap}.dou-chat-attachments__item.is-error .dou-chat-attachments__detail{color:var(--dou-color-danger-text)}.dou-chat-attachments__progress{position:absolute;right:0;bottom:0;left:0;height:2px;background-color:var(--dou-color-border)}.dou-chat-attachments__progress>span{display:block;height:100%;background-color:var(--dou-color-primary);transition:width var(--dou-motion-duration-normal) var(--dou-motion-easing)}.dou-chat-attachments__remove{position:absolute;top:-6px;right:-6px;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin:0;padding:0;border:2px solid var(--dou-color-bg-surface);border-radius:var(--dou-radius-full);background-color:var(--dou-color-neutral);color:var(--dou-color-neutral-on);font-size:12px;cursor:pointer;opacity:0;transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-chat-attachments__item:hover>.dou-chat-attachments__remove,.dou-chat-attachments__item:focus-within>.dou-chat-attachments__remove,.dou-chat-attachments__remove:focus-visible{opacity:1}.dou-chat-attachments__remove:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}@media (hover: none){.dou-chat-attachments__remove{opacity:1}}}@layer dou.components{.dou-chat-plan{overflow:hidden;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface);color:var(--dou-color-text);font-size:var(--dou-font-size-sm);line-height:20px}.dou-chat-plan__header{display:flex;align-items:center;gap:8px;box-sizing:border-box;width:100%;margin:0;padding:10px 12px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.dou-chat-plan__header:hover{background-color:color-mix(in oklab,var(--dou-color-text) 3%,transparent)}.dou-chat-plan__header:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px;border-radius:var(--dou-radius-container)}.dou-chat-plan__icon{flex:none;color:var(--dou-color-text-tertiary);font-size:16px}.dou-chat-plan__title{flex:1 1 auto;font-weight:var(--dou-font-weight-medium)}.dou-chat-plan__count{color:var(--dou-color-text-tertiary);font-variant-numeric:tabular-nums}.dou-chat-plan__arrow{flex:none;color:var(--dou-color-text-tertiary);font-size:14px;transition:rotate var(--dou-motion-duration-normal) var(--dou-motion-easing)}.dou-chat-plan.is-open .dou-chat-plan__arrow{rotate:180deg}.dou-chat-plan__list{display:flex;flex-direction:column;gap:2px;margin:0;padding:0 12px 10px;list-style:none}.dou-chat-plan__item{display:flex;align-items:flex-start;gap:8px;padding:4px 0}.dou-chat-plan__mark{display:inline-flex;flex:none;align-items:center;justify-content:center;width:16px;height:20px;color:var(--dou-color-text-tertiary);font-size:14px}.dou-chat-plan__item.is-done .dou-chat-plan__mark{color:var(--dou-color-success-text)}.dou-chat-plan__item.is-error .dou-chat-plan__mark{color:var(--dou-color-danger-text)}.dou-chat-plan__dot{box-sizing:border-box;width:12px;height:12px;border:1.5px solid var(--dou-color-border-strong);border-radius:50%}.dou-chat-plan__text{display:flex;flex-direction:column;min-width:0}.dou-chat-plan__item.is-done .dou-chat-plan__label,.dou-chat-plan__item.is-skipped .dou-chat-plan__label{color:var(--dou-color-text-tertiary)}.dou-chat-plan__item.is-skipped .dou-chat-plan__label{text-decoration:line-through}.dou-chat-plan__item.is-running .dou-chat-plan__label{font-weight:var(--dou-font-weight-medium)}.dou-chat-plan__description{color:var(--dou-color-text-tertiary);font-size:12px;line-height:18px}}@layer dou.components{.dou-chat-steps{color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-md);line-height:var(--dou-font-line-height)}.dou-chat-steps__header{display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:0;padding:2px 0;border:0;border-radius:var(--dou-radius-control);background:none;color:inherit;font:inherit;cursor:pointer;transition:color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-chat-steps__header:hover{color:var(--dou-color-text)}.dou-chat-steps__header:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-chat-steps__title{overflow-x:clip;min-width:0;text-overflow:ellipsis;white-space:nowrap}.dou-chat-steps__arrow{flex:none;font-size:14px;transition:rotate var(--dou-motion-duration-normal) var(--dou-motion-easing)}.dou-chat-steps.is-open .dou-chat-steps__arrow{rotate:180deg}.dou-chat-steps__list{margin:0;padding:8px 0 4px;list-style:none;font-size:var(--dou-font-size-sm);line-height:20px}.dou-chat-steps__step{position:relative;display:flex;gap:10px;padding-bottom:10px}.dou-chat-steps__step:not(:last-child):before{content:"";position:absolute;top:22px;bottom:0;left:7.5px;width:1px;background-color:var(--dou-color-border)}.dou-chat-steps__step:last-child{padding-bottom:0}.dou-chat-steps__mark{display:inline-flex;flex:none;align-items:center;justify-content:center;width:16px;height:20px;color:var(--dou-color-text-tertiary);font-size:14px}.dou-chat-steps__step.is-error .dou-chat-steps__mark{color:var(--dou-color-danger-text)}.dou-chat-steps__dot{width:6px;height:6px;border-radius:50%;background-color:var(--dou-color-border-strong)}.dou-chat-steps__body{flex:1 1 auto;min-width:0}.dou-chat-steps__line{display:flex;flex-wrap:wrap;column-gap:6px;min-width:0}.dou-chat-steps__label{color:var(--dou-color-text-secondary)}.dou-chat-steps__detail{overflow-x:clip;min-width:0;color:var(--dou-color-text-tertiary);text-overflow:ellipsis;white-space:nowrap}.dou-chat-steps__extra{margin-top:6px}}@layer dou.components{.dou-chat-sources{min-width:0;color:var(--dou-color-text);font-size:12px;line-height:16px}.dou-chat-sources__list{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.dou-chat-sources__item{display:flex;min-width:0;max-width:260px}.dou-chat-sources__link{display:inline-flex;align-items:center;gap:6px;box-sizing:border-box;min-width:0;height:28px;margin:0;padding:0 10px 0 4px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-full);background-color:var(--dou-color-bg-surface);color:inherit;font:inherit;text-decoration:none;cursor:pointer;transition:border-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-chat-sources__link:is(span){cursor:default}.dou-chat-sources__link:hover:not(span){border-color:var(--dou-color-border-strong)}.dou-chat-sources__link:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-chat-sources__more{padding:0 10px;color:var(--dou-color-text-secondary)}.dou-chat-sources__index{display:inline-flex;flex:none;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:var(--dou-radius-full);background-color:var(--dou-color-bg-muted);color:var(--dou-color-text-secondary);font-size:11px;font-variant-numeric:tabular-nums}.dou-chat-sources__favicon{flex:none;width:14px;height:14px;border-radius:3px;color:var(--dou-color-text-tertiary);font-size:14px}.dou-chat-sources__site{flex:none;color:var(--dou-color-text-secondary)}.dou-chat-sources__title{overflow-x:clip;min-width:0;text-overflow:ellipsis;white-space:nowrap}.dou-chat-citation{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:16px;height:16px;margin:0 2px;padding:0 4px;border-radius:var(--dou-radius-full);background-color:var(--dou-color-bg-muted);color:var(--dou-color-text-secondary);font-size:10px;font-weight:var(--dou-font-weight-medium);line-height:1;font-variant-numeric:tabular-nums;text-decoration:none;vertical-align:.15em;cursor:pointer;transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing),color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-chat-citation:hover,.dou-chat-citation:focus-visible{background-color:var(--dou-color-neutral);color:var(--dou-color-neutral-on)}.dou-chat-citation:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}.dou-chat-citation__popover .dou-popover__content{display:flex;flex-direction:column;gap:4px}.dou-chat-citation__site{display:inline-flex;align-items:center;gap:6px;color:var(--dou-color-text-tertiary);font-size:12px;line-height:16px}.dou-chat-citation__favicon{width:14px;height:14px;border-radius:3px;font-size:14px}.dou-chat-citation__title{color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium)}.dou-chat-citation__description{display:-webkit-box;overflow:hidden;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);-webkit-box-orient:vertical;-webkit-line-clamp:3}}@layer dou.components{.dou-chat-confirm{overflow:hidden;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface);color:var(--dou-color-text);font-size:var(--dou-font-size-sm);line-height:20px}.dou-chat-confirm.is-pending{border-color:var(--dou-color-border-strong);box-shadow:var(--dou-shadow-sm)}.dou-chat-confirm__header{display:flex;align-items:flex-start;gap:10px;padding:12px}.dou-chat-confirm__icon{display:inline-flex;flex:none;align-items:center;height:20px;color:var(--dou-color-text-secondary);font-size:16px}.dou-chat-confirm--warning .dou-chat-confirm__icon{color:var(--dou-color-warning-text)}.dou-chat-confirm--danger .dou-chat-confirm__icon{color:var(--dou-color-danger-text)}.dou-chat-confirm__text{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;min-width:0}.dou-chat-confirm__title{font-weight:var(--dou-font-weight-medium)}.dou-chat-confirm__description{color:var(--dou-color-text-secondary)}.dou-chat-confirm__result{display:inline-flex;flex:none;align-items:center;gap:4px;color:var(--dou-color-text-tertiary)}.dou-chat-confirm.is-approved .dou-chat-confirm__result{color:var(--dou-color-success-text)}.dou-chat-confirm__detail{padding:0 12px 12px 38px}.dou-chat-confirm:not(.is-pending) .dou-chat-confirm__detail{display:none}.dou-chat-confirm__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--dou-color-border-subtle);background-color:color-mix(in oklab,var(--dou-color-text) 2%,var(--dou-color-bg-surface))}}@layer dou.components{.dou-chat-artifact{display:flex;align-items:center;box-sizing:border-box;max-width:420px;min-width:0;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface);color:var(--dou-color-text);font-size:var(--dou-font-size-sm);line-height:20px;transition:border-color var(--dou-motion-duration-fast) var(--dou-motion-easing),box-shadow var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-chat-artifact:hover{border-color:var(--dou-color-border-strong)}.dou-chat-artifact.is-active{border-color:var(--dou-color-text);box-shadow:0 0 0 1px var(--dou-color-text)}.dou-chat-artifact__main{display:flex;flex:1 1 auto;align-items:center;gap:12px;min-width:0;margin:0;padding:10px 12px 10px 10px;border:0;border-radius:inherit;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.dou-chat-artifact__main:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-chat-artifact__icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background-color:var(--dou-color-bg-muted);color:var(--dou-color-text-secondary);font-size:20px}.dou-chat-artifact__text{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}.dou-chat-artifact__title{overflow-x:clip;font-weight:var(--dou-font-weight-medium);text-overflow:ellipsis;white-space:nowrap}.dou-chat-artifact__description{display:inline-flex;align-items:center;gap:4px;overflow-x:clip;color:var(--dou-color-text-tertiary);font-size:12px;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.dou-chat-artifact.is-error .dou-chat-artifact__description{color:var(--dou-color-danger-text)}.dou-chat-artifact__arrow{flex:none;color:var(--dou-color-text-tertiary);font-size:16px}.dou-chat-artifact__actions{display:flex;flex:none;align-items:center;gap:4px;padding-right:8px}}@layer dou.components{.dou-chat-context-meter{--dou-chat-context-meter-color: var(--dou-color-text-secondary);display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 6px;border-radius:var(--dou-radius-control);color:var(--dou-color-text-tertiary);font-size:12px;font-variant-numeric:tabular-nums;cursor:default}.dou-chat-context-meter:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}.dou-chat-context-meter--warning{--dou-chat-context-meter-color: var(--dou-color-warning)}.dou-chat-context-meter--danger{--dou-chat-context-meter-color: var(--dou-color-danger)}.dou-chat-context-meter__ring{width:16px;height:16px;rotate:-90deg}.dou-chat-context-meter__track,.dou-chat-context-meter__bar{fill:none;stroke-width:2}.dou-chat-context-meter__track{stroke:var(--dou-color-border)}.dou-chat-context-meter__bar{stroke:var(--dou-chat-context-meter-color);stroke-linecap:round;transition:stroke-dasharray var(--dou-motion-duration-normal) var(--dou-motion-easing)}}@layer dou.components{.dou-chat-message{--dou-chat-message-gap: 12px;--dou-chat-message-bubble: color-mix( in oklab, var(--dou-color-text) 5%, var(--dou-color-bg-surface) );display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;color:var(--dou-color-text);font-size:var(--dou-font-size-md);line-height:var(--dou-font-line-height)}.dou-chat-message--user{display:grid;grid-template-columns:minmax(20%,1fr) minmax(0,max-content);gap:0 4px;justify-items:end}.dou-chat-message--user>*{grid-row:2;grid-column:1 / -1}.dou-chat-message--user>.dou-chat-message__files{grid-row:1;margin-bottom:6px}.dou-chat-message--system{align-items:center;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.dou-chat-message__content{display:flex;flex-direction:column;gap:var(--dou-chat-message-gap);box-sizing:border-box;width:100%;min-width:0;overflow-wrap:anywhere}.dou-chat-message--user>.dou-chat-message__content{grid-column:2;width:auto;max-width:100%;padding:8px 14px;border-radius:var(--dou-radius-container);background-color:var(--dou-chat-message-bubble)}.dou-chat-message--system>.dou-chat-message__content{width:auto;text-align:center}.dou-chat-message__files{display:flex;justify-content:flex-end;max-width:80%}.dou-chat-message__code{overflow:auto;max-height:240px;margin:0;padding:8px 10px;border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-muted);color:var(--dou-color-text-secondary);font-family:var(--dou-font-family-mono);font-size:12px;line-height:18px;white-space:pre-wrap}.dou-chat-message__loading{display:inline-flex;align-items:center;gap:4px;height:calc(1em * var(--dou-font-line-height))}.dou-chat-message__loading>i{width:6px;height:6px;border-radius:50%;background-color:var(--dou-color-text-tertiary);animation:dou-chat-message-dot var(--dou-motion-loop-pulse) ease-in-out var(--dou-motion-loop-count)}.dou-chat-message__loading>i:nth-child(2){animation-delay:calc(var(--dou-motion-loop-pulse) / 8)}.dou-chat-message__loading>i:nth-child(3){animation-delay:calc(var(--dou-motion-loop-pulse) / 4)}.dou-chat-message__actions{display:flex;align-items:center;gap:2px;margin-left:-6px;color:var(--dou-color-text-tertiary)}.dou-chat-message__actions>.dou-button--ghost:not(:hover,:focus-visible),.dou-chat-message__actions .dou-chat-message__versions>.dou-button--ghost:not(:hover,:focus-visible){color:inherit}.dou-chat-message--user>.dou-chat-message__actions{grid-column:1;align-self:end;margin-left:0;opacity:0;transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-chat-message--user:hover>.dou-chat-message__actions,.dou-chat-message--user>.dou-chat-message__actions:focus-within{opacity:1}@media (hover: none){.dou-chat-message--user>.dou-chat-message__actions{opacity:1}}.dou-chat-message__versions{display:inline-flex;align-items:center}.dou-chat-message__version{min-width:32px;font-size:12px;font-variant-numeric:tabular-nums;text-align:center}.dou-chat-message__editor{display:flex;flex-direction:column;gap:8px;box-sizing:border-box;width:min(100%,560px);padding:10px 12px;border:1px solid var(--dou-color-border-strong);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface);box-shadow:0 0 0 3px color-mix(in oklab,var(--dou-color-focus) 24%,transparent)}.dou-chat-message__editor-native{box-sizing:border-box;width:100%;max-height:240px;margin:0;padding:0;border:0;outline:none;background:none;color:inherit;font:inherit;font-size:max(var(--dou-font-size-input-min, 0px),1em);line-height:22px;resize:none}.dou-chat-message__editor-actions{display:flex;justify-content:flex-end;gap:8px}@keyframes dou-chat-message-dot{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}}@layer dou.components{.dou-editor{--dou-editor-font-size: var(--dou-font-size-lg);--dou-editor-line-height: 1.7;--dou-editor-gutter: 56px;--dou-editor-indent: 24px;--dou-editor-block-gap: 2px;--dou-editor-selected: color-mix( in oklab, var(--dou-color-focus) calc(12% + 10% * var(--dou-scheme-dark)), transparent );--dou-editor-control-hover: color-mix(in oklab, var(--dou-color-text) 6%, transparent);--dou-editor-match: color-mix(in oklab, var(--dou-color-warning) 22%, transparent);--dou-editor-match-current: color-mix(in oklab, var(--dou-color-warning-text) 80%, transparent);--dou-editor-comment-bg: color-mix(in oklab, var(--dou-color-warning) 18%, transparent);--dou-editor-comment-bg-active: color-mix(in oklab, var(--dou-color-warning) 36%, transparent);--dou-editor-comment-line: color-mix(in oklab, var(--dou-color-warning) 72%, transparent);position:relative;box-sizing:border-box;width:100%;min-width:0;padding-inline-start:var(--dou-editor-gutter);color:var(--dou-color-text);font-family:var(--dou-font-family);font-size:max(var(--dou-font-size-input-min, 0px),var(--dou-editor-font-size));line-height:var(--dou-editor-line-height);overflow-wrap:break-word}.dou-editor.is-readonly{--dou-editor-gutter: 0px}.dou-editor.is-readonly.is-comparing{--dou-editor-gutter: 16px}@media (pointer: coarse){.dou-editor{--dou-editor-gutter: 32px}}.dou-editor.is-dragging,.dou-editor.is-dragging *{cursor:grabbing}.dou-editor__live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dou-editor__surface{min-height:calc(var(--dou-editor-line-height) * 1em);outline:none;white-space:pre-wrap;word-wrap:break-word;font-variant-ligatures:none}.dou-editor__block{position:relative;border-radius:4px}.dou-editor__group{padding-inline-start:var(--dou-editor-indent)}.dou-editor__content{position:relative;margin:0;padding-block:var(--dou-editor-block-gap);font-size:1em;font-weight:inherit;line-height:var(--dou-editor-line-height)}.dou-editor__content--heading{--dou-editor-line-height: 1.4;margin-top:.6em;font-weight:var(--dou-font-weight-bold);letter-spacing:-.01em}.dou-editor__content--heading:is(h1){margin-top:.8em;font-size:1.75em}.dou-editor__content--heading:is(h2){font-size:1.375em}.dou-editor__content--heading:is(h3){font-size:1.125em}.dou-editor__surface>.dou-editor__block:first-child>.dou-editor__content--heading{margin-top:0}.dou-editor__content--bulletItem,.dou-editor__content--numberedItem{padding-inline-start:var(--dou-editor-indent)}.dou-editor__content--bulletItem:before,.dou-editor__content--numberedItem:before{position:absolute;inset-inline-start:0;width:var(--dou-editor-indent)}.dou-editor__content--bulletItem:before{content:"";top:calc(var(--dou-editor-block-gap) + var(--dou-editor-line-height) * .5em - 3px);inset-inline-start:7px;width:6px;height:6px;box-sizing:border-box;border-radius:50%;background-color:currentColor;color:var(--dou-color-text-secondary)}.dou-editor__group .dou-editor__content--bulletItem:before{border:1.5px solid currentColor;background-color:transparent}.dou-editor__content--numberedItem:before{content:attr(data-index) ".";top:var(--dou-editor-block-gap);padding-inline-end:6px;box-sizing:border-box;color:var(--dou-color-text-secondary);font-variant-numeric:tabular-nums;text-align:end}.dou-editor__content--checkItem{display:flex;gap:8px}.dou-editor__check{display:inline-flex;flex:none;align-items:center;height:calc(var(--dou-editor-line-height) * 1em);-webkit-user-select:none;user-select:none}.dou-editor__checkbox{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:16px;height:16px;margin:0;padding:0;border:1px solid var(--dou-color-border-strong);border-radius:calc(var(--dou-radius-control) - 2px);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);color:var(--dou-color-neutral-on);cursor:pointer;transition-property:background-color,border-color,box-shadow;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-editor__checkbox>svg{width:100%;height:100%;opacity:0;transform:scale(.6);transition-property:opacity,transform;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-editor__checkbox:hover:not(:disabled){border-color:color-mix(in oklab,var(--dou-color-neutral) 45%,var(--dou-color-border-strong))}.dou-editor__checkbox:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-editor__checkbox:disabled{cursor:default}.dou-editor__content--checkItem[data-checked=true] .dou-editor__checkbox{border-color:color-mix(in oklab,var(--dou-color-neutral) 90%,var(--dou-color-edge));background-color:var(--dou-color-neutral);box-shadow:var(--dou-shadow-highlight),0 1px 2px color-mix(in oklab,var(--dou-color-neutral) 24%,transparent)}.dou-editor__content--checkItem[data-checked=true] .dou-editor__checkbox>svg{opacity:1;transform:none}.dou-editor__content--checkItem[data-checked=true] .dou-editor__text{color:var(--dou-color-text-tertiary);text-decoration:line-through;text-decoration-color:color-mix(in oklab,currentColor 60%,transparent)}.dou-editor__text{flex:1 1 auto;min-width:0}.dou-editor__content--quote{padding-inline-start:14px;box-shadow:inset 2px 0 0 var(--dou-color-border-strong);color:var(--dou-color-text-secondary)}.dou-editor__content--codeBlock{--dou-editor-line-height: 1.7;margin-block:4px;padding:12px 16px;overflow-x:auto;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-muted);font-family:var(--dou-font-family-mono);font-size:var(--dou-font-size-sm);-moz-tab-size:2;tab-size:2;white-space:pre-wrap}.dou-editor__content--codeBlock>code{font:inherit}.dou-editor-toggle{display:flex;gap:4px}.dou-editor-toggle__control{display:inline-flex;flex:none;align-items:center;height:calc(var(--dou-editor-line-height) * 1em);margin-inline-start:-2px;-webkit-user-select:none;user-select:none}.dou-editor-toggle__button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:var(--dou-radius-control);background:none;color:var(--dou-color-text-tertiary);cursor:pointer}.dou-editor-toggle__button>svg{width:16px;height:16px;transition:rotate var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-editor-toggle__button.is-open>svg{rotate:90deg}.dou-editor-toggle__button:hover{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-editor-toggle__button:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.dou-editor__block.is-collapsed>.dou-editor__group{display:none}.dou-editor-callout{--dou-editor-callout-tone: var(--dou-color-text-secondary);display:flex;gap:8px;margin-block:2px;padding:8px 12px;border:1px solid color-mix(in oklab,var(--dou-editor-callout-tone) 22%,var(--dou-color-border));border-radius:var(--dou-radius-container);background-color:color-mix(in oklab,var(--dou-editor-callout-tone) 6%,var(--dou-color-bg-surface))}.dou-editor-callout.is-tip{--dou-editor-callout-tone: var(--dou-color-success)}.dou-editor-callout.is-warning{--dou-editor-callout-tone: var(--dou-color-warning)}.dou-editor-callout.is-danger{--dou-editor-callout-tone: var(--dou-color-danger)}.dou-editor-callout__control{display:inline-flex;flex:none;align-items:center;height:calc(var(--dou-editor-line-height) * 1em);-webkit-user-select:none;user-select:none}.dou-editor-callout__icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--dou-radius-control);background:none;color:var(--dou-editor-callout-tone)}.dou-editor-callout__icon>svg{width:16px;height:16px}button.dou-editor-callout__icon{cursor:pointer}button.dou-editor-callout__icon:hover,button.dou-editor-callout__icon[aria-expanded=true]{background-color:color-mix(in oklab,var(--dou-editor-callout-tone) 12%,transparent)}button.dou-editor-callout__icon:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.dou-editor__content--codeBlock.dou-editor__content--custom{position:relative}.dou-editor-code__pre{margin:0;font:inherit;white-space:inherit}.dou-editor-code__pre>code{display:block;font:inherit}.dou-editor-code__bar{position:absolute;top:6px;right:6px;display:flex;align-items:center;gap:2px;border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-muted);font-family:var(--dou-font-family);opacity:0;transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-editor__content--codeBlock:hover>.dou-editor-code__bar,.dou-editor-code__bar:focus-within,.dou-editor-code__bar:has([aria-expanded=true]){opacity:1}.dou-editor-code__language{display:inline-flex;align-items:center;gap:2px;height:24px;padding:0 4px 0 8px;border:none;border-radius:var(--dou-radius-control);background:none;color:var(--dou-color-text-secondary);font:inherit;font-size:var(--dou-font-size-sm);cursor:pointer}.dou-editor-code__language>svg{width:14px;height:14px}.dou-editor-code__language:hover,.dou-editor-code__language[aria-expanded=true]{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-editor-code__language:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.dou-editor-code__language.is-static{padding-inline:8px;cursor:default}.dou-editor-code-editor.dou-editor__content--codeBlock{padding:0;overflow:visible;white-space:normal;transition:border-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-editor-code-editor.dou-editor__content--codeBlock:has(>.dou-code-editor.is-focused){border-color:color-mix(in oklab,var(--dou-color-focus) 70%,var(--dou-color-text))}.dou-editor-code-editor.dou-editor__content--codeBlock>.dou-editor-code__bar{position:relative;top:auto;right:auto;z-index:3;justify-content:flex-end;padding:4px 6px 0 8px;background:none;opacity:1}.dou-editor-code-editor.dou-editor__content--codeBlock>.dou-editor-code__bar>:not(:last-child){margin-inline-end:auto}@media (pointer: coarse){.dou-editor-code__language:not(.is-static){position:relative}.dou-editor-code__language:not(.is-static):after{position:absolute;inset:min(0px,calc(50% - 20px)) 0;content:""}}.dou-editor-code__editor.dou-code-editor{--dou-code-editor-bg: transparent;--dou-code-editor-gutter-bg: var(--dou-color-bg-muted);--dou-code-editor-border: transparent;--dou-code-editor-border-focus: transparent;--dou-code-editor-padding-x: 16px;--dou-code-editor-padding-y: 8px;border:none;border-radius:inherit}.dou-editor__token{color:var(--shiki-light, inherit);color:color-mix(in oklab,var(--shiki-dark, currentColor) calc(100% * var(--dou-scheme-dark)),var(--shiki-light, currentColor));font-style:var(--shiki-light-font-style, inherit);font-weight:var(--shiki-light-font-weight, inherit)}.dou-editor__content--divider{padding-block:12px;cursor:default}.dou-editor__content--divider>hr{height:1px;margin:0;border:none;background-color:var(--dou-color-border)}.dou-editor__content--divider.ProseMirror-selectednode>hr{background-color:var(--dou-color-focus)}.dou-editor__surface strong{font-weight:var(--dou-font-weight-bold)}.dou-editor__surface u{text-underline-offset:.2em}.dou-editor__surface s u,.dou-editor__surface u s{text-decoration:underline line-through}.dou-editor__surface :not(pre)>code{padding:.1em .3em;border-radius:4px;background-color:var(--dou-color-bg-muted);box-shadow:inset 0 0 0 1px var(--dou-color-border-subtle);font-family:var(--dou-font-family-mono);font-size:.875em}.dou-editor__link{color:inherit;text-decoration:underline;text-decoration-color:var(--dou-color-border-strong);text-decoration-thickness:1px;text-underline-offset:.2em;transition:text-decoration-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-editor__link:hover{text-decoration-color:currentColor}.dou-editor.is-readonly .dou-editor__link,.dou-editor.is-comparing .dou-editor__link{cursor:pointer}.dou-editor__comment{border-bottom:2px solid transparent;transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-editor__comment-pending{background-color:color-mix(in oklab,var(--dou-color-focus) 16%,transparent)}.dou-editor-comment{box-sizing:border-box;width:min(340px,calc(100vw - 32px));max-height:min(480px,calc(100vh - 32px));padding:12px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:color-mix(in oklab,var(--dou-color-text) calc(4% * var(--dou-scheme-dark)),var(--dou-color-bg-surface));box-shadow:var(--dou-shadow-md);font-family:var(--dou-font-family);line-height:normal}.dou-editor__content.is-empty:after{content:attr(data-placeholder);position:absolute;top:var(--dou-editor-block-gap);inset-inline-start:0;color:var(--dou-color-text-tertiary);pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap}.dou-editor__content--bulletItem.is-empty:after,.dou-editor__content--numberedItem.is-empty:after{inset-inline-start:var(--dou-editor-indent)}.dou-editor__content--checkItem.is-empty:after{inset-inline-start:24px}.dou-editor__content--quote.is-empty:after{inset-inline-start:14px}.dou-editor__diff-added:before,.dou-editor__diff-changed:before,.dou-editor__diff-removed-block:before{position:absolute;inset-block:2px;inset-inline-start:-12px;width:3px;border-radius:2px;content:""}.dou-editor__diff-added:before{background-color:var(--dou-color-success)}.dou-editor__diff-changed:before{background-color:var(--dou-color-warning)}.dou-editor__diff-added-text{background-color:color-mix(in oklab,var(--dou-color-success) 14%,transparent);text-decoration:underline 1px var(--dou-color-success);text-underline-offset:3px}.dou-editor__diff-removed{background-color:color-mix(in oklab,var(--dou-color-danger) 12%,transparent);color:var(--dou-color-danger-text);text-decoration:line-through 1px}.dou-editor__diff-removed-block{position:relative;padding:3px 0;color:var(--dou-color-danger-text);text-decoration:line-through 1px;white-space:pre-wrap;-webkit-user-select:none;user-select:none}.dou-editor__diff-removed-block:before{background-color:var(--dou-color-danger)}.dou-editor__block.is-selected{background-color:var(--dou-editor-selected)}.dou-editor__block.is-selected+.dou-editor__block.is-selected{border-start-start-radius:0;border-start-end-radius:0}.dou-editor__block.is-selected:has(+.dou-editor__block.is-selected){border-end-start-radius:0;border-end-end-radius:0}.dou-editor__block.is-selected .dou-editor__block.is-selected{background-color:transparent}.dou-editor__block.is-selected>.dou-editor__content--codeBlock{background-image:linear-gradient(var(--dou-editor-selected),var(--dou-editor-selected))}.dou-editor .is-block-selecting{caret-color:transparent}.dou-editor .is-block-selecting ::selection{background-color:transparent}.dou-editor.is-dragging .dou-editor__block.is-selected{opacity:.45}.dou-editor__handle{position:absolute;z-index:1;display:flex;align-items:center;gap:2px;height:var(--dou-editor-line, 24px);transform:translate(calc(-100% - 6px))}.dou-editor__handle-button{display:inline-flex;flex:none;align-items:center;justify-content:center;width:22px;height:24px;margin:0;padding:0;border:none;border-radius:4px;background:transparent;color:var(--dou-color-text-tertiary);cursor:pointer;transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-editor__handle-button>svg{width:16px;height:16px}.dou-editor__handle-button:hover,.dou-editor__handle-button[aria-expanded=true]{background-color:var(--dou-editor-control-hover);color:var(--dou-color-text-secondary)}.dou-editor__grip{position:relative;width:18px;cursor:grab;touch-action:none}@media (pointer: coarse){.dou-editor__handle{transform:translate(calc(-100% - 4px))}.dou-editor__add{display:none}.dou-editor__grip{width:24px;height:max(28px,var(--dou-editor-line, 28px));-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.dou-editor__grip:before{content:"";position:absolute;top:-8px;right:-4px;bottom:-8px;left:-4px}}.dou-editor__ghost{position:fixed;top:0;left:0;z-index:2000;box-sizing:border-box;max-height:160px;padding:6px 12px;overflow:hidden;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-md);opacity:.88;pointer-events:none}.dou-editor__ghost>.dou-editor__block:first-child>.dou-editor__content{margin-top:0}.dou-editor__drop{position:absolute;height:2px;margin-top:-1px;border-radius:1px;background-color:var(--dou-color-focus);pointer-events:none}.dou-editor__drop.is-vertical{width:2px;height:auto;margin-top:0;margin-left:-1px}.dou-editor__mention{padding:0 2px;border-radius:4px;background-color:var(--dou-color-bg-muted);color:var(--dou-color-text);font-weight:500;white-space:nowrap}.dou-editor-mention{width:240px;max-height:min(var(--dou-floating-available, 100vh),288px)}.dou-editor-mention__item{gap:10px;height:auto;padding:6px 8px}.dou-editor-mention__item:focus,.dou-editor-mention__item.is-active{background-color:var(--dou-dropdown-item-active-bg)}.dou-editor-mention__text{display:flex;flex:1 1 auto;flex-direction:column;gap:6px;min-width:0}.dou-editor-mention__label,.dou-editor-mention__description{overflow-x:clip;text-box:trim-both cap alphabetic;text-overflow:ellipsis;white-space:nowrap}.dou-editor-mention__description{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.dou-editor-slash{width:288px;max-height:min(var(--dou-floating-available, 100vh),336px)}.dou-editor-slash__item{gap:10px;height:auto;padding:6px 8px 6px 6px}.dou-editor-slash__item:focus,.dou-editor-slash__item.is-active{background-color:var(--dou-dropdown-item-active-bg)}.dou-editor-slash__icon{display:inline-flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:32px;height:32px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);color:var(--dou-color-text-secondary)}.dou-editor-slash__icon>svg{width:18px;height:18px}.dou-editor-slash__text{display:flex;flex:1 1 auto;flex-direction:column;gap:6px;min-width:0}.dou-editor-slash__label,.dou-editor-slash__hint{overflow-x:clip;text-box:trim-both cap alphabetic;text-overflow:ellipsis}.dou-editor-slash__hint{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.dou-editor-slash__shortcut{flex:none;color:var(--dou-color-text-tertiary);font-family:var(--dou-font-family-mono);font-size:var(--dou-font-size-sm);text-box:trim-both cap alphabetic}.dou-editor-slash__empty{padding:8px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.dou-editor__content--table{margin-block:4px;padding-block:8px 4px;overflow-x:auto;overscroll-behavior-x:contain}.dou-editor-table{border-collapse:collapse;table-layout:fixed;font-size:inherit;line-height:inherit}.dou-editor-table td,.dou-editor-table th{position:relative;box-sizing:border-box;min-width:48px;padding:6px 10px;border:1px solid var(--dou-color-border);text-align:start;vertical-align:top;white-space:pre-wrap}.dou-editor-table th{background-color:var(--dou-color-bg-muted);font-weight:600}.ProseMirror-hideselection .dou-editor-table *::selection{background:transparent}.ProseMirror-hideselection .dou-editor-table{caret-color:transparent}.dou-editor-table .selectedCell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--dou-editor-selected);pointer-events:none}.dou-editor-table .column-resize-handle{position:absolute;inset-block:-1px;inset-inline-end:-2px;z-index:1;width:3px;background-color:var(--dou-color-focus);pointer-events:none}.dou-editor__surface.resize-cursor{cursor:col-resize}.dou-editor-table__handle{position:absolute;z-index:2;display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;border:1px solid var(--dou-color-border);border-radius:4px;background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);color:var(--dou-color-text-tertiary);cursor:pointer;transform:translate(-50%,-50%);transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing);touch-action:none}.dou-editor-table__handle.is-column{width:24px;height:14px}.dou-editor-table__handle.is-row{width:14px;height:24px}.dou-editor-table__handle:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}@media (pointer: coarse){.dou-editor-table__handle.is-column{width:32px;height:18px}.dou-editor-table__handle.is-row{width:18px;height:32px}.dou-editor-table__handle:before{top:-10px;right:-10px;bottom:-10px;left:-10px}}.dou-editor-table__handle svg{width:14px;height:14px}.dou-editor-table__handle:hover,.dou-editor-table__handle.is-active{background-color:color-mix(in oklab,var(--dou-color-text) calc(6% + 6% * var(--dou-scheme-dark)),var(--dou-color-bg-surface));color:var(--dou-color-text)}.dou-editor-table__add{position:absolute;z-index:1;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;margin:0;padding:0;border:none;border-radius:4px;background-color:transparent;color:var(--dou-color-text-tertiary);cursor:pointer;opacity:.6;transition-property:background-color,color,opacity;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-editor-table__add.is-column{width:16px;margin-inline-start:4px}.dou-editor-table__add.is-row{height:16px;margin-block-start:4px}.dou-editor-table__add svg{width:14px;height:14px}.dou-editor-table__add:hover{background-color:var(--dou-editor-control-hover);color:var(--dou-color-text);opacity:1}@media (pointer: coarse){.dou-editor-table__add{opacity:1}.dou-editor-table__add.is-column{width:24px}.dou-editor-table__add.is-row{height:24px}.dou-editor-table .column-resize-handle{display:none}}.dou-editor-table__ghost{padding:0;overflow:hidden}.dou-editor-table__ghost .dou-editor-table{width:auto;margin:0}.dou-editor-table__cells{position:absolute;z-index:3;display:flex;gap:2px;padding:3px;border:1px solid var(--dou-color-border);border-radius:calc(var(--dou-radius-control) + 2px);background-color:color-mix(in oklab,var(--dou-color-text) calc(4% * var(--dou-scheme-dark)),var(--dou-color-bg-surface));box-shadow:var(--dou-shadow-md);font-size:var(--dou-font-size-sm);line-height:normal;white-space:nowrap;transform:translate(-50%,calc(-100% - 6px))}.dou-editor-table__cells.is-below{transform:translate(-50%,6px)}.dou-editor-table__cells-button{display:inline-flex;align-items:center;gap:4px;height:26px;margin:0;padding-inline:8px;border:none;border-radius:var(--dou-radius-control);background:transparent;color:var(--dou-color-text);font:inherit;cursor:pointer}.dou-editor-table__cells-button svg{width:14px;height:14px;color:var(--dou-color-text-secondary)}.dou-editor-table__cells-button:hover:not(:disabled){background-color:var(--dou-editor-control-hover)}.dou-editor-table__cells-button:disabled{color:var(--dou-color-text-tertiary);cursor:default}.dou-editor-bubble{padding:4px;border:1px solid var(--dou-color-border);border-radius:calc(var(--dou-radius-control) + 4px);background-color:color-mix(in oklab,var(--dou-color-text) calc(4% * var(--dou-scheme-dark)),var(--dou-color-bg-surface));box-shadow:var(--dou-shadow-md);color:var(--dou-color-text);font-family:var(--dou-font-family);font-size:var(--dou-font-size-md);line-height:normal}.dou-editor-bubble__type{gap:4px}.dou-editor-bubble__type svg{color:var(--dou-color-text-tertiary)}.dou-editor-bubble__link{display:flex;align-items:center;gap:4px}.dou-editor-bubble__link>.dou-input{width:240px}.dou-editor__content--image{padding-block:6px}.dou-editor-image__figure{width:fit-content;min-width:min(100%,240px);max-width:100%;margin:0 auto}.dou-editor-image__frame{position:relative;width:fit-content;max-width:100%;margin:0 auto;border-radius:var(--dou-radius-control);line-height:0}.dou-editor-image__img{display:block;max-width:100%;height:auto;border-radius:inherit;outline:1px solid color-mix(in oklab,var(--dou-color-text) 8%,transparent);outline-offset:-1px}.dou-editor-image__figure.is-sized .dou-editor-image__frame,.dou-editor-image__figure.is-sized .dou-editor-image__img{width:100%}.dou-editor-image.is-selected .dou-editor-image__img{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-editor-image__status{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:inherit;background-color:color-mix(in oklab,var(--dou-color-bg-surface) 72%,transparent);color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-md);line-height:normal}.dou-editor-image__status.is-failed{color:var(--dou-color-danger-text)}.dou-editor-image__handle{position:absolute;top:50%;width:6px;height:40px;max-height:50%;border:1px solid color-mix(in oklab,var(--dou-color-bg-surface) 70%,transparent);border-radius:var(--dou-radius-full);background-color:color-mix(in oklab,var(--dou-color-text) 55%,transparent);cursor:ew-resize;opacity:0;transform:translateY(-50%);transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing);touch-action:none}.dou-editor-image__handle:before{position:absolute;top:-4px;right:-9px;bottom:-4px;left:-9px;content:""}.dou-editor-image__handle.is-left{left:8px}.dou-editor-image__handle.is-right{right:8px}.dou-editor-image__frame:hover .dou-editor-image__handle,.dou-editor-image.is-selected .dou-editor-image__handle{opacity:1}.dou-editor-image__caption{margin-top:6px;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-md);line-height:1.5;text-align:center}.dou-editor-image__caption-input{width:100%;padding:0;border:none;background:none;color:inherit;font:inherit;font-size:max(var(--dou-font-size-input-min, 0px),1em);text-align:inherit;outline:none}.dou-editor-image__caption-input::placeholder{color:var(--dou-color-text-tertiary)}.dou-editor-image__caption-input:placeholder-shown:not(:focus){opacity:0}.dou-editor-image:hover .dou-editor-image__caption-input,.dou-editor-image.is-selected .dou-editor-image__caption-input,.dou-editor-embed:hover .dou-editor-image__caption-input,.dou-editor-embed.is-selected .dou-editor-image__caption-input{opacity:1}.dou-editor-image__empty{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 14px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:color-mix(in oklab,var(--dou-color-text) 3%,var(--dou-color-bg-surface));color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-md);line-height:normal}.dou-editor-image.is-selected .dou-editor-image__empty,.dou-editor-attachment.is-selected .dou-editor-image__empty,.dou-editor-embed.is-selected .dou-editor-image__empty{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-editor-image__empty-icon{flex:none;width:18px;height:18px;color:var(--dou-color-text-tertiary)}.dou-editor-image__empty-text{flex:1 1 auto}.dou-editor-image__actions,.dou-editor-image__embed{display:flex;gap:8px}.dou-editor-image__embed{flex:1 1 240px}.dou-editor-image__embed>.dou-input{flex:1 1 auto}.dou-editor-bubble__trigger{display:inline-flex}.dou-editor__content--attachment,.dou-editor__content--embed{padding-block:4px}.dou-editor-attachment__card{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 14px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);line-height:normal}.dou-editor-attachment.is-selected .dou-editor-attachment__card{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-editor-attachment__icon{flex:none;width:20px;height:20px;color:var(--dou-color-text-secondary)}.dou-editor-attachment__text{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;min-width:0}.dou-editor-attachment__name{overflow-x:clip;color:var(--dou-color-text);font-size:var(--dou-font-size-md);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.dou-editor-attachment__meta{display:flex;align-items:center;gap:6px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);font-variant-numeric:tabular-nums}.dou-editor-attachment__download{display:inline-flex;flex:none;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--dou-radius-control);color:var(--dou-color-text-secondary);transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-editor-attachment__download>svg{width:16px;height:16px}.dou-editor-attachment__download:hover{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-editor-attachment__download:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}@media (pointer: coarse){.dou-editor-attachment__download{width:40px;height:40px}}.dou-editor-embed__figure{margin:0}.dou-editor-embed__frame{overflow:clip;width:100%;border-radius:var(--dou-radius-control);background-color:color-mix(in oklab,var(--dou-color-text) 4%,var(--dou-color-bg-surface));outline:1px solid color-mix(in oklab,var(--dou-color-text) 8%,transparent);outline-offset:-1px;line-height:0}.dou-editor-embed__frame>iframe,.dou-editor-embed__frame>video{display:block;width:100%;height:100%;border:0}.dou-editor-embed__frame.is-audio{overflow:visible;background:none;outline:none}.dou-editor-embed__frame.is-audio>audio{display:block;width:100%}.dou-editor-embed.is-selected .dou-editor-embed__frame{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-editor.is-dragging .dou-editor-embed__frame{pointer-events:none}.dou-editor-embed__caption{display:grid;grid-template-columns:var(--dou-control-height-sm) 1fr var(--dou-control-height-sm);align-items:center;gap:4px}.dou-editor-embed__caption>.dou-editor-image__caption-input{grid-column:2}.dou-editor-embed__edit{grid-column:3;opacity:0;transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-editor-embed:hover .dou-editor-embed__edit,.dou-editor-embed.is-selected .dou-editor-embed__edit,.dou-editor-embed__edit:focus-visible{opacity:1}@media (pointer: coarse){.dou-editor-embed__edit{opacity:1}}.dou-editor-embed__link{overflow-x:clip;max-width:100%;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);text-overflow:ellipsis;white-space:nowrap}.dou-editor-embed__error{flex-basis:100%;color:var(--dou-color-danger-text);font-size:var(--dou-font-size-sm)}.dou-editor__cursor{position:relative;margin-inline:-1px;border-inline-start:2px solid var(--dou-editor-cursor-color);pointer-events:none;word-break:normal}.dou-editor__cursor-label{position:absolute;bottom:100%;left:-2px;padding:0 6px;border-radius:4px 4px 4px 0;background-color:var(--dou-editor-cursor-color);color:#fff;color:oklch(from var(--dou-editor-cursor-color) clamp(.2,(.66 - l) * 100,.99) 0 0);font-family:var(--dou-font-family);font-size:var(--dou-font-size-sm);font-weight:400;font-style:normal;line-height:18px;white-space:nowrap;-webkit-user-select:none;user-select:none}.dou-editor__remote-selection{background-color:color-mix(in oklab,var(--dou-editor-cursor-color) 20%,transparent)}.dou-editor,.dou-editor-menu,.dou-editor-palette{--dou-editor-color-gray: color-mix( in srgb, #a3a7ad calc(100% * var(--dou-scheme-dark)), #6b6f76 );--dou-editor-highlight-gray: color-mix( in srgb, #3a3b3d calc(100% * var(--dou-scheme-dark)), #ececeb );--dou-editor-color-red: color-mix( in srgb, #e58a84 calc(100% * var(--dou-scheme-dark)), #b4453f );--dou-editor-highlight-red: color-mix( in srgb, #4a2826 calc(100% * var(--dou-scheme-dark)), #f8e3e1 );--dou-editor-color-orange: color-mix( in srgb, #e0975f calc(100% * var(--dou-scheme-dark)), #b0622a );--dou-editor-highlight-orange: color-mix( in srgb, #4a3222 calc(100% * var(--dou-scheme-dark)), #f9e7d8 );--dou-editor-color-yellow: color-mix( in srgb, #d4b44f calc(100% * var(--dou-scheme-dark)), #94761b );--dou-editor-highlight-yellow: color-mix( in srgb, #4a4020 calc(100% * var(--dou-scheme-dark)), #f8efc8 );--dou-editor-color-green: color-mix( in srgb, #7fbf8c calc(100% * var(--dou-scheme-dark)), #3f7f4f );--dou-editor-highlight-green: color-mix( in srgb, #253d2b calc(100% * var(--dou-scheme-dark)), #e1f0e2 );--dou-editor-color-blue: color-mix( in srgb, #7fa7d9 calc(100% * var(--dou-scheme-dark)), #3b6ea8 );--dou-editor-highlight-blue: color-mix( in srgb, #23334a calc(100% * var(--dou-scheme-dark)), #e1ebf7 );--dou-editor-color-purple: color-mix( in srgb, #b69ad6 calc(100% * var(--dou-scheme-dark)), #7a52a3 );--dou-editor-highlight-purple: color-mix( in srgb, #352a47 calc(100% * var(--dou-scheme-dark)), #ece4f5 );--dou-editor-color-pink: color-mix( in srgb, #dd8ab4 calc(100% * var(--dou-scheme-dark)), #a8467a );--dou-editor-highlight-pink: color-mix( in srgb, #46283a calc(100% * var(--dou-scheme-dark)), #f6e2ec )}.dou-editor__color,.dou-editor-palette span[data-color]{color:var(--dou-editor-text-color, inherit)}.dou-editor__highlight,.dou-editor-palette mark[data-color]{border-radius:2px;background-color:var(--dou-editor-mark-color, var(--dou-editor-highlight-yellow));color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone}.dou-editor__color[data-color=gray],.dou-editor-palette span[data-color=gray],.dou-editor-colors__swatch[data-color=gray]{--dou-editor-text-color: var(--dou-editor-color-gray)}.dou-editor__highlight[data-color=gray],.dou-editor-palette mark[data-color=gray],.dou-editor-colors__swatch[data-highlight=gray]{--dou-editor-mark-color: var(--dou-editor-highlight-gray)}.dou-editor__color[data-color=red],.dou-editor-palette span[data-color=red],.dou-editor-colors__swatch[data-color=red]{--dou-editor-text-color: var(--dou-editor-color-red)}.dou-editor__highlight[data-color=red],.dou-editor-palette mark[data-color=red],.dou-editor-colors__swatch[data-highlight=red]{--dou-editor-mark-color: var(--dou-editor-highlight-red)}.dou-editor__color[data-color=orange],.dou-editor-palette span[data-color=orange],.dou-editor-colors__swatch[data-color=orange]{--dou-editor-text-color: var(--dou-editor-color-orange)}.dou-editor__highlight[data-color=orange],.dou-editor-palette mark[data-color=orange],.dou-editor-colors__swatch[data-highlight=orange]{--dou-editor-mark-color: var(--dou-editor-highlight-orange)}.dou-editor__color[data-color=yellow],.dou-editor-palette span[data-color=yellow],.dou-editor-colors__swatch[data-color=yellow]{--dou-editor-text-color: var(--dou-editor-color-yellow)}.dou-editor__highlight[data-color=yellow],.dou-editor-palette mark[data-color=yellow],.dou-editor-colors__swatch[data-highlight=yellow]{--dou-editor-mark-color: var(--dou-editor-highlight-yellow)}.dou-editor__color[data-color=green],.dou-editor-palette span[data-color=green],.dou-editor-colors__swatch[data-color=green]{--dou-editor-text-color: var(--dou-editor-color-green)}.dou-editor__highlight[data-color=green],.dou-editor-palette mark[data-color=green],.dou-editor-colors__swatch[data-highlight=green]{--dou-editor-mark-color: var(--dou-editor-highlight-green)}.dou-editor__color[data-color=blue],.dou-editor-palette span[data-color=blue],.dou-editor-colors__swatch[data-color=blue]{--dou-editor-text-color: var(--dou-editor-color-blue)}.dou-editor__highlight[data-color=blue],.dou-editor-palette mark[data-color=blue],.dou-editor-colors__swatch[data-highlight=blue]{--dou-editor-mark-color: var(--dou-editor-highlight-blue)}.dou-editor__color[data-color=purple],.dou-editor-palette span[data-color=purple],.dou-editor-colors__swatch[data-color=purple]{--dou-editor-text-color: var(--dou-editor-color-purple)}.dou-editor__highlight[data-color=purple],.dou-editor-palette mark[data-color=purple],.dou-editor-colors__swatch[data-highlight=purple]{--dou-editor-mark-color: var(--dou-editor-highlight-purple)}.dou-editor__color[data-color=pink],.dou-editor-palette span[data-color=pink],.dou-editor-colors__swatch[data-color=pink]{--dou-editor-text-color: var(--dou-editor-color-pink)}.dou-editor__highlight[data-color=pink],.dou-editor-palette mark[data-color=pink],.dou-editor-colors__swatch[data-highlight=pink]{--dou-editor-mark-color: var(--dou-editor-highlight-pink)}.dou-editor-colors__swatch{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:20px;height:20px;border:1px solid var(--dou-color-border);border-radius:calc(var(--dou-radius-control) - 2px);background-color:var(--dou-editor-mark-color, transparent);color:var(--dou-editor-text-color, var(--dou-color-text));font-size:var(--dou-font-size-sm);font-weight:var(--dou-font-weight-bold);line-height:1}.dou-editor-colors__letter{display:block;text-box:trim-both cap alphabetic}.dou-editor__search{position:sticky;top:8px;z-index:5;display:flex;align-items:flex-start;justify-content:flex-end;height:0;container-type:inline-size;pointer-events:none}.dou-editor__search>*{pointer-events:auto}.dou-editor__match{border-radius:2px;background-color:var(--dou-editor-match)}.dou-editor__match.is-current{box-shadow:0 0 0 1px var(--dou-editor-match-current)}}@layer dou.components{.dou-flow-editor{--dou-flow-editor-dot: color-mix(in oklab, var(--dou-color-text) 16%, transparent);--dou-flow-editor-node-bg: var(--dou-color-bg-surface);--dou-flow-editor-node-border: var(--dou-color-border);--dou-flow-editor-node-border-hover: var(--dou-color-border-strong);--dou-flow-editor-node-radius: var(--dou-radius-container);--dou-flow-editor-edge: var(--dou-color-border-strong);--dou-flow-editor-edge-hover: var(--dou-color-text-tertiary);--dou-flow-editor-selected: var(--dou-color-primary);--dou-flow-editor-guide: var(--dou-color-primary);--dou-flow-editor-port: var(--dou-color-text-tertiary);--dou-flow-editor-status-wait: var(--dou-color-text-disabled);--dou-flow-editor-status-process: var(--dou-color-warning);--dou-flow-editor-status-finish: var(--dou-color-success);--dou-flow-editor-status-error: var(--dou-color-danger);position:relative;box-sizing:border-box;width:100%;height:480px;min-width:0;overflow:hidden;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-canvas);background-image:radial-gradient(circle,var(--dou-flow-editor-dot) 1px,transparent 1px);color:var(--dou-color-text);font-family:var(--dou-font-family);font-size:var(--dou-font-size-md);line-height:var(--dou-font-line-height);touch-action:none;user-select:none;-webkit-user-select:none;outline:none;cursor:default}.dou-flow-editor:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-flow-editor.is-space{cursor:grab}.dou-flow-editor.is-connecting,.dou-flow-editor.is-connecting *{cursor:crosshair}.dou-flow-editor.is-refused,.dou-flow-editor.is-refused *{cursor:not-allowed}.dou-flow-editor.is-panning,.dou-flow-editor.is-panning *,.dou-flow-editor.is-dragging,.dou-flow-editor.is-dragging *{cursor:grabbing}.dou-flow-editor__layer{position:absolute;top:0;left:0;transform-origin:0 0}.dou-flow-editor__edges,.dou-flow-editor__guides{position:absolute;top:0;left:0;width:1px;height:1px;overflow:visible;pointer-events:none}.dou-flow-editor__edge{fill:none;stroke:var(--dou-flow-editor-edge);stroke-width:var(--dou-flow-editor-edge-width, 1px);vector-effect:non-scaling-stroke;transition:stroke var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-flow-editor__edge.is-selected{stroke:var(--dou-flow-editor-selected);stroke-width:calc(var(--dou-flow-editor-edge-width, 1px) + 1px)}.dou-flow-editor__edge.is-stale{stroke:var(--dou-color-danger);stroke-dasharray:4 3}.dou-flow-editor__edge.is-mark{stroke-dasharray:none!important;animation:none}.dou-flow-editor__edge.is-preview{stroke:var(--dou-flow-editor-selected);stroke-dasharray:4 4}.dou-flow-editor__edge-hit{fill:none;stroke:transparent;stroke-width:12px;vector-effect:non-scaling-stroke;pointer-events:stroke;cursor:pointer}.dou-flow-editor__edge-hit:hover~.dou-flow-editor__edge:not(.is-selected){stroke:var(--dou-flow-editor-edge-hover)}.dou-flow-editor__edge.is-animated:not(.is-stale){stroke-dasharray:6 4;animation:dou-flow-editor-flow .48s linear infinite}@media (prefers-reduced-motion: reduce){.dou-flow-editor__edge.is-animated:not(.is-stale){animation:none}}@keyframes dou-flow-editor-flow{0%{stroke-dashoffset:10}to{stroke-dashoffset:0}}.dou-flow-editor__label{position:absolute;top:0;left:0;translate:-50% -50%;box-sizing:border-box;max-width:200px;padding:0 6px;overflow:hidden;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background:var(--dou-color-bg-surface);color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);line-height:20px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.dou-flow-editor__label.is-selected{z-index:1;border-color:var(--dou-flow-editor-selected);color:var(--dou-color-text)}.dou-flow-editor__label.is-bend{cursor:ew-resize}.dou-flow-editor__label.is-bend.is-y{cursor:ns-resize}.dou-flow-editor__label.is-editing{z-index:2;display:inline-grid;min-width:48px;max-width:none;overflow:visible;font-size:max(var(--dou-font-size-input-min, 0px),var(--dou-font-size-sm));cursor:text}.dou-flow-editor__label.is-editing:after{content:attr(data-value) " ";grid-area:1 / 1;visibility:hidden;white-space:pre}.dou-flow-editor__label-input{grid-area:1 / 1;width:100%;min-width:0;padding:0;border:none;outline:none;background:none;color:inherit;font:inherit;user-select:text;-webkit-user-select:text}.dou-flow-editor__simple{position:absolute;top:0;left:0;display:flex;align-items:center;box-sizing:border-box;padding:0 16px;overflow:hidden;border:1px solid var(--dou-flow-editor-node-border);border-radius:var(--dou-flow-editor-node-radius);background:var(--dou-flow-editor-node-bg);outline:none}.dou-flow-editor__simple.is-selected{border-color:var(--dou-flow-editor-selected);box-shadow:0 0 0 1px var(--dou-flow-editor-selected)}.dou-flow-editor.is-tiny .dou-flow-editor__simple:not(.is-selected){border-color:transparent;background:color-mix(in oklab,var(--dou-color-text) 14%,transparent)}.dou-flow-editor__simple-label{overflow:hidden;color:var(--dou-color-text-secondary);font-size:min(calc(12px / var(--dou-flow-editor-zoom, 1)),40px);line-height:1.2;white-space:nowrap;text-overflow:ellipsis}.dou-flow-editor__bend{position:absolute;z-index:1;top:0;left:0;box-sizing:border-box;width:6px;height:16px;border:1px solid var(--dou-flow-editor-selected);border-radius:3px;background:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);cursor:ew-resize;scale:calc(1 / var(--dou-flow-editor-zoom, 1))}.dou-flow-editor__bend.is-y{width:16px;height:6px;cursor:ns-resize}.dou-flow-editor__bend:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.dou-flow-editor__guides line{stroke:var(--dou-flow-editor-guide);stroke-width:1px;vector-effect:non-scaling-stroke}.dou-flow-editor__node{position:absolute;top:0;left:0;box-sizing:border-box;border:1px solid var(--dou-flow-editor-node-border);border-radius:var(--dou-flow-editor-node-radius);background-color:var(--dou-flow-editor-node-bg);box-shadow:var(--dou-shadow-sm);outline:none;transition-property:border-color,box-shadow;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-flow-editor__node:hover{border-color:var(--dou-flow-editor-node-border-hover)}.dou-flow-editor__node:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-flow-editor__node.is-selected{border-color:var(--dou-flow-editor-selected);box-shadow:0 0 0 3px color-mix(in oklab,var(--dou-flow-editor-selected) 14%,transparent),var(--dou-shadow-sm)}.dou-flow-editor__node.is-dragging{z-index:1;box-shadow:var(--dou-shadow-md)}.dou-flow-editor__node.is-selected.is-dragging{box-shadow:0 0 0 3px color-mix(in oklab,var(--dou-flow-editor-selected) 14%,transparent),var(--dou-shadow-md)}.dou-flow-editor__node :is(input,textarea,[contenteditable=true]){user-select:text;-webkit-user-select:text}.dou-flow-editor__node.is-bare{border-color:transparent;background:none;box-shadow:none}.dou-flow-editor__node.is-bare:hover{border-color:transparent}.dou-flow-editor__node.is-bare.is-selected{border-color:transparent;box-shadow:none;outline:calc(1px / var(--dou-flow-editor-zoom, 1)) solid var(--dou-flow-editor-selected);outline-offset:calc(4px / var(--dou-flow-editor-zoom, 1))}.dou-flow-editor__node.is-bare.is-selected.is-turned{outline:none}.dou-flow-editor__node.is-bare.is-selected.is-turned:after{--dou-flow-node-ring: calc(5px / var(--dou-flow-editor-zoom, 1));content:"";position:absolute;inset:calc(var(--dou-flow-node-ring) * -1);box-sizing:border-box;border:calc(1px / var(--dou-flow-editor-zoom, 1)) solid var(--dou-flow-editor-selected);border-radius:calc(var(--dou-flow-editor-node-radius) + var(--dou-flow-node-ring));pointer-events:none;rotate:var(--dou-flow-node-rotation)}.dou-flow-editor__node.is-bare.is-dragging{box-shadow:none}.dou-flow-port{--dou-flow-port-color: var(--dou-flow-editor-port);position:absolute;z-index:1;box-sizing:border-box;width:8px;height:8px;border:1px solid var(--dou-flow-port-color);border-radius:var(--dou-radius-full);background-color:var(--dou-flow-editor-node-bg);cursor:crosshair;transition-property:opacity,scale,box-shadow;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-flow-port:before{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:inherit;content:""}@media (pointer: coarse){{top:-12px;right:-12px;bottom:-12px;left:-12px}}.dou-flow-port.is-connected{background-color:var(--dou-flow-port-color)}.dou-flow-port.is-square{border-radius:2px}.dou-flow-port.is-diamond{width:8px;height:8px;border-radius:1px;rotate:45deg}.dou-flow-port.is-triangle{width:10px;height:10px;border:0;border-radius:0;background:none}.dou-flow-port.is-triangle svg{display:block;width:100%;height:100%;overflow:visible;fill:var(--dou-flow-editor-node-bg);stroke:var(--dou-flow-port-color);stroke-linejoin:round;stroke-width:1px}.dou-flow-port.is-triangle.is-connected svg{fill:var(--dou-flow-port-color)}.dou-flow-port.is-triangle.is-top svg,.dou-flow-port.is-triangle.is-bottom svg{rotate:90deg}.dou-flow-port.is-unavailable{opacity:.32}.dou-flow-port.is-valid,.dou-flow-port.is-active{box-shadow:0 0 0 3px color-mix(in oklab,var(--dou-flow-editor-selected) 16%,transparent)}.dou-flow-port.is-candidate{border-color:var(--dou-flow-editor-selected);background-color:var(--dou-flow-editor-selected);box-shadow:0 0 0 4px color-mix(in oklab,var(--dou-flow-editor-selected) 20%,transparent);scale:1.25}.dou-flow-port.is-refused{opacity:1;border-color:var(--dou-color-danger);box-shadow:0 0 0 3px color-mix(in oklab,var(--dou-color-danger) 16%,transparent)}.dou-flow-port.is-triangle.is-candidate{background:none;box-shadow:none}.dou-flow-port.is-triangle.is-candidate svg{fill:var(--dou-flow-editor-selected);stroke:var(--dou-flow-editor-selected)}.dou-flow-port.is-left{top:50%;left:0;translate:calc(-50% - .5px) -50%}.dou-flow-port.is-right{top:50%;left:100%;translate:calc(-50% + .5px) -50%}.dou-flow-port.is-top{top:0;left:50%;translate:-50% calc(-50% - .5px)}.dou-flow-port.is-bottom{top:100%;left:50%;translate:-50% calc(-50% + .5px)}.dou-flow-editor__marquee{position:absolute;top:0;left:0;box-sizing:border-box;border:1px solid var(--dou-flow-editor-selected);border-radius:2px;background-color:color-mix(in oklab,var(--dou-flow-editor-selected) 8%,transparent);pointer-events:none}.dou-flow-editor__panels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.dou-flow-editor__panels>*{pointer-events:auto}.dou-flow-editor__find{position:absolute;top:12px;right:12px;left:12px;display:flex;align-items:flex-start;justify-content:flex-end;container-type:inline-size;pointer-events:none}.dou-flow-editor__find>*{pointer-events:auto}.dou-flow-editor__found{position:absolute;top:0;left:0;box-sizing:border-box;border-radius:var(--dou-flow-editor-node-radius);outline:4px solid color-mix(in oklab,var(--dou-color-warning) 35%,transparent);outline-offset:2px;pointer-events:none}.dou-flow-editor__found.is-current{outline-color:color-mix(in oklab,var(--dou-color-warning) 70%,transparent)}.dou-flow-editor__notice{position:absolute;bottom:12px;left:50%;z-index:20;box-sizing:border-box;width:max-content;max-width:calc(100% - 24px);padding:6px 12px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-md);color:var(--dou-color-text);font-size:var(--dou-font-size-sm);pointer-events:none;transform:translate(-50%)}.dou-flow-editor__end,.dou-flow-editor__live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dou-flow-editor__node.is-container{background-color:color-mix(in oklab,var(--dou-color-text) 3%,var(--dou-flow-editor-node-bg));box-shadow:none}.dou-flow-editor__node.is-container.is-selected,.dou-flow-editor__node.is-container.is-selected.is-dragging{box-shadow:0 0 0 3px color-mix(in oklab,var(--dou-flow-editor-selected) 14%,transparent)}.dou-flow-editor__node.is-container.is-dragging:not(.is-selected){box-shadow:var(--dou-shadow-sm)}.dou-flow-editor__node.is-drop-target,.dou-flow-editor__simple.is-drop-target{border-color:var(--dou-flow-editor-selected);background-color:color-mix(in oklab,var(--dou-flow-editor-selected) 6%,var(--dou-flow-editor-node-bg))}.dou-flow-editor__resize{position:absolute;right:0;bottom:0;translate:50% 50%;box-sizing:border-box;width:10px;height:10px;border:1px solid var(--dou-flow-editor-selected);border-radius:3px;background:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);cursor:nwse-resize;scale:calc(1 / var(--dou-flow-editor-zoom, 1))}.dou-flow-editor__resize:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.dou-flow-peers{--dou-flow-peer-color: var(--dou-color-text-secondary);--dou-flow-peer-line: calc(1.5px / var(--dou-flow-editor-zoom, 1))}.dou-flow-peer{position:absolute;top:0;left:0;box-sizing:border-box;border-radius:var(--dou-flow-editor-node-radius);outline:var(--dou-flow-peer-line) solid var(--dou-flow-peer-color);outline-offset:calc(3px / var(--dou-flow-editor-zoom, 1));pointer-events:none}.dou-flow-peer.is-moving{outline-style:dashed;background-color:color-mix(in oklab,var(--dou-flow-peer-color) 8%,transparent)}.dou-flow-peer__name{position:absolute;bottom:100%;left:0;margin-bottom:calc(4px / var(--dou-flow-editor-zoom, 1));padding:0 6px;border-radius:4px;background-color:var(--dou-flow-peer-color);color:#fff;color:oklch(from var(--dou-flow-peer-color) clamp(.2,(.66 - l) * 100,.99) 0 0);font-size:var(--dou-font-size-sm);line-height:18px;white-space:nowrap;scale:calc(1 / var(--dou-flow-editor-zoom, 1));transform-origin:left bottom}.dou-flow-peer__lines{position:absolute;top:0;left:0;width:1px;height:1px;overflow:visible;pointer-events:none}.dou-flow-peer__lines path{fill:none;stroke:var(--dou-flow-peer-color);stroke-width:1.5px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.dou-flow-group-node{height:100%}.dou-flow-editor__node.is-collapsed>.dou-flow-group-node{height:auto}.dou-flow-group-node__head{display:flex;align-items:center;gap:4px;box-sizing:border-box;height:40px;padding:0 12px 0 8px}.dou-flow-group-node__toggle{display:inline-flex;flex:none;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--dou-color-text-tertiary);font-size:16px;cursor:pointer;transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-flow-group-node__toggle>svg{transition:rotate var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-flow-group-node__toggle:hover:not(:disabled){background:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-flow-group-node__toggle:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:0}.dou-flow-group-node__toggle:disabled{cursor:default}.dou-flow-group-node.is-collapsed .dou-flow-group-node__toggle>svg{rotate:-90deg}.dou-flow-group-node__title{overflow:hidden;color:var(--dou-color-text-secondary);font-size:13px;font-weight:500;line-height:20px;white-space:nowrap;text-overflow:ellipsis}.dou-flow-group-node__input{flex:1;min-width:0;height:24px;box-sizing:border-box;padding:0 6px;border:1px solid var(--dou-flow-editor-selected);border-radius:6px;outline:none;background:var(--dou-color-bg-surface);color:var(--dou-color-text);font:inherit;font-size:max(var(--dou-font-size-input-min, 0px),13px)}@media (prefers-reduced-motion: reduce){.dou-flow-group-node__toggle>svg{transition:none}}.dou-flow-default-node{width:208px}.dou-flow-editor__node.is-sized>.dou-flow-default-node{width:auto}.dou-flow-default-node__head{position:relative;display:flex;align-items:center;gap:8px;box-sizing:border-box;min-height:44px;padding:0 12px}.dou-flow-default-node__icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-muted);color:var(--dou-color-text-secondary)}.dou-flow-default-node__icon svg{width:16px;height:16px}.dou-flow-default-node__title{flex:1;min-width:0;overflow-x:clip;font-weight:var(--dou-font-weight-medium);text-overflow:ellipsis;white-space:nowrap;text-box:trim-both cap alphabetic}.dou-flow-default-node__status{flex:none;width:8px;height:8px;border-radius:var(--dou-radius-full);background-color:var(--dou-flow-editor-status-wait)}.dou-flow-default-node__status.is-process{background-color:var(--dou-flow-editor-status-process)}.dou-flow-default-node__status.is-finish{background-color:var(--dou-flow-editor-status-finish)}.dou-flow-default-node__status.is-error{background-color:var(--dou-flow-editor-status-error)}.dou-flow-default-node__description{margin:-4px 0 0;padding:0 12px 12px;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);line-height:20px}.dou-flow-default-node__ports{padding:3px 0 4px;border-top:1px solid var(--dou-color-border-subtle)}.dou-flow-default-node__row{position:relative;display:flex;align-items:center;box-sizing:border-box;height:28px;padding:0 12px;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}.dou-flow-default-node__port{min-width:0;overflow-x:clip;text-overflow:ellipsis;white-space:nowrap;text-box:trim-both cap alphabetic}.dou-flow-default-node__port.is-output{margin-left:auto;text-align:right}.dou-flow-minimap{position:absolute;overflow:hidden;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);line-height:0}.dou-flow-minimap.is-top-left{top:12px;left:12px}.dou-flow-minimap.is-top-right{top:12px;right:12px}.dou-flow-minimap.is-bottom-left{bottom:12px;left:12px}.dou-flow-minimap.is-bottom-right{right:12px;bottom:12px}.dou-flow-minimap svg{display:block;cursor:pointer;touch-action:none}.dou-flow-minimap.is-dragging svg{cursor:grabbing}.dou-flow-minimap__node{fill:var(--dou-color-bg-muted);stroke:var(--dou-color-border-strong);stroke-width:1px;vector-effect:non-scaling-stroke}.dou-flow-minimap__node.is-selected{fill:color-mix(in oklab,var(--dou-flow-editor-selected) 24%,var(--dou-color-bg-surface));stroke:var(--dou-flow-editor-selected)}.dou-flow-minimap__shade{fill:color-mix(in oklab,var(--dou-color-text) 6%,transparent)}.dou-flow-minimap__view{fill:none;stroke:var(--dou-color-text-tertiary);stroke-width:1px;vector-effect:non-scaling-stroke}.dou-flow-controls{position:absolute;display:flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--dou-color-border);border-radius:calc(var(--dou-radius-control) + 2px);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm)}.dou-flow-controls.is-top-left{top:12px;left:12px}.dou-flow-controls.is-top-right{top:12px;right:12px}.dou-flow-controls.is-bottom-left{bottom:12px;left:12px}.dou-flow-controls.is-bottom-right{right:12px;bottom:12px}.dou-flow-controls__button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:28px;height:28px;padding:0 6px;border:0;border-radius:var(--dou-radius-control);background:none;color:var(--dou-color-text-secondary);font:inherit;font-size:var(--dou-font-size-sm);font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-flow-controls__button svg{width:16px;height:16px}.dou-flow-controls__button:hover:not(:disabled){background-color:var(--dou-color-bg-muted);color:var(--dou-color-text)}.dou-flow-controls__button:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:0}.dou-flow-controls__button:disabled{color:var(--dou-color-text-disabled);cursor:default}.dou-flow-controls__zoom{min-width:48px}.dou-flow-controls__divider{width:1px;height:16px;margin:0 2px;background-color:var(--dou-color-border)}.dou-flow-controls__button.is-active{background-color:var(--dou-color-bg-muted);color:var(--dou-color-text)}.dou-flow-toolbar{position:absolute;display:flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--dou-color-border);border-radius:calc(var(--dou-radius-control) + 2px);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-md)}@media (pointer: coarse){.dou-flow-toolbar .dou-flow-controls__button{min-width:40px;height:40px}}.dou-flow-editor__menu-anchor{position:absolute;width:0;height:0;overflow:hidden}.dou-flow-editor__ghost{position:fixed;top:0;left:0;z-index:2147483647;pointer-events:none;translate:-50% -50%;transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-flow-editor__ghost.is-outside{opacity:.56}.dou-flow-editor__ghost-card{display:flex;align-items:center;gap:8px;box-sizing:border-box;height:36px;padding:0 12px 0 8px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-md);color:var(--dou-color-text);font-family:var(--dou-font-family);font-size:var(--dou-font-size-sm);white-space:nowrap}.dou-flow-editor__ghost-icon,.dou-flow-quick-add__icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-muted);color:var(--dou-color-text-secondary)}.dou-flow-editor__ghost-icon svg,.dou-flow-quick-add__icon svg{width:14px;height:14px}.dou-flow-quick-add{width:260px;padding:0}.dou-flow-quick-add.is-custom{width:auto}.dou-flow-quick-add .dou-command__search{height:40px;padding:0 12px}.dou-flow-quick-add .dou-command__item{gap:8px}.dou-flow-quick-add .dou-command__label{flex:none}}.dou-flow-editor.is-refused .dou-flow-editor__edge.is-preview{stroke:var(--dou-color-danger)}@layer dou.components{.dou-flow-editor{--dou-flow-whiteboard-ink: color-mix(in oklab, var(--dou-color-text) 72%, transparent)}.dou-flow-editor[data-board-tool=hand],.dou-flow-editor[data-board-tool=hand] .dou-flow-editor__node{cursor:grab}.dou-flow-editor[data-board-panning],.dou-flow-editor[data-board-panning] .dou-flow-editor__node{cursor:grabbing}.dou-flow-editor[data-board-tool=rect],.dou-flow-editor[data-board-tool=rect] .dou-flow-editor__node,.dou-flow-editor[data-board-tool=ellipse],.dou-flow-editor[data-board-tool=ellipse] .dou-flow-editor__node,.dou-flow-editor[data-board-tool=diamond],.dou-flow-editor[data-board-tool=diamond] .dou-flow-editor__node,.dou-flow-editor[data-board-tool=sticky],.dou-flow-editor[data-board-tool=sticky] .dou-flow-editor__node{cursor:crosshair}.dou-flow-editor[data-board-tool=text],.dou-flow-editor[data-board-tool=text] .dou-flow-editor__node{cursor:text}.dou-flow-editor[data-board-tool=pen],.dou-flow-editor[data-board-tool=pen] .dou-flow-editor__node,.dou-flow-editor[data-board-tool=eraser],.dou-flow-editor[data-board-tool=eraser] .dou-flow-editor__node{cursor:crosshair}.dou-flow-editor__node:has(>.dou-whiteboard-node.is-ink){pointer-events:none}.dou-flow-editor__node:has(>.dou-whiteboard-node.is-ink) .dou-flow-editor__resize{pointer-events:auto}.dou-flow-editor__node:has(>.dou-whiteboard-node)>.dou-flow-editor__resize{display:none}.dou-whiteboard-node{--dou-whiteboard-tone: var(--dou-color-neutral);position:relative;display:grid;box-sizing:border-box;width:100%;height:100%;min-height:inherit;place-items:center;color:var(--dou-color-text)}.dou-whiteboard-node.is-primary{--dou-whiteboard-tone: var(--dou-color-primary)}.dou-whiteboard-node.is-success{--dou-whiteboard-tone: var(--dou-color-success)}.dou-whiteboard-node.is-warning{--dou-whiteboard-tone: var(--dou-color-warning)}.dou-whiteboard-node.is-danger{--dou-whiteboard-tone: var(--dou-color-danger)}.dou-whiteboard-node.is-sticky{border-radius:4px;background-color:color-mix(in oklab,var(--dou-whiteboard-tone) 20%,var(--dou-color-bg-surface));box-shadow:var(--dou-shadow-sm)}.dou-whiteboard-node.is-text{place-items:start stretch}.dou-whiteboard-node.is-erasing{opacity:.3}.dou-whiteboard-node__ink{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;fill:var(--dou-flow-whiteboard-ink)}.dou-whiteboard-node:not(.is-neutral)>.dou-whiteboard-node__ink{fill:var(--dou-whiteboard-tone)}.dou-whiteboard-node__ink path{pointer-events:visiblePainted}.dou-whiteboard-node__ink-hit{fill:none;stroke:transparent;stroke-width:12px;vector-effect:non-scaling-stroke;pointer-events:stroke}.dou-whiteboard-node__image{position:absolute;top:0;right:0;bottom:0;left:0;display:block;box-sizing:border-box;width:100%;height:100%;border-radius:4px;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.dou-whiteboard-node__image.is-broken{display:flex;align-items:center;justify-content:center;background-color:var(--dou-color-bg-muted);color:var(--dou-color-text-tertiary)}.dou-whiteboard-node__image.is-broken>svg{width:min(24px,40%);height:min(24px,40%)}.dou-whiteboard-handles,.dou-whiteboard-node__frame{position:absolute;top:0;left:0;pointer-events:none}.dou-whiteboard-node__frame{box-sizing:border-box}.dou-whiteboard-node__turn,.dou-whiteboard-node__corner{position:absolute;z-index:1;box-sizing:border-box;width:10px;height:10px;border:1px solid var(--dou-flow-editor-selected);background:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);pointer-events:auto;touch-action:none;scale:calc(1 / var(--dou-flow-editor-zoom, 1))}.dou-whiteboard-node__turn:before,.dou-whiteboard-node__turn>.dou-whiteboard-node__target,.dou-whiteboard-node__corner:before,.dou-whiteboard-node__corner>.dou-whiteboard-node__target{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}@media (pointer: coarse){.dou-whiteboard-node__turn>.dou-whiteboard-node__target,.dou-whiteboard-node__corner>.dou-whiteboard-node__target{top:-15px;right:-15px;bottom:-15px;left:-15px}}.dou-whiteboard-node__turn:before{content:none}.dou-whiteboard-node__turn{bottom:calc(-24px / var(--dou-flow-editor-zoom, 1));left:50%;border-radius:50%;cursor:grab;translate:-50% 50%}@media (pointer: coarse){.dou-whiteboard-node__turn{bottom:calc(-40px / var(--dou-flow-editor-zoom, 1))}}.dou-whiteboard-node__corner{border-radius:3px;translate:-50% -50%}.dou-whiteboard-node__side{position:absolute;pointer-events:auto;touch-action:none;translate:-50% -50%}.dou-whiteboard-node__side.is-x{width:calc(8px / var(--dou-flow-editor-zoom, 1));height:calc(100% - 20px / var(--dou-flow-editor-zoom, 1))}.dou-whiteboard-node__side.is-y{width:calc(100% - 20px / var(--dou-flow-editor-zoom, 1));height:calc(8px / var(--dou-flow-editor-zoom, 1))}@media (pointer: coarse){.dou-whiteboard-node__side.is-x{width:clamp(calc(16px / var(--dou-flow-editor-zoom, 1)),50%,calc(40px / var(--dou-flow-editor-zoom, 1)))}.dou-whiteboard-node__side.is-y{height:clamp(calc(16px / var(--dou-flow-editor-zoom, 1)),50%,calc(40px / var(--dou-flow-editor-zoom, 1)))}}.dou-whiteboard-node__shape{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;fill:var(--dou-color-bg-surface);stroke:var(--dou-flow-whiteboard-ink);stroke-linejoin:round;stroke-width:1.5px}.dou-whiteboard-node:not(.is-neutral)>.dou-whiteboard-node__shape{fill:color-mix(in oklab,var(--dou-whiteboard-tone) 10%,var(--dou-color-bg-surface));stroke:var(--dou-whiteboard-tone)}.dou-whiteboard-node__text{position:relative;box-sizing:border-box;max-width:100%;max-height:100%;padding:12px 16px;overflow:hidden;font:inherit;font-size:max(var(--dou-font-size-input-min, 0px),var(--dou-font-size-md));line-height:1.5;overflow-wrap:anywhere;text-align:center;white-space:pre-wrap}.is-sticky>.dou-whiteboard-node__text{padding:16px}.is-shape>.dou-whiteboard-node__text:not(.dou-whiteboard-node__field),.is-sticky>.dou-whiteboard-node__text:not(.dou-whiteboard-node__field){display:-webkit-box;-webkit-box-orient:vertical;clip-path:inset(12px 0)}.is-sticky>.dou-whiteboard-node__text:not(.dou-whiteboard-node__field){clip-path:inset(16px 0)}.is-text>.dou-whiteboard-node__text{padding:4px 8px;font-size:var(--dou-font-size-lg);text-align:start}.dou-whiteboard-node__field{display:block;width:100%;min-height:1lh;margin:0;border:0;background:none;color:inherit;outline:none;resize:none;field-sizing:content}.dou-whiteboard-node.is-selected .dou-whiteboard-node__anchor:before{top:-2px;right:-2px;bottom:-2px;left:-2px}@media (pointer: coarse){{top:-6px;right:-6px;bottom:-6px;left:-6px}}.dou-whiteboard-node__anchors{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.dou-whiteboard-node__anchors .dou-flow-port{opacity:0;pointer-events:none;scale:calc(1 / var(--dou-flow-editor-zoom, 1))}.dou-flow-editor[data-board-tool=select] .dou-flow-editor__node:hover .dou-whiteboard-node:not(.is-editing) .dou-flow-port.is-output,.dou-flow-editor[data-board-tool=select] .dou-flow-editor__node.is-selected .dou-whiteboard-node:not(.is-editing) .dou-flow-port.is-output{opacity:1;pointer-events:auto}.dou-flow-editor.is-connecting .dou-whiteboard-node__anchors .dou-flow-port.is-input.is-valid{opacity:.6}.dou-flow-editor.is-connecting .dou-whiteboard-node__anchors .dou-flow-port.is-input.is-candidate{opacity:1}[data-edge-type=connector]>.dou-flow-editor__edge{stroke-linecap:round;stroke-linejoin:round}[data-edge-type=connector]>.dou-flow-editor__edge:not(.is-selected){stroke:var(--dou-flow-whiteboard-ink);stroke-width:1.5px}.dou-whiteboard-strokes{position:absolute;top:0;left:0;width:1px;height:1px;overflow:visible;pointer-events:none}.dou-whiteboard-strokes__ink{fill:var(--dou-flow-whiteboard-ink)}.dou-whiteboard-strokes__eraser{fill:color-mix(in oklab,var(--dou-color-text) 6%,transparent);stroke:var(--dou-color-border-strong);stroke-width:calc(1px / var(--dou-flow-editor-zoom, 1))}.dou-whiteboard-draft{position:absolute;top:0;left:0;box-sizing:border-box;border:calc(1px / var(--dou-flow-editor-zoom, 1)) dashed var(--dou-flow-editor-selected);border-radius:4px;background-color:color-mix(in oklab,var(--dou-flow-editor-selected) 6%,transparent);pointer-events:none}.dou-whiteboard-draft.is-ellipse{border-radius:50%}.dou-whiteboard-toolbar{position:absolute;top:12px;left:50%;display:flex;width:max-content;max-width:calc(100% - 24px);padding:2px;box-sizing:border-box;border:1px solid var(--dou-color-border);border-radius:calc(var(--dou-radius-control) + 2px);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);translate:-50% 0}.dou-whiteboard-toolbar__scroll{display:flex;align-items:center;gap:2px;min-width:0;overflow-x:auto;border-radius:var(--dou-radius-control);overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x}.dou-whiteboard-toolbar__scroll::-webkit-scrollbar{display:none}.dou-whiteboard-toolbar__scroll.has-more-start{-webkit-mask-image:linear-gradient(to right,transparent,#000 32px);mask-image:linear-gradient(to right,transparent,#000 32px)}.dou-whiteboard-toolbar__scroll.has-more-end{-webkit-mask-image:linear-gradient(to left,transparent,#000 32px);mask-image:linear-gradient(to left,transparent,#000 32px)}.dou-whiteboard-toolbar__scroll.has-more-start.has-more-end{-webkit-mask-image:linear-gradient(to right,transparent,#000 32px,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(to right,transparent,#000 32px,#000 calc(100% - 32px),transparent)}.dou-whiteboard-toolbar__button{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:var(--dou-radius-control);background:none;color:var(--dou-color-text-secondary);cursor:pointer;transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-whiteboard-toolbar__button svg{width:16px;height:16px}.dou-whiteboard-toolbar__button:hover{background-color:var(--dou-color-bg-muted);color:var(--dou-color-text)}.dou-whiteboard-toolbar__button[aria-pressed=true]{background-color:var(--dou-color-bg-muted);color:var(--dou-color-text)}.dou-whiteboard-toolbar__button.is-locked:after{position:absolute;bottom:3px;left:50%;width:4px;height:4px;border-radius:var(--dou-radius-full);background-color:currentColor;content:"";translate:-50% 0}.dou-whiteboard-toolbar__button:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:0}.dou-whiteboard-toolbar__divider{flex:none;width:1px;height:16px;margin:0 2px;background-color:var(--dou-color-border)}}@layer dou.components{.dou-gantt{--dou-gantt-header-bg: var(--dou-color-bg-canvas);--dou-gantt-line: var(--dou-color-border-subtle);--dou-gantt-line-strong: var(--dou-color-border);--dou-gantt-off: color-mix(in oklab, var(--dou-color-text) 5%, transparent);--dou-gantt-hover: color-mix(in oklab, var(--dou-color-text) 3%, transparent);--dou-gantt-selected: color-mix(in oklab, var(--dou-color-primary) 7%, transparent);--dou-gantt-link: color-mix(in oklab, var(--dou-color-text) 32%, transparent);--dou-gantt-today: var(--dou-color-primary);--dou-gantt-bar-height: 20px;position:relative;display:flex;box-sizing:border-box;width:100%;height:480px;min-width:0;overflow:hidden;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface);color:var(--dou-color-text);font-family:var(--dou-font-family);font-size:var(--dou-font-size-md);line-height:var(--dou-font-line-height);outline:none}.dou-gantt:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-gantt.is-dragging,.dou-gantt.is-dragging *{user-select:none;-webkit-user-select:none}.dou-gantt.is-dragging-move,.dou-gantt.is-dragging-move *{cursor:grabbing}.dou-gantt.is-dragging-start *,.dou-gantt.is-dragging-end *,.dou-gantt.is-dragging-progress *,.dou-gantt.is-dragging-draw *{cursor:ew-resize}.dou-gantt.is-dragging-link *{cursor:crosshair}.dou-gantt.is-dragging-row *{cursor:grabbing}.dou-gantt__table-pane{display:flex;flex:none;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain}.dou-gantt__table{display:flex;flex:1 0 auto;flex-direction:column}.dou-gantt__table-head{display:flex;flex:none;box-sizing:border-box;height:56px;border-bottom:1px solid var(--dou-gantt-line-strong);background-color:var(--dou-gantt-header-bg);color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);font-weight:var(--dou-font-weight-medium)}.dou-gantt__th,.dou-gantt__td{display:flex;align-items:center;box-sizing:border-box;min-width:0;padding:0 12px;white-space:nowrap}.dou-gantt__th.is-center,.dou-gantt__td.is-center{justify-content:center}.dou-gantt__th.is-end,.dou-gantt__td.is-end{justify-content:flex-end}.dou-gantt__th.is-title{min-width:120px}.dou-gantt__table-body{position:relative;flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.dou-gantt__table-body::-webkit-scrollbar{display:none}.dou-gantt__table-rows{position:relative}.dou-gantt__tr{position:absolute;top:0;right:0;left:0;display:flex;height:var(--dou-gantt-row-height);box-shadow:inset 0 -1px 0 var(--dou-gantt-line);cursor:default}.dou-gantt__tr.is-hovered{background-color:var(--dou-gantt-hover)}.dou-gantt__tr.is-selected{background-color:var(--dou-gantt-selected)}.dou-gantt__tr.is-summary .dou-gantt__td.is-title{font-weight:var(--dou-font-weight-medium)}.dou-gantt__td{color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}.dou-gantt__td.is-title{min-width:120px;padding-left:6px;color:var(--dou-color-text);font-size:var(--dou-font-size-md)}.dou-gantt__cell-text{min-width:0;overflow-x:clip;text-overflow:ellipsis}.dou-gantt__indent{flex:none}.dou-gantt__toggle,.dou-gantt__toggle-space{display:inline-flex;flex:none;align-items:center;justify-content:center;width:20px;height:20px;margin-right:4px}.dou-gantt__toggle{padding:0;border:0;border-radius:4px;background:none;color:var(--dou-color-text-tertiary);font-size:14px;cursor:pointer}.dou-gantt__toggle:hover{background-color:var(--dou-color-bg-muted);color:var(--dou-color-text)}.dou-gantt__tr.is-moving{opacity:.45}.dou-gantt__tr.is-drop-inside{background-color:var(--dou-gantt-selected);box-shadow:inset 0 0 0 1px var(--dou-color-primary),inset 0 -1px 0 var(--dou-gantt-line)}.dou-gantt__drop-line{position:absolute;top:-1px;right:8px;z-index:2;height:2px;border-radius:1px;background-color:var(--dou-color-primary);pointer-events:none}.dou-gantt__add-row{position:absolute;top:0;right:0;left:0;display:flex;height:var(--dou-gantt-row-height)}.dou-gantt__add-row>.dou-gantt__td{flex:1}.dou-gantt__add{display:inline-flex;flex:1;gap:6px;align-items:center;height:24px;padding:0 6px;margin-left:-6px;text-align:start;border:0;border-radius:var(--dou-radius-control);background:none;color:var(--dou-color-text-tertiary);font:inherit;font-size:var(--dou-font-size-sm);cursor:pointer}.dou-gantt__add>svg{font-size:14px}.dou-gantt__add:hover{background-color:var(--dou-color-bg-muted);color:var(--dou-color-text)}.dou-gantt__add:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}.dou-gantt__editor{display:flex;flex:1;align-items:center;min-width:0}.dou-gantt__editor>*{flex:1;min-width:0}.dou-gantt__editor.is-date,.dou-gantt__editor.is-datetime{position:absolute;top:50%;left:6px;z-index:3;width:156px;transform:translateY(-50%)}.dou-gantt__editor.is-datetime{width:208px}.dou-gantt__td{position:relative}.is-editable .dou-gantt__tr{user-select:none;-webkit-user-select:none}.dou-gantt__editor-input{box-sizing:border-box;width:100%;height:26px;padding:0 6px;margin-left:-7px;border:1px solid var(--dou-color-border-strong, var(--dou-color-border));border-radius:var(--dou-radius-control);outline:none;background-color:var(--dou-color-bg-surface);color:var(--dou-color-text);font:inherit;font-size:max(var(--dou-font-size-input-min, 0px),1em)}.dou-gantt__editor-input:focus{border-color:var(--dou-color-primary);box-shadow:0 0 0 2px color-mix(in oklab,var(--dou-color-focus) 30%,transparent)}.dou-gantt__editor-input::placeholder{color:var(--dou-color-text-tertiary)}.dou-gantt__editor-input[aria-invalid=true]{border-color:var(--dou-color-danger);box-shadow:0 0 0 2px color-mix(in oklab,var(--dou-color-danger) 24%,transparent)}.dou-gantt__menu-anchor{position:absolute;width:0;height:0;overflow:hidden}.dou-gantt__divider{position:relative;z-index:3;flex:none;order:1;width:1px;background-color:var(--dou-gantt-line-strong);outline:none;touch-action:none;cursor:col-resize;transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-gantt__divider:before{position:absolute;top:0;right:-4px;bottom:0;left:-4px;content:""}.dou-gantt__divider:hover,.dou-gantt__divider:focus-visible{background-color:var(--dou-color-focus)}.dou-gantt__chart{position:relative;flex:1;order:2;min-width:0;overflow:auto;outline:none;overscroll-behavior-x:none}.dou-gantt__chart.is-fixed{overscroll-behavior-x:contain}.dou-gantt__canvas{position:relative;min-height:100%}.dou-gantt__header{position:sticky;top:0;z-index:4;box-sizing:border-box;height:56px;border-bottom:1px solid var(--dou-gantt-line-strong);background-color:var(--dou-gantt-header-bg);color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);white-space:nowrap}.dou-gantt__tier{position:relative;height:28px;overflow:clip}.dou-gantt__tier.is-top{box-shadow:inset 0 -1px 0 var(--dou-gantt-line);color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium)}.dou-gantt__tier.is-bottom{height:27px}.dou-gantt__cell{position:absolute;top:0;bottom:0;display:flex;align-items:center;box-sizing:border-box;box-shadow:inset 1px 0 0 var(--dou-gantt-line)}.is-bottom>.dou-gantt__cell{justify-content:center}.dou-gantt__cell-label{position:sticky;left:0;margin-block:-4px;padding:4px 8px;overflow-x:clip;text-overflow:ellipsis;text-box:trim-both cap alphabetic}.dou-gantt__cell.is-off{color:var(--dou-color-text-tertiary)}.dou-gantt__cell.is-now{color:var(--dou-gantt-today);font-weight:var(--dou-font-weight-medium)}.dou-gantt__today-mark{position:absolute;bottom:-1px;width:8px;height:4px;margin-left:-3.5px;background-color:var(--dou-gantt-today);clip-path:polygon(50% 0,100% 100%,0 100%)}.dou-gantt__body{position:relative;background-image:linear-gradient(to top,var(--dou-gantt-line) 1px,transparent 1px);background-size:100% var(--dou-gantt-row-height)}.dou-gantt__row-titles{position:sticky;left:0;z-index:3;width:0;height:0;overflow:visible}.dou-gantt__row-title{position:absolute;top:0;left:0;display:flex;align-items:center;height:var(--dou-gantt-row-height);padding:0 12px;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);white-space:nowrap;pointer-events:none;text-shadow:0 0 2px var(--dou-color-bg-surface),0 0 2px var(--dou-color-bg-surface),0 0 4px var(--dou-color-bg-surface)}.dou-gantt__row-title.is-summary{color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium)}.dou-gantt__off,.dou-gantt__gridline,.dou-gantt__today{position:absolute;top:0;bottom:0;pointer-events:none}.dou-gantt__off{background-color:var(--dou-gantt-off)}.dou-gantt__gridline{width:1px;background-color:var(--dou-gantt-line)}.dou-gantt__today{z-index:1;width:1px;background-color:var(--dou-gantt-today)}.dou-gantt__row-highlight{position:absolute;top:0;right:0;left:0;height:var(--dou-gantt-row-height);background-color:var(--dou-gantt-hover);pointer-events:none}.dou-gantt__row-highlight.is-selected{background-color:var(--dou-gantt-selected)}.dou-gantt__links{position:absolute;top:0;left:0;z-index:1;overflow:visible;pointer-events:none}.dou-gantt__link{color:var(--dou-gantt-link)}.dou-gantt__link:hover,.dou-gantt__link.is-related{color:var(--dou-color-primary)}.dou-gantt__link-hit{fill:none;stroke:transparent;stroke-width:10px;pointer-events:stroke}.dou-gantt__link-line{fill:none;stroke:currentColor;stroke-width:1px}.dou-gantt__link-arrow{fill:currentColor}.dou-gantt__link.is-selected{color:var(--dou-color-primary)}.dou-gantt__link.is-selected .dou-gantt__link-line{stroke-width:2px}.dou-gantt__link.is-critical{color:color-mix(in oklab,var(--dou-color-danger) 72%,var(--dou-color-bg-surface))}.dou-gantt__link.is-broken{color:var(--dou-color-warning)}.dou-gantt__link.is-broken .dou-gantt__link-line{stroke-dasharray:4 3}.dou-gantt__link-draft{fill:none;stroke:var(--dou-color-primary);stroke-dasharray:4 3;stroke-width:1.5px}.dou-gantt__link-draft.is-refused{stroke:var(--dou-color-danger)}.dou-gantt__bar-row{position:absolute;top:0;left:0;z-index:2;height:var(--dou-gantt-row-height)}.dou-gantt__bar{--dou-gantt-tone: var(--dou-color-text);position:absolute;top:calc((var(--dou-gantt-row-height) - var(--dou-gantt-bar-height)) / 2);display:flex;align-items:center;box-sizing:border-box;height:var(--dou-gantt-bar-height);overflow:clip;border:1px solid color-mix(in oklab,var(--dou-gantt-tone) 18%,var(--dou-color-bg-surface));border-radius:6px;background-color:color-mix(in oklab,var(--dou-gantt-tone) 5%,var(--dou-color-bg-surface));box-shadow:var(--dou-shadow-sm);cursor:default}.dou-gantt__bar:hover{border-color:color-mix(in oklab,var(--dou-gantt-tone) 34%,var(--dou-color-bg-surface))}.is-editable .dou-gantt__bar:not(.is-locked){cursor:grab}.dou-gantt__bar.is-link-target{border-color:var(--dou-color-primary);box-shadow:0 0 0 3px color-mix(in oklab,var(--dou-color-primary) 22%,transparent)}.dou-gantt__bar.is-link-refused,.dou-gantt__bar.is-move-refused{border-color:var(--dou-color-danger);box-shadow:0 0 0 3px color-mix(in oklab,var(--dou-color-danger) 18%,transparent)}.dou-gantt__bar.is-selected{border-color:var(--dou-color-primary);box-shadow:0 0 0 2px color-mix(in oklab,var(--dou-color-focus) 35%,transparent)}.dou-gantt__bar.is-primary{--dou-gantt-tone: var(--dou-color-primary)}.dou-gantt__bar.is-success{--dou-gantt-tone: var(--dou-color-success)}.dou-gantt__bar.is-warning{--dou-gantt-tone: var(--dou-color-warning)}.dou-gantt__bar.is-danger,.dou-gantt__bar.is-critical{--dou-gantt-tone: var(--dou-color-danger)}.dou-gantt__bar.is-critical:not(.is-selected,.is-summary){border-color:color-mix(in oklab,var(--dou-color-danger) 48%,var(--dou-color-bg-surface))}.dou-gantt.has-baseline :is(.dou-gantt__bar-row,.dou-gantt__ghost,.dou-gantt__peer){translate:0 -4px}.dou-gantt__baseline{--dou-gantt-baseline: color-mix( in oklab, var(--dou-color-text) 24%, var(--dou-color-bg-surface) );position:absolute;top:calc((var(--dou-gantt-row-height) + var(--dou-gantt-bar-height)) / 2 - 2px);left:0;z-index:1;height:4px;border-radius:2px;background-color:var(--dou-gantt-baseline);pointer-events:none}.dou-gantt__baseline.is-milestone{top:calc((var(--dou-gantt-row-height) + var(--dou-gantt-bar-height)) / 2 - 4px);width:8px;height:8px;margin-left:-4px;border-radius:1px}.dou-gantt__ghost{position:absolute;top:calc((var(--dou-gantt-row-height) - var(--dou-gantt-bar-height)) / 2);left:0;z-index:2;box-sizing:border-box;height:var(--dou-gantt-bar-height);border:1px dashed color-mix(in oklab,var(--dou-color-text) 40%,transparent);border-radius:6px;pointer-events:none}.dou-gantt__ghost.is-milestone{top:calc((var(--dou-gantt-row-height) - 10px) / 2);width:10px;height:10px;margin-left:-5px;border-radius:2px}.dou-gantt__peer{--dou-gantt-peer-color: var(--dou-color-text-secondary);position:absolute;top:calc((var(--dou-gantt-row-height) - var(--dou-gantt-bar-height)) / 2 - 2px);left:-2px;z-index:2;box-sizing:content-box;height:var(--dou-gantt-bar-height);padding:1px;border:1px solid var(--dou-gantt-peer-color);border-radius:8px;pointer-events:none}.dou-gantt__peer.is-moving{border-style:dashed;background-color:color-mix(in oklab,var(--dou-gantt-peer-color) 8%,transparent)}.dou-gantt__peer.is-milestone{top:calc((var(--dou-gantt-row-height) - 14px) / 2 - 2px);width:14px;height:14px;margin-left:-9px;border-radius:3px}.dou-gantt__peer.is-milestone>.dou-gantt__peer-name{top:100%;right:auto;left:0;translate:none;transform:rotate(-45deg) translate(calc(-100% - 4px),-50%);transform-origin:0 0}.dou-gantt__peer.is-milestone.is-moving>.dou-gantt__peer-name{top:0;left:100%;transform:rotate(-45deg) translate(4px,-50%)}.dou-gantt__peer.is-moving>.dou-gantt__peer-name{right:auto;left:calc(100% + 4px)}.dou-gantt__peer-name{position:absolute;top:50%;right:calc(100% + 4px);translate:0 -50%;padding:0 6px;border-radius:4px;background-color:var(--dou-gantt-peer-color);color:#fff;color:oklch(from var(--dou-gantt-peer-color) clamp(.2,(.66 - l) * 100,.99) 0 0);font-size:var(--dou-font-size-sm);line-height:18px;white-space:nowrap}.dou-gantt__progress{position:absolute;top:0;bottom:0;left:0;background-color:color-mix(in oklab,var(--dou-gantt-tone) 12%,var(--dou-color-bg-surface))}.dou-gantt__bar-label{position:sticky;left:0;min-width:0;margin-block:-4px;padding:4px 8px;overflow-x:clip;font-size:var(--dou-font-size-sm);text-overflow:ellipsis;white-space:nowrap;text-box:trim-both cap alphabetic}.dou-gantt__bar.is-summary{top:calc((var(--dou-gantt-row-height) - 8px) / 2 - 2px);height:6px;overflow:visible;border:0;border-radius:2px 2px 0 0;background-color:color-mix(in oklab,var(--dou-gantt-tone) 40%,var(--dou-color-bg-surface));box-shadow:none}.dou-gantt__bar.is-summary:before,.dou-gantt__bar.is-summary:after{position:absolute;top:100%;width:6px;height:5px;background-color:inherit;content:""}.dou-gantt__bar.is-summary:before{left:0;clip-path:polygon(0 0,100% 0,0 100%)}.dou-gantt__bar.is-summary:after{right:0;clip-path:polygon(0 0,100% 0,100% 100%)}.dou-gantt__bar.is-summary.is-selected{background-color:var(--dou-color-primary);box-shadow:none}.dou-gantt__bar.is-milestone{top:calc((var(--dou-gantt-row-height) - 10px) / 2);width:10px;height:10px;margin-left:-5px;border-color:color-mix(in oklab,var(--dou-gantt-tone) 70%,var(--dou-color-bg-surface));border-radius:2px;background-color:color-mix(in oklab,var(--dou-gantt-tone) 62%,var(--dou-color-bg-surface));transform:rotate(45deg)}.dou-gantt__bar.is-milestone.is-selected{border-color:var(--dou-color-primary);background-color:var(--dou-color-primary)}.dou-gantt__bar-side{position:absolute;top:0;display:flex;align-items:center;height:var(--dou-gantt-row-height);color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);white-space:nowrap;pointer-events:none;text-shadow:0 0 2px var(--dou-color-bg-surface),0 0 2px var(--dou-color-bg-surface),0 0 4px var(--dou-color-bg-surface)}.dou-gantt__bar-side.is-summary{color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium)}.is-editable .dou-gantt__bar-row:is(:hover,.is-selected,.is-active)>.dou-gantt__bar-side{transform:translate(12px)}.dou-gantt__handle,.dou-gantt__progress-handle,.dou-gantt__dot{position:absolute;z-index:1;opacity:0;touch-action:none;transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-gantt__bar-row:hover>.dou-gantt__handle,.dou-gantt__bar-row.is-selected>.dou-gantt__handle,.dou-gantt__bar-row.is-active>.dou-gantt__handle,.dou-gantt__bar-row:hover>.dou-gantt__progress-handle,.dou-gantt__bar-row.is-selected>.dou-gantt__progress-handle,.dou-gantt__bar-row.is-active>.dou-gantt__progress-handle,.dou-gantt__bar-row:hover>.dou-gantt__dot,.dou-gantt__bar-row.is-selected>.dou-gantt__dot,.dou-gantt__bar-row.is-active>.dou-gantt__dot{opacity:1}.is-dragging .dou-gantt__bar-row:not(.is-active)>.dou-gantt__handle,.is-dragging .dou-gantt__bar-row:not(.is-active)>.dou-gantt__progress-handle,.is-dragging .dou-gantt__bar-row:not(.is-active)>.dou-gantt__dot{opacity:0}.dou-gantt__handle{top:calc((var(--dou-gantt-row-height) - 12px) / 2);width:12px;height:12px;margin-left:-6px;cursor:ew-resize}.dou-gantt__handle:after{position:absolute;top:2px;left:5px;width:2px;height:8px;border-radius:1px;background-color:color-mix(in oklab,var(--dou-color-text) 40%,transparent);content:""}.dou-gantt__handle.is-start:after{left:7px}.dou-gantt__handle.is-end:after{left:3px}.dou-gantt__progress-handle{top:calc((var(--dou-gantt-row-height) + var(--dou-gantt-bar-height)) / 2 - 1px);width:12px;height:10px;margin-left:-6px;cursor:ew-resize}.dou-gantt__progress-handle:after{position:absolute;top:2px;left:2px;width:8px;height:6px;background-color:color-mix(in oklab,var(--dou-color-text) 45%,transparent);clip-path:polygon(50% 0,100% 100%,0 100%);content:""}.dou-gantt__dot{top:calc((var(--dou-gantt-row-height) - 16px) / 2);width:16px;height:16px;margin-left:-8px;cursor:crosshair}.dou-gantt__dot.is-start{transform:translate(-10px)}.dou-gantt__dot.is-end{transform:translate(10px)}.dou-gantt__dot:after{position:absolute;top:4px;right:4px;bottom:4px;left:4px;box-sizing:border-box;border:1px solid color-mix(in oklab,var(--dou-color-text) 45%,transparent);border-radius:50%;background-color:var(--dou-color-bg-surface);content:""}.dou-gantt__dot:hover:after{border-color:var(--dou-color-primary);background-color:var(--dou-color-primary)}@media (pointer: coarse){.dou-gantt__bar-row:not(.is-selected)>.dou-gantt__handle,.dou-gantt__bar-row:not(.is-selected)>.dou-gantt__progress-handle,.dou-gantt__bar-row:not(.is-selected)>.dou-gantt__dot{display:none}.dou-gantt__handle{top:calc((var(--dou-gantt-row-height) - 32px) / 2);width:32px;height:32px;margin-left:-16px}.dou-gantt__handle:after{top:12px;left:15px}.dou-gantt__handle.is-start:after{left:19px}.dou-gantt__handle.is-end:after{left:11px}.dou-gantt__dot{top:calc((var(--dou-gantt-row-height) - 32px) / 2);width:32px;height:32px;margin-left:-16px}.dou-gantt__dot:after{top:11px;right:11px;bottom:11px;left:11px}.dou-gantt__dot.is-start{transform:translate(-20px)}.dou-gantt__dot.is-end{transform:translate(20px)}}.dou-gantt__tip{position:absolute;top:-26px;left:0;z-index:4;display:flex;align-items:center;height:22px;padding:0 8px;border-radius:var(--dou-radius-control);background-color:var(--dou-color-neutral);box-shadow:var(--dou-shadow-md);color:var(--dou-color-neutral-on);font-size:12px;white-space:nowrap;pointer-events:none}.dou-gantt__tip.is-refused{background-color:var(--dou-color-danger);color:var(--dou-color-danger-on)}.dou-gantt__bar:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-gantt__tr:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.dou-gantt__notice{position:absolute;bottom:12px;left:50%;z-index:20;box-sizing:border-box;width:max-content;max-width:calc(100% - 24px);padding:6px 12px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-md);color:var(--dou-color-text);font-size:var(--dou-font-size-sm);pointer-events:none;transform:translate(-50%)}.dou-gantt__sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dou-gantt__marker,.dou-gantt__marker-label{--dou-gantt-marker: color-mix(in oklab, var(--dou-color-text) 45%, transparent);--dou-gantt-marker-text: var(--dou-color-text-secondary)}.dou-gantt__marker.is-primary,.dou-gantt__marker-label.is-primary{--dou-gantt-marker: var(--dou-color-primary);--dou-gantt-marker-text: var(--dou-color-primary-text)}.dou-gantt__marker.is-success,.dou-gantt__marker-label.is-success{--dou-gantt-marker: var(--dou-color-success);--dou-gantt-marker-text: var(--dou-color-success-text)}.dou-gantt__marker.is-warning,.dou-gantt__marker-label.is-warning{--dou-gantt-marker: var(--dou-color-warning);--dou-gantt-marker-text: var(--dou-color-warning-text)}.dou-gantt__marker.is-danger,.dou-gantt__marker-label.is-danger{--dou-gantt-marker: var(--dou-color-danger);--dou-gantt-marker-text: var(--dou-color-danger-text)}.dou-gantt__marker{position:absolute;top:0;bottom:0;z-index:1;border-left:1px dashed var(--dou-gantt-marker);pointer-events:none}.dou-gantt__marker-label{position:absolute;top:5px;z-index:1;display:flex;align-items:center;height:18px;padding:0 6px;border:1px solid color-mix(in oklab,var(--dou-gantt-marker) 40%,transparent);border-radius:var(--dou-radius-control);background-color:var(--dou-gantt-header-bg);color:var(--dou-gantt-marker-text);box-sizing:border-box;font-size:12px;white-space:nowrap;transform:translate(4px);pointer-events:none}.dou-gantt__marker-label.is-cut{pointer-events:auto}.dou-gantt__marker-label.is-crowded{width:12px;padding:0;border-color:transparent;background-color:transparent}.dou-gantt__marker-label.is-crowded>.dou-gantt__marker-text{display:none}.dou-gantt__marker-label:before{position:absolute;top:-6px;left:-5px;height:56px;border-left:1px dashed var(--dou-gantt-marker);content:""}.dou-gantt__marker-label:empty{display:none}.dou-gantt__marker-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.dou-gantt.is-scheduler .dou-gantt__body{background-image:none}.is-scheduler .dou-gantt__row-title:not(.is-summary){top:2px;gap:6px;height:16px;padding:0 12px;font-size:12px}.dou-gantt__lane-row{position:absolute;top:0;right:0;left:0;box-shadow:inset 0 -1px 0 var(--dou-gantt-line);pointer-events:none}.dou-gantt__lane-row.is-hovered{background-color:var(--dou-gantt-hover)}.dou-gantt__lane-row.is-group{background-color:var(--dou-gantt-hover)}.is-scheduler .dou-gantt__tr{align-items:flex-start}.is-scheduler .dou-gantt__tr>.dou-gantt__td{height:var(--dou-gantt-row-height)}.is-scheduler .dou-gantt__tr.is-group{background-color:var(--dou-gantt-hover);font-weight:var(--dou-font-weight-medium)}.dou-gantt__overload{display:grid;flex:none;place-items:center;width:16px;height:16px;margin-left:2px}.dou-gantt__overload:before{width:6px;height:6px;border-radius:50%;background-color:var(--dou-color-warning);content:""}.dou-gantt__cell-text.is-unassigned{color:var(--dou-color-text-secondary)}.dou-gantt__load{--dou-gantt-load: 1;position:absolute;top:0;left:0;z-index:1;height:4px;border-radius:2px;background-color:color-mix(in oklab,var(--dou-color-text) calc(6% + 14% * var(--dou-gantt-load)),transparent);pointer-events:none}.dou-gantt__load.is-over{background-color:var(--dou-color-warning)}@media print{.dou-gantt{print-color-adjust:exact;-webkit-print-color-adjust:exact}.dou-gantt__handle,.dou-gantt__progress-handle,.dou-gantt__tip,.dou-gantt__divider{display:none}}}@layer dou.components{.dou-sheet{--dou-sheet-line: var(--dou-color-border-subtle);--dou-sheet-line-strong: var(--dou-color-border);--dou-sheet-freeze-line: var(--dou-color-border-strong);--dou-sheet-scroll-shadow: color-mix(in oklab, var(--dou-color-text) 14%, transparent);--dou-sheet-header-bg: var(--dou-color-bg-canvas);--dou-sheet-ring: var(--dou-color-primary);--dou-sheet-tint: color-mix(in oklab, var(--dou-color-primary) 8%, transparent);--dou-sheet-found: color-mix(in oklab, var(--dou-color-warning) 22%, transparent);--dou-sheet-found-current: color-mix(in oklab, var(--dou-color-warning) 45%, transparent);--dou-sheet-header-marked: color-mix( in oklab, var(--dou-color-text) 6%, var(--dou-sheet-header-bg) );--dou-sheet-header-full: color-mix( in oklab, var(--dou-color-primary) 12%, var(--dou-sheet-header-bg) );position:relative;box-sizing:border-box;width:100%;height:480px;min-width:0;overflow:hidden;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface);color:var(--dou-color-text);font-family:var(--dou-font-family);font-size:var(--dou-font-size-sm);line-height:var(--dou-font-line-height);display:flex;flex-direction:column}.dou-sheet:not(.is-focused){--dou-sheet-ring: color-mix(in oklab, var(--dou-color-text) 45%, transparent);--dou-sheet-tint: color-mix(in oklab, var(--dou-color-text) 5%, transparent)}.dou-sheet:not(.has-gridlines){--dou-sheet-line: transparent}.dou-sheet.is-dragging,.dou-sheet.is-dragging *{user-select:none;-webkit-user-select:none}.dou-sheet__frame{position:relative;display:flex;flex:1;flex-direction:column;box-sizing:border-box;min-height:0}.dou-sheet__main{position:relative;flex:1;min-height:0;overflow:hidden}.dou-sheet__viewport{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;overscroll-behavior:contain;outline:none;scrollbar-width:thin;scrollbar-color:color-mix(in oklab,var(--dou-color-text) 22%,transparent) transparent;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.dou-sheet__head{position:sticky;top:0;z-index:3}.dou-sheet__body{position:relative}.dou-sheet__row{display:flex;box-sizing:border-box}.dou-sheet__body>.dou-sheet__row{position:absolute;left:0}.dou-sheet__head>.dou-sheet__row{position:relative}.dou-sheet__outline{position:absolute;background-color:var(--dou-sheet-header-bg)}.dou-sheet__outline.is-row{bottom:0;left:0;border-right:1px solid var(--dou-sheet-line-strong)}.dou-sheet__outline.is-col{top:0;right:0;border-bottom:1px solid var(--dou-sheet-line-strong)}.dou-sheet__outline-corner{position:absolute;top:0;left:0;box-sizing:border-box;border-right:1px solid var(--dou-sheet-line-strong);border-bottom:1px solid var(--dou-sheet-line-strong);background-color:var(--dou-sheet-header-bg)}.dou-sheet__outline-levels{position:absolute;z-index:1}.dou-sheet__outline-layer{position:absolute;overflow:hidden}.dou-sheet__outline-inner{position:absolute;top:0;right:0;bottom:0;left:0}.dou-sheet__outline-line{position:absolute;box-sizing:border-box;border:0 solid var(--dou-sheet-freeze-line)}.is-row .dou-sheet__outline-line{border-left-width:1px}.is-row .dou-sheet__outline-line.is-tick-end{border-bottom-width:1px}.is-row .dou-sheet__outline-line.is-tick-start{border-top-width:1px}.is-col .dou-sheet__outline-line{border-top-width:1px}.is-col .dou-sheet__outline-line.is-tick-end{border-right-width:1px}.is-col .dou-sheet__outline-line.is-tick-start{border-left-width:1px}.dou-sheet__outline-button{position:absolute;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;padding:0;border:1px solid var(--dou-sheet-freeze-line);border-radius:3px;background-color:var(--dou-color-bg-surface);color:var(--dou-color-text-secondary);font:inherit;font-size:10px;font-variant-numeric:tabular-nums;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.dou-sheet__outline-button svg{width:10px;height:10px}.dou-sheet__outline-button:hover{background-color:var(--dou-color-bg-muted);color:var(--dou-color-text)}.dou-sheet__outline-button:focus-visible{outline:2px solid var(--dou-color-primary);outline-offset:1px}.dou-sheet__outline-button.is-level{border-color:var(--dou-color-border);color:var(--dou-color-text-tertiary)}@media (pointer: coarse){.dou-sheet__outline-button:before{position:absolute;inset:var(--dou-sheet-hit, 0);content:""}}.dou-sheet__corner,.dou-sheet__col-head,.dou-sheet__row-head{display:flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;height:100%;overflow:hidden;border-right:1px solid var(--dou-sheet-line-strong);border-bottom:1px solid var(--dou-sheet-line-strong);background-color:var(--dou-sheet-header-bg);color:var(--dou-color-text-tertiary);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;text-box:trim-both cap alphabetic;cursor:default;user-select:none;-webkit-user-select:none;box-shadow:var(--dou-sheet-mark, 0 0 transparent),var(--dou-sheet-edge-shadow, 0 0 transparent)}.dou-sheet__corner.is-marked,.dou-sheet__col-head.is-marked,.dou-sheet__row-head.is-marked{background-color:var(--dou-sheet-header-marked);color:var(--dou-color-text)}.dou-sheet__corner.is-full,.dou-sheet__col-head.is-full,.dou-sheet__row-head.is-full{background-color:var(--dou-sheet-header-full);color:var(--dou-color-primary-text)}.dou-sheet__corner{position:sticky;left:0;z-index:3}.dou-sheet__col-head{border-right-color:var(--dou-sheet-line)}.dou-sheet__col-head.is-freeze-edge{border-right-color:var(--dou-sheet-freeze-line)}.dou-sheet__col-head.is-frozen{position:sticky;z-index:2}.dou-sheet__col-head:not(.is-frozen){position:absolute;top:0}.dou-sheet__col-head.is-marked{--dou-sheet-mark: inset 0 -2px 0 var(--dou-sheet-ring)}.dou-sheet__row-head{position:sticky;left:0;z-index:2;border-bottom-color:var(--dou-sheet-line)}.is-freeze-edge>.dou-sheet__row-head{border-bottom-color:var(--dou-sheet-freeze-line)}.dou-sheet__row-head.is-marked{--dou-sheet-mark: inset -2px 0 0 var(--dou-sheet-ring)}.dou-sheet__cell{display:flex;flex:none;align-items:center;box-sizing:border-box;height:100%;padding:0 8px;border-right:1px solid var(--dou-sheet-line);border-bottom:1px solid var(--dou-sheet-line);white-space:pre;cursor:cell}.dou-sheet__cell:not(.is-frozen){position:absolute;top:0;z-index:0}.dou-sheet__cell.is-frozen{position:sticky;z-index:1;background-color:var(--dou-color-bg-surface)}.dou-sheet__cell.is-freeze-edge{border-right-color:var(--dou-sheet-freeze-line)}.is-freeze-edge>.dou-sheet__cell{border-bottom-color:var(--dou-sheet-freeze-line)}.dou-sheet__cell.is-covered{border-color:transparent;background:none}.dou-sheet__cell.is-merged{background-color:var(--dou-color-bg-surface)}.dou-sheet__cell.is-merged:not(.is-frozen){z-index:0}.dou-sheet__cell.is-merged.is-frozen{z-index:2;align-self:flex-start}.dou-sheet__cell.is-bold{font-weight:var(--dou-font-weight-bold)}.dou-sheet__cell.is-italic{font-style:italic}.dou-sheet__cell.is-align-center .dou-sheet__text{text-align:center}.dou-sheet__cell.is-align-right .dou-sheet__text{text-align:right}.dou-sheet__cell.is-valign-top{align-items:flex-start;padding-top:4px}.dou-sheet__cell.is-valign-bottom{align-items:flex-end;padding-bottom:4px}.dou-sheet__cell.is-wrap{align-items:flex-start;padding-block:4px;white-space:pre-wrap}.dou-sheet__cell.is-wrap .dou-sheet__text{margin-block:0;padding-block:0;text-box:normal;overflow-wrap:anywhere}.dou-sheet__cell.is-link{color:var(--dou-color-primary-text);text-decoration-line:underline;text-decoration-color:color-mix(in oklab,currentColor 40%,transparent);text-decoration-thickness:1px;text-underline-offset:.2em}.dou-sheet__cell.is-tone-neutral{color:var(--dou-color-neutral-text)}.dou-sheet__cell.is-tone-primary{color:var(--dou-color-primary-text)}.dou-sheet__cell.is-tone-success{color:var(--dou-color-success-text)}.dou-sheet__cell.is-tone-warning{color:var(--dou-color-warning-text)}.dou-sheet__cell.is-tone-danger{color:var(--dou-color-danger-text)}.has-gridlines .dou-sheet__cell[class*=is-fill-]{--dou-sheet-line: color-mix( in oklab, var(--dou-color-text) 7%, var(--dou-color-border-subtle) )}.dou-sheet__cell.is-fill-neutral{background-color:color-mix(in oklab,var(--dou-color-text) 6%,var(--dou-color-bg-surface))}.dou-sheet__cell.is-fill-primary{background-color:color-mix(in oklab,var(--dou-color-primary) 12%,var(--dou-color-bg-surface))}.dou-sheet__cell.is-fill-success{background-color:color-mix(in oklab,var(--dou-color-success) 12%,var(--dou-color-bg-surface))}.dou-sheet__cell.is-fill-warning{background-color:color-mix(in oklab,var(--dou-color-warning) 14%,var(--dou-color-bg-surface))}.dou-sheet__cell.is-fill-danger{background-color:color-mix(in oklab,var(--dou-color-danger) 12%,var(--dou-color-bg-surface))}.dou-sheet__cell.is-selected{background-image:linear-gradient(var(--dou-sheet-tint),var(--dou-sheet-tint))}.dou-sheet__cell.is-selected:after{position:absolute;top:-1px;right:0;bottom:0;left:-1px;border:0 solid var(--dou-sheet-ring);content:"";pointer-events:none}.dou-sheet__cell.is-edge-top:after{border-top-width:1px}.dou-sheet__cell.is-edge-bottom:after{border-bottom-width:1px}.dou-sheet__cell.is-edge-left:after{border-left-width:1px}.dou-sheet__cell.is-edge-right:after{border-right-width:1px}.dou-sheet__cell.is-active{background-image:none}.dou-sheet__cell.is-active:before{position:absolute;top:-1px;right:0;bottom:0;left:-1px;z-index:1;border:2px solid var(--dou-sheet-ring);content:"";pointer-events:none}.dou-sheet__text{flex:1 1 auto;min-width:0;margin-block:-4px;padding-block:4px;overflow-x:clip;text-box:trim-both cap alphabetic}.dou-sheet__check{display:inline-flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:14px;height:14px;border:1px solid var(--dou-color-border-strong);border-radius:calc(var(--dou-radius-control) - 2px);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);color:var(--dou-color-neutral-on);cursor:pointer;transition-property:background-color,border-color,box-shadow;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-sheet__check>svg{width:100%;height:100%;opacity:0;transform:scale(.6);transition-property:opacity,transform;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-sheet__check:hover{border-color:color-mix(in oklab,var(--dou-color-neutral) 45%,var(--dou-color-border-strong))}.dou-sheet__check.is-checked{border-color:color-mix(in oklab,var(--dou-color-neutral) 90%,var(--dou-color-edge));background-color:var(--dou-color-neutral);box-shadow:var(--dou-shadow-highlight),0 1px 2px color-mix(in oklab,var(--dou-color-neutral) 24%,transparent)}.dou-sheet__check.is-checked>svg{opacity:1;transform:none}.is-readonly .dou-sheet__check{cursor:inherit}@media (pointer: coarse){.dou-sheet__check{position:relative}.dou-sheet__check:before{position:absolute;top:-7px;right:-12px;bottom:-7px;left:-12px;content:""}}.dou-sheet__cell.has-bar{--dou-sheet-bar: linear-gradient( to right, transparent var(--dou-sheet-bar-from), var(--dou-sheet-bar-color) var(--dou-sheet-bar-from), var(--dou-sheet-bar-color) var(--dou-sheet-bar-to), transparent var(--dou-sheet-bar-to) );--dou-sheet-bar-size: calc(100% - 6px) calc(100% - 10px) ;background-image:var(--dou-sheet-bar);background-position:center;background-size:var(--dou-sheet-bar-size);background-repeat:no-repeat}.dou-sheet__cell.has-bar.is-selected{background-image:linear-gradient(var(--dou-sheet-tint),var(--dou-sheet-tint)),var(--dou-sheet-bar);background-size:100% 100%,var(--dou-sheet-bar-size)}.dou-sheet__cell.has-bar.is-active{background-image:var(--dou-sheet-bar);background-size:var(--dou-sheet-bar-size)}.dou-sheet__content{display:contents}.dou-sheet__cell.is-error{color:var(--dou-color-danger-text)}.dou-sheet__invalid,.dou-sheet__noted{position:absolute;top:0;z-index:2;border:4px solid transparent;pointer-events:none}.dou-sheet__invalid{left:0;border-top-color:var(--dou-color-danger);border-left-color:var(--dou-color-danger)}.dou-sheet__noted{right:0;border-top-color:var(--dou-color-warning);border-right-color:var(--dou-color-warning)}.dou-sheet__noted.is-over-fill{right:auto;z-index:5}.dou-sheet__commented{position:absolute;top:0;right:0;z-index:2;border:4px solid transparent;border-top-color:var(--dou-color-focus);border-right-color:var(--dou-color-focus);pointer-events:none}.dou-sheet__commented.is-below-note{top:8px}.dou-sheet__cell.is-changed{background-image:linear-gradient(color-mix(in oklab,var(--dou-color-warning) 18%,transparent),color-mix(in oklab,var(--dou-color-warning) 18%,transparent));box-shadow:inset 0 -2px 0 var(--dou-color-warning)}.dou-sheet-comment{box-sizing:border-box;width:min(340px,calc(100vw - 32px));max-height:min(480px,calc(100vh - 32px));padding:12px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:color-mix(in oklab,var(--dou-color-text) calc(4% * var(--dou-scheme-dark)),var(--dou-color-bg-surface));box-shadow:var(--dou-shadow-md);font-family:var(--dou-font-family);line-height:normal}.dou-sheet__note{box-sizing:border-box;width:224px;max-width:calc(100vw - 16px);padding:8px 10px;font-size:var(--dou-font-size-sm);line-height:20px}.dou-sheet__note.is-editing{padding:4px}.dou-sheet__note-text{max-height:240px;margin:0;overflow:auto;color:var(--dou-color-text);overflow-wrap:anywhere;white-space:pre-wrap}.dou-sheet__note-input{display:block;box-sizing:border-box;width:100%;min-height:68px;max-height:240px;padding:4px 6px;border:0;border-radius:calc(var(--dou-radius-control) - 2px);outline:none;background:transparent;color:var(--dou-color-text);font:inherit;font-size:max(var(--dou-font-size-input-min, 0px),1em);line-height:20px;resize:none}.dou-sheet__note-actions{display:flex;justify-content:flex-end;gap:4px;padding:4px 2px 2px;border-top:1px solid var(--dou-color-border-subtle)}.dou-sheet__link{display:flex;align-items:center;gap:6px;box-sizing:border-box;max-width:min(320px,calc(100vw - 16px));padding:4px 4px 4px 10px;font-size:var(--dou-font-size-sm);line-height:20px;pointer-events:none}.dou-sheet__link a,.dou-sheet__link button{pointer-events:auto}.dou-sheet__link.is-editing{pointer-events:auto;display:block;width:288px;padding:8px}@media (pointer: coarse){.dou-sheet__link .dou-button{--dou-button-height: 40px}}.dou-sheet__link.is-docked{position:absolute;right:12px;bottom:12px;left:12px;z-index:5;width:fit-content;max-width:none;margin-inline:auto}.dou-sheet__link-icon{display:inline-flex;flex:none;color:var(--dou-color-text-tertiary)}.dou-sheet__link-icon svg{width:14px;height:14px}.dou-sheet__link-address{min-width:0;overflow:hidden;padding:0;border:0;background:none;font:inherit;text-align:start;cursor:pointer;color:var(--dou-color-text);text-decoration-line:underline;text-decoration-color:color-mix(in oklab,currentColor 28%,transparent);text-decoration-thickness:1px;text-underline-offset:.25em;text-overflow:ellipsis;white-space:nowrap}.dou-sheet__link-address:hover{text-decoration-color:currentColor}.dou-sheet__link-address:focus-visible{border-radius:2px;outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-sheet__link-buttons{display:flex;flex:none;gap:2px;margin-left:2px;padding-left:4px;border-left:1px solid var(--dou-color-border-subtle)}.dou-sheet__link-form{display:flex;flex-direction:column;gap:8px;margin:0}.dou-sheet__link-field{display:flex;flex-direction:column;gap:4px}.dou-sheet__link-label{color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);line-height:18px}.dou-sheet__link-problem{margin:0;color:var(--dou-color-danger-text);font-size:var(--dou-font-size-sm);line-height:18px}.dou-sheet__link-actions{display:flex;justify-content:flex-end;gap:4px}.dou-sheet__tag{--dou-tag-height: 20px;--dou-tag-padding-x: 6px;flex:none;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dou-sheet__tag.is-neutral{--dou-tag-fg: var(--dou-color-text-secondary);--dou-tag-border: var(--dou-color-border-subtle)}.dou-sheet__cell.is-align-center>.dou-sheet__check,.dou-sheet__cell.is-align-center>.dou-sheet__tag{margin-inline:auto}.dou-sheet__cell.is-align-right>.dou-sheet__check,.dou-sheet__cell.is-align-right>.dou-sheet__tag{margin-left:auto}.dou-sheet__panel-button{position:absolute;z-index:4;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:20px;height:20px;margin:-10px 0 0 -23px;padding:0;border:1px solid var(--dou-color-border);border-radius:calc(var(--dou-radius-control) - 2px);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);color:var(--dou-color-text-secondary);cursor:pointer}@media (pointer: coarse){.dou-sheet__panel-button:after{position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;content:""}}.dou-sheet__panel-button:hover{background-color:var(--dou-color-bg-muted);color:var(--dou-color-text)}.dou-sheet__panel-button>svg{width:14px;height:14px}@media (pointer: coarse){.dou-sheet__panel-button{width:24px;height:24px;margin:-12px 0 0 -26px}.dou-sheet__panel-button:before{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;content:""}}.dou-sheet__options{min-width:160px;max-width:280px;max-height:264px;overflow-y:auto;overscroll-behavior:contain}.dou-sheet__option{justify-content:space-between}.dou-sheet__option.is-active{background-color:var(--dou-dropdown-item-active-bg)}.dou-sheet__option-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dou-sheet-validation__remove{margin-inline-end:auto}.dou-sheet__option-check{flex:none;width:14px;height:14px;color:var(--dou-color-text-secondary)}.dou-sheet__options-empty{padding:8px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.dou-sheet__input{position:absolute;z-index:5;box-sizing:border-box;margin:0;padding:4px 9px;overflow:hidden;border:0;border-radius:0;outline:none;background:transparent;color:transparent;font:inherit;font-size:max(var(--dou-font-size-input-min, 0px),1em);line-height:20px;white-space:pre;caret-color:transparent;opacity:0;resize:none;pointer-events:none}.dou-sheet__input.is-open{background-color:var(--dou-color-bg-surface);color:var(--dou-color-text);caret-color:auto;opacity:1;box-shadow:inset 0 0 0 2px var(--dou-color-primary),var(--dou-shadow-md);pointer-events:auto}.dou-sheet__input.is-wrap{white-space:pre-wrap;overflow-wrap:anywhere}.dou-sheet__input.is-bold{font-weight:var(--dou-font-weight-bold)}.dou-sheet__input.is-italic{font-style:italic}.dou-sheet.is-scrolled-y .dou-sheet__head{box-shadow:0 4px 6px -4px var(--dou-sheet-scroll-shadow)}.dou-sheet.is-scrolled-x .dou-sheet__cell.is-freeze-edge,.dou-sheet.is-scrolled-x .dou-sheet__col-head.is-freeze-edge,.dou-sheet.is-scrolled-x:not(.has-frozen-cols) .dou-sheet__corner,.dou-sheet.is-scrolled-x:not(.has-frozen-cols) .dou-sheet__row-head{--dou-sheet-edge-shadow: 4px 0 6px -4px var(--dou-sheet-scroll-shadow)}.dou-sheet.is-scrolled-x .dou-sheet__cell.is-freeze-edge{box-shadow:var(--dou-sheet-edge-shadow)}.dou-sheet.is-resizing-col,.dou-sheet.is-resizing-col *{cursor:col-resize}.dou-sheet.is-resizing-row,.dou-sheet.is-resizing-row *{cursor:row-resize}.dou-sheet:not(.is-readonly) .is-full:is(.dou-sheet__col-head,.dou-sheet__row-head){cursor:grab}.dou-sheet.is-moving,.dou-sheet.is-moving *{cursor:grabbing}.dou-sheet__col-head.is-after-hidden:before,.dou-sheet__row-head.is-after-hidden:before{position:absolute;border:0 solid var(--dou-sheet-freeze-line);content:"";pointer-events:none}.dou-sheet__col-head.is-after-hidden:before{inset:0 auto 0 0;width:2px;border-inline-width:1px}.dou-sheet__row-head.is-after-hidden:before{inset:0 0 auto;height:2px;border-block-width:1px}.dou-sheet__found{position:absolute;z-index:3;box-sizing:border-box;background-color:var(--dou-sheet-found);pointer-events:none}.dou-sheet__found.is-current{background-color:var(--dou-sheet-found-current)}.dou-sheet__find{position:absolute;top:6px;right:14px;left:6px;z-index:8;display:flex;justify-content:flex-end;container-type:inline-size;pointer-events:none}.dou-sheet__find>*{pointer-events:auto}.dou-sheet__find.is-below{top:auto;bottom:14px}.dou-sheet__find.is-docked{position:static;padding:6px;border-bottom:1px solid var(--dou-sheet-line-strong)}.dou-sheet__find.is-docked>.dou-find-replace{flex:1 1 auto;border:0;box-shadow:none;padding:0}.dou-sheet__mark{position:absolute;z-index:4;box-sizing:border-box;border:1px dashed var(--dou-sheet-ring);pointer-events:none}.dou-sheet__mark.is-cut{border-style:dotted}.dou-sheet__mark.is-fill{border-color:var(--dou-color-text-secondary)}.dou-sheet__mark.is-drop{border:2px solid var(--dou-sheet-ring);background-color:color-mix(in oklab,var(--dou-sheet-ring) 10%,transparent)}.dou-sheet__clearing{position:absolute;z-index:4;background-color:color-mix(in oklab,var(--dou-color-text) 10%,transparent);pointer-events:none}.dou-sheet__guide{position:absolute;z-index:4;background-color:var(--dou-color-primary);pointer-events:none}.dou-sheet__guide.is-thin{background-color:var(--dou-sheet-ring)}.dou-sheet__fill{position:absolute;z-index:4;box-sizing:border-box;width:8px;height:8px;margin:-5px 0 0 -5px;border:1px solid var(--dou-color-bg-surface);border-radius:1px;background-color:var(--dou-sheet-ring);cursor:crosshair;touch-action:none}.dou-sheet__fill.is-dragging{opacity:0}@media (pointer: coarse){.dou-sheet__fill{width:14px;height:14px;margin:-8px 0 0 -8px;border-width:2px;border-radius:50%}.dou-sheet__fill:before{position:absolute;top:-11px;right:-11px;bottom:-11px;left:-11px;border-radius:50%;content:""}}.dou-sheet__prompt{position:absolute;z-index:5;box-sizing:border-box;display:flex;flex-direction:column;gap:2px;width:max-content;padding:4px 8px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-md);color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);line-height:var(--dou-font-line-height);pointer-events:none}.dou-sheet__prompt-problem{color:var(--dou-color-danger-text)}.dou-sheet__fill-hint{position:absolute;z-index:5;max-width:240px;margin-left:8px;padding:2px 8px;overflow:hidden;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-md);color:var(--dou-color-text);font-size:var(--dou-font-size-sm);line-height:var(--dou-font-line-height);white-space:nowrap;text-overflow:ellipsis;transform:translateY(-50%);pointer-events:none}@media (pointer: coarse){.dou-sheet__fill-hint{margin-left:28px}}.dou-sheet__fill-hint.is-flipped{margin-left:-8px;transform:translate(-100%,-50%)}.dou-sheet__layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;overflow:hidden;pointer-events:none}.dou-sheet__layer.is-above{z-index:4}.dou-sheet__peers{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.dou-sheet__peer-range,.dou-sheet__peer-cell{--dou-sheet-peer: var(--dou-color-text-secondary);position:absolute;z-index:4;box-sizing:border-box}.dou-sheet__peer-range{border:1px solid color-mix(in oklab,var(--dou-sheet-peer) 60%,transparent);background-color:color-mix(in oklab,var(--dou-sheet-peer) 8%,transparent)}.dou-sheet__peer-cell{border:2px solid var(--dou-sheet-peer)}.dou-sheet__peer-cell.is-editing{background-color:color-mix(in oklab,var(--dou-sheet-peer) 6%,transparent)}.dou-sheet__peer-name{position:absolute;right:-2px;display:inline-flex;align-items:center;gap:2px;max-width:160px;height:14px;padding:0 5px;border-radius:4px;background-color:var(--dou-sheet-peer);color:#fff;color:oklch(from var(--dou-sheet-peer) clamp(.2,(.66 - l) * 100,.99) 0 0);font-size:11px;line-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:translateY(-50%);animation:dou-sheet-peer-name var(--dou-motion-duration-fast) var(--dou-motion-easing) 3s forwards}.dou-sheet__peer-cell.is-editing .dou-sheet__peer-name{animation:none}.dou-sheet__peer-name.is-above{top:-1px}.dou-sheet__peer-name.is-below{top:calc(100% + 1px)}.dou-sheet__peer-icon{flex:none;width:10px;height:10px}.dou-sheet__notice{position:absolute;bottom:12px;left:50%;z-index:6;box-sizing:border-box;width:max-content;max-width:calc(100% - 24px);padding:6px 12px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-md);font-size:var(--dou-font-size-sm);transform:translate(-50%)}.dou-sheet__menu-anchor{position:absolute;width:0;height:0;overflow:hidden}.dou-sheet__probe{position:absolute;visibility:hidden;white-space:pre-wrap;overflow-wrap:anywhere;line-height:var(--dou-font-line-height);pointer-events:none}.dou-sheet__sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dou-sheet-tabs{position:relative;display:flex;flex:none;align-items:flex-start;gap:4px;min-width:0;height:36px;padding:0 6px;box-sizing:border-box;border-top:1px solid var(--dou-color-border);background-color:var(--dou-sheet-header-bg)}@media (pointer: coarse){.dou-sheet-tabs{height:42px}}.dou-sheet-tabs__add{flex:none;margin-top:4px}.dou-sheet-tabs__list{display:flex;flex:1;gap:2px;min-width:0;height:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain}.dou-sheet-tabs__list::-webkit-scrollbar{display:none}.dou-sheet-tabs__list.has-more-start{-webkit-mask-image:linear-gradient(to right,transparent,#000 24px);mask-image:linear-gradient(to right,transparent,#000 24px)}.dou-sheet-tabs__list.has-more-end{-webkit-mask-image:linear-gradient(to left,transparent,#000 24px);mask-image:linear-gradient(to left,transparent,#000 24px)}.dou-sheet-tabs__list.has-more-start.has-more-end{-webkit-mask-image:linear-gradient(to right,transparent,#000 24px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(to right,transparent,#000 24px,#000 calc(100% - 24px),transparent)}.dou-sheet-tabs__tab{position:relative;display:inline-flex;flex:none;align-items:center;box-sizing:border-box;max-width:200px;height:30px;margin-top:-1px;padding:0 12px;border:1px solid transparent;border-top:0;border-radius:0 0 var(--dou-radius-control) var(--dou-radius-control);color:var(--dou-color-text-secondary);cursor:pointer;outline:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-sheet-tabs__tab:hover{background-color:color-mix(in oklab,var(--dou-color-text) 5%,transparent);color:var(--dou-color-text)}.dou-sheet-tabs__tab.is-active{border-color:var(--dou-color-border);background-color:var(--dou-color-bg-surface);color:var(--dou-color-text);font-weight:500;box-shadow:0 1px 2px color-mix(in oklab,var(--dou-color-text) 6%,transparent)}.dou-sheet-tabs__tab:focus-visible{box-shadow:inset 0 0 0 2px var(--dou-color-primary)}.dou-sheet-tabs__tab.is-dragging{opacity:.4}@media (pointer: coarse){.dou-sheet-tabs__tab{height:36px}}.is-readonly .dou-sheet-tabs__tab{cursor:default}.dou-sheet-tabs__lock{flex:none;width:14px;height:14px;margin-right:4px;color:var(--dou-color-text-tertiary)}.dou-sheet-tabs__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dou-sheet-tabs__size,.dou-sheet-tabs__input{min-width:2em;font:inherit;font-size:max(var(--dou-font-size-input-min, 0px),1em);white-space:pre}.dou-sheet-tabs__size{visibility:hidden;padding:0 4px}.dou-sheet-tabs__input{position:absolute;top:4px;right:8px;bottom:4px;left:8px;width:calc(100% - 16px);padding:0 3px;border:1px solid var(--dou-color-primary);border-radius:calc(var(--dou-radius-control) - 2px);background-color:var(--dou-color-bg-surface);color:var(--dou-color-text);outline:none;box-sizing:border-box}.dou-sheet-tabs__input[aria-invalid]{border-color:var(--dou-color-danger)}.dou-sheet-tabs__problem{position:absolute;bottom:calc(100% + 6px);left:8px;z-index:5;padding:4px 8px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-md);color:var(--dou-color-danger-text);font-size:var(--dou-font-size-sm);white-space:nowrap}.dou-sheet-toolbar{display:flex;flex:none;min-width:0;border-bottom:1px solid var(--dou-color-border);background-color:var(--dou-sheet-header-bg)}@media (pointer: coarse){.dou-sheet-toolbar .dou-button{--dou-button-height: 36px}}.dou-sheet-toolbar__bar{flex:1;flex-wrap:nowrap;gap:2px;height:40px;padding:0 6px;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain}@media (pointer: coarse){.dou-sheet-toolbar__bar{height:46px}}.dou-sheet-toolbar__bar::-webkit-scrollbar{display:none}.dou-sheet-toolbar__bar.has-more-start{-webkit-mask-image:linear-gradient(to right,transparent,#000 40px);mask-image:linear-gradient(to right,transparent,#000 40px)}.dou-sheet-toolbar__bar.has-more-end{-webkit-mask-image:linear-gradient(to left,transparent,#000 40px);mask-image:linear-gradient(to left,transparent,#000 40px)}.dou-sheet-toolbar__bar.has-more-start.has-more-end{-webkit-mask-image:linear-gradient(to right,transparent,#000 40px,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(to right,transparent,#000 40px,#000 calc(100% - 40px),transparent)}.dou-sheet-toolbar__bar>*,.dou-sheet-toolbar__bar .dou-toggle-group{flex:none}.dou-sheet-toolbar__trigger{display:inline-flex;flex:none}.dou-sheet-toolbar__picker{display:none}.dou-sheet-toolbar__format{min-width:72px;justify-content:space-between}.dou-sheet-toolbar__format-label{flex:1;text-align:start}.dou-sheet-toolbar__example{margin-inline-start:16px;color:var(--dou-color-text-tertiary);font-variant-numeric:tabular-nums}.dou-sheet-toolbar__menu{gap:2px;padding-inline:4px}.dou-sheet-toolbar__menu.is-on{--dou-button-fg: var(--dou-color-text);--dou-button-bg: color-mix(in oklab, var(--dou-color-text) 9%, transparent)}.dou-sheet-toolbar__color.is-color svg>:last-child{stroke:var(--dou-sheet-swatch, currentColor);stroke-width:3}.dou-sheet-toolbar__color.is-fill svg>:last-child{fill:var(--dou-sheet-swatch, none);stroke:var(--dou-sheet-swatch, currentColor)}.dou-sheet-toolbar__colors{display:flex;gap:6px}.dou-sheet-toolbar__swatch{display:inline-flex;flex:none;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid color-mix(in oklab,var(--dou-color-text) 14%,transparent);border-radius:6px;background-color:var(--dou-sheet-swatch, var(--dou-color-bg-surface));color:var(--dou-color-text-secondary);cursor:pointer}@media (pointer: coarse){.dou-sheet-toolbar__swatch{width:32px;height:32px}}.dou-sheet-toolbar__swatch:hover{border-color:color-mix(in oklab,var(--dou-color-text) 30%,transparent)}.dou-sheet-toolbar__swatch:focus-visible{outline:2px solid var(--dou-color-primary);outline-offset:2px}.dou-sheet-toolbar__swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--dou-color-bg-elevated, var(--dou-color-bg-surface)),0 0 0 3px var(--dou-color-text)}.dou-sheet-toolbar__swatch.is-color{background-color:var(--dou-color-bg-surface);color:var(--dou-sheet-swatch, var(--dou-color-text));font-size:14px;font-weight:600}.dou-sheet-toolbar__swatch.is-fill.is-default{background-color:var(--dou-color-bg-surface)}.dou-sheet-toolbar__swatch.is-default{position:relative;overflow:hidden}.dou-sheet-toolbar__swatch.is-default:after{position:absolute;inset:50% -4px auto;height:1px;background-color:var(--dou-color-text-tertiary);transform:rotate(-45deg);content:""}.dou-sheet-toolbar__swatch.is-custom:not([style*="--dou-sheet-swatch:"]){color:var(--dou-color-text-secondary)}.dou-sheet-toolbar__swatch.is-color.is-tone-neutral{--dou-sheet-swatch: var(--dou-color-neutral-text)}.dou-sheet-toolbar__swatch.is-color.is-tone-primary{--dou-sheet-swatch: var(--dou-color-primary-text)}.dou-sheet-toolbar__swatch.is-color.is-tone-success{--dou-sheet-swatch: var(--dou-color-success-text)}.dou-sheet-toolbar__swatch.is-color.is-tone-warning{--dou-sheet-swatch: var(--dou-color-warning-text)}.dou-sheet-toolbar__swatch.is-color.is-tone-danger{--dou-sheet-swatch: var(--dou-color-danger-text)}.dou-sheet-toolbar__swatch.is-fill.is-tone-neutral{--dou-sheet-swatch: color-mix( in oklab, var(--dou-color-text) 6%, var(--dou-color-bg-surface) )}.dou-sheet-toolbar__swatch.is-fill.is-tone-primary{--dou-sheet-swatch: color-mix( in oklab, var(--dou-color-primary) 12%, var(--dou-color-bg-surface) )}.dou-sheet-toolbar__swatch.is-fill.is-tone-success{--dou-sheet-swatch: color-mix( in oklab, var(--dou-color-success) 12%, var(--dou-color-bg-surface) )}.dou-sheet-toolbar__swatch.is-fill.is-tone-warning{--dou-sheet-swatch: color-mix( in oklab, var(--dou-color-warning) 14%, var(--dou-color-bg-surface) )}.dou-sheet-toolbar__swatch.is-fill.is-tone-danger{--dou-sheet-swatch: color-mix( in oklab, var(--dou-color-danger) 12%, var(--dou-color-bg-surface) )}.dou-sheet-toolbar__swatch svg{width:14px;height:14px}.dou-sheet-toolbar__panel{margin-top:12px}:where(.dou-sheet,.dou-sheet-formula-bar){--dou-sheet-ref-0: var(--dou-color-chart-2);--dou-sheet-ref-1: var(--dou-color-chart-3);--dou-sheet-ref-2: var(--dou-color-chart-4);--dou-sheet-ref-3: var(--dou-color-chart-5);--dou-sheet-ref-4: var(--dou-color-chart-6);--dou-sheet-ref-5: var(--dou-color-chart-7);--dou-sheet-ref-6: var(--dou-color-chart-8)}:where(.dou-sheet,.dou-sheet-formula-bar) .is-ref-0{--dou-sheet-ref: var(--dou-sheet-ref-0)}:where(.dou-sheet,.dou-sheet-formula-bar) .is-ref-1{--dou-sheet-ref: var(--dou-sheet-ref-1)}:where(.dou-sheet,.dou-sheet-formula-bar) .is-ref-2{--dou-sheet-ref: var(--dou-sheet-ref-2)}:where(.dou-sheet,.dou-sheet-formula-bar) .is-ref-3{--dou-sheet-ref: var(--dou-sheet-ref-3)}:where(.dou-sheet,.dou-sheet-formula-bar) .is-ref-4{--dou-sheet-ref: var(--dou-sheet-ref-4)}:where(.dou-sheet,.dou-sheet-formula-bar) .is-ref-5{--dou-sheet-ref: var(--dou-sheet-ref-5)}:where(.dou-sheet,.dou-sheet-formula-bar) .is-ref-6{--dou-sheet-ref: var(--dou-sheet-ref-6)}:where(.dou-sheet,.dou-sheet-formula-bar) span[class*=is-ref-]{color:var(--dou-sheet-ref)}.dou-sheet__ref{position:absolute;z-index:4;box-sizing:border-box;border:1px solid var(--dou-sheet-ref);background-color:color-mix(in oklab,var(--dou-sheet-ref) 8%,transparent);pointer-events:none}.dou-sheet__input.is-mirror{overflow:hidden;color:var(--dou-color-text);pointer-events:none;-webkit-user-select:none;user-select:none}.dou-sheet__input.is-open.is-formula{background:transparent;color:transparent;caret-color:var(--dou-color-text);box-shadow:none}.dou-sheet__input.is-open.is-formula::selection{background-color:color-mix(in oklab,var(--dou-color-primary) 24%,transparent)}.dou-sheet__assist{position:fixed;z-index:2000;box-sizing:border-box;width:max-content;min-width:200px;max-width:min(320px,calc(100vw - 16px));max-height:240px;padding:4px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--dou-color-border);border-radius:calc(var(--dou-radius-control) + 4px);background-color:color-mix(in oklab,var(--dou-color-text) calc(4% * var(--dou-scheme-dark)),var(--dou-color-bg-surface));box-shadow:var(--dou-shadow-md);color:var(--dou-color-text);font-family:var(--dou-font-family);font-size:var(--dou-font-size-sm);line-height:var(--dou-font-line-height)}.dou-sheet__assist:not([role=listbox]){max-width:min(480px,calc(100vw - 16px));padding:6px 10px}.dou-sheet__assist-item{display:flex;flex-direction:column;gap:2px;padding:5px 8px;border-radius:var(--dou-radius-control);cursor:pointer}.dou-sheet__assist-item.is-active{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent)}@media (pointer: coarse){.dou-sheet__assist-item{padding:8px}}.dou-sheet__assist-name{font-family:var(--dou-font-family-mono);font-weight:var(--dou-font-weight-bold)}.dou-sheet__assist-text{overflow:hidden;color:var(--dou-color-text-secondary);text-overflow:ellipsis}.dou-sheet__assist-item .dou-sheet__assist-text{white-space:nowrap}.dou-sheet__assist-call{font-family:var(--dou-font-family-mono)}.dou-sheet__assist-call .is-current{font-weight:var(--dou-font-weight-bold);text-decoration:underline;text-underline-offset:3px}.dou-sheet__assist-call+.dou-sheet__assist-text{margin-top:2px}.dou-sheet-formula-bar{display:flex;flex:none;align-items:stretch;min-width:0;border-bottom:1px solid var(--dou-color-border);background-color:var(--dou-color-bg-surface);font-size:var(--dou-font-size-md)}.dou-sheet-formula-bar__name,.dou-sheet-formula-bar__input,.dou-sheet-formula-bar__mirror{box-sizing:border-box;margin:0;border:0;outline:none;background:transparent;color:var(--dou-color-text);font:inherit;font-size:max(var(--dou-font-size-input-min, 0px),1em);line-height:20px}.dou-sheet-formula-bar__name{flex:none;width:88px;min-height:32px;padding:0 10px;border-right:1px solid var(--dou-color-border-subtle);font-variant-numeric:tabular-nums}.dou-sheet-formula-bar__name:focus-visible{box-shadow:inset 0 0 0 2px var(--dou-sheet-ring, var(--dou-color-primary))}.dou-sheet-formula-bar__name.is-invalid{color:var(--dou-color-danger-text);box-shadow:inset 0 0 0 2px var(--dou-color-danger)}.dou-sheet-formula-bar__mark{display:flex;flex:none;align-items:center;justify-content:center;width:32px;color:var(--dou-color-text-tertiary);font-size:16px}.dou-sheet-formula-bar__box{position:relative;flex:1;min-width:0}.dou-sheet-formula-bar__input,.dou-sheet-formula-bar__mirror{display:block;width:100%;height:calc(var(--dou-sheet-bar-lines, 1) * 20px + 12px);padding:6px 10px 6px 0;white-space:pre}.dou-sheet-formula-bar__input{position:relative;overflow:auto;resize:none;scrollbar-width:none}.dou-sheet-formula-bar__input::-webkit-scrollbar{display:none}.dou-sheet-formula-bar__input.is-formula{color:transparent;caret-color:var(--dou-color-text)}.dou-sheet-formula-bar__input.is-formula::selection{background-color:color-mix(in oklab,var(--dou-color-primary) 24%,transparent)}.dou-sheet-formula-bar__mirror{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.dou-sheet-code-bar__box{flex:1;min-width:0}.dou-sheet-code-bar__box .dou-code-input{--dou-code-input-height: 32px}.dou-sheet-code-bar__box .dou-code-editor{--dou-code-editor-bg: transparent;--dou-code-editor-border: transparent;--dou-code-editor-border-focus: transparent;--dou-code-editor-padding-x: 0px;--dou-code-editor-padding-y: 6px;--dou-code-editor-font-size: max(var(--dou-font-size-input-min, 0px), 1em);border-radius:0;font-family:var(--dou-font-family-mono)}.dou-sheet-code-bar__ref,.dou-sheet-code-bar__ref *{color:var(--dou-sheet-ref)}.dou-sheet__filter-button{position:absolute;z-index:4;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:20px;height:20px;margin:-10px 0 0 -23px;padding:0;border:1px solid var(--dou-color-border);border-radius:calc(var(--dou-radius-control) - 2px);background-color:var(--dou-color-bg-surface);color:var(--dou-color-text-tertiary);cursor:pointer}.dou-sheet__filter-button:hover,.dou-sheet__filter-button[aria-expanded=true]{background-color:var(--dou-color-bg-muted);color:var(--dou-color-text)}.dou-sheet__filter-button.is-active{border-color:color-mix(in oklab,var(--dou-color-primary) 40%,var(--dou-color-border));color:var(--dou-color-primary-text)}.dou-sheet__filter-button>svg{width:14px;height:14px}@media (pointer: coarse){.dou-sheet__filter-button{width:24px;height:24px;margin:-12px 0 0 -26px}.dou-sheet__filter-button:after{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;content:""}}.dou-sheet-filter{display:flex;flex-direction:column;gap:8px;font-size:var(--dou-font-size-sm)}.dou-sheet-filter__sort{display:flex;flex-direction:column;gap:2px;padding-bottom:8px;border-bottom:1px solid var(--dou-color-border-subtle)}.dou-sheet-filter__sort .dou-button{justify-content:flex-start}.dou-sheet-filter__list{display:flex;flex-direction:column;max-height:200px;padding:4px 0;overflow-y:auto;overscroll-behavior:contain}.dou-sheet-filter__item{min-height:28px;padding:0 4px}.dou-sheet-filter__item.is-blank,.dou-sheet-filter__item.is-all{color:var(--dou-color-text-secondary)}.dou-sheet-filter__hint{padding:6px 4px;color:var(--dou-color-text-tertiary)}.dou-sheet-filter__condition{display:flex;flex-direction:column;gap:8px}.dou-sheet-filter__footer{display:flex;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid var(--dou-color-border-subtle)}.dou-sheet-toolbar__gradient{display:inline-block;width:28px;height:12px;border:1px solid var(--dou-color-border-subtle);border-radius:3px}.dou-sheet-format__values{display:flex;flex:1;align-items:center;gap:8px}.dou-sheet-format__values>.dou-input{flex:1;min-width:0}.dou-sheet-format__and{flex:none;color:var(--dou-color-text-secondary)}.dou-sheet-format__look{display:inline-flex;align-items:center;gap:8px;min-width:0}.dou-sheet-format__sample{display:inline-flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:40px;height:20px;border:1px solid var(--dou-color-border);border-radius:4px;background-color:var(--dou-color-bg-surface);background-repeat:no-repeat;color:var(--dou-color-text);font-size:var(--dou-font-size-xs);font-variant-numeric:tabular-nums}.dou-sheet-format__sample.is-bold{font-weight:600}.dou-sheet-format__sample.is-italic{font-style:italic}.dou-sheet-format__sample.is-cell-bar{background-position:3px center;background-size:calc(100% - 6px) 10px}.dou-sheet-format__sample.is-bar{padding:4px;background-size:0 0}.dou-sheet-format__sample.is-bar:before{width:100%;height:100%;border-radius:2px;background-image:inherit;content:""}.dou-sheet-format__sample.is-tone-neutral{color:var(--dou-color-neutral-text)}.dou-sheet-format__sample.is-tone-primary{color:var(--dou-color-primary-text)}.dou-sheet-format__sample.is-tone-success{color:var(--dou-color-success-text)}.dou-sheet-format__sample.is-tone-warning{color:var(--dou-color-warning-text)}.dou-sheet-format__sample.is-tone-danger{color:var(--dou-color-danger-text)}.dou-sheet-format__sample.is-fill-neutral{background-color:color-mix(in oklab,var(--dou-color-text) 6%,var(--dou-color-bg-surface))}.dou-sheet-format__sample.is-fill-primary{background-color:color-mix(in oklab,var(--dou-color-primary) 12%,var(--dou-color-bg-surface))}.dou-sheet-format__sample.is-fill-success{background-color:color-mix(in oklab,var(--dou-color-success) 12%,var(--dou-color-bg-surface))}.dou-sheet-format__sample.is-fill-warning{background-color:color-mix(in oklab,var(--dou-color-warning) 14%,var(--dou-color-bg-surface))}.dou-sheet-format__sample.is-fill-danger{background-color:color-mix(in oklab,var(--dou-color-danger) 12%,var(--dou-color-bg-surface))}.dou-sheet-formats{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.dou-sheet-formats__item{display:flex;align-items:center;gap:12px;padding:8px 0}.dou-sheet-formats__item+.dou-sheet-formats__item{border-top:1px solid var(--dou-color-border-subtle)}.dou-sheet-formats__what{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.dou-sheet-formats__rule{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dou-sheet-formats__range{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);font-variant-numeric:tabular-nums}.dou-sheet-formats__actions{display:flex;flex:none;gap:2px}.dou-sheet-formats__empty{margin:0;padding:16px 0;color:var(--dou-color-text-tertiary);text-align:center}}@keyframes dou-sheet-peer-name{to{opacity:0;visibility:hidden}}@layer dou.components{.dou-code-editor{--dou-code-editor-font-size: var(--dou-font-size-sm);--dou-code-editor-line-height: 20px;--dou-code-editor-padding-y: 8px;--dou-code-editor-padding-x: 12px;--dou-code-editor-bg: var(--dou-color-bg-surface);--dou-code-editor-gutter-bg: var(--dou-code-editor-bg);--dou-code-editor-gutter-text: var(--dou-color-text-tertiary);--dou-code-editor-border: var(--dou-color-border);--dou-code-editor-border-focus: color-mix( in oklab, var(--dou-color-focus) 70%, var(--dou-color-text) );--dou-code-editor-cursor: var(--dou-color-text);--dou-code-editor-active-line: color-mix(in oklab, var(--dou-color-text) 4%, transparent);--dou-code-editor-selection: color-mix(in oklab, var(--dou-color-primary) 20%, transparent);--dou-code-editor-match: color-mix(in oklab, var(--dou-color-warning) 22%, transparent);--dou-code-editor-match-current: color-mix( in oklab, var(--dou-color-warning-text) 80%, transparent );--dou-code-editor-match-mark: color-mix(in oklab, var(--dou-color-warning) 60%, transparent);--dou-code-editor-bracket: color-mix(in oklab, var(--dou-color-text) 35%, transparent);--dou-code-editor-error: var(--dou-color-danger-text);--dou-code-editor-warning: var(--dou-color-warning-text);--dou-code-editor-info: var(--dou-color-primary-text);--dou-code-editor-bracket-unmatched: color-mix( in oklab, var(--dou-color-danger-text) 70%, transparent );position:relative;display:flex;flex-direction:column;box-sizing:border-box;width:100%;min-width:0;min-height:calc(var(--dou-code-editor-line-height) + 2 * var(--dou-code-editor-padding-y) + 2px);overflow:hidden;border:1px solid var(--dou-code-editor-border);border-radius:var(--dou-radius-container);background-color:var(--dou-code-editor-bg);color:var(--dou-color-text);font-family:var(--dou-font-family-mono);font-size:var(--dou-code-editor-font-size);font-variant-ligatures:none;line-height:var(--dou-code-editor-line-height);transition:border-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-code-editor.is-focused{border-color:var(--dou-code-editor-border-focus)}.dou-code-editor:not(.is-focused){--dou-code-editor-selection: color-mix(in oklab, var(--dou-color-text) 10%, transparent)}.dou-code-editor.is-disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-code-editor__body{position:relative;display:flex;flex:1 1 auto;min-height:0}.dou-code-editor__scroller{position:relative;flex:1 1 auto;min-width:0;min-height:0;overflow:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.dou-code-editor__minimap{position:relative;flex:none;width:96px;overflow:hidden;box-shadow:inset 1px 0 color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text-tertiary);cursor:default;touch-action:none;-webkit-user-select:none;user-select:none}.dou-code-editor__minimap-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.dou-code-editor__minimap-view{position:absolute;top:0;left:0;right:0;background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-code-editor__minimap:hover .dou-code-editor__minimap-view{background-color:color-mix(in oklab,var(--dou-color-text) 9%,transparent)}.dou-code-editor__minimap:active .dou-code-editor__minimap-view{background-color:color-mix(in oklab,var(--dou-color-text) 12%,transparent)}.dou-code-editor__sizer{position:relative;display:flex;box-sizing:border-box;width:max-content;min-width:100%}.dou-code-editor__gutter{position:sticky;left:0;z-index:2;flex:none;box-sizing:border-box;width:var(--dou-code-editor-gutter);background-color:var(--dou-code-editor-gutter-bg);color:var(--dou-code-editor-gutter-text);font-variant-numeric:tabular-nums;cursor:default;user-select:none;-webkit-user-select:none;touch-action:manipulation}.dou-code-editor__numbers{position:absolute;top:0;right:0;left:0;will-change:transform}.dou-code-editor__number{position:relative;box-sizing:border-box;height:var(--dou-code-editor-line-height);padding:0 12px 0 calc(16px + var(--dou-code-editor-gutter-cells, 0px));text-align:right}.dou-code-editor__number.is-active{color:var(--dou-color-text-secondary)}.dou-code-editor.is-foldable .dou-code-editor__number{padding-right:24px}.dou-code-editor__fold-toggle{position:absolute;top:0;right:6px;display:flex;align-items:center;justify-content:center;width:14px;height:var(--dou-code-editor-line-height);color:var(--dou-color-text-tertiary);font-size:12px;cursor:pointer;opacity:0;transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-code-editor__gutter:hover .dou-code-editor__fold-toggle,.dou-code-editor__fold-toggle.is-folded{opacity:1}.dou-code-editor__fold-toggle:hover{color:var(--dou-color-text)}@media (pointer: coarse){.dou-code-editor__fold-toggle{opacity:1}.dou-code-editor__fold-toggle:before{position:absolute;top:-4px;right:-6px;bottom:-4px;left:-6px;content:""}}.dou-code-editor__content{position:relative;flex:1 1 auto;min-width:0;cursor:text;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.dou-code-editor.is-disabled .dou-code-editor__content{cursor:not-allowed}.dou-code-editor__lines,.dou-code-editor__matches,.dou-code-editor__brackets,.dou-code-editor__selections,.dou-code-editor__cursors{position:absolute;top:0;left:0;pointer-events:none}.dou-code-editor__lines{right:0;will-change:transform}.dou-code-editor__line{box-sizing:border-box;height:var(--dou-code-editor-line-height);padding:0 var(--dou-code-editor-padding-x);white-space:pre;-moz-tab-size:var(--dou-code-editor-tab-size, 2);tab-size:var(--dou-code-editor-tab-size, 2)}.dou-code-editor__line.is-wrapped{height:auto}.dou-code-editor__row{box-sizing:border-box;height:var(--dou-code-editor-line-height)}.dou-code-editor__fold-marker{display:inline-block;box-sizing:border-box;height:16px;margin-left:6px;padding:0 6px;border:1px solid var(--dou-color-border);border-radius:4px;background-color:var(--dou-color-bg-muted);color:var(--dou-color-text-secondary);font-size:12px;line-height:14px;vertical-align:1px;cursor:pointer;pointer-events:auto}.dou-code-editor__fold-marker:hover{color:var(--dou-color-text)}.dou-code-editor__line :is(.dou-syntax-heading,.dou-syntax-strong){font-weight:inherit}.dou-code-editor__compose{text-decoration:underline;text-decoration-color:var(--dou-color-text-tertiary);text-underline-offset:3px}.dou-code-editor__probe{position:absolute;top:0;left:0;visibility:hidden;white-space:pre;pointer-events:none}.dou-code-editor__active-line{position:absolute;top:0;right:0;left:0;height:var(--dou-code-editor-line-height);background-color:var(--dou-code-editor-active-line);pointer-events:none}.dou-code-editor:not(.is-focused) .dou-code-editor__active-line{background-color:transparent}.dou-code-editor__match{position:absolute;top:0;left:0;box-sizing:border-box;height:var(--dou-code-editor-line-height);border-radius:2px;background-color:var(--dou-code-editor-match)}.dou-code-editor__match.is-current{box-shadow:inset 0 0 0 1px var(--dou-code-editor-match-current)}.dou-code-editor__marks{position:absolute;top:0;right:0;bottom:0;z-index:3;width:6px;pointer-events:none}.dou-code-editor__mark{position:absolute;right:0;width:6px;height:2px;border-radius:1px;background-color:var(--dou-code-editor-match-mark)}.dou-code-editor__mark.is-current{height:3px;background-color:var(--dou-code-editor-match-current)}.dou-code-editor__live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dou-code-editor__search{position:absolute;top:6px;right:14px;left:6px;z-index:4;display:flex;justify-content:flex-end;container-type:inline-size;pointer-events:none}.dou-code-editor__search>*{pointer-events:auto}.dou-code-editor__bracket{position:absolute;top:0;left:0;box-sizing:border-box;height:var(--dou-code-editor-line-height);border:1px solid var(--dou-code-editor-bracket);border-radius:2px}.dou-code-editor__bracket.is-unmatched{border-color:var(--dou-code-editor-bracket-unmatched)}.dou-code-editor__selection{position:absolute;top:0;left:0;height:var(--dou-code-editor-line-height);border-radius:2px;background-color:var(--dou-code-editor-selection)}.dou-code-editor__cursor{position:absolute;top:0;left:0;width:2px;height:var(--dou-code-editor-line-height);border-radius:1px;background-color:var(--dou-code-editor-cursor);animation:dou-code-editor-blink 1.2s steps(1) .5s infinite}.dou-code-editor.is-readonly .dou-code-editor__cursor{opacity:.4;animation:none}@media (prefers-reduced-motion: reduce){.dou-code-editor__cursor{animation:none}}.dou-code-editor__placeholder{position:absolute;top:var(--dou-code-editor-padding-y);left:var(--dou-code-editor-padding-x);color:var(--dou-color-text-tertiary);white-space:pre;pointer-events:none}.dou-code-editor__input{position:absolute;z-index:-1;box-sizing:border-box;width:calc(100% - var(--dou-code-editor-padding-x));min-width:1px;margin:0;padding:0;overflow:hidden;border:0;outline:none;background:transparent;color:transparent;caret-color:transparent;font:inherit;font-size:max(var(--dou-font-size-input-min),var(--dou-code-editor-font-size));line-height:inherit;letter-spacing:inherit;white-space:pre;-moz-tab-size:var(--dou-code-editor-tab-size, 2);tab-size:var(--dou-code-editor-tab-size, 2);resize:none;pointer-events:none}.dou-code-editor__input::selection{background:transparent}}@layer dou.components{.dou-code-editor__problem{text-decoration-line:underline;text-decoration-style:wavy;text-decoration-thickness:1px;text-decoration-skip-ink:none;text-underline-offset:3px}.dou-code-editor__problem.is-error{text-decoration-color:var(--dou-code-editor-error)}.dou-code-editor__problem.is-warning{text-decoration-color:var(--dou-code-editor-warning)}.dou-code-editor__problem.is-info{text-decoration-color:var(--dou-code-editor-info)}.dou-code-editor__problem.is-hint{text-decoration-style:dotted;text-decoration-color:var(--dou-color-text-tertiary)}.dou-code-editor__cells{position:absolute;top:0;left:0;display:flex;height:var(--dou-code-editor-line-height)}.dou-code-editor__cell{display:inline-flex;flex:none;align-items:center;justify-content:center;height:100%;font-size:var(--dou-font-size-sm)}.dou-code-editor__cell[data-gutter-cell]{cursor:pointer}.dou-code-editor__cell>svg{width:14px;height:14px}.dou-code-editor__problem-icon.is-error{color:var(--dou-code-editor-error)}.dou-code-editor__problem-icon.is-warning{color:var(--dou-code-editor-warning)}.dou-code-editor__problem-icon.is-info{color:var(--dou-code-editor-info)}.dou-code-editor__problem-icon.is-hint{color:var(--dou-color-text-tertiary)}.dou-code-editor__problem-mark.is-error{background-color:var(--dou-code-editor-error)}.dou-code-editor__problem-mark.is-warning{background-color:var(--dou-code-editor-warning)}.dou-code-editor__problem-mark.is-info{background-color:var(--dou-code-editor-info)}.dou-code-editor__problem-mark.is-hint{background-color:var(--dou-color-text-tertiary)}.dou-code-editor__floating{display:contents}.dou-code-editor__floating.is-outside{--dou-code-editor-font-size: var(--dou-font-size-sm);--dou-code-editor-bg: var(--dou-color-bg-surface);--dou-code-editor-error: var(--dou-color-danger-text);--dou-code-editor-warning: var(--dou-color-warning-text);--dou-code-editor-info: var(--dou-color-primary-text);position:absolute;top:0;left:0;display:block;width:0;height:0;color:var(--dou-color-text);line-height:20px;transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-code-editor__floating.is-outside.is-scrolling{opacity:0;pointer-events:none;transition:none}.dou-code-editor__floating.is-outside.is-fixed{position:fixed}.dou-code-editor__problems{position:absolute;top:0;left:0;z-index:6;box-sizing:border-box;display:flex;flex-direction:column;gap:4px;width:max-content;max-width:min(440px,calc(100% - 8px));padding:6px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-md);font-family:var(--dou-font-family);font-size:var(--dou-font-size-sm);line-height:20px;white-space:normal;overflow-y:auto;overscroll-behavior:contain}.dou-code-editor__problems>*{flex-shrink:0}.dou-code-editor__problem-item{display:flex;gap:6px;align-items:flex-start;padding:0 2px}.dou-code-editor__problem-item.is-error{--dou-code-editor-problem: var(--dou-code-editor-error)}.dou-code-editor__problem-item.is-warning{--dou-code-editor-problem: var(--dou-code-editor-warning)}.dou-code-editor__problem-item.is-info{--dou-code-editor-problem: var(--dou-code-editor-info)}.dou-code-editor__problem-item.is-hint{--dou-code-editor-problem: var(--dou-color-text-tertiary)}.dou-code-editor__problem-severity{flex:none;width:14px;height:20px;color:var(--dou-code-editor-problem)}.dou-code-editor__problem-message{min-width:0;overflow-wrap:anywhere;color:var(--dou-color-text)}.dou-code-editor__problem-source{margin-left:8px;color:var(--dou-color-text-tertiary)}.dou-code-editor__fixes{display:flex;flex-wrap:wrap;gap:2px;padding-top:4px;border-top:1px solid var(--dou-color-border-subtle)}.dou-code-editor__fix{display:inline-flex;align-items:center;height:24px;padding:0 8px;border:0;border-radius:calc(var(--dou-radius-control) - 2px);background:none;color:var(--dou-color-primary-text);font:inherit;cursor:pointer}.dou-code-editor__fix.is-active,.dou-code-editor__fix:hover{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent)}@media (pointer: coarse){.dou-code-editor__fix{height:36px}}.dou-code-editor__hover{padding:0 2px;color:var(--dou-color-text);overflow-wrap:anywhere;white-space:pre-wrap}.dou-code-editor__hover+.dou-code-editor__problem-item{padding-top:4px;border-top:1px solid var(--dou-color-border-subtle)}.dou-code-lsp-markup{display:flex;flex-direction:column;gap:6px;white-space:normal}.dou-code-lsp-markup__text{margin:0;white-space:pre-wrap}.dou-code-lsp-markup__code{margin:0;font-family:var(--dou-font-family-mono);white-space:pre-wrap}.dou-code-lsp-markup__inline{font-family:var(--dou-font-family-mono)}.dou-code-editor__completions{position:absolute;top:0;left:0;z-index:7;box-sizing:border-box;display:flex;flex-direction:column;width:max-content;min-width:min(200px,100%);max-height:264px;padding:4px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-md);font-family:var(--dou-font-family-mono);font-size:var(--dou-code-editor-font-size);line-height:20px}.dou-code-editor__completion-list{flex:0 1 auto;min-height:28px;overflow-y:auto;overscroll-behavior:contain}.dou-code-editor__completion{display:flex;gap:8px;align-items:center;height:28px;padding:0 8px 0 6px;border-radius:calc(var(--dou-radius-control) - 2px);color:var(--dou-color-text);cursor:pointer}.dou-code-editor__completion.is-active{background-color:color-mix(in oklab,var(--dou-color-text) 8%,transparent)}@media (hover: hover){.dou-code-editor__completion:not(.is-active):hover{background-color:color-mix(in oklab,var(--dou-color-text) 4%,transparent)}}@media (pointer: coarse){.dou-code-editor__completion{height:36px}}.dou-code-editor__completion-kind{flex:none;width:16px;height:16px;color:var(--dou-color-text-tertiary)}.dou-code-editor__completion-label{flex:none;max-width:75%;overflow:hidden;text-overflow:ellipsis;white-space:pre}.dou-code-editor__completion-match{background:none;color:var(--dou-color-primary-text);font-weight:600}.dou-code-editor__completion-detail{flex:0 1 auto;min-width:0;margin-left:auto;padding-left:16px;overflow:hidden;color:var(--dou-color-text-tertiary);font-family:var(--dou-font-family);font-size:var(--dou-font-size-sm);text-overflow:ellipsis;white-space:nowrap}.dou-code-editor__completion-info{flex:none;margin-top:4px;padding:6px 6px 2px;border-top:1px solid var(--dou-color-border-subtle);color:var(--dou-color-text-secondary);font-family:var(--dou-font-family);font-size:var(--dou-font-size-sm);white-space:pre-wrap;overflow-wrap:anywhere;max-width:400px}.dou-code-editor__signature{position:absolute;top:0;left:0;z-index:6;box-sizing:border-box;width:max-content;max-width:min(440px,calc(100% - 8px));padding:4px 8px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-md);font-size:var(--dou-font-size-sm);line-height:20px;overflow-y:auto;pointer-events:none}.dou-code-editor__signature-label{color:var(--dou-color-text-secondary);font-family:var(--dou-font-family-mono);font-size:var(--dou-code-editor-font-size);overflow-wrap:anywhere}.dou-code-editor__signature-active{color:var(--dou-color-text);font-weight:600;text-decoration:underline;text-underline-offset:3px}.dou-code-editor__signature-info{color:var(--dou-color-text-tertiary);font-family:var(--dou-font-family);white-space:pre-wrap}.dou-code-editor__field{border-radius:2px;box-shadow:inset 0 0 0 1px var(--dou-color-border-strong)}.dou-code-editor__widgets{position:absolute;top:0;left:0;z-index:3}.dou-code-editor__widget{position:absolute;top:0;left:0;box-sizing:border-box;cursor:auto;font-family:var(--dou-font-family);font-size:var(--dou-font-size-sm);line-height:20px;white-space:normal;user-select:text;-webkit-user-select:text;display:flow-root}.dou-code-editor__inline{display:inline-block;vertical-align:top;height:var(--dou-code-editor-line-height);white-space:nowrap}.dou-code-editor__panels{flex:none;font-family:var(--dou-font-family)}.dou-code-editor__panels.is-top{border-bottom:1px solid var(--dou-color-border-subtle)}.dou-code-editor__panels.is-bottom{border-top:1px solid var(--dou-color-border-subtle)}.dou-code-editor__handle{position:absolute;top:0;left:0;z-index:5;width:0;height:0;touch-action:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.dou-code-editor__handle:before{position:absolute;top:-6px;width:36px;height:36px;content:""}.dou-code-editor__handle:after{position:absolute;top:0;width:14px;height:14px;background-color:var(--dou-color-primary);content:""}.dou-code-editor__handle.is-start:before{left:-27px}.dou-code-editor__handle.is-start:after{right:0;border-radius:50% 0 50% 50%}.dou-code-editor__handle.is-end:before{left:-9px}.dou-code-editor__handle.is-end:after{left:0;border-radius:0 50% 50%}.dou-code-editor__handle.is-caret:before{left:-18px}.dou-code-editor__handle.is-caret:after{top:4px;left:-6px;width:12px;height:12px;border-radius:0 50% 50%;transform:rotate(45deg)}.dou-code-editor__magnifier{position:absolute;top:0;left:0;z-index:6;box-sizing:border-box;width:128px;overflow:hidden;border:1px solid var(--dou-color-border);border-radius:999px;background:linear-gradient(var(--dou-code-editor-bg),var(--dou-code-editor-bg)),var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-md);pointer-events:none}.dou-code-editor__magnifier-text{position:absolute;top:50%;left:0;height:var(--dou-code-editor-line-height);margin-top:calc(var(--dou-code-editor-line-height) / -2);white-space:pre;-moz-tab-size:var(--dou-code-editor-tab-size);tab-size:var(--dou-code-editor-tab-size);transform-origin:0 50%}.dou-code-editor__magnifier-caret{position:absolute;top:50%;width:2px;height:calc(var(--dou-code-editor-line-height) * 1.5);border-radius:1px;background-color:var(--dou-color-primary);translate:0 -50%}.dou-code-editor__menu{position:absolute;top:0;left:0;z-index:6;display:flex;gap:2px;padding:2px;border:1px solid var(--dou-color-border);border-radius:calc(var(--dou-radius-control) + 2px);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-md);font-family:var(--dou-font-family);white-space:nowrap}.dou-code-editor__menu-button{display:inline-flex;align-items:center;min-width:36px;height:36px;padding:0 12px;border:0;border-radius:var(--dou-radius-control);background:none;color:var(--dou-color-text);font:inherit;font-size:var(--dou-font-size-sm);line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.dou-code-editor__menu-button:active{background-color:color-mix(in oklab,var(--dou-color-text) 8%,transparent)}@media (hover: hover){.dou-code-editor__menu-button:hover{background-color:color-mix(in oklab,var(--dou-color-text) 5%,transparent)}}.dou-code-editor__keys{position:fixed;top:0;left:0;box-sizing:border-box;padding:0 max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left));pointer-events:none;transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-code-editor__keys.is-scrolling{opacity:0}.dou-code-editor__keys.is-scrolling>.dou-code-keys{pointer-events:none}.dou-code-editor__keys>.dou-code-keys{height:44px;padding:0 3px;overflow:hidden;border:1px solid color-mix(in oklab,var(--dou-color-text) 10%,transparent);border-radius:22px;background-color:color-mix(in oklab,var(--dou-color-bg-surface) 92%,transparent);box-shadow:var(--dou-shadow-md);-webkit-backdrop-filter:blur(20px) saturate(1.8);backdrop-filter:blur(20px) saturate(1.8);pointer-events:auto}.dou-code-editor__keys>.dou-code-keys .dou-code-keys__scroll{padding:0}.dou-code-editor__keys>.dou-code-keys .dou-code-keys__arrows{position:relative;padding:0 0 0 5px;box-shadow:none}.dou-code-editor__keys>.dou-code-keys .dou-code-keys__arrows:before{position:absolute;top:10px;bottom:10px;left:0;width:1px;background-color:var(--dou-color-border-subtle);content:""}.dou-code-editor__keys>.dou-code-keys .dou-code-keys__key{border-radius:18px}.dou-code-keys{display:flex;box-sizing:border-box;height:45px;border-top:1px solid var(--dou-color-border);background-color:var(--dou-color-bg-surface);color:var(--dou-color-text);font-family:var(--dou-font-family-mono);font-size:var(--dou-font-size-md);user-select:none;-webkit-user-select:none}.dou-code-keys__scroll{display:flex;flex:1 1 auto;gap:2px;align-items:center;min-width:0;padding:0 4px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x}.dou-code-keys__scroll::-webkit-scrollbar{display:none}.dou-code-keys__arrows{display:flex;flex:none;gap:2px;align-items:center;padding:0 4px;box-shadow:-1px 0 0 var(--dou-color-border-subtle)}.dou-code-keys__key{display:inline-flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;min-width:36px;height:36px;padding:0 8px;border:0;border-radius:var(--dou-radius-control);background:none;color:inherit;font:inherit;line-height:1;cursor:pointer;touch-action:pan-x;-webkit-tap-highlight-color:transparent;transition-property:background-color,transform;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing-exit)}.dou-code-keys__key>svg{width:18px;height:18px;color:var(--dou-color-text-secondary)}@media (hover: hover){.dou-code-keys__key:hover{background-color:color-mix(in oklab,var(--dou-color-text) 5%,transparent)}}.dou-code-keys__key.is-pressed{background-color:color-mix(in oklab,var(--dou-color-text) 10%,transparent);transform:scale(1.12);transition-duration:var(--dou-motion-duration-slow);transition-timing-function:var(--dou-motion-easing-spring)}}@layer dou.components{.dou-code-input{--dou-code-input-height: var(--dou-control-height-md);display:block;width:100%;min-width:0}.dou-code-input .dou-code-editor{--dou-code-editor-padding-x: var(--dou-control-padding-x-md);--dou-code-editor-padding-y: calc( (var(--dou-code-input-height) - var(--dou-code-editor-line-height) - 2px) / 2 );min-height:var(--dou-code-input-height);border-radius:var(--dou-radius-control);transition-property:border-color,box-shadow}@media (hover: hover){.dou-code-input .dou-code-editor:not(.is-focused,.is-disabled):hover{--dou-code-editor-border: var(--dou-color-border-strong)}}.dou-code-input .dou-code-editor__marks{display:none}.dou-code-input:not(.is-multiline) .dou-code-editor{height:var(--dou-code-input-height)}.dou-code-input:not(.is-multiline) .dou-code-editor .dou-code-editor__scroller{scrollbar-width:none}.dou-code-input:not(.is-multiline) .dou-code-editor .dou-code-editor__scroller::-webkit-scrollbar{display:none}.dou-code-input.is-multiline .dou-code-editor{min-height:calc(var(--dou-code-input-min-rows, 1) * var(--dou-code-editor-line-height) + 2 * var(--dou-code-editor-padding-y) + 2px);max-height:calc(var(--dou-code-input-max-rows, 6) * var(--dou-code-editor-line-height) + 2 * var(--dou-code-editor-padding-y) + 2px)}.dou-code-input.is-invalid .dou-code-editor{--dou-code-editor-border: color-mix( in oklab, var(--dou-color-danger) 55%, var(--dou-color-border) );--dou-code-editor-border-focus: var(--dou-color-danger)}.dou-code-input--sm{--dou-code-input-height: var(--dou-control-height-sm)}.dou-code-input--sm .dou-code-editor{--dou-code-editor-padding-x: var(--dou-control-padding-x-sm)}.dou-code-input--lg{--dou-code-input-height: var(--dou-control-height-lg)}.dou-code-input--lg .dou-code-editor{--dou-code-editor-padding-x: var(--dou-control-padding-x-lg)}}@keyframes dou-code-peer-name{to{opacity:0;visibility:hidden}}@keyframes dou-code-editor-blink{50%{opacity:0}}@layer dou.components{.dou-code-diff{--dou-code-diff-removed: color-mix(in oklab, var(--dou-color-danger) 10%, transparent);--dou-code-diff-added: color-mix(in oklab, var(--dou-color-success) 10%, transparent);--dou-code-diff-removed-word: color-mix( in oklab, var(--dou-color-danger-text) 30%, transparent );--dou-code-diff-added-word: color-mix(in oklab, var(--dou-color-success-text) 30%, transparent);--dou-code-diff-border: var(--dou-color-border);position:relative;display:flex;flex-direction:column;box-sizing:border-box;width:100%;min-width:0;overflow:hidden;border:1px solid var(--dou-code-diff-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface);transition:border-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-code-diff:focus-within{border-color:color-mix(in oklab,var(--dou-color-focus) 70%,var(--dou-color-text))}.dou-code-diff .dou-code-editor{border:0;border-radius:0}.dou-code-diff__toolbar{display:flex;flex:none;align-items:center;gap:2px;min-height:36px;padding:0 6px 0 12px;border-bottom:1px solid var(--dou-code-diff-border);font-size:var(--dou-font-size-sm)}@media (pointer: coarse){.dou-code-diff__toolbar{min-height:44px}}.dou-code-diff__stats{display:flex;flex:1 1 auto;align-items:center;gap:8px;min-width:0;overflow:hidden;white-space:nowrap}.dou-code-diff__count{font-family:var(--dou-font-family-mono);font-variant-numeric:tabular-nums}.dou-code-diff__count.is-added{color:var(--dou-color-success-text)}.dou-code-diff__count.is-removed{color:var(--dou-color-danger-text)}.dou-code-diff__summary{overflow:hidden;color:var(--dou-color-text-secondary);text-overflow:ellipsis}.dou-code-diff__hidden-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media (pointer: coarse){.dou-code-diff__toolbar .dou-button{position:relative;min-width:36px;min-height:36px}.dou-code-diff__toolbar .dou-button:after{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;content:""}}.dou-code-diff__body{display:grid;flex:1 1 auto;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-height:0}.dou-code-diff--split>.dou-code-diff__body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dou-code-diff__label{padding:4px 12px;border-bottom:1px solid var(--dou-code-diff-border);color:var(--dou-color-text-secondary);font-size:12px}.dou-code-diff__label:nth-child(2){border-left:1px solid var(--dou-code-diff-border)}.dou-code-diff__side{display:flex;flex-direction:column;min-width:0;min-height:0}.dou-code-diff__side.is-modified{border-left:1px solid var(--dou-code-diff-border)}.dou-code-diff__side>.dou-code-editor{flex:1 1 auto}.dou-code-diff__line.is-removed{background-color:var(--dou-code-diff-removed)}.dou-code-diff__line.is-added{background-color:var(--dou-code-diff-added)}.dou-code-diff__word.is-removed{background-color:var(--dou-code-diff-removed-word)}.dou-code-diff__word.is-added{background-color:var(--dou-code-diff-added-word)}.dou-code-editor__cell.dou-code-diff__sign{font-family:var(--dou-font-family-mono)}.dou-code-editor__cell.dou-code-diff__sign.is-removed{background-color:var(--dou-code-diff-removed);color:var(--dou-color-danger-text)}.dou-code-editor__cell.dou-code-diff__sign.is-added{background-color:var(--dou-code-diff-added);color:var(--dou-color-success-text)}.dou-code-editor__cell.dou-code-diff__number{justify-content:flex-end;padding-right:8px;box-sizing:border-box;color:var(--dou-code-editor-gutter-text);font-family:var(--dou-font-family-mono);font-size:inherit;font-variant-numeric:tabular-nums}.dou-code-editor__cell.dou-code-diff__number.is-removed{background-color:var(--dou-code-diff-removed)}.dou-code-editor__cell.dou-code-diff__number.is-added{background-color:var(--dou-code-diff-added)}.dou-code-diff__filler{background-image:repeating-linear-gradient(-45deg,transparent 0 6px,color-mix(in oklab,var(--dou-color-text) 5%,transparent) 6px 7px)}.dou-code-diff__bar{display:flex;align-items:center;gap:6px;box-sizing:border-box;width:100%;height:28px;margin:0;padding:0 12px;border:0;border-block:1px solid var(--dou-code-diff-border);background-color:color-mix(in oklab,var(--dou-color-text) 3%,transparent);color:var(--dou-color-text-secondary);font:inherit;font-size:12px;text-align:left;cursor:pointer}@media (hover: hover){.dou-code-diff__bar:hover{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}}.dou-code-diff__bar:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}@media (pointer: coarse){.dou-code-diff__bar{height:36px}}.dou-code-diff__bar-icon{flex:none;font-size:14px}.dou-code-diff__live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dou-code-peer{position:relative;z-index:1;display:inline-block;width:0;height:var(--dou-code-editor-line-height);vertical-align:top;pointer-events:none}.dou-code-peer:before{content:"";position:absolute;top:0;left:-1px;width:2px;height:100%;border-radius:1px;background-color:var(--dou-code-peer-color)}.dou-code-peer__name{position:absolute;bottom:100%;left:-1px;padding:0 6px;border-radius:4px 4px 4px 0;background-color:var(--dou-code-peer-color);color:#fff;color:oklch(from var(--dou-code-peer-color) clamp(.2,(.66 - l) * 100,.99) 0 0);font-family:var(--dou-font-family);font-size:var(--dou-font-size-sm);line-height:18px;white-space:nowrap;-webkit-user-select:none;user-select:none;animation:dou-code-peer-name var(--dou-motion-duration-fast) var(--dou-motion-easing) 3s forwards}.dou-code-peer.is-below .dou-code-peer__name{top:100%;bottom:auto;border-radius:0 4px 4px}.dou-code-peer-selection{background-color:color-mix(in oklab,var(--dou-code-peer-color) 20%,transparent)}}@layer dou.components{.dou-chart{--dou-chart-surface: var(--dou-color-bg-surface);--dou-chart-grid: var(--dou-color-border-subtle);--dou-chart-baseline: var(--dou-color-border-strong);--dou-chart-label: var(--dou-color-text-tertiary);--dou-chart-title: var(--dou-color-text-secondary);--dou-chart-range-ink: var(--dou-color-text-tertiary);--dou-chart-marker: color-mix(in oklab, var(--dou-color-text) 45%, transparent);--dou-chart-track: color-mix(in oklab, var(--dou-color-text) 10%, transparent);position:relative;box-sizing:border-box;width:100%;min-width:0;overflow:hidden;color:var(--dou-color-text);font-family:var(--dou-font-family);font-size:12px;line-height:16px;font-variant-numeric:tabular-nums}.dou-chart__canvas{position:absolute;top:0;left:0;display:block}.dou-chart__static{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;font-size:12px}.dou-chart__canvas,.dou-chart__static,.dou-chart__labels,.dou-chart__legends{transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-chart.is-loading>.dou-chart__canvas,.dou-chart.is-loading>.dou-chart__static,.dou-chart.is-loading>.dou-chart__labels,.dou-chart.is-loading>.dou-chart__legends{opacity:.4}.dou-chart__loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--dou-color-text-secondary)}.dou-chart__labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.dou-chart__tick,.dou-chart__title{position:absolute;display:flex;align-items:center;height:16px;white-space:nowrap}.dou-chart__text{text-box:trim-both cap alphabetic}.dou-chart__tick{top:0;left:0;color:var(--dou-chart-label);will-change:transform}.dou-chart__tick.is-value{color:var(--dou-color-text-secondary);font-variant-numeric:tabular-nums}.dou-chart__tick.is-rate{font-variant-numeric:tabular-nums}.dou-chart__tick.is-clipped{pointer-events:auto}.dou-chart__tick.is-clipped>.dou-chart__text{min-width:0;overflow:hidden;line-height:16px;text-overflow:ellipsis;text-box:normal}.dou-chart__value{position:absolute;top:0;left:0;display:flex;align-items:center;height:16px;color:var(--dou-color-text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-chart__value.is-middle{translate:-50% 0}.dou-chart__value.is-end{translate:-100% 0}.dou-chart__value.is-inside{font-weight:var(--dou-font-weight-medium)}.dou-chart__value.is-faded{opacity:.24}.dou-chart__value.is-clipped{pointer-events:auto}.dou-chart__value.is-clipped>.dou-chart__text{min-width:0;overflow:hidden;line-height:16px;text-overflow:ellipsis;text-box:normal}.dou-chart__value.is-hidden{opacity:0;transition:none}.dou-chart__marker{position:absolute;top:0;left:0;display:flex;align-items:center;height:16px;color:var(--dou-color-text-secondary);white-space:nowrap}.dou-chart__marker.is-middle{translate:-50% 0}.dou-chart__marker.is-end{translate:-100% 0}.dou-chart__marker.is-backdrop{padding-inline:4px;border-radius:4px;background-color:color-mix(in oklab,currentColor 10%,var(--dou-chart-surface))}.dou-chart__marker.is-backdrop.is-start{margin-left:-4px}.dou-chart__marker.is-backdrop.is-end{margin-left:4px}.dou-chart__marker.is-primary{color:var(--dou-color-primary-text)}.dou-chart__marker.is-success{color:var(--dou-color-success-text)}.dou-chart__marker.is-warning{color:var(--dou-color-warning-text)}.dou-chart__marker.is-danger{color:var(--dou-color-danger-text)}.dou-chart__measure{visibility:hidden;contain:layout style}.dou-chart__title,.dou-chart__legend{top:0;left:0}.dou-chart.is-interactive:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px;border-radius:var(--dou-radius-control)}.dou-chart__legends{position:absolute;pointer-events:none}.dou-chart__legends.is-scroll{overflow-y:auto;overscroll-behavior:contain;pointer-events:auto;scrollbar-width:thin}.dou-chart__title{color:var(--dou-chart-title);font-weight:var(--dou-font-weight-medium)}.dou-chart__title.is-end{translate:-100% 0}.dou-chart__legend{position:absolute;display:flex;gap:6px;align-items:center;height:16px;padding:0;border:0;border-radius:2px;background:none;color:var(--dou-color-text-secondary);font:inherit;white-space:nowrap;cursor:pointer;pointer-events:auto;transition:color var(--dou-motion-duration-fast) var(--dou-motion-easing);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.dou-chart__legend:before{position:absolute;top:-6px;right:-4px;bottom:-6px;left:-4px;content:""}@media (pointer: coarse){.dou-chart__legend:before{top:-12px;right:-4px;bottom:-12px;left:-4px}}.dou-chart__legend:hover{color:var(--dou-color-text)}.dou-chart__legend:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-chart__legend.is-clipped>.dou-chart__text{min-width:0;overflow:hidden;line-height:16px;text-overflow:ellipsis;text-box:normal}.dou-chart__legend.is-locked{cursor:default}.dou-chart__legend.is-locked:hover{color:var(--dou-color-text-secondary)}.dou-chart__legend.is-off{color:var(--dou-color-text-disabled)}.dou-chart__legend.is-off>.dou-chart__swatch{opacity:.32}.dou-chart__swatch{flex-shrink:0;width:12px;height:2px;border-radius:1px;background-color:currentColor}.is-area>.dou-chart__swatch,.is-radar>.dou-chart__swatch{height:8px;border-radius:2px}.is-bar>.dou-chart__swatch,.is-pie>.dou-chart__swatch{width:8px;height:8px;margin-inline:2px;border-radius:2px}.is-box>.dou-chart__swatch{box-sizing:border-box;width:8px;height:10px;margin-inline:2px;border:1px solid currentColor;border-radius:1px;background-color:color-mix(in srgb,currentColor 16%,transparent)}.is-scatter>.dou-chart__swatch{width:8px;height:8px;margin-inline:2px;border-radius:50%}.is-heatmap>.dou-chart__swatch{height:8px;border-radius:2px;box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--dou-color-text) 8%,transparent)}.is-dashed>.dou-chart__swatch{background:repeating-linear-gradient(to right,currentColor 0 4px,transparent 4px 7px)}.dou-chart__center{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;translate:-50% -50%}.dou-chart__center.is-above{translate:-50% calc(-100% - 4px)}.dou-chart__gauge-value{color:var(--dou-color-text);font-size:var(--dou-chart-gauge-value-size, 28px);font-weight:var(--dou-font-weight-bold);font-variant-numeric:tabular-nums;line-height:1.3}.dou-chart__gauge-name{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);line-height:20px}.dou-chart__empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.dou-chart.is-table>:not(.dou-chart__table,.dou-chart__parts){visibility:hidden}.dou-chart__table{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-chart-surface);color:var(--dou-color-text);font-size:var(--dou-font-size-sm);line-height:1.5;overscroll-behavior:contain}.dou-chart__table:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-chart__table table{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}.dou-chart__table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dou-chart__table th,.dou-chart__table td{box-sizing:border-box;height:36px;padding:6px 10px;border-bottom:1px solid var(--dou-color-border-subtle);text-align:end;white-space:nowrap}.dou-chart__table th[scope=row],.dou-chart__table thead th:first-child{text-align:start}.dou-chart__table th[scope=row]{font-weight:var(--dou-font-weight-regular)}.dou-chart__table thead th{position:sticky;top:0;z-index:1;height:32px;border-bottom-color:var(--dou-color-border);background-color:color-mix(in oklab,var(--dou-color-text) 2.5%,var(--dou-chart-surface));color:var(--dou-color-text-secondary);font-weight:var(--dou-font-weight-medium)}.dou-chart__table tbody tr:last-child>*{border-bottom:0}.dou-chart__table-more{margin:0;padding:8px 10px;border-top:1px solid var(--dou-color-border-subtle);color:var(--dou-color-text-tertiary)}.dou-chart__pointer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.dou-chart__crosshair,.dou-chart__band,.dou-chart__cell,.dou-chart__mark,.dou-chart__tooltip{position:absolute;top:0;left:0}.dou-chart__crosshair{background-color:var(--dou-chart-baseline)}.dou-chart__band{background-color:color-mix(in oklab,var(--dou-color-text) 5%,transparent)}.dou-chart__cell{box-sizing:border-box;border:2px solid var(--dou-color-text);border-radius:4px;box-shadow:inset 0 0 0 1px var(--dou-chart-surface)}.dou-chart__mark{box-sizing:border-box;border:2px solid var(--dou-chart-surface);border-radius:50%;background-color:currentColor;box-shadow:0 0 0 1px color-mix(in oklab,currentColor 24%,transparent)}.dou-chart__mark.is-faded{opacity:.32}.dou-chart__mark.is-ring{border-color:currentColor;background:none;box-shadow:0 0 0 1px var(--dou-chart-surface)}.dou-chart__tooltip{--dou-chart-tooltip-bg: color-mix( in oklab, var(--dou-color-text) calc(4% * var(--dou-scheme-dark)), var(--dou-color-bg-surface) );box-sizing:border-box;min-width:120px;max-width:min(280px,calc(100% - 8px));padding:8px 10px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-chart-tooltip-bg);box-shadow:var(--dou-shadow-md);color:var(--dou-color-text-secondary);will-change:transform}.dou-chart__tooltip-title{display:flex;align-items:center;min-height:16px;margin-bottom:6px;color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium)}.dou-chart__tooltip-item{display:flex;gap:6px;align-items:center;min-height:16px}.dou-chart__tooltip-item+.dou-chart__tooltip-item{margin-top:4px}.dou-chart__tooltip-item.is-muted{color:var(--dou-color-text-tertiary)}.dou-chart__tooltip-item.is-muted>.dou-chart__tooltip-value{color:var(--dou-color-text-secondary)}.dou-chart__tooltip-swatch{flex-shrink:0;width:8px;height:8px;border-radius:2px;background-color:currentColor;box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--dou-color-text) 8%,transparent)}.dou-chart__tooltip-name{flex:1;min-width:0;overflow:hidden;line-height:16px;text-overflow:ellipsis;white-space:nowrap;text-box:normal}.dou-chart__tooltip-value{margin-left:12px;color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium);white-space:nowrap}.dou-chart__tooltip-note{margin-top:6px;color:var(--dou-color-text-tertiary);line-height:16px}.dou-chart__live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dou-chart.is-zoomed{cursor:grab}.dou-chart.is-brushing{cursor:crosshair}.dou-chart__brush{position:absolute;top:0;left:0;box-sizing:border-box;border:1px solid color-mix(in oklab,var(--dou-color-text) 28%,transparent);background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);pointer-events:none}.dou-chart__range{position:absolute;top:0;left:0;box-sizing:border-box;border-radius:var(--dou-radius-control);box-shadow:inset 0 0 0 1px var(--dou-color-border-subtle);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.dou-chart__range-canvas{position:absolute;top:0;left:0;display:block;opacity:.56}.dou-chart__range-shade,.dou-chart__range-window,.dou-chart__range-handle{position:absolute;top:0;left:0}.dou-chart__range-shade{background-color:color-mix(in oklab,var(--dou-chart-surface) 72%,transparent)}.dou-chart__range-window{box-sizing:border-box;--dou-chart-range-edge: color-mix(in oklab, var(--dou-color-text) 32%, transparent);border-block:1px solid var(--dou-chart-range-edge);background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);cursor:grab}.is-vertical>.dou-chart__range-window{border-block:none;border-inline:1px solid var(--dou-chart-range-edge)}.dou-chart__range-handle{box-sizing:border-box;width:8px;height:20px;margin:6px 0 0 -4px;border:1px solid var(--dou-color-border-strong);border-radius:4px;background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);outline:none;cursor:ew-resize}.dou-chart__range-handle:before{position:absolute;top:-6px;right:-8px;bottom:-6px;left:-8px;content:""}.dou-chart__range-handle:hover{border-color:var(--dou-color-text-tertiary)}.dou-chart__range-handle:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.is-vertical>.dou-chart__range-handle{width:20px;height:8px;margin:-4px 0 0 6px;cursor:ns-resize}.is-vertical>.dou-chart__range-handle:before{top:-8px;right:-6px;bottom:-8px;left:-6px}@media (pointer: coarse){.dou-chart__range-handle:before{top:-10px;right:-16px;bottom:-10px;left:-16px}.is-vertical>.dou-chart__range-handle:before{top:-16px;right:-10px;bottom:-16px;left:-10px}}}@layer dou.components{.dou-form-builder{--dou-form-builder-selected: var(--dou-color-primary-text);--dou-form-builder-hover: color-mix(in oklab, var(--dou-color-text) 6%, transparent);--dou-form-builder-outset: 6px;container:dou-form-builder / inline-size;position:relative;box-sizing:border-box;min-width:0;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background:var(--dou-color-bg-surface);color:var(--dou-color-text);font-size:var(--dou-font-size-md);overflow:hidden}.dou-form-builder__layout{display:grid;grid-template-columns:248px minmax(0,1fr) 304px;height:var(--dou-form-builder-height, 640px)}.dou-form-builder__side{display:flex;flex-direction:column;min-width:0;min-height:0;border-inline-end:1px solid var(--dou-color-border)}.dou-form-builder__side.dou-form-builder__side--end{border-inline-end:0;border-inline-start:1px solid var(--dou-color-border)}.dou-form-builder__side-tabs{flex:1;min-height:0}.dou-form-builder__side-tabs>.dou-tabs__header{padding-inline:var(--dou-space-md)}.dou-form-builder__side-tabs>.dou-tabs__panel{flex:1;min-height:0;overflow:auto}.dou-form-builder__main{display:flex;flex-direction:column;min-width:0;min-height:0}.dou-form-builder__toolbar{display:flex;flex-shrink:0;gap:2px;align-items:center;box-sizing:border-box;height:41px;padding-inline:var(--dou-space-md);border-bottom:1px solid var(--dou-color-border)}.dou-form-builder__tool,.dou-form-builder__action,.dou-form-builder__page-add,.dou-form-builder__outline-toggle{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;box-sizing:border-box;padding:0;border:0;border-radius:var(--dou-radius-control);background:transparent;color:var(--dou-color-text-secondary);font:inherit;cursor:pointer;transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-form-builder__tool:hover:not(:disabled),.dou-form-builder__action:hover:not(:disabled),.dou-form-builder__page-add:hover:not(:disabled),.dou-form-builder__outline-toggle:hover:not(:disabled){background:var(--dou-form-builder-hover);color:var(--dou-color-text)}.dou-form-builder__tool:focus-visible,.dou-form-builder__action:focus-visible,.dou-form-builder__page-add:focus-visible,.dou-form-builder__outline-toggle:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.dou-form-builder__tool:disabled,.dou-form-builder__action:disabled,.dou-form-builder__page-add:disabled,.dou-form-builder__outline-toggle:disabled{color:var(--dou-color-text-disabled);cursor:not-allowed}.dou-form-builder__tool>svg,.dou-form-builder__action>svg,.dou-form-builder__page-add>svg,.dou-form-builder__outline-toggle>svg{width:16px;height:16px}.dou-form-builder__tool{width:28px;height:28px}@media (pointer: coarse){.dou-form-builder__tool{width:36px;height:36px}}.dou-form-builder__tool.dou-form-builder__side-toggle{display:none;gap:6px;width:auto;padding-inline:6px 8px;margin-inline-end:6px;color:var(--dou-color-text);font-size:var(--dou-font-size-sm)}.dou-form-builder__tool.dou-form-builder__side-toggle>span{text-box:trim-both cap alphabetic}.dou-popover.dou-form-builder__side-popover{--dou-popover-padding: 0;display:flex;flex-direction:column;width:280px;height:min(560px,70vh);overflow:hidden}.dou-popover.dou-form-builder__side-popover>.dou-popover__content{display:flex;flex:1;flex-direction:column;min-height:0}@media (pointer: coarse){.dou-form-builder__tool:after,.dou-form-builder__action:after,.dou-form-builder__page-add:after,.dou-form-builder__outline-toggle:after{content:"";position:absolute;inset:50% auto auto 50%;width:40px;height:40px;transform:translate(-50%,-50%)}}.dou-form-builder__canvas{position:relative;flex:1;min-height:0;padding:var(--dou-space-lg);overflow:auto;background:var(--dou-color-bg-canvas)}.dou-form-builder__drop-layer{position:absolute;z-index:3;inset:0 auto auto 0;width:0;height:0;pointer-events:none}.dou-form-builder__drop-holder{position:absolute;inset:0 auto auto 0;border-radius:var(--dou-radius-control);background:color-mix(in oklab,var(--dou-form-builder-selected) 6%,transparent);outline:1px dashed color-mix(in oklab,var(--dou-form-builder-selected) 40%,transparent);outline-offset:2px}.dou-form-builder__drop-line{position:absolute;inset:0 auto auto 0;width:var(--dou-form-builder-drop-length, 0);height:2px;margin-block-start:-1px;border-radius:1px;background:var(--dou-form-builder-selected)}.dou-form-builder__drop-line[data-vertical=true]{width:2px;height:var(--dou-form-builder-drop-length, 0);margin-block-start:0;margin-inline-start:-1px}.dou-form-builder__drag-ghost{position:fixed;inset:0 auto auto 0;max-width:200px;padding:4px 10px;overflow:hidden;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-md);color:var(--dou-color-text);font-size:var(--dou-font-size-sm);line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.dou-form-builder__node.is-resizing>.dou-form-builder__actions{visibility:hidden}.dou-form-builder__node[data-dragged]{opacity:.4}.dou-form-builder__resize{position:absolute;z-index:2;inset-block:0;inset-inline-end:calc(var(--dou-form-builder-outset) * -1 - 6px);width:12px;cursor:ew-resize;touch-action:none}.dou-form-builder__resize:before{content:"";position:absolute;inset-block:50% auto;inset-inline-start:4px;width:4px;height:20px;margin-block-start:-10px;border-radius:2px;background:var(--dou-form-builder-selected)}.dou-form-builder__resize[data-value]:after{content:attr(data-value);position:absolute;inset-block-start:50%;inset-inline-end:16px;padding:2px 6px;transform:translateY(-50%);border-radius:4px;background:var(--dou-color-text);color:var(--dou-color-bg-surface);font-size:var(--dou-font-size-sm);font-variant-numeric:tabular-nums;white-space:nowrap}@media (pointer: coarse){.dou-form-builder__resize{width:24px;inset-inline-end:calc(var(--dou-form-builder-outset) * -1 - 12px)}.dou-form-builder__resize:before{inset-inline-start:10px}}.dou-form-builder__paper{box-sizing:border-box;max-width:760px;margin-inline:auto;padding:40px 28px 28px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm)}.dou-form-builder__tree,.dou-form-builder__outline{outline:none;-webkit-user-select:none;user-select:none}.dou-form-builder__tree:focus-visible:not(:has(.is-selected)){outline:2px solid var(--dou-color-focus);outline-offset:10px;border-radius:2px}.dou-form-builder__node{container:dou-form-builder-node / inline-size;position:relative;isolation:isolate;cursor:default}.dou-form-builder__node:before{content:"";position:absolute;z-index:-1;inset:calc(var(--dou-form-builder-outset) * -1);border:1px solid transparent;border-radius:var(--dou-radius-control);pointer-events:none;transition-property:border-color,background-color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-form-builder__node:hover:not(:has(.dou-form-builder__node:hover)):before{border-color:var(--dou-color-border-strong)}.dou-form-builder__node.is-selected:before{border-color:var(--dou-form-builder-selected);background:color-mix(in oklab,var(--dou-form-builder-selected) 4%,transparent)}.dou-form-builder__node.is-selected{z-index:1}.dou-form-builder__tree:focus-visible .dou-form-builder__node.is-selected:before{box-shadow:0 0 0 1px var(--dou-form-builder-selected)}.dou-form-builder__content{pointer-events:none;-webkit-user-select:none;user-select:none}.dou-form-builder__content>.dou-form-renderer__cell>.dou-form-item{margin-bottom:0}.dou-form-builder__placeholder{display:flex;flex-direction:column;gap:8px}.dou-form-builder__placeholder-label,.dou-form-builder__placeholder-box{border-radius:var(--dou-radius-control);background:var(--dou-color-bg-muted)}.dou-form-builder__placeholder-label{width:30%;max-width:96px;height:14px;margin-block:4px 2px}.dou-form-builder__placeholder-box{height:var(--dou-control-height-md)}.dou-form-builder__placeholder[data-type=textarea]>.dou-form-builder__placeholder-box{height:76px}.dou-form-builder__placeholder:is([data-type=radio-group],[data-type=checkbox-group],[data-type=checkbox],[data-type=switch],[data-type=rate],[data-type=slider])>.dou-form-builder__placeholder-box{height:22px}.dou-form-builder__placeholder:is([data-type=text],[data-type=divider],[data-type=alert])>.dou-form-builder__placeholder-label{display:none}.dou-form-builder__placeholder[data-type=alert]>.dou-form-builder__placeholder-box{height:48px}.dou-form-builder__placeholder:is([data-type=text],[data-type=divider])>.dou-form-builder__placeholder-box{height:20px}.dou-form-builder__empty{grid-column:1 / -1;padding:20px var(--dou-space-lg);border:1px dashed var(--dou-color-border-strong);border-radius:var(--dou-radius-container);color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);line-height:var(--dou-font-line-height);text-align:center}.dou-form-builder__actions{position:absolute;z-index:2;inset-block-start:calc(var(--dou-form-builder-outset) * -1 + 1px);inset-inline-end:calc(var(--dou-form-builder-outset) * -1 + 1px);display:flex;gap:0;align-items:center;box-sizing:border-box;height:22px;padding:0;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);white-space:nowrap}.dou-form-builder__actions-more{display:none}.dou-form-builder__actions[data-extra]>.dou-form-builder__actions-more{display:flex}@container dou-form-builder-node (width < 360px){.dou-form-builder__actions>.dou-form-builder__action{display:none}.dou-form-builder__actions-more{display:flex}}.dou-form-builder__action{width:20px;height:20px}.dou-form-builder__action>svg{width:14px;height:14px}.dou-form-builder__pages{display:flex;flex-direction:column;gap:var(--dou-space-lg);min-width:0}.dou-form-builder__strip{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding-block-end:6px;border-bottom:1px solid var(--dou-color-border)}.dou-form-builder__pages.is-steps>.dou-form-builder__strip{gap:var(--dou-space-sm);padding-block-end:0;border-bottom:0}.dou-form-builder__page-tab{position:relative;display:inline-flex;gap:6px;align-items:center;box-sizing:border-box;height:var(--dou-control-height-md);padding-inline:10px;border-radius:var(--dou-radius-control);color:var(--dou-color-text-secondary);font-weight:var(--dou-font-weight-medium);white-space:nowrap;cursor:default;transition-property:background-color,color,box-shadow;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-form-builder__page-tab:hover{background:var(--dou-form-builder-hover);color:var(--dou-color-text)}.dou-form-builder__page-tab.is-shown{color:var(--dou-color-text)}.dou-form-builder__page-tab.is-shown:after{content:"";position:absolute;inset:auto 10px -7px;height:2px;border-radius:1px;background:var(--dou-color-text)}.dou-form-builder__page-tab.is-selected{box-shadow:inset 0 0 0 1px var(--dou-form-builder-selected);background:color-mix(in oklab,var(--dou-form-builder-selected) 6%,transparent)}.dou-form-builder__page-title{text-box:trim-both cap alphabetic}.dou-form-builder__pages.is-steps .dou-form-builder__page-tab.is-shown:after{display:none}.dou-form-builder__step-number{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:20px;height:20px;border:1px solid var(--dou-color-border-strong);border-radius:50%;font-size:12px;line-height:1}.is-shown>.dou-form-builder__step-number{border-color:var(--dou-color-text);background:var(--dou-color-text);color:var(--dou-color-bg-surface)}.dou-form-builder__page-add{width:28px;height:28px}.dou-form-builder__page{position:relative;isolation:isolate;display:flex;flex-direction:column;gap:var(--dou-space-lg)}.dou-form-builder__page.is-selected:before{content:"";position:absolute;z-index:-1;inset:calc(var(--dou-form-builder-outset) * -1);border:1px solid var(--dou-form-builder-selected);border-radius:var(--dou-radius-control);background:color-mix(in oklab,var(--dou-form-builder-selected) 4%,transparent)}.dou-form-builder__list-add{display:flex;pointer-events:none}.dou-form-builder__palette{display:flex;flex-direction:column}.dou-form-builder__palette-search{position:sticky;z-index:1;top:0;padding:var(--dou-space-md) var(--dou-space-sm);background:var(--dou-color-bg-surface)}.dou-form-builder__palette-body{display:flex;flex-direction:column;gap:var(--dou-space-md);padding:0 var(--dou-space-sm) var(--dou-space-md)}.dou-form-builder__palette-heading{padding:4px 2px 8px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);font-weight:var(--dou-font-weight-medium);line-height:1}.dou-form-builder__palette-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.dou-form-builder__palette-item{display:flex;gap:8px;align-items:center;box-sizing:border-box;min-width:0;height:34px;padding:0 8px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background:var(--dou-color-bg-surface);color:var(--dou-color-text);font:inherit;font-size:var(--dou-font-size-sm);text-align:start;cursor:pointer;transition-property:background-color,border-color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-form-builder__palette-item:hover{border-color:var(--dou-color-border-strong);background:var(--dou-form-builder-hover)}.dou-form-builder__palette-item:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}.dou-form-builder__palette-icon{flex-shrink:0;width:16px;height:16px;color:var(--dou-color-text-secondary)}.dou-form-builder__palette-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dou-form-builder__palette-empty,.dou-form-builder__outline-empty{padding:var(--dou-space-lg);color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);text-align:center}.dou-form-builder__outline{display:flex;flex-direction:column;gap:1px;padding:var(--dou-space-sm);outline:none}.dou-form-builder__outline:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.dou-form-builder__outline-row{--dou-form-builder-level: 0;display:flex;gap:6px;align-items:center;box-sizing:border-box;min-width:0;height:32px;padding-inline:calc(4px + var(--dou-form-builder-level) * 16px) 8px;border-radius:var(--dou-radius-control);font-size:var(--dou-font-size-sm);cursor:default}.dou-form-builder__outline-row:hover{background:var(--dou-form-builder-hover)}.dou-form-builder__outline-row.is-selected{background:color-mix(in oklab,var(--dou-form-builder-selected) 10%,transparent)}.dou-form-builder__outline:focus-visible .dou-form-builder__outline-row.is-selected{box-shadow:inset 0 0 0 1px var(--dou-form-builder-selected)}.dou-form-builder__outline-toggle,.dou-form-builder__outline-spacer{flex-shrink:0;width:20px;height:20px}.dou-form-builder__outline-toggle>svg{width:14px;height:14px;transition:transform var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-form-builder__outline-toggle.is-open>svg{transform:rotate(90deg)}.dou-form-builder__outline-icon{flex-shrink:0;width:16px;height:16px;color:var(--dou-color-text-secondary)}.dou-form-builder__outline-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-box:trim-both cap alphabetic;padding-block:3px;margin-block:-3px}.dou-form-builder__outline-name{flex:1;min-width:0;overflow:hidden;color:var(--dou-color-text-tertiary);white-space:nowrap;text-align:end;text-overflow:ellipsis}.dou-form-builder__inspector{display:flex;flex:1;flex-direction:column;min-height:0}.dou-form-builder__inspector-header{display:flex;flex-shrink:0;gap:8px;align-items:center;box-sizing:border-box;height:41px;padding-inline:var(--dou-space-lg);border-bottom:1px solid var(--dou-color-border)}.dou-form-builder__inspector-icon{flex-shrink:0;width:16px;height:16px;color:var(--dou-color-text-secondary)}.dou-form-builder__inspector-title{overflow:hidden;font-weight:var(--dou-font-weight-medium);white-space:nowrap;text-overflow:ellipsis;text-box:trim-both cap alphabetic;padding-block:3px;margin-block:-3px}.dou-form-builder__inspector-type{flex:1;min-width:0;overflow:hidden;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);white-space:nowrap;text-align:end;text-overflow:ellipsis}.dou-form-builder__inspector-body{flex:1;min-height:0;padding:var(--dou-space-lg);overflow:auto}.dou-form-builder__inspector-section{margin-block:var(--dou-space-lg) var(--dou-space-md);padding-block-start:var(--dou-space-lg);border-top:1px solid var(--dou-color-border-subtle);color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);font-weight:var(--dou-font-weight-medium);line-height:1}.dou-form-builder__inspector-actions{display:flex;flex-wrap:wrap;gap:var(--dou-space-sm);margin-block-start:var(--dou-space-lg)}.dou-form-builder__inspector-add{margin-block-start:var(--dou-space-md)}.dou-form-builder__span{display:flex;flex-direction:column;gap:var(--dou-space-sm);width:100%}.dou-form-builder__span-head{display:flex;flex-wrap:wrap;gap:2px var(--dou-space-md);align-items:center;justify-content:space-between;margin-block-end:calc(8px - var(--dou-space-sm))}.dou-form-builder__span-toggle{color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}.dou-form-builder__span-row{display:flex;gap:var(--dou-space-sm);align-items:center}.dou-form-builder__span-row>.dou-input-number{flex:1;min-width:0}.dou-form-builder__span-label{flex-shrink:0;min-width:48px;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}.dou-form-builder__span-row>.dou-form-builder__span-label:last-child{min-width:0}.dou-form-builder__live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@container dou-form-builder (width < 1100px){.dou-form-builder__layout{grid-template-columns:232px minmax(0,1fr) 272px}}@container dou-form-builder (width < 860px){.dou-form-builder__layout{grid-template-columns:minmax(0,1fr) 248px}.dou-form-builder__side:not(.dou-form-builder__side--end){display:none}.dou-form-builder__tool.dou-form-builder__side-toggle{display:inline-flex}.dou-form-builder__paper{padding-inline:var(--dou-space-lg)}}@container dou-form-builder (width < 560px){.dou-form-builder__layout{grid-template-columns:minmax(0,1fr);grid-template-rows:480px auto;height:auto}.dou-form-builder__side.dou-form-builder__side--end{border-inline:0;border-top:1px solid var(--dou-color-border)}}.dou-form-builder.is-compact .dou-form-builder__layout{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:var(--dou-form-builder-height, 640px)}.dou-form-builder.is-compact .dou-form-builder__paper{padding-inline:var(--dou-space-md)}.dou-form-builder__tool.dou-form-builder__select-toggle[aria-pressed=true]{background:color-mix(in oklab,var(--dou-form-builder-selected) 12%,transparent);color:var(--dou-form-builder-selected)}.dou-drawer.dou-form-builder__drawer .dou-drawer__body{padding:0}.dou-drawer.dou-form-builder__drawer .dou-form-builder__side-tabs{height:100%}.dou-form-builder__toolbar-spacer{flex:1}.dou-form-builder__tool.dou-form-builder__preview-toggle{gap:6px;width:auto;padding-inline:6px 8px;color:var(--dou-color-text);font-size:var(--dou-font-size-sm)}.dou-form-builder__tool.dou-form-builder__preview-toggle>span{text-box:trim-both cap alphabetic}.dou-form-builder__tool.dou-form-builder__preview-toggle[aria-pressed=true]{background:color-mix(in oklab,var(--dou-form-builder-selected) 12%,transparent);color:var(--dou-form-builder-selected)}.dou-form-builder.is-compact .dou-form-builder__preview-toggle{width:28px;padding:0}.dou-form-builder.is-compact .dou-form-builder__preview-toggle>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dou-form-builder__menu-anchor{position:absolute;width:0;height:0}.dou-form-builder.is-previewing .dou-form-builder__layout{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:var(--dou-form-builder-height, 640px)}.dou-form-builder__preview{display:flex;flex:1;flex-direction:column;min-height:0;background:var(--dou-color-bg-canvas)}.dou-form-builder__preview-bar{display:flex;flex-shrink:0;justify-content:center;padding:var(--dou-space-md) var(--dou-space-lg) 0}.dou-form-builder__preview-device{display:inline-flex;gap:6px;align-items:center}.dou-form-builder__preview-device>svg{flex-shrink:0;width:14px;height:14px}.dou-form-builder__preview-scroll{flex:1;min-height:0;padding:var(--dou-space-lg);overflow:auto}.dou-form-builder__preview-frame{box-sizing:border-box;max-width:100%;margin-inline:auto;padding:28px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);transition:width var(--dou-motion-duration-normal) var(--dou-motion-easing)}.dou-form-builder__preview-frame[data-device=desktop]{max-width:760px}.dou-form-builder__preview-frame[data-device=phone]{padding:var(--dou-space-lg)}@media (prefers-reduced-motion: reduce){.dou-form-builder__preview-frame{transition:none}}.dou-form-builder__preview-footer{display:flex;flex-wrap:wrap;gap:var(--dou-space-sm)}.dou-form-builder__preview-result{display:flex;flex-direction:column;gap:var(--dou-space-sm);margin-block-start:var(--dou-space-lg);padding-block-start:var(--dou-space-lg);border-top:1px solid var(--dou-color-border-subtle)}.dou-form-builder__preview-result-title{display:flex;gap:6px;align-items:center;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}.dou-form-builder__preview-result-title>svg{flex-shrink:0;width:16px;height:16px;color:var(--dou-color-success-text)}.dou-form-builder__preview-result-code,.dou-form-builder__json-text textarea,.dou-form-builder__expression-input textarea{font-family:var(--dou-font-family-mono)}.dou-form-builder__preview-result-code{max-height:240px;margin:0;padding:var(--dou-space-md);overflow:auto;border-radius:var(--dou-radius-control);background:var(--dou-color-bg-muted);color:var(--dou-color-text);font-size:var(--dou-font-size-sm);line-height:1.6}.dou-form-builder.is-compact .dou-form-builder__preview-bar{display:none}.dou-form-builder.is-compact .dou-form-builder__preview-scroll{padding:var(--dou-space-md)}.dou-form-builder.is-compact .dou-form-builder__preview-frame{width:auto!important;padding:var(--dou-space-lg)}.dou-form-builder__expression{display:flex;flex-direction:column;gap:4px;width:100%;min-width:0}.dou-form-builder__expression-input{width:100%}.dou-form-builder__node.is-marked:after{content:"";position:absolute;z-index:1;inset:calc(var(--dou-form-builder-outset) * -1 - 2px);border:1px solid var(--dou-form-builder-mark);border-radius:calc(var(--dou-radius-control) + 2px);pointer-events:none}.dou-form-builder__marks{position:absolute;z-index:2;inset-block-start:calc(var(--dou-form-builder-outset) * -1 - 9px);inset-inline-start:calc(var(--dou-form-builder-outset) * -1 + 6px);display:flex;gap:4px;max-width:calc(100% - 48px);overflow:hidden;pointer-events:none}.dou-form-builder__mark{flex-shrink:0;box-sizing:border-box;height:14px;padding-inline:4px;border-radius:4px;background:var(--dou-form-builder-mark);color:#fff;font-size:12px;line-height:14px;white-space:nowrap}.dou-form-builder__outline-mark{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--dou-form-builder-mark, currentColor)}.dou-form-builder__logic-mark{position:absolute;z-index:1;inset-block-start:calc(var(--dou-form-builder-outset) * -1 + 2px);inset-inline-end:calc(var(--dou-form-builder-outset) * -1 + 2px);display:inline-flex;gap:2px;align-items:center;box-sizing:border-box;height:20px;padding-inline:4px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background:var(--dou-color-bg-surface);color:var(--dou-color-text-tertiary);font-size:12px}.dou-form-builder__logic-mark:hover{color:var(--dou-color-text-secondary)}.dou-form-builder__logic-lines{display:flex;flex-direction:column;gap:2px;overflow-wrap:anywhere}.dou-form-builder__expression-error{color:var(--dou-color-danger-text);font-size:var(--dou-font-size-sm);line-height:var(--dou-font-line-height)}.dou-form-builder__condition{display:flex;flex-direction:column;gap:var(--dou-space-sm);width:100%;min-width:0}.dou-form-builder__inspector .dou-form-renderer__grid{column-gap:var(--dou-space-sm)}.dou-form-builder__inspector .dou-form-renderer__list-empty{display:none}.dou-form-builder.is-readonly .dou-form-builder__inspector .dou-form-renderer__list-empty,.dou-form-builder__condition-empty{display:block;padding:0;border:0;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);text-align:start}.dou-form-builder__condition-row{display:flex;flex-direction:column;gap:6px;padding:var(--dou-space-sm);border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background:var(--dou-color-bg-surface)}.dou-form-builder__condition-line{display:flex;gap:6px;align-items:center;min-width:0}.dou-form-builder__condition-field,.dou-form-builder__condition-value{flex:1;min-width:0}.dou-form-builder__condition-op{flex:0 0 auto;width:112px}.dou-form-builder__condition-footer{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-inline:-8px}.dou-form-builder__condition-mode{margin-inline-start:auto}.dou-form-builder__json-text textarea{font-size:max(var(--dou-font-size-input-min, 0px),var(--dou-font-size-sm));line-height:1.6;white-space:pre}.dou-form-builder__json-status{margin-block-start:var(--dou-space-md);font-size:var(--dou-font-size-sm);line-height:var(--dou-font-line-height)}.dou-form-builder__json-problems{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.dou-form-builder__json-problem{display:flex;flex-wrap:wrap;gap:4px 8px;color:var(--dou-color-warning-text)}.dou-form-builder__json-problem.is-blocking{color:var(--dou-color-danger-text)}.dou-form-builder__json-path{color:var(--dou-color-text-secondary);font-family:var(--dou-font-family-mono)}.dou-form-builder__json-fine{color:var(--dou-color-text-secondary)}.dou-form-builder__json-footer{display:flex;flex-wrap:wrap;gap:var(--dou-space-sm);align-items:center;width:100%}.dou-form-builder__json-spacer{flex:1}.dou-form-builder__json-file{display:none}}:root.dou-form-builder-dragging,:root.dou-form-builder-dragging *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}@layer dou.components{.dou-form-renderer{container:dou-form-renderer / inline-size;box-sizing:border-box;width:100%}.dou-form-renderer__grid{--dou-form-columns: 12;display:grid;grid-template-columns:repeat(var(--dou-form-columns),minmax(0,1fr));gap:var(--dou-form-gap) var(--dou-space-lg);align-items:start;min-width:0}.dou-form-renderer--horizontal>.dou-form-renderer__grid{grid-column:1 / -1}.dou-form-renderer__cell{--dou-form-span: initial;--dou-form-span-sm: initial;--dou-form-span-md: initial;--dou-form-span-lg: initial;--dou-form-span-xl: initial;grid-column:span var(--dou-form-span, 1);min-width:0}.dou-form-renderer__cell>.dou-divider{margin-block:0}.dou-form-renderer--inline .dou-form-renderer__grid,.dou-form-renderer--inline .dou-form-renderer__cell{display:contents}.dou-form-renderer__section{display:flex;flex-direction:column;gap:var(--dou-space-lg);min-width:0}.dou-form-renderer__section.is-bordered{padding:var(--dou-space-lg);border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background:var(--dou-color-bg-surface)}.dou-form-renderer__section-header{display:flex;flex-direction:column;gap:4px}.dou-form-renderer__section-title{color:var(--dou-color-text);font-size:var(--dou-font-size-md);font-weight:var(--dou-font-weight-medium);line-height:1.4}.dou-form-renderer__section-description{color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);line-height:var(--dou-font-line-height)}.dou-form-renderer--marked .dou-form-renderer__section-title.is-required:before{content:"*";margin-inline-end:4px;color:var(--dou-color-danger)}.dou-form-renderer__page{display:flex;flex-direction:column;gap:var(--dou-space-lg);min-width:0}.dou-form-renderer__page-description{color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);line-height:var(--dou-font-line-height)}.dou-form-renderer__tab-title{position:relative}.dou-form-renderer__tab-error{position:absolute;inset-block-start:-2px;inset-inline-end:-8px;width:6px;height:6px;border-radius:50%;background:var(--dou-color-danger)}.dou-form-renderer__sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dou-form-renderer__tabs .dou-tabs__panel{padding-block-start:var(--dou-space-lg)}.dou-form-renderer__steps{display:flex;flex-direction:column;gap:var(--dou-space-lg);min-width:0}.dou-form-renderer__step[hidden]{display:none}.dou-form-renderer__step:focus{outline:none}.dou-form-renderer__steps-footer{display:flex;flex-wrap:wrap;gap:var(--dou-space-sm);align-items:center}.dou-form-renderer__steps-footer:empty{display:none}.dou-form-renderer__list{display:flex;flex-direction:column;gap:var(--dou-space-md);min-width:0}.dou-form-renderer__list-items{display:flex;flex-direction:column;gap:var(--dou-space-md)}.dou-form-renderer__list-item{display:flex;flex-direction:column;gap:var(--dou-space-md);padding:var(--dou-space-md) var(--dou-space-lg) var(--dou-space-lg);border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background:var(--dou-color-bg-surface)}.dou-form-renderer__list-item-header{display:flex;gap:4px;align-items:center;min-height:28px}.dou-form-renderer__list-handle{margin-inline-start:-6px}.dou-form-renderer__list-ghost{border-radius:var(--dou-radius-container)}@media (pointer: coarse){.dou-form-renderer__list-handle,.dou-form-renderer__list-remove{position:relative}.dou-form-renderer__list-handle:after,.dou-form-renderer__list-remove:after{content:"";position:absolute;inset:50% auto auto 50%;width:40px;height:40px;transform:translate(-50%,-50%)}}.dou-form-renderer__list-item-title{flex:1;min-width:0;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);font-weight:var(--dou-font-weight-medium)}.dou-form-renderer__list-remove{margin-inline-end:-6px}.dou-form-renderer__list-empty{padding:var(--dou-space-lg);border:1px dashed var(--dou-color-border);border-radius:var(--dou-radius-container);color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);text-align:center}.dou-form-renderer__list-footer{margin:0}.dou-form-renderer__list-footer .dou-form-item__label{display:none}.dou-form-renderer__value{min-width:0;color:var(--dou-color-text);font-size:var(--dou-font-size-md);line-height:var(--dou-font-line-height);white-space:pre-wrap;overflow-wrap:anywhere}.dou-form-renderer__value.is-empty{color:var(--dou-color-text-tertiary)}.dou-form-renderer--readonly:is(.dou-form-renderer--horizontal,.dou-form-renderer--inline) .dou-form-item__control{align-items:flex-start}.dou-form-renderer--readonly:is(.dou-form-renderer--horizontal,.dou-form-renderer--inline) .dou-form-item__control>.dou-form-renderer__value{padding-block:calc((var(--dou-form-item-control-height) - 1cap) / 2);text-box:trim-both cap alphabetic}.dou-form-renderer--readonly:is(.dou-form-renderer--horizontal,.dou-form-renderer--inline) .dou-form-item__control>:is(.dou-form-renderer__color,.dou-form-renderer__files){padding-block:calc((var(--dou-form-item-control-height) - 1lh) / 2)}.dou-form-renderer__color{display:inline-flex;align-items:center;gap:var(--dou-space-sm);color:var(--dou-color-text);font-family:var(--dou-font-family-mono);font-size:var(--dou-font-size-sm);line-height:var(--dou-font-line-height)}.dou-form-renderer__swatch{position:relative;flex:none;width:16px;height:16px;overflow:hidden;border-radius:4px;background:conic-gradient(color-mix(in oklab,var(--dou-color-text) 10%,transparent) 25%,transparent 0 50%,color-mix(in oklab,var(--dou-color-text) 10%,transparent) 0 75%,transparent 0) 0 0 / 8px 8px,var(--dou-color-bg-surface)}.dou-form-renderer__swatch>span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--dou-color-text) 12%,transparent)}.dou-form-renderer__files{display:flex;flex-direction:column;gap:4px;min-width:0;margin:0;padding:0;list-style:none;color:var(--dou-color-text);font-size:var(--dou-font-size-md);line-height:var(--dou-font-line-height);overflow-wrap:anywhere}.dou-form-renderer__steps.is-readonly{display:flex;flex-direction:column;gap:32px}.dou-form-renderer__title,.dou-form-renderer__paragraph{margin:0}@container dou-form-renderer (width < 480px){.dou-form-renderer--horizontal .dou-form-item.is-fixed-label{display:flex;flex-direction:column;align-items:stretch}.dou-form-renderer--horizontal .dou-form-item.is-fixed-label .dou-form-item__label{justify-content:flex-start;min-height:0;text-align:start}}@container dou-form-renderer (min-width: 480px){.dou-form-renderer__cell{grid-column:span var(--dou-form-span-sm, var(--dou-form-span, 1))}}@container dou-form-renderer (min-width: 640px){.dou-form-renderer__cell{grid-column:span var(--dou-form-span-md, var(--dou-form-span-sm, var(--dou-form-span, 1)))}}@container dou-form-renderer (min-width: 800px){.dou-form-renderer__cell{grid-column:span var( --dou-form-span-lg, var(--dou-form-span-md, var(--dou-form-span-sm, var(--dou-form-span, 1))) )}}@container dou-form-renderer (min-width: 960px){.dou-form-renderer__cell{grid-column:span var( --dou-form-span-xl, var( --dou-form-span-lg, var(--dou-form-span-md, var(--dou-form-span-sm, var(--dou-form-span, 1))) ) )}}}@layer dou.components{.dou-pivot-fields{--dou-pivot-fields-well: color-mix( in oklab, var(--dou-color-text) 3%, var(--dou-color-bg-surface) );box-sizing:border-box;min-width:0;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface);color:var(--dou-color-text);font-family:var(--dou-font-family);font-size:var(--dou-font-size-sm);line-height:var(--dou-font-line-height)}.dou-pivot-fields.is-in-drawer{border:0;border-radius:0;background:none}.dou-pivot-fields__list-part{display:flex;flex-direction:column;gap:6px;padding:8px}.dou-pivot-fields__list.dou-sortable{gap:0;min-height:0;max-height:288px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.dou-pivot-fields__field{display:flex;align-items:center;gap:8px;box-sizing:border-box;height:32px;padding:0 8px;border-radius:var(--dou-radius-control);cursor:grab;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.dou-pivot-fields__field:hover{background-color:color-mix(in oklab,var(--dou-color-text) 5%,transparent)}.dou-pivot-fields__type{flex:none;width:14px;height:14px;color:var(--dou-color-text-tertiary)}.dou-pivot-fields__name,.dou-pivot-fields__chip-text{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.dou-pivot-fields__chip-name,.dou-pivot-fields__chip-group{max-width:100%;margin-block:-4px;padding-block:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-box:trim-both cap alphabetic}.dou-pivot-fields__chip-group{color:var(--dou-color-text-tertiary);font-size:12px}.dou-pivot-fields__none,.dou-pivot-fields__drop{margin:0;padding:8px;color:var(--dou-color-text-tertiary);font-size:12px;text-align:center}.dou-pivot-fields__drop{display:flex;align-items:center;justify-content:center;min-height:28px;padding:4px}.dou-pivot-fields__areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px;border-top:1px solid var(--dou-color-border-subtle)}.is-in-drawer .dou-pivot-fields__areas{padding-inline:0}.dou-pivot-fields__area{display:flex;flex-direction:column;gap:6px;min-width:0}.dou-pivot-fields__area-title{display:flex;align-items:center;gap:6px;margin:0;padding-inline:2px;color:var(--dou-color-text-secondary);font-size:12px;font-weight:500;line-height:16px}.dou-pivot-fields__area-title svg{width:14px;height:14px;color:var(--dou-color-text-tertiary)}.dou-pivot-fields__chips.dou-sortable{display:flex;flex:1;flex-direction:column;gap:4px;box-sizing:border-box;min-height:84px;padding:4px;border-radius:var(--dou-radius-control);background-color:var(--dou-pivot-fields-well)}.dou-pivot-fields__chips.dou-sortable>.dou-sortable__empty{min-height:0;border:0}.dou-pivot-fields__chip{display:flex;align-items:center;gap:2px;box-sizing:border-box;min-height:28px;padding:6px 2px 6px 8px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);color:var(--dou-color-text);font-family:var(--dou-font-family);font-size:var(--dou-font-size-sm);cursor:grab;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.dou-pivot-fields__chip-button{display:inline-flex;flex:none;align-items:center;justify-content:center;width:22px;height:22px;margin-block:-4px;padding:0;border:0;border-radius:calc(var(--dou-radius-control) - 2px);background:none;color:var(--dou-color-text-tertiary);cursor:pointer}.dou-pivot-fields__chip-button svg{width:14px;height:14px}.dou-pivot-fields__chip-button:hover,.dou-pivot-fields__chip-button[aria-expanded=true]{background-color:color-mix(in oklab,var(--dou-color-text) 7%,transparent);color:var(--dou-color-text)}.dou-pivot-fields__chip-button.is-on{color:var(--dou-color-primary-text);background:color-mix(in srgb,var(--dou-color-primary) 12%,transparent)}.dou-pivot-fields__chip-button:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}@media (pointer: coarse){.dou-pivot-fields__chip{min-height:40px}.dou-pivot-fields__chip-button{width:36px;height:36px;margin-block:-10px}.dou-pivot-fields__chip-button svg{width:16px;height:16px}}.dou-pivot-fields-trigger{display:flex}.dou-pivot-filter{display:flex;flex-direction:column;gap:6px;margin:-4px}.dou-pivot-filter__all{padding:2px 8px 6px;border-bottom:1px solid var(--dou-color-border-subtle)}.dou-pivot-filter__item{display:flex;align-items:center;gap:8px;box-sizing:border-box;height:32px;padding:0 8px}.dou-pivot-filter__item .dou-checkbox{flex:1;min-width:0}.dou-pivot-filter__text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dou-pivot-filter__count{flex:none;color:var(--dou-color-text-tertiary);font-size:12px;font-variant-numeric:tabular-nums}.dou-pivot-filter__none{margin:0;padding:16px 8px;color:var(--dou-color-text-tertiary);text-align:center}.dou-pivot-filter__foot{display:flex;align-items:center;gap:6px;padding-top:8px;border-top:1px solid var(--dou-color-border-subtle)}.dou-pivot-filter__picked{flex:1;color:var(--dou-color-text-tertiary);font-size:12px}.dou-pivot-fields__add.dou-button{align-self:flex-start;margin-top:4px}.dou-pivot-formula__fields{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.dou-pivot-formula__fields-title{margin-right:4px;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}.dou-pivot-top__range{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dou-pivot-top__help{margin:0;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}.dou-pivot-top__clear.dou-button{margin-right:auto}}@layer dou.components{.dou-pivot{--dou-pivot-line: var(--dou-color-border-subtle);--dou-pivot-line-strong: var(--dou-color-border);--dou-pivot-bg: var(--dou-color-bg-surface);--dou-pivot-head-bg: color-mix(in oklab, var(--dou-color-text) 2.5%, var(--dou-pivot-bg));--dou-pivot-total-bg: color-mix(in oklab, var(--dou-color-text) 2%, var(--dou-pivot-bg));--dou-pivot-hover-bg: color-mix(in oklab, var(--dou-color-text) 3.5%, var(--dou-pivot-bg));--dou-pivot-hover-total-bg: color-mix( in oklab, var(--dou-color-text) 5.5%, var(--dou-pivot-bg) );--dou-pivot-scroll-shadow: color-mix(in oklab, var(--dou-color-text) 14%, transparent);--dou-pivot-ring: var(--dou-color-primary);--dou-pivot-selected: color-mix(in oklab, var(--dou-color-text) 6%, transparent);--dou-pivot-highlight: color-mix(in oklab, var(--dou-color-text) 4%, transparent);--dou-pivot-scale-strength: 28%;--dou-pivot-bar-strength: 12%;--dou-pivot-bar-strength-dark: 24%;position:relative;box-sizing:border-box;width:100%;min-width:0;overflow:hidden;border:1px solid var(--dou-pivot-line-strong);border-radius:var(--dou-radius-container);background-color:var(--dou-pivot-bg);color:var(--dou-color-text);font-family:var(--dou-font-family);font-size:var(--dou-font-size-sm);line-height:var(--dou-font-line-height)}.dou-pivot.is-focused{--dou-pivot-selected: color-mix(in oklab, var(--dou-color-primary) 10%, transparent)}.dou-pivot:has(.dou-pivot__viewport:focus-visible){outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-pivot__viewport{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;overscroll-behavior-x:contain;outline:none;scrollbar-width:thin;scrollbar-color:color-mix(in oklab,var(--dou-color-text) 22%,transparent) transparent;-webkit-tap-highlight-color:transparent}.dou-pivot__sheet{position:relative;min-width:100%}.dou-pivot__text{min-width:0;margin-block:-4px;padding-block:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-box:trim-both cap alphabetic}.dou-pivot__head{position:sticky;top:0;z-index:3;display:flex;background-color:var(--dou-pivot-head-bg);box-shadow:inset 0 -1px 0 var(--dou-pivot-line-strong);transition:box-shadow var(--dou-motion-duration-fast) var(--dou-motion-easing)}.is-scrolled-y .dou-pivot__head{box-shadow:inset 0 -1px 0 var(--dou-pivot-line-strong),0 4px 6px -4px var(--dou-pivot-scroll-shadow)}.dou-pivot__corner{position:sticky;left:0;z-index:2;flex:none;box-sizing:border-box;border-right:1px solid var(--dou-pivot-line-strong);border-bottom:1px solid var(--dou-pivot-line-strong);background-color:var(--dou-pivot-head-bg);transition:box-shadow var(--dou-motion-duration-fast) var(--dou-motion-easing)}.is-scrolled-x .dou-pivot__corner{box-shadow:4px 0 6px -4px var(--dou-pivot-scroll-shadow)}.dou-pivot__corner-line{position:absolute;right:0;left:0;display:flex;align-items:center;gap:2px;box-sizing:border-box;height:var(--dou-pivot-row-height);padding:0 8px}.dou-pivot__corner-line.is-column{justify-content:flex-end;padding-right:12px;color:var(--dou-color-text-tertiary);font-size:12px}.dou-pivot__corner-line.is-rows{padding-right:12px}.dou-pivot__corner-label{margin-block:-4px;padding-block:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-box:trim-both cap alphabetic}.dou-pivot__corner-sep{color:var(--dou-color-text-disabled);font-size:12px}.dou-pivot__corner-values{min-width:0;margin-left:auto;overflow:hidden;color:var(--dou-color-text-tertiary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.dou-pivot__field{display:inline-flex;flex:none;align-items:center;gap:2px;height:20px;padding:0 4px;border:0;border-radius:calc(var(--dou-radius-control) - 2px);background:transparent;color:var(--dou-color-text-secondary);font:inherit;font-weight:var(--dou-font-weight-medium);text-box:trim-both cap alphabetic;cursor:pointer;transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-pivot__field>svg{width:12px;height:12px}.dou-pivot__field:hover{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-pivot__col-heads{position:relative;flex:none}.dou-pivot__col-head{position:absolute;display:flex;align-items:center;box-sizing:border-box;padding:0 12px;border-right:1px solid var(--dou-pivot-line);border-bottom:1px solid var(--dou-pivot-line);background-color:var(--dou-pivot-head-bg);color:var(--dou-color-text-secondary);font-weight:var(--dou-font-weight-medium);white-space:nowrap;user-select:none;-webkit-user-select:none}.dou-pivot__col-head.is-end{justify-content:flex-end;border-bottom-color:var(--dou-pivot-line-strong)}.dou-pivot__col-head.is-value{color:var(--dou-color-text-tertiary);font-size:12px}.dou-pivot__col-head.is-total,.dou-pivot__col-head.is-subtotal{background-color:color-mix(in oklab,var(--dou-color-text) 2%,var(--dou-pivot-head-bg))}.dou-pivot__col-head[title]{cursor:pointer}.dou-pivot__col-head[title]:hover{color:var(--dou-color-text)}.dou-pivot__col-head.is-sorted{color:var(--dou-color-text)}.dou-pivot__col-label{position:sticky;left:calc(var(--dou-pivot-head-width) + 12px);display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:100%}.is-end>.dou-pivot__col-label{left:auto}.dou-pivot__sort{flex:none;width:12px;height:12px}.dou-pivot__toggle,.dou-pivot__toggle-space{display:inline-flex;flex:none;align-items:center;justify-content:center;width:20px;height:20px}.dou-pivot__toggle{margin-left:-4px;border-radius:calc(var(--dou-radius-control) - 2px);color:var(--dou-color-text-tertiary);cursor:pointer;transition-property:background-color,color;transition-duration:var(--dou-motion-duration-fast);transition-timing-function:var(--dou-motion-easing)}.dou-pivot__toggle>svg{width:14px;height:14px;transition:transform var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-pivot__toggle.is-open>svg{transform:rotate(90deg)}.dou-pivot__toggle:hover,.is-clickable:hover>.dou-pivot__toggle{background-color:color-mix(in oklab,var(--dou-color-text) 6%,transparent);color:var(--dou-color-text)}.dou-pivot__toggle-space{margin-left:-4px}.dou-pivot__body{position:relative}.dou-pivot__row{position:absolute;left:0;display:flex;box-sizing:border-box;min-width:100%;height:var(--dou-pivot-row-height);border-bottom:1px solid var(--dou-pivot-line)}.dou-pivot__row:hover{background-color:var(--dou-pivot-hover-bg)}.dou-pivot__row.is-group{font-weight:var(--dou-font-weight-medium)}.dou-pivot__row-head,.dou-pivot__value-head{position:sticky;left:0;z-index:1;display:flex;flex:none;align-items:center;gap:4px;box-sizing:border-box;height:100%;padding-right:12px;background-color:var(--dou-pivot-bg);transition:box-shadow var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-pivot__row:hover>.dou-pivot__row-head,.dou-pivot__row:hover>.dou-pivot__value-head{background-color:var(--dou-pivot-hover-bg)}.dou-pivot__row-head{border-right:1px solid var(--dou-pivot-line-strong)}.dou-pivot__row-head.is-clickable{cursor:pointer}.has-values-column .dou-pivot__row-head{border-right-color:var(--dou-pivot-line)}.dou-pivot__value-head{padding-left:12px;border-right:1px solid var(--dou-pivot-line-strong);color:var(--dou-color-text-secondary);font-weight:var(--dou-font-weight-regular)}.is-scrolled-x .dou-pivot__row-head,.is-scrolled-x .dou-pivot__value-head{box-shadow:4px 0 6px -4px var(--dou-pivot-scroll-shadow)}.is-scrolled-x.has-values-column .dou-pivot__row-head{box-shadow:none}.dou-pivot__spacer{flex:none}.dou-pivot__cell{display:flex;flex:none;align-items:center;justify-content:flex-end;box-sizing:border-box;height:100%;padding:0 12px;border-right:1px solid var(--dou-pivot-line);font-variant-numeric:tabular-nums;white-space:nowrap;background-image:var(--dou-pivot-highlight-layer, none)}.dou-pivot__cell.is-total{background-color:var(--dou-pivot-total-bg)}.dou-pivot__cell.has-scale{--dou-pivot-tint: color-mix( in oklab, var(--dou-pivot-tone) calc(var(--dou-pivot-mark) * var(--dou-pivot-scale-strength)), transparent );background-image:var(--dou-pivot-highlight-layer, linear-gradient(transparent, transparent)),linear-gradient(var(--dou-pivot-tint),var(--dou-pivot-tint))}.dou-pivot__cell.has-bar{position:relative}.dou-pivot__cell.has-bar:before{position:absolute;top:6px;bottom:6px;left:calc(4px + (100% - 8px) * var(--dou-pivot-bar-start));width:calc((100% - 8px) * var(--dou-pivot-bar-size));border-radius:3px;background-color:color-mix(in oklab,var(--dou-pivot-tone) calc(var(--dou-pivot-bar-strength) + (var(--dou-pivot-bar-strength-dark) - var(--dou-pivot-bar-strength)) * var(--dou-scheme-dark)),transparent);content:""}.dou-pivot__cell.has-bar>.dou-pivot__text{position:relative}.dou-pivot__row:hover>.dou-pivot__cell{background-color:var(--dou-pivot-hover-bg)}.dou-pivot__row:hover>.dou-pivot__cell.is-total{background-color:var(--dou-pivot-hover-total-bg)}.dou-pivot__row.is-highlighted .dou-pivot__row-head{background-image:linear-gradient(to right,var(--dou-color-text) 2px,transparent 2px);font-weight:var(--dou-font-weight-medium)}.dou-pivot__row.is-highlighted .dou-pivot__cell,.dou-pivot__cell.is-highlighted{--dou-pivot-highlight-layer: linear-gradient( var(--dou-pivot-highlight), var(--dou-pivot-highlight) )}.dou-pivot__row.is-highlighted .dou-pivot__cell.is-highlighted{font-weight:var(--dou-font-weight-medium)}.dou-pivot__cell.is-selected{position:relative}.dou-pivot__cell.is-selected:after,.dou-pivot__row-head.is-selected:after{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--dou-pivot-selected);content:"";pointer-events:none}.dou-pivot.is-focused .dou-pivot__cell.is-active,.dou-pivot.is-focused .dou-pivot__row-head.is-active{box-shadow:inset 0 0 0 2px var(--dou-pivot-ring)}.dou-pivot.is-focused.is-scrolled-x .dou-pivot__row-head.is-active{box-shadow:inset 0 0 0 2px var(--dou-pivot-ring),4px 0 6px -4px var(--dou-pivot-scroll-shadow)}.dou-pivot__foot{position:sticky;bottom:0;z-index:2;background-color:var(--dou-pivot-head-bg);box-shadow:0 -1px 0 var(--dou-pivot-line-strong)}.dou-pivot__foot .dou-pivot__row{border-bottom:0;font-weight:var(--dou-font-weight-medium)}.dou-pivot__foot .dou-pivot__row-head,.dou-pivot__foot .dou-pivot__value-head,.dou-pivot__foot .dou-pivot__cell{background-color:var(--dou-pivot-head-bg)}.dou-pivot__foot .dou-pivot__row-head{padding-left:12px}.dou-pivot__empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--dou-color-text-tertiary);pointer-events:none}.dou-pivot__veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;background-color:color-mix(in srgb,var(--dou-pivot-bg) 60%,transparent);pointer-events:none;animation:dou-pivot-veil var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-pivot__busy{padding:6px 12px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}@keyframes dou-pivot-veil{0%{opacity:0}}}@layer dou.components{.dou-pivot.is-tabular .dou-pivot__row-head{padding-right:0}.dou-pivot.is-tabular .dou-pivot__corner-line.is-rows{padding-left:0}.dou-pivot.is-tabular .dou-pivot__row.is-group:not(.is-subtotal){font-weight:inherit}.dou-pivot__row.is-subtotal{background-color:var(--dou-pivot-total-bg);font-weight:var(--dou-font-weight-medium)}.dou-pivot__row.is-subtotal>.dou-pivot__row-head,.dou-pivot__row.is-subtotal>.dou-pivot__value-head{background-color:var(--dou-pivot-total-bg)}.dou-pivot__level{display:flex;flex:none;align-items:center;gap:4px;box-sizing:border-box;height:100%;min-width:0;padding:0 8px 0 12px;overflow:hidden}.dou-pivot__level+.dou-pivot__level{border-left:1px solid var(--dou-pivot-line)}.dou-pivot__corner-inline{display:contents}.dou-pivot__corner-field{display:flex;flex:none;align-items:center;box-sizing:border-box;min-width:0;padding-left:8px;overflow:hidden}.dou-pivot__corner-field.is-last{flex-shrink:1}.dou-pivot.is-tabular .dou-pivot__corner-values{flex:none;padding-right:8px}.dou-pivot__resize{position:absolute;top:0;right:-4px;z-index:3;width:8px;height:100%;cursor:col-resize;touch-action:none}.dou-pivot__resize:after{position:absolute;top:6px;bottom:6px;left:3px;width:2px;border-radius:1px;background-color:var(--dou-pivot-ring);opacity:0;transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing);content:""}.dou-pivot__resize:focus-visible{outline:none}.dou-pivot__resize:hover:after,.dou-pivot__resize:active:after,.dou-pivot__resize:focus-visible:after{opacity:1}.dou-pivot__live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dou-pivot__measure{position:absolute;top:0;left:0;font-variant-numeric:tabular-nums;white-space:nowrap;visibility:hidden;pointer-events:none}}@layer dou.components{.dou-grid-layout{--dou-grid-item-radius: var(--dou-radius-container);--dou-grid-col: calc( (100cqw - (var(--dou-grid-columns) - 1) * var(--dou-grid-gap-x)) / var(--dou-grid-columns) );position:relative;box-sizing:border-box;width:100%;min-width:0;height:calc(var(--dou-grid-rows) * var(--dou-grid-row) + max(var(--dou-grid-rows) - 1,0) * var(--dou-grid-gap-y));container-type:inline-size}.dou-grid-layout.is-pointer-dragging{cursor:grabbing}.dou-grid-layout.is-resizing{cursor:nwse-resize}.dou-grid-layout__item,.dou-grid-layout__placeholder{position:absolute;top:0;left:0;box-sizing:border-box;width:calc(var(--dou-grid-w) * var(--dou-grid-col) + (var(--dou-grid-w) - 1) * var(--dou-grid-gap-x) + var(--dou-grid-dw, 0px));height:calc(var(--dou-grid-h) * var(--dou-grid-row) + (var(--dou-grid-h) - 1) * var(--dou-grid-gap-y) + var(--dou-grid-dh, 0px));border-radius:var(--dou-grid-item-radius);transform:translate(calc(var(--dou-grid-x) * (var(--dou-grid-col) + var(--dou-grid-gap-x)) + var(--dou-grid-dx, 0px)),calc(var(--dou-grid-y) * (var(--dou-grid-row) + var(--dou-grid-gap-y)) + var(--dou-grid-dy, 0px)))}.dou-grid-layout__item{display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);min-width:0;outline:none}.dou-grid-layout__item:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-grid-layout.is-editable .dou-grid-layout__item.is-movable{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.dou-grid-layout.is-editable:not(.is-pointer-dragging,.has-handle) .dou-grid-layout__item.is-movable,.dou-grid-layout.is-editable.has-handle:not(.is-pointer-dragging) .dou-grid-layout__item.is-movable .dou-grid-layout__handle{cursor:grab}.dou-grid-layout.is-arranging .dou-grid-layout__item{transition:transform var(--dou-motion-duration-normal) var(--dou-motion-easing)}.dou-grid-layout__item.is-dragging,.dou-grid-layout__item.is-resizing{z-index:2;box-shadow:var(--dou-shadow-lg)}.dou-grid-layout.is-pointer-dragging .dou-grid-layout__item.is-dragging,.dou-grid-layout.is-pointer-dragging .dou-grid-layout__item.is-resizing{transition:none}.dou-grid-layout__placeholder{z-index:1;border:1px dashed var(--dou-color-border-strong);background-color:color-mix(in oklab,var(--dou-color-text) 4%,transparent);pointer-events:none}.dou-grid-layout.is-arranging .dou-grid-layout__placeholder{transition:transform var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-grid-layout__resize{position:absolute;z-index:1;touch-action:none}.dou-grid-layout__resize.is-e{top:8px;right:-4px;bottom:16px;width:8px;cursor:ew-resize}.dou-grid-layout__resize.is-s{right:16px;bottom:-4px;left:8px;height:8px;cursor:ns-resize}.dou-grid-layout__resize.is-se{right:0;bottom:0;width:20px;height:20px;cursor:nwse-resize;opacity:0;transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-grid-layout__resize.is-se:after{position:absolute;right:5px;bottom:5px;width:8px;height:8px;box-sizing:border-box;border-right:2px solid var(--dou-color-text-tertiary);border-bottom:2px solid var(--dou-color-text-tertiary);border-bottom-right-radius:4px;content:""}.dou-grid-layout__item:hover>.dou-grid-layout__resize.is-se,.dou-grid-layout__item:focus-visible>.dou-grid-layout__resize.is-se,.dou-grid-layout__item.is-resizing>.dou-grid-layout__resize.is-se{opacity:1}@media (pointer: coarse){.dou-grid-layout__resize.is-se{width:32px;height:32px;opacity:1}}.dou-grid-layout__live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}@layer dou.components{.dou-dashboard{position:relative;min-width:0;outline:none}.dou-dashboard__widget{display:flex;flex-direction:column;box-sizing:border-box;min-width:0;min-height:0;border:1px solid var(--dou-color-border);border-radius:inherit;background-color:var(--dou-color-bg-surface);color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);overflow:hidden}.dou-grid-layout__item.is-dragging>.dou-dashboard__widget,.dou-grid-layout__item.is-resizing>.dou-dashboard__widget{border-color:var(--dou-color-border-strong)}.dou-dashboard__widget.has-peers{outline:1.5px solid var(--dou-dashboard-peer-color);outline-offset:2px}.dou-dashboard__peers{position:absolute;bottom:100%;left:12px;z-index:1;display:flex;gap:4px;max-width:calc(100% - 24px);margin-bottom:-10px;overflow:hidden;pointer-events:none}.dou-dashboard__peer{flex:none;padding:0 6px;border-radius:4px;background-color:var(--dou-dashboard-peer-color);color:#fff;color:oklch(from var(--dou-dashboard-peer-color) clamp(.2,(.66 - l) * 100,.99) 0 0);font-size:var(--dou-font-size-sm);line-height:18px;white-space:nowrap}.dou-dashboard__peer.is-focus{animation:dou-dashboard-peer-name var(--dou-motion-duration-fast) var(--dou-motion-easing) 3s forwards}.dou-dashboard__header{display:flex;flex:none;align-items:center;gap:8px;height:40px;padding:0 8px 0 16px}.dou-dashboard__title{flex:1 1 auto;min-width:min(6em,40%);overflow:hidden;color:var(--dou-color-text);font-size:var(--dou-font-size-sm);font-weight:var(--dou-font-weight-medium);text-overflow:ellipsis;white-space:nowrap}.dou-dashboard__title .dou-editable__view{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:inherit}.dou-dashboard__links{display:flex;flex:0 1 auto;gap:4px;min-width:0;max-width:60%;overflow:hidden}.dou-dashboard__links .dou-tag{min-width:0;max-width:100%}.dou-dashboard__links .dou-tag__label{min-width:0;overflow-x:clip;white-space:nowrap;text-overflow:ellipsis}.dou-dashboard__actions{display:flex;flex:none;align-items:center;gap:2px;color:var(--dou-color-text-tertiary)}.dou-dashboard__trigger{display:inline-flex;flex:none}.dou-dashboard__export-error{flex:none;padding:0 8px 8px}.dou-dashboard__export-error .dou-alert__description{max-height:4.5lh;overflow-y:auto}.dou-dashboard__body{position:relative;flex:1 1 auto;min-width:0;min-height:0;padding:0 16px 16px}.dou-dashboard__body.is-fullscreen{height:100%;padding:0}.dou-dashboard__content{height:100%;min-width:0}.dou-dashboard__notice{display:grid;height:100%;place-items:center;color:var(--dou-color-text-tertiary);text-align:center}.dou-dashboard__status{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:0 16px 16px;background-color:var(--dou-color-bg-surface);color:var(--dou-color-text-secondary);text-align:center}.dou-dashboard__status.is-loading{background-color:color-mix(in oklab,var(--dou-color-bg-surface) 72%,transparent);animation:dou-dashboard-fade-in var(--dou-motion-duration-fast) var(--dou-motion-easing) .12s both}.dou-dashboard__status-icon{width:20px;height:20px;color:var(--dou-color-danger)}.dou-dashboard__empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border:1px dashed var(--dou-color-border);border-radius:var(--dou-radius-container);pointer-events:none}.dou-dashboard__live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dou-dashboard__settings{display:flex;flex-direction:column;gap:16px}.dou-dashboard__field{display:flex;flex-direction:column;gap:8px}.dou-dashboard__field-hint{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.dou-dashboard__field-row{display:flex;flex-wrap:wrap;gap:16px}.dou-dashboard__field-row>.dou-dashboard__field{flex:1 1 120px;min-width:0}.dou-dashboard__columns{display:flex;flex-direction:column;gap:8px}.dou-dashboard__column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px}.dou-dashboard__field-label{color:var(--dou-color-text);font-size:var(--dou-font-size-sm);font-weight:var(--dou-font-weight-medium)}@keyframes dou-dashboard-fade-in{0%{opacity:0}}.dou-dashboard-palette{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.dou-dashboard-palette.is-horizontal{flex-flow:row wrap}.dou-dashboard-palette>li{margin:0}.dou-dashboard-palette__item{display:flex;align-items:center;gap:8px;box-sizing:border-box;width:100%;height:32px;padding:0 12px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);color:var(--dou-color-text);font:inherit;font-size:var(--dou-font-size-sm);cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:border-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.dou-dashboard-palette__item:hover:not(:disabled){border-color:var(--dou-color-border-strong)}.dou-dashboard-palette__item:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.dou-dashboard-palette__item:disabled{color:var(--dou-color-text-tertiary);cursor:not-allowed}.dou-dashboard-palette__icon{flex:none;width:16px;height:16px;color:var(--dou-color-text-secondary)}.dou-dashboard-palette__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dou-dashboard-filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.dou-dashboard-filter__field{display:flex;align-items:center;gap:8px;min-width:0}.dou-dashboard-filter__label{flex:none;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);white-space:nowrap}.dou-dashboard-filter__control{width:144px;min-width:0}.dou-dashboard-filter__control.is-range{width:272px}.dou-dashboard-filter__extra{display:flex;align-items:center;gap:4px;margin-left:auto}@media (max-width: 480px){.dou-dashboard-filter__field{flex:1 1 100%}.dou-dashboard-filter__label{width:4em}.dou-dashboard-filter__control,.dou-dashboard-filter__control.is-range{flex:1 1 auto;width:auto}}.dou-dashboard-stat{display:flex;flex-direction:column;justify-content:space-between;gap:8px;height:100%;container-type:inline-size}@container (max-width: 200px){.dou-dashboard-stat .dou-statistic{--dou-statistic-value-size: 22px}}.dou-dashboard-stat__spark{flex:none;margin:0 -16px -16px}.dou-dashboard-text{height:100%;overflow:auto;color:var(--dou-color-text);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.dou-dashboard-text.is-sm{color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}.dou-dashboard-text.is-md{font-size:var(--dou-font-size-md)}.dou-dashboard-text.is-lg{font-size:var(--dou-font-size-lg);font-weight:var(--dou-font-weight-medium);line-height:1.4}.dou-dashboard.is-exporting .dou-dashboard__actions,.dou-dashboard.is-exporting .dou-dashboard__links .dou-tag__close,.dou-dashboard.is-exporting .dou-dashboard__export-error,.dou-dashboard.is-exporting .dou-dashboard__peers,.dou-dashboard.is-exporting .dou-grid-layout__resize,.dou-dashboard.is-exporting .dou-dashboard__live{display:none}.dou-dashboard.is-exporting .dou-grid-layout__item,.dou-dashboard.is-exporting .dou-dashboard__widget{outline:none}@media print{.dou-dashboard{-webkit-print-color-adjust:exact;print-color-adjust:exact}.dou-dashboard__actions,.dou-dashboard__links .dou-tag__close,.dou-dashboard__export-error,.dou-dashboard__peers,.dou-grid-layout__resize,.dou-dashboard-filter__clear,.dou-dashboard-filter__extra{display:none}.dou-grid-layout__item{outline:none;break-inside:avoid}.dou-dashboard__widget{outline:none}}}@keyframes dou-dashboard-peer-name{to{opacity:0;visibility:hidden}}html{scroll-padding-top:88px;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}.doc-layout{--doc-header-height: 64px;--doc-sidebar-width: 264px;--doc-outline-width: 200px;min-height:100vh}.doc-skip{position:fixed;top:12px;left:12px;z-index:100;padding:6px 12px;border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-md);transform:translateY(-200%)}.doc-skip:focus-visible{transform:none}.doc-header{position:sticky;top:0;z-index:30;height:var(--doc-header-height);border-bottom:1px solid var(--dou-color-border-subtle);background-color:color-mix(in oklab,var(--dou-color-bg-canvas) 86%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(12px);backdrop-filter:saturate(1.6) blur(12px)}.doc-header__inner{display:flex;align-items:center;gap:24px;height:100%;max-width:1440px;padding:0 32px;margin:0 auto;box-sizing:border-box}.doc-header__logo{color:var(--dou-color-text);font-size:18px;font-weight:var(--dou-font-weight-bold);letter-spacing:-.01em;text-decoration:none}.doc-header__nav{flex:1;border-bottom:0}.doc-header__actions{display:flex;align-items:center;gap:4px}.doc-header__search{min-width:168px;margin-right:8px;color:var(--dou-color-text-tertiary)}.doc-header__search .dou-button__label{flex:1;text-align:left}.doc-header__keys{display:inline-flex;gap:2px}.doc-header__menu{display:none;margin-left:-8px}.doc-icon-button.dou-button{width:32px;padding-inline:0}.doc-icon-link{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--dou-radius-control);color:var(--dou-color-text-secondary);transition:color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.doc-icon-link:hover{color:var(--dou-color-text)}.doc-icon-link:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.doc-body{display:grid;grid-template-columns:var(--doc-sidebar-width) minmax(0,1fr) var(--doc-outline-width);gap:48px;max-width:1440px;padding:0 32px;margin:0 auto;box-sizing:border-box}.doc-body__sidebar{position:sticky;top:var(--doc-header-height);height:calc(100vh - var(--doc-header-height));padding:24px 0 48px;margin-left:-12px;overflow-y:auto;box-sizing:border-box;overscroll-behavior:contain;scrollbar-width:thin}.doc-body__main{min-width:0;max-width:768px;padding:40px 0 96px;outline:none}.doc-body__outline{position:sticky;top:var(--doc-header-height);align-self:start;max-height:calc(100vh - var(--doc-header-height));padding:40px 0;overflow-y:auto;box-sizing:border-box}.doc-outline__title{margin:0 0 12px;color:var(--dou-color-text);font-size:var(--dou-font-size-sm);font-weight:var(--dou-font-weight-medium)}.doc-pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:64px}.doc-pager__link{text-decoration:none}.doc-pager__link--next{text-align:right}.doc-pager__hint{display:flex;align-items:center;gap:6px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.doc-pager__link--next .doc-pager__hint{justify-content:flex-end}.doc-pager__title{display:block;margin-top:4px;color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium)}.doc-home{padding-bottom:128px}.doc-hero{position:relative;display:flex;align-items:center;min-height:min(calc(100svh - var(--doc-header-height)),760px);overflow:hidden;border-bottom:1px solid var(--dou-color-border-subtle);isolation:isolate}.doc-hero:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background-image:radial-gradient(var(--dou-color-border) 1px,transparent 1px);background-size:24px 24px;content:"";-webkit-mask-image:radial-gradient(ellipse 70% 60% at 70% 45%,#000,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 70% 45%,#000,transparent 75%);opacity:.6}.doc-hero__wall{position:absolute;top:0;right:0;bottom:0;left:36%;z-index:-1}.doc-hero__copy{width:100%;max-width:1152px;padding:96px 32px;margin:0 auto;box-sizing:border-box}.doc-hero__copy>*{max-width:560px;animation:doc-rise .64s var(--dou-motion-easing) both}.doc-hero__copy>:nth-child(2){animation-delay:60ms}.doc-hero__copy>:nth-child(3){animation-delay:.12s}.doc-hero__copy>:nth-child(4){animation-delay:.18s}.doc-hero__copy>:nth-child(5){animation-delay:.24s}.doc-hero__name{margin:0;color:var(--dou-color-text);font-size:64px;font-weight:var(--dou-font-weight-bold);letter-spacing:-.035em;line-height:1.05}.doc-hero__text{margin:16px 0 0;color:var(--dou-color-text);font-size:32px;font-weight:var(--dou-font-weight-medium);letter-spacing:-.01em;line-height:1.3}.doc-hero__tagline{margin:20px 0 0;color:var(--dou-color-text-secondary);font-size:18px;line-height:1.7}.doc-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.doc-hero__install{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 4px 0 14px;margin-top:20px;border:1px solid var(--dou-color-border-subtle);border-radius:var(--dou-radius-control);background-color:color-mix(in oklab,var(--dou-color-bg-surface) 80%,transparent);box-sizing:border-box;color:var(--dou-color-text);font-family:var(--dou-font-family-mono);font-size:var(--dou-font-size-sm)}.doc-hero__prompt{color:var(--dou-color-text-tertiary);-webkit-user-select:none;user-select:none}.doc-hero__install code{padding-right:4px}.doc-wall{overflow:hidden;perspective:2400px;-webkit-mask-image:linear-gradient(to right,transparent,#000 20%),linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(to right,transparent,#000 20%),linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect;pointer-events:none;-webkit-user-select:none;user-select:none}.doc-wall__plane{position:absolute;top:50%;left:4%;display:grid;grid-template-columns:repeat(4,248px);gap:20px;height:1100px;transform:translateY(-50%) rotateX(24deg) rotate(8deg);transform-origin:0 50%;animation:doc-fade 1.2s var(--dou-motion-easing) .2s both}.doc-wall__column{overflow:hidden}.doc-wall__track{animation:doc-drift 96s linear infinite}.doc-wall__column:nth-child(2) .doc-wall__track{animation-duration:120s;animation-direction:reverse}.doc-wall__column:nth-child(3) .doc-wall__track{animation-duration:108s}.doc-wall__column:nth-child(4) .doc-wall__track{animation-duration:132s;animation-direction:reverse}.doc-wall__tile{display:flex;flex-direction:column;gap:12px;padding:16px;margin-bottom:20px;border:1px solid var(--dou-color-border-subtle);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);color:var(--dou-color-text);font-size:var(--dou-font-size-sm)}.doc-wall__row{display:flex;align-items:center;justify-content:space-between;gap:12px}.doc-wall__wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.doc-wall__stack{display:flex;flex-direction:column;gap:8px}.doc-wall__label{display:inline-flex;align-items:center;gap:6px}.doc-wall__keys,.doc-wall__tones{display:inline-flex;gap:4px}.doc-wall__tone{width:16px;height:16px;border-radius:var(--dou-radius-full);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--dou-color-edge) 12%,transparent)}.doc-wall__muted{color:var(--dou-color-text-tertiary);font-variant-numeric:tabular-nums}@keyframes doc-drift{to{transform:translateY(calc(-100% / 3))}}@keyframes doc-fade{0%{opacity:0}}@keyframes doc-rise{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion: reduce){.doc-hero__copy>*,.doc-wall__plane,.doc-wall__track{animation:none}}.doc-home__features{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;max-width:1152px;padding:80px 32px 0;margin:0 auto;box-sizing:border-box}.doc-feature__icon{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--dou-color-border-subtle);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);color:var(--dou-color-text);font-size:18px}.doc-feature__title{margin:20px 0 0;color:var(--dou-color-text);font-size:var(--dou-font-size-lg);font-weight:var(--dou-font-weight-medium);line-height:1.5}.doc-feature__details{margin:8px 0 0;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-md);line-height:1.7}.doc-not-found{display:grid;place-items:center;min-height:calc(100vh - 64px);padding:32px;box-sizing:border-box}.doc-content .header-anchor{margin-left:8px;color:var(--dou-color-text-tertiary);font-weight:var(--dou-font-weight-regular);text-decoration:none;opacity:0;transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing)}.doc-content .header-anchor:before{content:"#"}.doc-content :is(h1,h2,h3,h4):hover .header-anchor,.doc-content .header-anchor:focus-visible{opacity:1}.doc-code{position:relative;margin:20px 0}.doc-code pre{margin:0}.doc-code button.copy,.doc-code .lang{display:none}.doc-code__copy{position:absolute;top:8px;right:8px;opacity:0;transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing)}.doc-code:hover .doc-code__copy,.doc-code__copy:focus-visible,.doc-code__copy.is-copied{opacity:1}.doc-code .shiki span{color:var(--shiki-light)}[data-dou-theme=dark] .doc-code .shiki span{color:var(--shiki-dark)}.doc-content .custom-block{padding:12px 16px;margin:20px 0;border:1px solid color-mix(in oklab,var(--doc-tone) 24%,var(--dou-color-border-subtle));border-radius:var(--dou-radius-container);background-color:color-mix(in oklab,var(--doc-tone) 6%,var(--dou-color-bg-surface));font-size:15px}.doc-content .custom-block.tip{--doc-tone: var(--dou-color-primary)}.doc-content .custom-block.warning{--doc-tone: var(--dou-color-warning)}.doc-content .custom-block.danger{--doc-tone: var(--dou-color-danger)}.doc-content .custom-block p{margin:4px 0 0}.doc-content .custom-block p.custom-block-title{margin:0;color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium)}.doc-content .custom-block>:last-child{margin-bottom:0}.doc-demo{margin:16px 0;border:1px solid var(--dou-color-border-subtle);border-radius:var(--dou-radius-container)}.doc-demo__preview{display:flex;flex-direction:column}.doc-demo__bar{position:relative;z-index:1;display:flex;justify-content:flex-end;margin-bottom:-8px;padding:8px 8px 0;pointer-events:none}.doc-demo__bar>*{pointer-events:auto}.doc-demo__stage{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 24px 24px;color:var(--dou-color-text);font-size:var(--dou-font-size-md);line-height:var(--dou-font-line-height)}.doc-demo__stage.is-scrollable{overflow-x:auto}.doc-demo__stage--column{flex-direction:column;flex-wrap:nowrap;align-items:stretch}.doc-demo__toggle.dou-button{color:var(--dou-color-text-tertiary)}.doc-demo__toggle.dou-button:hover,.doc-demo.is-open .doc-demo__toggle.dou-button{color:var(--dou-color-text)}.doc-demo__source{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dou-motion-duration-normal) var(--dou-motion-easing)}.doc-demo.is-open .doc-demo__source{grid-template-rows:1fr}.doc-demo__code{min-height:0;overflow:hidden}.doc-demo__code .doc-code{margin:0;border-top:1px solid var(--dou-color-border-subtle)}.doc-demo__code .doc-code pre{border:0;border-radius:0}.doc-demo__collapse{display:block;width:100%;height:36px;padding:0;border:0;border-top:1px solid var(--dou-color-border-subtle);border-radius:0 0 var(--dou-radius-container) var(--dou-radius-container);background:transparent;color:var(--dou-color-text-tertiary);font:inherit;font-size:var(--dou-font-size-sm);cursor:pointer;transition:color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.doc-demo__collapse:hover{color:var(--dou-color-text)}.doc-demo__collapse:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}@media (prefers-reduced-motion: reduce){.doc-demo__source{transition:none}}.doc-body--wide{grid-template-columns:var(--doc-sidebar-width) minmax(0,1fr)}.doc-body--wide .doc-body__main{max-width:none}.icon-gallery__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-top:32px}.icon-gallery__search{flex:1 1 280px;max-width:400px}.icon-gallery__size{display:flex;align-items:center;gap:12px;width:240px;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.icon-gallery__size>:last-child{flex:1}.icon-gallery__filters{display:flex;flex-wrap:wrap;gap:4px;margin-top:16px}.icon-gallery__count{color:var(--dou-color-text-tertiary);font-size:12px;font-variant-numeric:tabular-nums}.icon-gallery__summary{margin:16px 0 12px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.icon-gallery__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(max(112px,calc(var(--icon-size) + 48px)),1fr));padding:0;margin:0;border-top:1px solid var(--dou-color-border-subtle);border-left:1px solid var(--dou-color-border-subtle);list-style:none}.icon-gallery__grid>li{border-right:1px solid var(--dou-color-border-subtle);border-bottom:1px solid var(--dou-color-border-subtle)}.icon-gallery__cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;min-height:112px;padding:16px 8px 12px;border:0;background:none;color:var(--dou-color-text);cursor:pointer;font:inherit;transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.icon-gallery__cell:hover{background:var(--dou-color-bg-muted)}.icon-gallery__cell:focus-visible{position:relative;outline:2px solid var(--dou-color-focus);outline-offset:-2px}.icon-gallery__cell>svg{flex-shrink:0}.icon-gallery__name{max-width:100%;overflow:hidden;color:var(--dou-color-text-tertiary);font-size:12px;line-height:16px;text-overflow:ellipsis;white-space:nowrap}.icon-gallery__cell:hover .icon-gallery__name{color:var(--dou-color-text-secondary)}.icon-detail{display:flex;flex-direction:column;gap:16px}.icon-detail__preview{display:flex;align-items:center;justify-content:center;height:160px;border:1px solid var(--dou-color-border-subtle);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-muted);background-image:linear-gradient(var(--dou-color-border-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--dou-color-border-subtle) 1px,transparent 1px);background-position:center;background-size:6px 6px;color:var(--dou-color-text)}.icon-detail__sizes{display:flex;align-items:flex-end;justify-content:center;gap:24px;color:var(--dou-color-text)}.icon-detail__tags{display:inline-flex;flex-wrap:wrap;gap:4px}.icon-detail__snippets{display:flex;flex-direction:column;gap:8px}.icon-detail__snippet{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 4px 4px 12px;border-radius:var(--dou-radius-control);background:var(--dou-color-bg-muted);color:var(--dou-color-text);font-family:var(--dou-font-family-mono);font-size:13px}.icon-detail__snippet code{overflow-x:auto;white-space:nowrap}.doc-mobile-nav__divider.dou-divider{margin:12px 0}.doc-mobile-nav__version{display:none;margin-bottom:8px}@media (max-width: 639px){.doc-header__version{display:none}.doc-mobile-nav__version{display:inline-flex}}@media (max-width: 1279px){.doc-body{grid-template-columns:var(--doc-sidebar-width) minmax(0,1fr)}.doc-body__outline{display:none}}@media (max-width: 959px){.doc-header__inner,.doc-body{padding:0 16px}.doc-header__inner{gap:12px}.doc-header__menu{display:inline-flex}.doc-header__nav{display:none}.doc-header__actions{margin-left:auto}.doc-header__search{min-width:0}.doc-header__keys{display:none}.doc-body{display:block}.doc-body__sidebar{display:none}.doc-body__main{padding-top:32px}.doc-home{padding-bottom:96px}.doc-hero{flex-direction:column;align-items:stretch;min-height:0}.doc-hero:before{-webkit-mask-image:radial-gradient(ellipse 90% 50% at 50% 75%,#000,transparent 75%);mask-image:radial-gradient(ellipse 90% 50% at 50% 75%,#000,transparent 75%)}.doc-hero__copy{padding:56px 16px 0}.doc-hero__name{font-size:44px}.doc-hero__text{font-size:24px}.doc-hero__tagline{font-size:16px}.doc-hero__wall{position:relative;inset:auto;order:1;height:320px;margin-top:16px}.doc-wall{-webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(to bottom,transparent,#000 24%,#000 76%,transparent);mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(to bottom,transparent,#000 24%,#000 76%,transparent)}.doc-wall__plane{left:50%;transform:translate(-50%,-50%) scale(.72) rotateX(24deg) rotate(8deg);transform-origin:50% 50%}.doc-home__features{grid-template-columns:1fr;gap:36px;padding:56px 16px 0}}@media (max-width: 639px){.doc-demo__stage{padding:4px 16px 16px}}.doc-overview__group{margin-top:40px}.doc-overview .doc-overview__title{display:flex;align-items:center;gap:8px;margin:0 0 16px;padding:0;border:0}.doc-overview__count{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);font-weight:var(--dou-font-weight-regular)}.doc-overview__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;padding:0;margin:0;list-style:none}.doc-overview__card{display:flex;flex-direction:column;height:100%;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);overflow:hidden;background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);color:var(--dou-color-text);text-decoration:none;transition:border-color var(--dou-motion-duration-fast) var(--dou-motion-easing),box-shadow var(--dou-motion-duration-fast) var(--dou-motion-easing)}.doc-overview__card:hover{border-color:var(--dou-color-border-strong);box-shadow:var(--dou-shadow-md)}.doc-overview__card:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.doc-overview__art{display:block;width:100%;height:auto;aspect-ratio:5 / 3;border-bottom:1px solid var(--dou-color-border-subtle);background-color:var(--dou-color-bg-canvas)}.doc-overview__name{padding:12px 14px 0;font-size:var(--dou-font-size-md);font-weight:var(--dou-font-weight-medium);line-height:1.4}.doc-overview__label{padding:2px 14px 12px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);line-height:1.4}.doc-overview__art *{stroke-width:1;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.doc-overview__art{--ov-ink: var(--dou-color-neutral);--ov-on: var(--dou-color-neutral-on);--ov-surface: var(--dou-color-bg-surface);--ov-muted: var(--dou-color-bg-muted);--ov-border: var(--dou-color-border);--ov-strong: var(--dou-color-border-strong)}.doc-overview__art .p{fill:var(--ov-surface);stroke:var(--ov-border)}.doc-overview__art .pm{fill:var(--ov-muted);stroke:var(--ov-border)}.doc-overview__art .ps{fill:var(--ov-surface);stroke:var(--ov-strong)}.doc-overview__art .p0{fill:none}.doc-overview__art .p0s{fill:var(--ov-surface)}.doc-overview__art .bg{fill:var(--dou-color-bg-canvas)}.doc-overview__art .m{fill:var(--ov-muted)}.doc-overview__art .b{fill:var(--ov-border)}.doc-overview__art .s{fill:var(--ov-strong)}.doc-overview__art .t{fill:var(--dou-color-text-tertiary)}.doc-overview__art .k{fill:var(--ov-ink)}.doc-overview__art .on{fill:var(--ov-on)}.doc-overview__art .a{fill:var(--dou-color-primary)}.doc-overview__art .g{fill:var(--dou-color-success)}.doc-overview__art .w{fill:var(--dou-color-warning)}.doc-overview__art .r{fill:var(--dou-color-danger)}.doc-overview__art .as{fill:color-mix(in oklab,var(--dou-color-primary) 14%,var(--ov-surface))}.doc-overview__art .gs{fill:color-mix(in oklab,var(--dou-color-success) 14%,var(--ov-surface))}.doc-overview__art .ws{fill:color-mix(in oklab,var(--dou-color-warning) 16%,var(--ov-surface))}.doc-overview__art .rs{fill:color-mix(in oklab,var(--dou-color-danger) 14%,var(--ov-surface))}.doc-overview__art .ln{fill:none;stroke:var(--ov-strong)}.doc-overview__art .lb{fill:none;stroke:var(--ov-border)}.doc-overview__art .lk{fill:none;stroke:var(--ov-ink)}.doc-overview__art .lon{fill:none;stroke:var(--ov-on)}.doc-overview__art .la{fill:none;stroke:var(--dou-color-primary)}.doc-overview__art .lc2{fill:none;stroke:var(--dou-color-chart-2)}.doc-overview__art .ac1{fill:color-mix(in oklab,var(--dou-color-chart-1) 8%,transparent)}.doc-overview__art .c2{fill:var(--dou-color-chart-2)}.doc-overview__art .lg{fill:none;stroke:var(--dou-color-success)}.doc-overview__art .lw{fill:none;stroke:var(--dou-color-warning)}.doc-overview__art .m.lk,.doc-overview__art .m.lb{fill:var(--ov-muted)}.doc-overview__art .p.lk,.doc-overview__art .p.lb{fill:var(--ov-surface)}.doc-overview__art .ps.la{stroke:var(--dou-color-primary)}.doc-overview__art .lwhite{fill:none;stroke:#fff}.doc-overview__art .mk{fill:none;stroke:var(--ov-ink);stroke-opacity:.08;stroke-width:5}.doc-overview__art .ico,.doc-overview__art [class^=ico-]{fill:none;stroke:var(--ov-ink)}.doc-overview__art .ico *,.doc-overview__art [class^=ico-] *{stroke-width:1.5px}.doc-overview__art .ico .dot,.doc-overview__art [class^=ico-] .dot{stroke-width:2.25px}.doc-overview__art .ico .fill,.doc-overview__art [class^=ico-] .fill{fill:currentColor;stroke:none}.doc-overview__art .ico-solid{fill:var(--ov-ink)}.doc-overview__art .ico-3{stroke:var(--dou-color-text-tertiary)}.doc-overview__art .ico-on{stroke:var(--ov-on)}.doc-overview__art .ico-2{stroke:var(--dou-color-text-secondary)}.doc-overview__art .ico-a{stroke:var(--dou-color-primary)}.doc-overview__art .ico-g{stroke:var(--dou-color-success)}.doc-overview__art .ico-w{stroke:var(--dou-color-warning)}.doc-overview__art .ico-sun{stroke:#171717}.doc-overview__art .ico-moon{stroke:#ededed}.doc-overview__art .w15{stroke-width:1.5}.doc-overview__art .w2{stroke-width:2}.doc-overview__art .w4{stroke-width:4}.doc-overview__art .thin{stroke-opacity:.5}.doc-overview__art .dash{stroke-dasharray:4 3}.doc-overview__art .f{filter:drop-shadow(0 4px 6px rgb(0 0 0 / .08))}.doc-overview__art .kbd{filter:drop-shadow(0 1.5px 0 var(--ov-border))}.doc-overview__art .ring{fill:none;stroke:#fff;stroke-width:2;filter:drop-shadow(0 0 1px rgb(0 0 0 / .4))}.doc-overview__art .ring2{stroke:var(--ov-surface);stroke-width:2}.doc-overview__art .dim{fill:color-mix(in oklab,var(--ov-ink) 7%,transparent)}.doc-overview__art .dim2{fill:#00000052}.doc-overview__art .dim3{fill:color-mix(in oklab,var(--ov-ink) 10%,transparent)}.doc-overview__art .veil{fill:color-mix(in oklab,var(--ov-surface) 55%,transparent)}.doc-overview__art .mark{fill:var(--ov-ink);opacity:.07}.doc-overview__art .heat0{fill:var(--ov-muted)}.doc-overview__art .heat1{fill:color-mix(in oklab,var(--ov-ink) 22%,var(--ov-muted))}.doc-overview__art .heat2{fill:color-mix(in oklab,var(--ov-ink) 45%,var(--ov-muted))}.doc-overview__art .heat3{fill:color-mix(in oklab,var(--ov-ink) 70%,var(--ov-muted))}.doc-overview__art .heat4{fill:var(--ov-ink)}.doc-overview__art .stop-ink{stop-color:var(--ov-ink)}.doc-overview__art .stop-mute{stop-color:var(--ov-strong)}.doc-overview__art .stop-t{stop-color:var(--dou-color-text-tertiary)}.doc-overview__art .sk{fill:color-mix(in oklab,var(--ov-ink) 8%,transparent)}.doc-overview__art .round{stroke-linejoin:round}.doc-overview__art .light-frame{fill:#fff;stroke:#e6e6e6}.doc-overview__art .dark-frame{fill:#1c1c1c;stroke:#333}.doc-overview__art .light-bar{fill:#d1d1d1}.doc-overview__art .dark-bar{fill:#4a4a4a}.doc-overview__art .sun,.doc-overview__art .sun-ray{fill:none;stroke:#171717;stroke-width:1.5}.doc-overview__art .moon{fill:none;stroke:#ededed;stroke-width:1.5}.doc-overview__art text{fill:var(--dou-color-text);font-family:var(--dou-font-family);font-size:13px;font-weight:var(--dou-font-weight-medium)}.doc-overview__art .tx2{fill:var(--dou-color-text-secondary)}.doc-overview__art .tx3{fill:var(--dou-color-text-tertiary)}.doc-overview__art .on-text{fill:var(--ov-on)}.doc-overview__art .on-tone{fill:#fff}.doc-overview__art .mono{font-family:var(--dou-font-family-mono);font-variant-numeric:tabular-nums}.doc-overview__art .bold{font-weight:var(--dou-font-weight-bold)}.doc-overview__art .italic{font-style:italic}.doc-overview__art .underline{text-decoration:underline}.doc-overview__art .big{font-size:18px}.doc-overview__art .mid{font-size:16px}.doc-overview__art .bigger{font-size:20px}.doc-overview__art .small{font-size:11px}.doc-overview__art .tiny{font-size:7px}.doc-overview__art .display{font-size:44px;font-weight:var(--dou-font-weight-bold)}.doc-overview__art .stat{font-size:26px;font-weight:var(--dou-font-weight-bold);font-variant-numeric:tabular-nums}.doc-overview__art .stat-lg{font-size:30px;font-weight:var(--dou-font-weight-bold);font-variant-numeric:tabular-nums}.doc-overview__art .stat-sm{font-size:20px;font-weight:var(--dou-font-weight-bold);font-variant-numeric:tabular-nums}@media (max-width: 639px){.doc-overview__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.doc-overview__name{padding:10px 12px 0}.doc-overview__label{padding:2px 12px 10px}}@media (max-width: 640px){.doc-demo .dou-flow-editor:not([style*=height]){height:280px}}.doc-theme-editor[data-v-7d8feb84]{display:grid;gap:16px;margin-block:16px}.doc-theme-editor__controls[data-v-7d8feb84]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;align-items:start}.doc-theme-editor__field[data-v-7d8feb84]{display:grid;gap:6px;justify-items:start}.doc-theme-editor__field--wide[data-v-7d8feb84]{justify-items:stretch}.doc-theme-editor__actions[data-v-7d8feb84]{display:flex;grid-column:1 / -1;justify-content:space-between}.doc-theme-editor__label[data-v-7d8feb84]{color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}.doc-theme-editor__preview[data-v-7d8feb84]{display:grid;gap:16px;padding:20px;border:1px solid var(--dou-color-border);border-radius:12px}.doc-theme-editor__grid[data-v-7d8feb84]{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;align-items:start}.doc-theme-editor__form[data-v-7d8feb84],.doc-theme-editor__stack[data-v-7d8feb84]{display:grid;gap:12px;min-width:0}.swatches[data-v-6f0e9970]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;margin:16px 0 24px}.swatch__chips[data-v-6f0e9970]{display:flex;height:56px;overflow:hidden;border:1px solid var(--dou-color-border-subtle);border-radius:8px}.swatch__chip[data-v-6f0e9970]{flex:1}.swatch__name[data-v-6f0e9970]{margin-top:8px;font-size:13px;font-weight:500}.swatch__value[data-v-6f0e9970]{color:var(--dou-color-text-tertiary);font-family:var(--dou-font-family-mono);font-size:11px}.anchor-demo{display:grid;grid-template-columns:1fr 180px;gap:24px;width:100%}.anchor-demo__body{height:240px;overflow:auto;padding-right:16px;border-right:1px solid var(--dou-color-border)}.anchor-demo__body h4{margin:0 0 8px;font-size:15px;font-weight:600}.anchor-demo__body p{margin:0 0 32px;color:var(--dou-color-text-secondary);font-size:14px;line-height:1.7}.anchor-demo__body section:last-child p{margin-bottom:120px}.step-fields__text[data-v-0b23fe78]{display:grid;gap:8px;width:100%}.step-fields__refs[data-v-0b23fe78]{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.step-fields__hint[data-v-0b23fe78]{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-xs)}.step-fields__ref[data-v-0b23fe78]{height:24px;padding:0 8px;border:1px solid var(--dou-color-border);border-radius:6px;background-color:var(--dou-color-bg-surface);color:var(--dou-color-text-secondary);font:inherit;font-size:var(--dou-font-size-xs);cursor:pointer}.step-fields__ref[data-v-0b23fe78]:hover{border-color:var(--dou-color-border-strong);color:var(--dou-color-text)}.step-fields__ref[data-v-0b23fe78]:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:1px}.step-node[data-v-e336ee96]{position:relative;width:192px}.step-node__head[data-v-e336ee96]{display:flex;gap:8px;align-items:center;height:40px;padding:0 12px;font-weight:var(--dou-font-weight-medium)}.step-node__icon[data-v-e336ee96]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background-color:var(--dou-color-bg-muted);color:var(--dou-color-text-secondary)}.step-node__icon[data-v-e336ee96] svg{width:16px;height:16px}.step-node__title[data-v-e336ee96]{flex:1;min-width:0;overflow-x:clip;text-overflow:ellipsis;white-space:nowrap}.step-node__status[data-v-e336ee96]{width:8px;height:8px;border-radius:50%;background-color:var(--dou-color-text-tertiary)}.step-node__status.is-process[data-v-e336ee96]{background-color:var(--dou-color-primary);animation:step-pulse-e336ee96 1s ease-in-out infinite}.step-node__status.is-finish[data-v-e336ee96]{background-color:var(--dou-color-success)}.step-node__status.is-error[data-v-e336ee96]{background-color:var(--dou-color-danger)}@keyframes step-pulse-e336ee96{50%{opacity:.4}}@media (prefers-reduced-motion: reduce){.step-node__status.is-process[data-v-e336ee96]{animation:none}}.step-node__summary[data-v-e336ee96]{padding:0 12px 12px 44px;overflow-x:clip;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);line-height:20px;text-overflow:ellipsis;white-space:nowrap}.step-node__exits[data-v-e336ee96]{display:flex;border-top:1px solid var(--dou-color-border-subtle)}.step-node__exit[data-v-e336ee96]{position:relative;flex:1;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);line-height:32px;text-align:center}.step-node__exit+.step-node__exit[data-v-e336ee96]{border-left:1px solid var(--dou-color-border-subtle)}.ai-workflow[data-v-064b584d]{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface)}.ai-workflow__bar[data-v-064b584d]{display:flex;gap:8px;align-items:center;height:48px;padding:0 12px 0 16px;border-bottom:1px solid var(--dou-color-border)}.ai-workflow__name[data-v-064b584d]{flex:1;min-width:0;overflow-x:clip;font-weight:var(--dou-font-weight-medium);text-overflow:ellipsis;white-space:nowrap}.ai-workflow__body[data-v-064b584d]{display:flex;height:600px}.ai-workflow__canvas[data-v-064b584d]{flex:1;min-width:0;border:0;border-radius:0}.ai-workflow__inspector[data-v-064b584d]{display:flex;flex-direction:column;width:288px;overflow-y:auto;border-left:1px solid var(--dou-color-border)}.ai-workflow__inspector[data-v-064b584d]>.dou-empty{margin:auto}.ai-workflow__inspector-title[data-v-064b584d]{display:flex;gap:8px;align-items:center;height:48px;padding:0 16px;border-bottom:1px solid var(--dou-color-border-subtle);font-weight:var(--dou-font-weight-medium)}.ai-workflow__inspector-title svg[data-v-064b584d]{width:16px;height:16px;color:var(--dou-color-text-secondary)}.ai-workflow__fields[data-v-064b584d]{padding:16px}@media (width < 720px){.ai-workflow__body[data-v-064b584d]{height:440px}}.brainstorm[data-v-dd36bb81]{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface)}.brainstorm__bar[data-v-dd36bb81]{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;min-height:48px;padding:8px 12px 8px 16px;box-sizing:border-box;border-bottom:1px solid var(--dou-color-border)}.brainstorm__name[data-v-dd36bb81]{flex:1;min-width:0;overflow-x:clip;font-weight:var(--dou-font-weight-medium);text-overflow:ellipsis;white-space:nowrap}.is-narrow .brainstorm__members[data-v-dd36bb81]{flex-basis:100%;order:1}.brainstorm__member[data-v-dd36bb81]{display:inline-flex;gap:6px;align-items:center}.brainstorm__dot[data-v-dd36bb81]{flex:none;width:8px;height:8px;border-radius:var(--dou-radius-full);background-color:color-mix(in oklab,var(--dot) 70%,var(--dou-color-bg-surface))}.brainstorm__dot.is-warning[data-v-dd36bb81]{--dot: var(--dou-color-warning)}.brainstorm__dot.is-success[data-v-dd36bb81]{--dot: var(--dou-color-success)}.brainstorm__dot.is-primary[data-v-dd36bb81]{--dot: var(--dou-color-primary)}.brainstorm__dot.is-neutral[data-v-dd36bb81],.brainstorm__dot.is-danger[data-v-dd36bb81]{--dot: var(--dou-color-text-tertiary)}.brainstorm__body[data-v-dd36bb81]{display:flex;height:600px}.brainstorm__canvas[data-v-dd36bb81]{flex:1;min-width:0;border:0;border-radius:0}.brainstorm__results[data-v-dd36bb81]{display:flex;flex-direction:column;width:264px;overflow-y:auto;border-left:1px solid var(--dou-color-border)}.brainstorm__results[data-v-dd36bb81]>.dou-empty{margin:auto;padding:0 16px}.brainstorm__results-title[data-v-dd36bb81]{display:flex;flex:none;align-items:center;height:48px;padding:0 16px;border-bottom:1px solid var(--dou-color-border-subtle);font-weight:var(--dou-font-weight-medium)}.brainstorm__list[data-v-dd36bb81]{margin:0;padding:8px;list-style:none}.brainstorm__item[data-v-dd36bb81]{display:flex;gap:8px;align-items:center;width:100%;min-height:36px;padding:6px 8px;box-sizing:border-box;border:0;border-radius:var(--dou-radius-control);background:none;color:var(--dou-color-text);font:inherit;text-align:start;cursor:pointer}.brainstorm__item[data-v-dd36bb81]:hover{background-color:var(--dou-color-bg-muted)}.brainstorm__item[data-v-dd36bb81]:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.brainstorm__text[data-v-dd36bb81]{flex:1;min-width:0}.brainstorm__author[data-v-dd36bb81]{display:block;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.brainstorm__votes[data-v-dd36bb81]{flex:none;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);font-variant-numeric:tabular-nums}@media (width < 720px){.brainstorm__body[data-v-dd36bb81]{height:480px}}.brainstorm-votes{position:absolute;top:0;left:0;display:flex;align-items:flex-end;justify-content:flex-end;padding:8px;box-sizing:border-box;pointer-events:none}.brainstorm-votes__badge{display:inline-flex;gap:4px;align-items:center;height:20px;padding:0 8px;box-sizing:border-box;border-radius:var(--dou-radius-full);background-color:color-mix(in oklab,var(--dou-color-bg-surface) 80%,transparent);color:var(--dou-color-text-secondary);font-size:12px;font-variant-numeric:tabular-nums}.brainstorm-votes__badge>svg{width:12px;height:12px}.budget[data-v-5245d99e]{display:grid;gap:16px;width:100%;min-width:0;container-type:inline-size}.budget__cards[data-v-5245d99e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.budget__sheet[data-v-5245d99e]{height:480px}@container (max-width: 560px){.budget__cards[data-v-5245d99e]{grid-template-columns:repeat(2,minmax(0,1fr))}.budget__cards[data-v-5245d99e] .dou-statistic{--dou-statistic-value-size: 18px}}.business[data-v-4e5df260]{display:grid;gap:16px;width:100%;min-width:0}.business__cards[data-v-4e5df260]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.business__tools[data-v-4e5df260]{display:flex;align-items:center;gap:8px}.business__row[data-v-4e5df260]{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.business__row[data-v-4e5df260]>*,.business__trend[data-v-4e5df260]{min-width:0}.business__stores[data-v-4e5df260]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:center}.business__stores[data-v-4e5df260]>*{min-width:0}.business__up[data-v-4e5df260]{color:var(--dou-color-success-text)}.business__down[data-v-4e5df260]{color:var(--dou-color-danger-text)}.business__hole[data-v-4e5df260]{font-size:20px;font-weight:600;line-height:28px}.business__hole-label[data-v-4e5df260]{color:var(--dou-color-text-tertiary);font-size:12px}.chat-page[data-v-541aaea6]{width:100%;box-sizing:border-box;height:600px;overflow:hidden;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-canvas);container-type:inline-size}.chat-page__layout[data-v-541aaea6]{display:grid;grid-template-columns:240px minmax(0,1fr);height:100%}.chat-page__side[data-v-541aaea6]{display:flex;flex-direction:column;gap:12px;min-height:0;padding:12px;border-right:1px solid var(--dou-color-border);background-color:var(--dou-color-bg-surface)}.chat-page__history[data-v-541aaea6]{display:grid;align-content:start;gap:2px;min-height:0;overflow-y:auto}.chat-page__item[data-v-541aaea6]{display:flex;align-items:center;border-radius:var(--dou-radius-control)}.chat-page__item[data-v-541aaea6]:hover,.chat-page__item.is-current[data-v-541aaea6]{background-color:var(--dou-color-bg-muted)}.chat-page__item>.dou-button[data-v-541aaea6]{opacity:0}.chat-page__item:hover>.dou-button[data-v-541aaea6],.chat-page__item:focus-within>.dou-button[data-v-541aaea6],.chat-page__item>.dou-button[aria-expanded=true][data-v-541aaea6],.chat-page__item.is-current>.dou-button[data-v-541aaea6]{opacity:1}.chat-page__title[data-v-541aaea6]{flex:1 1 auto;min-width:0;height:32px;padding:0 10px;overflow-x:clip;border:0;background:none;color:inherit;font:inherit;font-size:var(--dou-font-size-sm);text-align:start;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:var(--dou-radius-control)}.chat-page__title[data-v-541aaea6]:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.chat-page__main[data-v-541aaea6]{display:flex;flex-direction:column;min-width:0;min-height:0}.chat-page__header[data-v-541aaea6]{display:flex;align-items:center;gap:8px;height:48px;padding:0 16px;border-bottom:1px solid var(--dou-color-border)}.chat-page__menu[data-v-541aaea6]{display:none}.chat-page__heading[data-v-541aaea6]{min-width:0;overflow-x:clip;text-overflow:ellipsis;white-space:nowrap}.chat-page__list[data-v-541aaea6]{flex:1 1 auto}.chat-page__input[data-v-541aaea6]{flex:none;width:auto;margin:0 16px 16px}.chat-page__welcome[data-v-541aaea6]{display:flex;flex-direction:column;justify-content:center;gap:16px;flex:1 1 auto;width:100%;max-width:560px;margin:0 auto;padding:16px;box-sizing:border-box;overflow-y:auto}.chat-page__welcome h3[data-v-541aaea6]{margin:0;font-size:20px;font-weight:var(--dou-font-weight-bold);text-align:center}.chat-page__drawer[data-v-541aaea6]{display:grid;gap:2px}.chat-page__drawer>.dou-button[data-v-541aaea6]{margin-bottom:10px}@container (max-width: 640px){.chat-page__layout[data-v-541aaea6]{grid-template-columns:minmax(0,1fr)}.chat-page__side[data-v-541aaea6]{display:none}.chat-page__menu[data-v-541aaea6]{display:inline-flex}}.practice[data-v-684f1964]{display:grid;gap:16px;width:100%;min-width:0}.practice__main[data-v-684f1964]{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}@media (min-width: 880px){.practice__main[data-v-684f1964]{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.practice__task[data-v-684f1964]{grid-row:span 2}}.practice__task p[data-v-684f1964]{margin:0 0 12px;font-size:var(--dou-font-size-sm);line-height:1.7}.practice__task .practice__hint[data-v-684f1964]{margin:12px 0 0;color:var(--dou-color-text-secondary)}.practice__examples[data-v-684f1964]{display:grid;gap:6px;margin:0;padding:12px 16px;border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-muted);list-style:none;font-family:var(--dou-font-family-mono);font-size:var(--dou-font-size-sm)}.practice__examples li[data-v-684f1964]{display:flex;flex-wrap:wrap;gap:0 8px}.practice__examples span[data-v-684f1964]{color:var(--dou-color-text-tertiary)}.practice__editor[data-v-684f1964]{display:grid;gap:8px;min-width:0}.practice__code[data-v-684f1964]{height:320px}.practice__list[data-v-684f1964]{display:grid;gap:8px;margin:0;padding:0;list-style:none;font-size:var(--dou-font-size-sm)}.practice__list li[data-v-684f1964]{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.practice__mark[data-v-684f1964]{display:inline-flex;color:var(--dou-color-danger-text)}.is-pass .practice__mark[data-v-684f1964]{color:var(--dou-color-success-text)}.practice__mark svg[data-v-684f1964]{width:16px;height:16px}.practice__actual[data-v-684f1964]{color:var(--dou-color-text-secondary)}.compare[data-v-471ffaf3]{display:grid;gap:16px;width:100%;min-width:0}.compare__row[data-v-471ffaf3]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.compare__row[data-v-471ffaf3]>*{min-width:0}.compare__summary[data-v-471ffaf3]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}@media (max-width: 760px){.compare__row[data-v-471ffaf3]{grid-template-columns:minmax(0,1fr)}}.config[data-v-0f5c62bc]{display:grid;gap:16px;width:100%;min-width:0}.config__summary[data-v-0f5c62bc]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;overflow:hidden;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-border)}.config__fact[data-v-0f5c62bc]{display:grid;gap:4px;padding:12px 16px;background-color:var(--dou-color-bg-surface)}.config__fact span[data-v-0f5c62bc]{color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}.config__fact strong[data-v-0f5c62bc]{overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.config__bar[data-v-0f5c62bc]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.config__state[data-v-0f5c62bc]{display:inline-flex;align-items:center;gap:8px;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}.config__code[data-v-0f5c62bc]{height:400px}.dashboard[data-v-324ff3ad]{display:grid;gap:16px;width:100%;min-width:0}.dashboard__metrics[data-v-324ff3ad]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.dashboard__spark[data-v-324ff3ad]{display:block;margin-top:12px}.dashboard__calendar[data-v-324ff3ad]{--dou-calendar-heatmap-cell: 14px}.dashboard__summary[data-v-324ff3ad]{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:20px;padding-top:16px;border-top:1px solid var(--dou-color-border-subtle)}.dashboard__row[data-v-324ff3ad]{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:12px}.dashboard__section[data-v-324ff3ad]{display:grid;gap:12px;min-width:0}.dashboard__section h3[data-v-324ff3ad]{margin:0}.dashboard__row[data-v-324ff3ad]>*{min-width:0}@media (max-width: 760px){.dashboard__row[data-v-324ff3ad]{grid-template-columns:minmax(0,1fr)}}.data[data-v-5dedb6a1]{display:grid;gap:16px;width:100%;min-width:0}.data__filters[data-v-5dedb6a1]{display:flex;flex-wrap:wrap;gap:8px}.data__filters[data-v-5dedb6a1]>:not(.data__search,.dou-button){width:132px}.data__search[data-v-5dedb6a1]{flex:1 1 200px}.data__bulk[data-v-5dedb6a1]{display:flex;align-items:center;justify-content:space-between;padding:6px 6px 6px 14px;border-radius:var(--dou-radius-control);background:color-mix(in oklab,var(--dou-color-primary) 8%,transparent)}.data__pager[data-v-5dedb6a1]{justify-self:end}.errors[data-v-ad74a259]{display:grid;gap:16px;width:100%;justify-items:start}.errors__page[data-v-ad74a259]{display:grid;place-items:center;justify-self:stretch;min-height:400px;padding:24px 16px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-canvas)}.errors__coded[data-v-ad74a259] .dou-result__icon{width:auto;height:auto;border:0;background:none;box-shadow:none}.errors__code[data-v-ad74a259]{color:var(--dou-color-text-tertiary);font-size:56px;font-weight:var(--dou-font-weight-bold);font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.02em}.errors__detail[data-v-ad74a259]{display:flex;align-items:center;gap:8px}.signup[data-v-5e0a6a77]{container-type:inline-size;display:grid;gap:16px;width:100%;min-width:0}.signup__head[data-v-5e0a6a77]{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 16px}.signup__title[data-v-5e0a6a77]{margin:0 0 4px}.signup__builder[data-v-5e0a6a77]{--dou-form-builder-height: 620px}.signup__fill[data-v-5e0a6a77]{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:16px}.signup__paper[data-v-5e0a6a77]{padding:24px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background:var(--dou-color-bg-surface)}.signup__list[data-v-5e0a6a77]{display:grid;gap:12px}.signup__list-head[data-v-5e0a6a77]{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.signup__entries[data-v-5e0a6a77]{display:grid;gap:8px;margin:0;padding:0;list-style:none}.signup__entry[data-v-5e0a6a77]{display:grid;gap:8px;padding:12px 14px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background:var(--dou-color-bg-surface)}.signup__entry-head[data-v-5e0a6a77]{display:flex;align-items:center;justify-content:space-between;gap:8px}.signup__lines[data-v-5e0a6a77]{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;margin:0;font-size:var(--dou-font-size-sm)}.signup__lines dt[data-v-5e0a6a77]{color:var(--dou-color-text-secondary)}.signup__lines dd[data-v-5e0a6a77]{margin:0;overflow-wrap:anywhere}@container (width < 720px){.signup__fill[data-v-5e0a6a77]{grid-template-columns:minmax(0,1fr)}.signup__paper[data-v-5e0a6a77]{padding:16px}}@media (max-width: 640px){.signup__builder[data-v-5e0a6a77]{--dou-form-builder-height: 520px}}.files[data-v-bba1476b]{display:flex;width:100%;min-width:0;min-height:480px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface);overflow:hidden}.side[data-v-bba1476b]{flex:0 0 216px;padding:12px 8px;border-right:1px solid var(--dou-color-border);background-color:color-mix(in oklab,var(--dou-color-text) 2%,var(--dou-color-bg-surface));overflow:auto}.tree-icon[data-v-bba1476b]{color:var(--dou-color-text-tertiary)}.main[data-v-bba1476b]{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}.bar[data-v-bba1476b]{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 12px 0 16px;border-bottom:1px solid var(--dou-color-border)}.crumbs[data-v-bba1476b]{flex:1 1 auto;min-width:0}.actions[data-v-bba1476b]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px}.actions[data-v-bba1476b] .dou-upload{width:auto}.bulk[data-v-bba1476b]{display:flex;align-items:center;gap:4px;margin-left:auto}.content[data-v-bba1476b]{position:relative;flex:1 1 auto;min-height:0;padding:0 16px 16px;overflow:auto}.name-cell[data-v-bba1476b]{display:flex;align-items:center;gap:8px;min-width:0}.file-icon[data-v-bba1476b]{flex-shrink:0;color:var(--dou-color-text-tertiary)}.file-icon.folder[data-v-bba1476b],.tile-icon.folder[data-v-bba1476b]{color:var(--dou-color-text-secondary)}.name[data-v-bba1476b]{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.name-link[data-v-bba1476b]{margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}.name-link[data-v-bba1476b]:hover{text-decoration:underline;text-decoration-color:var(--dou-color-border-strong);text-underline-offset:3px}.grid[data-v-bba1476b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px}.tile[data-v-bba1476b]{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 8px 12px;border:1px solid transparent;border-radius:var(--dou-radius-container);text-align:center;transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.tile[data-v-bba1476b]:hover{background-color:var(--dou-color-bg-muted)}.tile.is-selected[data-v-bba1476b]{border-color:var(--dou-color-border-strong);background-color:var(--dou-color-bg-muted)}.tile-check[data-v-bba1476b]{position:absolute;top:8px;left:8px;opacity:0;transition:opacity var(--dou-motion-duration-fast) var(--dou-motion-easing)}.tile:hover .tile-check[data-v-bba1476b],.tile.is-selected .tile-check[data-v-bba1476b],.tile-check[data-v-bba1476b]:focus-within{opacity:1}@media (hover: none){.tile-check[data-v-bba1476b]{opacity:1}}.tile-icon[data-v-bba1476b]{display:grid;place-items:center;width:48px;height:48px;margin:0 0 4px;padding:0;border:0;border-radius:var(--dou-radius-control);background:none;color:var(--dou-color-text-tertiary);font-size:32px;cursor:pointer}.tile-icon[data-v-bba1476b]:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.tile-name[data-v-bba1476b]{width:100%;overflow-wrap:anywhere;color:var(--dou-color-text);font-size:var(--dou-font-size-sm)}.dropping[data-v-bba1476b]{position:absolute;top:0;right:16px;bottom:16px;left:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed var(--dou-color-border-strong);border-radius:var(--dou-radius-container);background-color:color-mix(in oklab,var(--dou-color-bg-surface) 88%,transparent);color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);pointer-events:none}.dropping svg[data-v-bba1476b]{width:24px;height:24px}.notices[data-v-b26965ec]{display:grid;gap:10px;margin:0;padding:0;list-style:none}.notices__item[data-v-b26965ec]{display:flex;align-items:flex-start;gap:8px;min-width:0;font-size:var(--dou-font-size-sm)}.notices__title[data-v-b26965ec]{flex:1 1 auto;min-width:0;display:-webkit-box;overflow:hidden;color:var(--dou-color-text);line-height:var(--dou-font-line-height);text-decoration:none;-webkit-box-orient:vertical;-webkit-line-clamp:2}.notices__title[data-v-b26965ec]:hover{text-decoration:underline}.notices__title[data-v-b26965ec]:focus-visible{border-radius:2px;outline:2px solid var(--dou-color-focus)}.notices__date[data-v-b26965ec]{flex:none;line-height:var(--dou-font-line-height);color:var(--dou-color-text-tertiary);font-variant-numeric:tabular-nums}.schedule[data-v-7b95ba0f]{display:grid;gap:10px;margin:0;padding:0;list-style:none}.schedule__item[data-v-7b95ba0f]{display:grid;grid-template-columns:3.2em minmax(0,1fr);gap:12px}.schedule__time[data-v-7b95ba0f]{color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);font-variant-numeric:tabular-nums;line-height:var(--dou-font-line-height)}.schedule__body[data-v-7b95ba0f]{display:grid;gap:2px;padding-left:12px;border-left:2px solid var(--dou-color-border)}.schedule__title[data-v-7b95ba0f]{color:var(--dou-color-text);font-size:var(--dou-font-size-sm);line-height:var(--dou-font-line-height)}.schedule__place[data-v-7b95ba0f]{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-xs)}.shortcuts[data-v-a1955995]{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.shortcuts__item[data-v-a1955995]{flex:1 0 68px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;border-radius:var(--dou-radius-control);color:var(--dou-color-text);font-size:var(--dou-font-size-sm);text-decoration:none}.shortcuts__item[data-v-a1955995]:hover{background:color-mix(in oklab,var(--dou-color-text) 6%,transparent)}.shortcuts__item[data-v-a1955995]:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.shortcuts__tile[data-v-a1955995]{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background:var(--dou-color-bg-surface)}.shortcuts__icon[data-v-a1955995]{width:20px;height:20px;color:var(--dou-color-text-secondary)}.field[data-v-0cd61f35]{display:grid;gap:8px;margin:0;padding:0;border:0}legend[data-v-0cd61f35]{margin-bottom:8px;padding:0;color:var(--dou-color-text);font-size:var(--dou-font-size-sm);font-weight:var(--dou-font-weight-medium)}.todo[data-v-928d379e]{display:flex;flex-direction:column;gap:8px;height:100%}.todo__count[data-v-928d379e]{margin:0;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.todo__list[data-v-928d379e]{display:grid;flex:1 1 auto;align-content:start;gap:6px;min-height:0;margin:0;padding:0;overflow:auto;list-style:none}.is-done[data-v-928d379e]{color:var(--dou-color-text-tertiary);text-decoration:line-through}.home[data-v-a7fcdedf]{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;width:100%;min-width:0}.home__body[data-v-a7fcdedf]{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.kanban[data-v-5c6e8552]{container-type:inline-size;display:flex;flex-direction:column;gap:16px;width:100%;min-width:0}.top[data-v-5c6e8552]{display:flex;align-items:center;justify-content:space-between;gap:16px}.name[data-v-5c6e8552]{flex:1 1 auto;min-width:0;margin:0;padding:0;border:0;color:var(--dou-color-text);font-size:var(--dou-font-size-lg);font-weight:var(--dou-font-weight-bold);line-height:28px;letter-spacing:normal}.columns[data-v-5c6e8552]{display:grid;grid-auto-columns:minmax(196px,1fr);grid-auto-flow:column;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 4px}.column[data-v-5c6e8552]{display:flex;flex-direction:column;gap:8px;min-width:0;padding:8px;border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-muted);scroll-snap-align:start}.column-head[data-v-5c6e8552]{display:flex;align-items:center;gap:6px;min-height:28px;padding-left:6px;color:var(--dou-color-text);font-size:var(--dou-font-size-sm);font-weight:var(--dou-font-weight-medium)}.column-title[data-v-5c6e8552]{flex:0 1 auto;min-width:0}.count[data-v-5c6e8552]{flex:1 1 auto;color:var(--dou-color-text-tertiary);font-variant-numeric:tabular-nums}.list[data-v-5c6e8552]{display:flex;flex-direction:column;gap:8px;min-height:48px}.card[data-v-5c6e8552]{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);color:var(--dou-color-text);font-size:var(--dou-font-size-sm);line-height:var(--dou-font-line-height);cursor:pointer;transition:border-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.card[data-v-5c6e8552]:hover{border-color:var(--dou-color-border-strong)}.labels[data-v-5c6e8552]{display:flex;flex-wrap:wrap;gap:4px}.title[data-v-5c6e8552]{overflow-wrap:anywhere}.meta[data-v-5c6e8552]{display:flex;align-items:center;gap:8px;min-height:24px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-xs);font-variant-numeric:tabular-nums}.meta-item[data-v-5c6e8552]{display:inline-flex;white-space:nowrap;align-items:center;gap:4px}.meta-item.done[data-v-5c6e8552]{color:var(--dou-color-success)}.meta-end[data-v-5c6e8552]{display:inline-flex;align-items:center;gap:4px;margin-left:auto}.more[data-v-5c6e8552]{margin-right:-6px}.drop[data-v-5c6e8552]{display:flex;align-items:center;justify-content:center;height:48px;border:1px dashed var(--dou-color-border-strong);border-radius:var(--dou-radius-control);color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.detail[data-v-5c6e8552]{display:flex;flex-direction:column;gap:20px}.detail-title[data-v-5c6e8552]{margin:0;padding:0;border:0;color:var(--dou-color-text);font-size:var(--dou-font-size-md);font-weight:var(--dou-font-weight-medium);line-height:var(--dou-font-line-height);letter-spacing:normal}.fields[data-v-5c6e8552]{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px 16px;margin:0}.fields dt[data-v-5c6e8552]{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.fields dd[data-v-5c6e8552]{min-width:0;margin:0}.section-title[data-v-5c6e8552]{margin:0 0 8px;padding:0;border:0;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm);font-weight:var(--dou-font-weight-regular);line-height:var(--dou-font-line-height);letter-spacing:normal}@container (max-width: 640px){.columns[data-v-5c6e8552]{grid-auto-columns:82cqi}}.login[data-v-0d6d5dc9]{display:grid;place-items:center;width:100%;padding:48px 16px;box-sizing:border-box}.login__panel[data-v-0d6d5dc9]{display:grid;gap:20px;width:100%;max-width:360px;padding:32px;box-sizing:border-box;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-md)}.login__head[data-v-0d6d5dc9]{display:grid;gap:6px}.login__row[data-v-0d6d5dc9]{display:flex;align-items:center;justify-content:space-between;margin:-4px 0 8px}.login__or[data-v-0d6d5dc9]{margin-block:0}.login__foot[data-v-0d6d5dc9]{text-align:center}.monitor[data-v-277b2181]{display:grid;gap:16px;width:100%;min-width:0}.monitor__cards[data-v-277b2181]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.monitor__cards .is-bad[data-v-277b2181] .dou-statistic__value{color:var(--dou-color-danger-text)}.monitor__body[data-v-277b2181]{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:12px;align-items:start}.monitor__charts[data-v-277b2181]{min-width:0}.monitor__charts section+section[data-v-277b2181]{margin-top:16px}.monitor__charts section[data-v-277b2181]{display:grid;gap:4px}.monitor__charts h3[data-v-277b2181]{margin:0;font-size:var(--dou-font-size-sm)}@media (max-width: 760px){.monitor__body[data-v-277b2181]{grid-template-columns:minmax(0,1fr)}}.ops[data-v-d4d7dce6]{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;width:100%;min-width:0}.plan[data-v-0ae8601d]{display:grid;gap:16px;width:100%;min-width:0}.plan__head[data-v-0ae8601d]{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}.plan__title[data-v-0ae8601d]{margin:0 0 4px}.plan__stats[data-v-0ae8601d]{display:flex;gap:24px;margin:0}.plan__stats dt[data-v-0ae8601d]{color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}.plan__stats dd[data-v-0ae8601d]{margin:2px 0 0;font-size:var(--dou-font-size-lg);font-weight:var(--dou-font-weight-medium);font-variant-numeric:tabular-nums}.plan__stats dd.is-warning[data-v-0ae8601d]{color:var(--dou-color-warning-text)}.plan__bar[data-v-0ae8601d]{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.plan__spacer[data-v-0ae8601d]{flex:1}.plan__gantt[data-v-0ae8601d]{height:460px}.repair[data-v-c7addeff]{container-type:inline-size;display:grid;gap:16px;width:100%;min-width:0}.repair__head[data-v-c7addeff]{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 16px}.repair__title[data-v-c7addeff]{margin:0 0 4px}.repair__builder[data-v-c7addeff]{--dou-form-builder-height: 620px}.repair__fill[data-v-c7addeff]{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:16px}.repair__paper[data-v-c7addeff]{padding:24px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background:var(--dou-color-bg-surface)}.repair__list[data-v-c7addeff]{display:grid;gap:12px}.repair__tickets[data-v-c7addeff]{display:grid;gap:8px;margin:0;padding:0;list-style:none}.repair__ticket[data-v-c7addeff]{display:grid;gap:6px;padding:12px 14px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background:var(--dou-color-bg-surface)}.repair__ticket-head[data-v-c7addeff]{display:flex;align-items:center;justify-content:space-between;gap:8px}.repair__no[data-v-c7addeff]{font-variant-numeric:tabular-nums}.repair__lines[data-v-c7addeff]{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;margin:2px 0 0;font-size:var(--dou-font-size-sm)}.repair__lines dt[data-v-c7addeff]{color:var(--dou-color-text-secondary)}.repair__lines dd[data-v-c7addeff]{margin:0;overflow-wrap:anywhere}@container (width < 720px){.repair__fill[data-v-c7addeff]{grid-template-columns:minmax(0,1fr)}.repair__paper[data-v-c7addeff]{padding:16px}}@media (max-width: 640px){.repair__builder[data-v-c7addeff]{--dou-form-builder-height: 520px}}.rooms[data-v-bc0b6d62]{display:grid;gap:12px;width:100%;min-width:0}.rooms__bar[data-v-bc0b6d62]{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.rooms__date[data-v-bc0b6d62]{display:flex;align-items:center;gap:4px}.rooms__day[data-v-bc0b6d62]{min-width:96px;text-align:center;font-variant-numeric:tabular-nums}.rooms__spacer[data-v-bc0b6d62]{flex:1}.rooms__chart[data-v-bc0b6d62]{height:320px}.rooms__room[data-v-bc0b6d62]{display:inline-flex;align-items:baseline;gap:6px}.rooms__time[data-v-bc0b6d62]{display:flex;align-items:center;gap:8px}.rooms__time[data-v-bc0b6d62]>:not(.dou-text){flex:1}.rooms__delete[data-v-bc0b6d62]{margin-right:auto}.sales[data-v-7c10201d]{display:grid;gap:16px;width:100%;min-width:0}.sales__views[data-v-7c10201d]{justify-self:start;max-width:100%}.sales__main[data-v-7c10201d]{display:flex;align-items:flex-start;gap:12px;min-width:0}.sales__fields[data-v-7c10201d]{flex:none;width:280px}.sales__content[data-v-7c10201d]{display:grid;flex:1;gap:12px;min-width:0}@media (max-width: 639px){.sales__main[data-v-7c10201d]{flex-direction:column;align-items:stretch}.sales__fields[data-v-7c10201d]{width:auto}.sales__content[data-v-7c10201d]{flex:none}}.services-widget[data-v-2619932b]{container-type:inline-size}.services__head[data-v-2619932b],.service[data-v-2619932b]{display:grid;grid-template-columns:8px minmax(3em,1fr) 4.5em 4.5em 4.5em;align-items:center;gap:10px;padding:0 8px}.services__head[data-v-2619932b]{margin-bottom:4px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-xs)}.services__head span[data-v-2619932b]:nth-child(n+3){text-align:right}.services[data-v-2619932b]{display:grid;gap:2px;margin:0;padding:0;list-style:none}.service[data-v-2619932b]{width:100%;min-height:32px;border:0;border-radius:var(--dou-radius-control);background:transparent;color:var(--dou-color-text);font:inherit;font-size:var(--dou-font-size-sm);text-align:left;cursor:pointer}.service[data-v-2619932b]:hover:not(:disabled){background:color-mix(in oklab,var(--dou-color-text) 6%,transparent)}.service[data-v-2619932b]:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.service[data-v-2619932b]:disabled{cursor:default}.service.is-picked[data-v-2619932b]{background:color-mix(in oklab,var(--dou-color-text) 10%,transparent);font-weight:var(--dou-font-weight-medium)}.service__name[data-v-2619932b]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service__metric[data-v-2619932b]{color:var(--dou-color-text-secondary);font-variant-numeric:tabular-nums;text-align:right}.service__metric.is-high[data-v-2619932b]{color:var(--dou-color-danger-text)}@container (max-width: 320px){.services__head[data-v-2619932b],.service[data-v-2619932b]{grid-template-columns:8px minmax(3em,1fr) 4.5em 4.5em}.is-rps[data-v-2619932b]{display:none}}@media (pointer: coarse){.service[data-v-2619932b]{min-height:40px}}.services-page[data-v-54923d30]{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;width:100%;min-width:0}.services-page__hint[data-v-54923d30]{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.settings[data-v-b3d7c258]{display:grid;grid-template-columns:180px minmax(0,1fr);gap:32px;width:100%;min-height:440px}.settings__main[data-v-b3d7c258]{display:flex;flex-direction:column;gap:24px;min-width:0;max-width:520px}.settings__head[data-v-b3d7c258]{display:grid;gap:4px;padding-bottom:16px;border-bottom:1px solid var(--dou-color-border-subtle)}.settings__avatar[data-v-b3d7c258]{display:flex;align-items:center;gap:16px}.settings__list[data-v-b3d7c258]{display:grid}.settings__item[data-v-b3d7c258]{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0;border-bottom:1px solid var(--dou-color-border-subtle);cursor:pointer}.settings__text[data-v-b3d7c258]{display:grid;gap:2px}.settings__bar[data-v-b3d7c258]{position:sticky;bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding:8px 8px 8px 16px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-lg)}@media (max-width: 640px){.settings[data-v-b3d7c258]{grid-template-columns:minmax(0,1fr);gap:16px}}.shifts[data-v-a81ca736]{display:grid;gap:16px;width:100%;min-width:0}.shifts__main[data-v-a81ca736]{display:grid;gap:16px}.shifts__sheet[data-v-a81ca736]{height:420px}.shifts__list[data-v-a81ca736]{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0;padding:0;list-style:none;font-size:var(--dou-font-size-sm)}.shifts__list li[data-v-a81ca736]{display:flex;align-items:center;gap:8px}.tickets[data-v-b5e90346]{display:grid;gap:16px;width:100%;min-width:0}.tickets__cards[data-v-b5e90346]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.tickets__tools[data-v-b5e90346]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:12px}.breakpoints-demo[data-v-78aa2360]{display:grid;gap:12px}.breakpoints-demo__flags[data-v-78aa2360]{display:flex;flex-wrap:wrap;gap:8px}.wrap[data-v-487d6ec5]{display:grid;gap:12px;width:100%;min-width:0}.carousel-demo-slide[data-v-55c0e88d]{display:flex;flex-direction:column;justify-content:center;gap:8px;height:200px;padding:0 64px;background:linear-gradient(135deg,color-mix(in oklab,var(--tone) 18%,var(--dou-color-bg-surface)),color-mix(in oklab,var(--tone) 6%,var(--dou-color-bg-surface)));color:var(--dou-color-text)}.carousel-demo-slide strong[data-v-55c0e88d]{font-size:20px;font-weight:600}.carousel-demo-slide span[data-v-55c0e88d]{color:var(--dou-color-text-secondary)}.carousel-demo-fade[data-v-92270350]{display:grid;place-items:center;height:160px;background-color:var(--dou-color-bg-muted);color:var(--dou-color-text-secondary);font-size:18px}.carousel-demo-vertical[data-v-f1874d7a]{display:grid;place-items:center;height:100%;background-color:var(--dou-color-bg-muted);color:var(--dou-color-text-secondary);font-size:18px}.brush[data-v-d5e242be]{width:100%}.note[data-v-d5e242be]{margin:8px 0 0;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.donut-total[data-v-cb742f2a]{font-size:24px;font-weight:600;line-height:32px}.donut-label[data-v-cb742f2a]{color:var(--dou-color-text-tertiary);font-size:12px}.gauges[data-v-99544a6c]{display:flex;flex-wrap:wrap;gap:16px;width:100%}.gauges[data-v-99544a6c]>*{flex:1 1 220px;min-width:0}.large[data-v-afe066cc]{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:12px}.large[data-v-afe066cc]>.dou-chart{align-self:stretch}.demo[data-v-57ca39d9]{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:16px}.live[data-v-087341e7]{display:flex;width:100%;flex-direction:column;gap:12px}.half-total[data-v-47cc3ca0]{font-size:24px;font-weight:600;line-height:32px}.half-label[data-v-47cc3ca0]{color:var(--dou-color-text-tertiary);font-size:12px}.sunburst-total[data-v-a8964fbb]{font-size:22px;font-weight:600;line-height:30px}.sunburst-label[data-v-a8964fbb]{color:var(--dou-color-text-tertiary);font-size:12px}.demo[data-v-6e60cc2d]{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:16px}.toggle[data-v-6e60cc2d]{display:inline-flex;align-items:center;gap:8px;font-size:var(--dou-font-size-sm)}.tip-title[data-v-067f10e8]{margin-bottom:6px;color:var(--dou-color-text);font-weight:var(--dou-font-weight-medium)}.tip-row[data-v-067f10e8]{display:flex;gap:6px;align-items:center;line-height:20px}.tip-swatch[data-v-067f10e8]{width:8px;height:8px;border-radius:2px}.tip-name[data-v-067f10e8]{flex:1;margin-right:12px}.tip-share[data-v-067f10e8]{width:36px;color:var(--dou-color-text-tertiary);text-align:right}.linked[data-v-4f0a27f2]{display:flex;width:100%;flex-direction:column;gap:16px}.zoom[data-v-b4959949]{width:100%}.note[data-v-b4959949]{margin:8px 0 0;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.text[data-v-a92e5ea0]{margin:8px 0 0}.code[data-v-0accb122]{margin:0;padding:8px 10px;border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-muted);font-family:var(--dou-font-family-mono);font-size:12px}.sent[data-v-b21b59a5]{margin:0;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}.list[data-v-e9660688],.list[data-v-b3ffa748]{height:320px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container)}.forecast[data-v-b690894a]{display:flex;flex-wrap:wrap;gap:8px}.day[data-v-b690894a]{display:flex;flex-direction:column;gap:2px;width:96px;padding:10px 12px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);font-size:var(--dou-font-size-sm)}.range[data-v-b690894a]{color:var(--dou-color-text-tertiary)}.text[data-v-04e014c6]{margin:0}.picked[data-v-da4a2b4f]{margin:0;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}.workbench[data-v-098e1506]{display:grid;grid-template-columns:minmax(0,1fr);height:640px;overflow:hidden;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-canvas)}.workbench.has-panel[data-v-098e1506]{grid-template-columns:minmax(0,1fr) minmax(0,300px)}.chat[data-v-098e1506]{display:flex;flex-direction:column;min-height:0}.list[data-v-098e1506]{flex:1 1 auto}.input[data-v-098e1506]{flex:none;width:auto;margin:0 16px 16px}.panel[data-v-098e1506]{display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--dou-color-border);background-color:var(--dou-color-bg-surface)}.panel-header[data-v-098e1506]{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 8px 16px;border-bottom:1px solid var(--dou-color-border);font-size:var(--dou-font-size-sm);font-weight:var(--dou-font-weight-medium)}.panel-body[data-v-098e1506]{flex:1 1 auto;margin:0;border-radius:0;background:none;padding:16px;overflow:auto;font-family:var(--dou-font-family-mono);font-size:13px;line-height:22px;white-space:pre-wrap}.welcome[data-v-7e3cb277]{display:flex;flex-direction:column;gap:16px;max-width:560px;margin:24px auto}.title[data-v-7e3cb277]{margin:0;font-size:20px;font-weight:var(--dou-font-weight-bold);text-align:center}.code-collab[data-v-365d60de]{display:flex;flex-direction:column;gap:16px}.code-collab__switch[data-v-365d60de]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.code-collab__toggle[data-v-365d60de]{display:inline-flex;align-items:center;gap:8px;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-md)}.code-collab__status[data-v-365d60de]{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.code-collab__panes[data-v-365d60de]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));min-height:300px;gap:16px}.code-collab__pane[data-v-365d60de]{min-width:0}.code-collab__name[data-v-365d60de]{margin:0 0 8px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}[data-v-56a07cb9] .demo-todo{border-radius:2px;background-color:color-mix(in oklab,var(--dou-color-warning) 20%,transparent)}[data-v-56a07cb9] .demo-breakpoint:before{width:8px;height:8px;border-radius:50%;background-color:var(--dou-color-danger);content:""}[data-v-56a07cb9] .demo-breakpoint-line{background-color:color-mix(in oklab,var(--dou-color-danger) 8%,transparent)}[data-v-56a07cb9] .demo-status{padding:4px 12px;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}.demo-submitted[data-v-90d40791]{margin:0;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}.touch-demo[data-v-1ddd2a5c]{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--dou-radius-container)}@media (pointer: coarse){.touch-demo__keys[data-v-1ddd2a5c]{display:none}}[data-v-5bcc82b6] .demo-swatch{display:inline-block;box-sizing:border-box;width:12px;height:12px;margin:4px 6px 0 0;border:1px solid var(--dou-color-border);border-radius:3px;vertical-align:top}[data-v-5bcc82b6] .demo-comment{display:flex;gap:8px;align-items:flex-start;margin:4px 12px 4px 0;padding:8px 12px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface)}[data-v-5bcc82b6] .demo-comment-body{flex:1;min-width:0;color:var(--dou-color-text)}[data-v-5bcc82b6] .demo-comment-author{color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-xs)}.stack[data-v-7ec8a5f8]{display:flex;flex-direction:column;gap:16px;align-items:flex-start;max-width:100%}.row[data-v-7ec8a5f8]{display:flex;flex-wrap:wrap;gap:12px;align-items:center;max-width:100%}.row>.dou-color-picker[data-v-7ec8a5f8]{max-width:100%}.clipboard-demo[data-v-6ff341aa]{display:flex;align-items:center;gap:12px;padding:8px 8px 8px 14px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);font-family:var(--dou-font-family-mono);font-size:var(--dou-font-size-sm)}.box[data-v-fa47a664]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;box-sizing:border-box;width:240px;min-width:120px;max-width:100%;height:120px;min-height:80px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);overflow:hidden;resize:both}.floating-demo[data-v-9dea0624]{padding:8px 12px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-md);color:var(--dou-color-text);font-size:var(--dou-font-size-sm)}.hotkey-demo[data-v-34fb7650]{display:grid;gap:8px;max-width:320px}.hotkey-demo__row[data-v-34fb7650]{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-radius:6px;transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.hotkey-demo__row.is-active[data-v-34fb7650]{background-color:var(--dou-color-bg-muted)}.wrap[data-v-67fa1909]{display:flex;flex-direction:column;gap:8px;width:100%;max-width:320px}.scroller[data-v-67fa1909]{height:120px;padding:12px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);overflow:auto}.target[data-v-67fa1909]{display:flex;align-items:center;justify-content:center;height:64px;margin-top:160px;margin-bottom:40px;border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-muted);color:var(--dou-color-text-secondary);transition:background-color var(--dou-motion-duration-fast) var(--dou-motion-easing)}.target.is-visible[data-v-67fa1909]{background-color:color-mix(in oklab,var(--dou-color-text) 12%,transparent);color:var(--dou-color-text)}.copy-demo{display:flex;align-items:center;justify-content:space-between;max-width:360px;padding:6px 6px 6px 16px;border:1px solid var(--dou-color-border-subtle);border-radius:var(--dou-radius-container);background-color:color-mix(in oklab,var(--dou-color-text) 2.5%,var(--dou-color-bg-surface))}.copy-demo code{padding:0;background:none;font-size:14px}.demo[data-v-a0da726e]{display:flex;width:100%;flex-direction:column;gap:12px}.bar[data-v-a0da726e]{display:inline-flex;align-items:center;gap:8px;font-size:var(--dou-font-size-sm)}.tile[data-v-a0da726e] .dou-card__body{display:flex;flex-direction:column;justify-content:space-between;gap:8px}.demo[data-v-0c325122]{display:flex;flex-direction:column;gap:12px;width:100%}.dashboard-collab[data-v-eacee8f4]{display:flex;flex-direction:column;min-height:900px;gap:16px}.dashboard-collab__switch[data-v-eacee8f4]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.dashboard-collab__toggle[data-v-eacee8f4]{display:inline-flex;align-items:center;gap:8px;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-md)}.dashboard-collab__status[data-v-eacee8f4]{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.dashboard-collab__pane[data-v-eacee8f4]{min-width:0}.dashboard-collab__name[data-v-eacee8f4]{margin:0 0 8px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.bars[data-v-e5d99c17]{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.bars li[data-v-e5d99c17]{margin:0}.bar[data-v-e5d99c17]{display:grid;grid-template-columns:3em 1fr 4.5em;align-items:center;gap:8px;width:100%;height:28px;padding:0 4px;border:0;border-radius:var(--dou-radius-sm);background:none;color:var(--dou-color-text);font:inherit;font-size:var(--dou-font-size-sm);text-align:left;cursor:pointer}.bar[data-v-e5d99c17]:hover{background:var(--dou-color-bg-muted)}.bar[data-v-e5d99c17]:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}.bar.is-dim[data-v-e5d99c17]{color:var(--dou-color-text-tertiary)}.track[data-v-e5d99c17]{height:8px;border-radius:4px;background:var(--dou-color-bg-muted);overflow:hidden}.fill[data-v-e5d99c17]{display:block;height:100%;border-radius:inherit;background:var(--dou-color-text-tertiary)}.is-picked .fill[data-v-e5d99c17]{background:var(--dou-color-text)}.is-dim .fill[data-v-e5d99c17]{opacity:.5}.value[data-v-e5d99c17]{color:var(--dou-color-text-secondary);font-variant-numeric:tabular-nums;text-align:right}.metric[data-v-dfbaac21]{display:flex;align-items:flex-end;height:100%}.demo[data-v-c6458fc8]{display:flex;flex-direction:column;gap:12px;width:100%}.note[data-v-c6458fc8]{margin:0;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.note[data-v-356fe93b]{margin:0;color:var(--dou-color-text-secondary);line-height:var(--dou-font-line-height);white-space:pre-wrap}.field[data-v-188a7e56]{display:flex;flex-direction:column;gap:8px;color:var(--dou-color-text);font-size:var(--dou-font-size-sm);font-weight:var(--dou-font-weight-medium)}.stat[data-v-e227d040]{display:flex;align-items:flex-end;height:100%}.demo[data-v-3d394ddb]{display:flex;flex-direction:column;gap:12px;width:100%}.bar[data-v-3d394ddb]{display:flex;align-items:center;gap:4px;min-height:32px}.switch[data-v-3d394ddb]{margin-right:8px}.body[data-v-3d394ddb]{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px}.palette[data-v-3d394ddb]{flex:0 0 auto}.board[data-v-3d394ddb]{flex:1 1 320px;min-width:0}@media (max-width: 640px){.palette[data-v-3d394ddb]{flex:1 1 100%;flex-direction:row;flex-wrap:wrap}}.demo[data-v-424b7c05]{display:flex;flex-wrap:wrap;gap:16px;width:100%}.palette[data-v-424b7c05]{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.palette li[data-v-424b7c05]{margin:0}.palette button[data-v-424b7c05]{display:flex;width:100%;align-items:center;gap:8px;height:32px;padding:0 12px;box-sizing:border-box;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);color:inherit;font:inherit;font-size:var(--dou-font-size-sm);cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.palette button[data-v-424b7c05]:hover{border-color:var(--dou-color-border-strong)}.palette button[data-v-424b7c05]:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.board[data-v-424b7c05]{flex:1 1 320px;min-height:216px;padding:8px;border:1px dashed var(--dou-color-border);border-radius:var(--dou-radius-container);box-sizing:border-box}@media (max-width: 640px){.palette[data-v-424b7c05]{flex-direction:row;flex-wrap:wrap}}.tile[data-v-424b7c05]{display:grid;place-items:center;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface);font-size:var(--dou-font-size-sm)}.demo[data-v-1a62ac95]{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:12px}.board[data-v-1a62ac95]{align-self:stretch;min-height:248px;border-radius:var(--dou-radius-container);background-image:radial-gradient(var(--dou-color-border) 1px,transparent 1px);background-size:16px 16px}.note[data-v-1a62ac95]{display:grid;place-items:center;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);color:var(--dou-color-text-secondary);font-variant-numeric:tabular-nums}.tile[data-v-dde64605]{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface)}.tile-head[data-v-dde64605]{display:flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-bottom:1px solid var(--dou-color-border-subtle);font-size:var(--dou-font-size-sm);font-weight:500}.grip[data-v-dde64605]{color:var(--dou-color-text-tertiary)}.tile-body[data-v-dde64605]{display:flex;flex:1;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;font-size:var(--dou-font-size-sm)}.tile-body[data-v-dde64605] .dou-progress{flex:1}.tile[data-v-20f37e78]{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:0 16px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface);font-size:var(--dou-font-size-sm)}.tile.locked[data-v-20f37e78]{flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;background-color:color-mix(in oklab,var(--dou-color-text) 3%,var(--dou-color-bg-surface));color:var(--dou-color-text-secondary)}.size[data-v-20f37e78]{color:var(--dou-color-text-tertiary);font-variant-numeric:tabular-nums}.demo[data-v-7180ede2]{display:flex;flex-direction:column;gap:12px;width:100%}.bar[data-v-7180ede2]{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.note[data-v-7180ede2]{color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);font-variant-numeric:tabular-nums}.frame[data-v-7180ede2]{max-width:100%;padding:8px;border:1px dashed var(--dou-color-border);border-radius:var(--dou-radius-container);box-sizing:border-box}.tile[data-v-7180ede2]{display:grid;place-items:center;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-surface);font-size:var(--dou-font-size-sm)}.demo[data-v-6833b025]{display:flex;width:100%;flex-direction:column;gap:12px}.demo[data-v-3e15fefd]{display:flex;flex-direction:column;gap:12px;width:100%}.bar[data-v-3e15fefd]{display:flex;flex-wrap:wrap;gap:8px}.log[data-v-3e15fefd]{max-height:200px;margin:0;overflow:auto;padding:12px;border-radius:var(--dou-radius-container);background:var(--dou-color-bg-muted);font-family:var(--dou-font-family-mono);font-size:var(--dou-font-size-sm);white-space:pre-wrap;word-break:break-all}.log[data-v-2ed86b5f]{margin:0;color:var(--dou-color-text-secondary);font-family:var(--dou-font-family-mono);font-size:var(--dou-font-size-sm);white-space:pre-wrap}.row[data-v-1498d7aa]{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.card[data-v-1b4ce779]{display:flex;flex-direction:column;gap:8px;width:100%;max-width:360px}.title[data-v-1b4ce779]{margin:0;color:var(--dou-color-text);font-size:var(--dou-font-size-lg);font-weight:var(--dou-font-weight-bold);line-height:28px}.row[data-v-7c220990]{display:flex;align-items:center;gap:8px;min-height:32px;width:100%;max-width:320px}.name[data-v-7c220990]{flex:1 1 auto}.row[data-v-56c3f371]{display:grid;grid-template-columns:auto minmax(0,200px);align-items:baseline;gap:16px}.collab-demo[data-v-8ae84d18]{display:flex;flex-direction:column;gap:16px}.collab-demo__switch[data-v-8ae84d18]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.collab-demo__toggle[data-v-8ae84d18]{display:inline-flex;align-items:center;gap:8px;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-md)}.collab-demo__status[data-v-8ae84d18]{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.collab-demo__editors[data-v-8ae84d18]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));min-height:280px;gap:16px}.collab-demo__pane[data-v-8ae84d18]{min-width:0;padding:12px 12px 12px 0;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container)}.collab-demo__name[data-v-8ae84d18]{margin:0 0 8px 16px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.comments-demo[data-v-ad5f9ae2]{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px}@media (max-width: 720px){.comments-demo[data-v-ad5f9ae2]{grid-template-columns:minmax(0,1fr)}}.comments-demo__side[data-v-ad5f9ae2]{display:flex;flex-direction:column;gap:8px;min-width:0}.comments-demo__title[data-v-ad5f9ae2]{color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);font-weight:var(--dou-font-weight-medium)}.comments-demo__item[data-v-ad5f9ae2]{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background:none;color:var(--dou-color-text);font:inherit;font-size:var(--dou-font-size-sm);text-align:start;cursor:pointer}.comments-demo__item[data-v-ad5f9ae2]:hover{background-color:var( --dou-color-fill-hover, color-mix(in oklab, currentColor 4%, transparent) )}.comments-demo__item.is-active[data-v-ad5f9ae2]{border-color:var(--dou-color-warning)}.comments-demo__quote[data-v-ad5f9ae2]{padding-inline-start:8px;border-inline-start:2px solid var(--dou-color-warning);color:var(--dou-color-text-secondary)}.comments-demo__text[data-v-ad5f9ae2]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comments-demo__count[data-v-ad5f9ae2],.comments-demo__empty[data-v-ad5f9ae2]{margin:0;color:var(--dou-color-text-tertiary);font-size:12px}.decision[data-v-795eb34e]{--decision-tone: var(--dou-color-text-secondary);display:flex;gap:10px}.decision--yes[data-v-795eb34e]{--decision-tone: var(--dou-color-success)}.decision--no[data-v-795eb34e]{--decision-tone: var(--dou-color-danger)}.decision__state[data-v-795eb34e]{flex:none;height:22px;margin-top:calc((1lh - 22px)/2);padding:0 8px;border:1px solid color-mix(in oklab,var(--decision-tone) 30%,var(--dou-color-border));border-radius:var(--dou-radius-full);background:color-mix(in oklab,var(--decision-tone) 8%,var(--dou-color-bg-surface));color:var(--decision-tone);font:inherit;font-size:var(--dou-font-size-sm);line-height:20px;cursor:pointer}.decision__state[data-v-795eb34e]:disabled{cursor:default}.decision__text[data-v-795eb34e]{flex:1 1 auto;min-width:0}.editing-actions[data-v-df79d0b9]{display:flex;flex-wrap:wrap;gap:8px}.editing-status[data-v-df79d0b9]{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}.outline-demo[data-v-7303010c]{display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px}.outline-demo__nav[data-v-7303010c]{display:flex;flex-direction:column;gap:2px;border-inline-end:1px solid var(--dou-color-border);padding-inline-end:8px}.outline-demo__nav .dou-button[data-v-7303010c]{justify-content:flex-start;color:var(--dou-color-text-secondary);font-weight:400}.outline-demo__nav .dou-button.is-active[data-v-7303010c]{color:var(--dou-color-text);font-weight:600}@media (pointer: coarse){.outline-demo__nav .dou-button[data-v-7303010c]{min-height:40px}}@media (max-width: 640px){.outline-demo[data-v-7303010c]{grid-template-columns:minmax(0,1fr)}.outline-demo__nav[data-v-7303010c]{border-inline-end:0;border-block-end:1px solid var(--dou-color-border);padding-inline-end:0;padding-block-end:8px}}.versions-demo[data-v-8e4fdc82]{display:flex;flex-direction:column;gap:12px}.versions-demo__bar[data-v-8e4fdc82]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.files[data-v-bdc09ad0]{width:240px;margin:0;padding:4px 0;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);list-style:none;font-family:var(--dou-font-family-mono);font-size:13px}li[data-v-bdc09ad0]{margin:0;padding:6px 12px}.find-demo[data-v-8b0193a3]{display:flex;flex-direction:column;gap:12px;align-items:flex-start;container-type:inline-size;width:100%}.find-demo__list[data-v-8b0193a3]{margin:0;padding-left:20px;color:var(--dou-color-text);font-size:var(--dou-font-size-md);line-height:1.8;border-radius:4px}.find-demo__match[data-v-8b0193a3]{border-radius:2px;background-color:color-mix(in oklab,var(--dou-color-warning) 22%,transparent);color:inherit}.find-demo__match.is-current[data-v-8b0193a3]{box-shadow:0 0 0 1px color-mix(in oklab,var(--dou-color-warning-text) 80%,transparent)}.flow-collab[data-v-fd304f47]{display:flex;flex-direction:column;min-height:680px;gap:16px}.flow-collab__switch[data-v-fd304f47]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.flow-collab__toggle[data-v-fd304f47]{display:inline-flex;align-items:center;gap:8px;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-md)}.flow-collab__status[data-v-fd304f47]{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.flow-collab__pane[data-v-fd304f47]{min-width:0}.flow-collab__name[data-v-fd304f47]{margin:0 0 8px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.prompt-node[data-v-932f41e9]{width:240px;padding-bottom:12px}.prompt-node__head[data-v-932f41e9]{position:relative;display:flex;align-items:center;height:40px;padding:0 12px;font-weight:var(--dou-font-weight-medium)}.prompt-node__input[data-v-932f41e9]{display:block;box-sizing:border-box;width:calc(100% - 24px);margin:0 12px;padding:6px 8px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background:var(--dou-color-bg-canvas);color:inherit;font:inherit;font-size:max(var(--dou-font-size-input-min),var(--dou-font-size-sm));line-height:20px;resize:none}.prompt-node__input[data-v-932f41e9]:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:2px}.edges-demo[data-v-f5733098]{width:100%;display:grid;gap:12px;justify-items:start}.review-flow[data-v-a771fbc9]{display:flex;gap:12px}.review-flow__panel[data-v-a771fbc9]{display:flex;flex:none;flex-direction:column;gap:2px;width:136px}.review-flow__group[data-v-a771fbc9]{padding:10px 8px 6px}.review-flow__item[data-v-a771fbc9]{display:flex;align-items:center;gap:8px;height:32px;padding:0 8px;border:0;border-radius:var(--dou-radius-control);background:none;color:var(--dou-color-text);font:inherit;font-size:var(--dou-font-size-sm);cursor:grab}.review-flow__item[data-v-a771fbc9]:hover{background-color:var(--dou-color-bg-muted)}.review-flow__item[data-v-a771fbc9]:focus-visible{outline:2px solid var(--dou-color-focus);outline-offset:-2px}@media (width < 640px){.review-flow[data-v-a771fbc9]{flex-direction:column}.review-flow__panel[data-v-a771fbc9]{flex-direction:row;flex-wrap:wrap;width:auto}.review-flow__group[data-v-a771fbc9]{display:none}}.mark-ring[data-v-3a057455]{position:absolute;border:1px dashed var(--dou-color-border-strong);border-radius:calc(var(--dou-radius-container) + 6px);background-color:color-mix(in oklab,var(--dou-color-text) 4%,transparent);pointer-events:none}.form-node[data-v-5eb4337c]{width:256px}.form-node__head[data-v-5eb4337c]{position:relative;display:flex;align-items:center;height:40px;padding:0 12px;border-bottom:1px solid var(--dou-color-border-subtle);font-weight:var(--dou-font-weight-medium)}.form-node__body[data-v-5eb4337c]{display:grid;gap:12px;padding:12px}.form-node__field[data-v-5eb4337c]{display:grid;gap:6px;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}.form-node__field.is-inline[data-v-5eb4337c]{grid-template-columns:1fr auto;align-items:center}.variable-node[data-v-4e157ac9]{width:192px}.variable-node__head[data-v-4e157ac9]{position:relative;display:flex;align-items:center;height:40px;padding:0 12px;border-bottom:1px solid var(--dou-color-border-subtle);font-weight:var(--dou-font-weight-medium)}.variable-node__body[data-v-4e157ac9]{padding:12px}.board-collab[data-v-f7675260]{display:flex;flex-direction:column;min-height:680px;gap:16px}.board-collab__switch[data-v-f7675260]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.board-collab__toggle[data-v-f7675260]{display:inline-flex;align-items:center;gap:8px;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-md)}.board-collab__status[data-v-f7675260]{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.board-collab__pane[data-v-f7675260]{min-width:0}.board-collab__name[data-v-f7675260]{margin:0 0 8px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.builder-parts[data-v-6d993c2a]{display:grid;grid-template-columns:220px minmax(0,1fr) 260px;height:520px}.builder-parts__start[data-v-6d993c2a],.builder-parts__end[data-v-6d993c2a]{display:flex;min-height:0;overflow:auto}.builder-parts__start[data-v-6d993c2a]{border-inline-end:1px solid var(--dou-color-border)}.builder-parts__end[data-v-6d993c2a]{border-inline-start:1px solid var(--dou-color-border)}.form-collab[data-v-bc9205ea]{display:flex;flex-direction:column;min-height:1040px;gap:16px}.form-collab__switch[data-v-bc9205ea]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.form-collab__toggle[data-v-bc9205ea]{display:inline-flex;align-items:center;gap:8px;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-md)}.form-collab__status[data-v-bc9205ea]{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.form-collab__pane[data-v-bc9205ea]{min-width:0}.form-collab__name[data-v-bc9205ea]{margin:0 0 8px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.form-collab__builder[data-v-bc9205ea]{--dou-form-builder-height: 480px}@media (max-width: 640px){.form-collab[data-v-bc9205ea]{min-height:840px}.form-collab__builder[data-v-bc9205ea]{--dou-form-builder-height: 380px}}.contact[data-v-42c636f4]{display:flex;flex-direction:column;gap:8px;padding:12px 16px 16px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container)}.contact__head[data-v-42c636f4]{display:flex;align-items:center;justify-content:space-between;margin-right:-8px}.contact__fields[data-v-42c636f4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.gantt-collab[data-v-6cf7f4f8]{display:flex;flex-direction:column;min-height:760px;gap:16px}.gantt-collab__switch[data-v-6cf7f4f8]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.gantt-collab__toggle[data-v-6cf7f4f8]{display:inline-flex;align-items:center;gap:8px;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-md)}.gantt-collab__status[data-v-6cf7f4f8]{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.gantt-collab__pane[data-v-6cf7f4f8]{min-width:0}.gantt-collab__name[data-v-6cf7f4f8]{margin:0 0 8px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}[data-v-f1e282f0] .quiet-days{position:absolute;top:0;bottom:0;background-image:repeating-linear-gradient(135deg,color-mix(in oklab,var(--dou-color-warning) 14%,transparent) 0 6px,transparent 6px 12px);pointer-events:none}.demo[data-v-ae08f6bc]{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.gantt-demo[data-v-0cc2dc83]{display:flex;width:100%;flex-direction:column;gap:var(--dou-space-md)}.cell{display:flex;align-items:center;justify-content:center;height:40px;border:1px dashed var(--dou-color-border-strong);border-radius:6px;color:var(--dou-color-text-tertiary);font-size:13px}.i18n-demo[data-v-33b7849a],.i18n-demo__body[data-v-33b7849a]{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.profile[data-v-37b546f4]{display:flex;align-items:center;gap:16px}.layout[data-v-370373a0]{display:flex;flex-wrap:wrap;gap:16px;width:100%}.cropper[data-v-370373a0]{flex:1 1 320px}.side[data-v-370373a0]{display:flex;flex:0 0 160px;flex-direction:column;align-items:flex-start;gap:8px}.result[data-v-370373a0]{width:160px;border-radius:var(--dou-radius-control);box-shadow:var(--dou-shadow-sm)}.feed[data-v-570d3c18]{width:100%;height:280px;overflow:auto;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container)}ul[data-v-570d3c18]{margin:0;padding:0;list-style:none}li[data-v-570d3c18]{margin:0;padding:10px 16px;border-bottom:1px solid var(--dou-color-border-subtle)}.grid[data-v-4e92cfc1]{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;width:100%;height:200px;margin:0;padding:12px;overflow:auto;box-sizing:border-box;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);list-style:none}li[data-v-4e92cfc1]{margin:0;display:flex;align-items:center;justify-content:center;height:48px;border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-muted);color:var(--dou-color-text-secondary);font-variant-numeric:tabular-nums}.feed[data-v-9f9d514e]{width:100%;height:240px;overflow:auto;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container)}ul[data-v-9f9d514e]{margin:0;padding:0;list-style:none}li[data-v-9f9d514e]{margin:0;padding:10px 16px;border-bottom:1px solid var(--dou-color-border-subtle)}.notice[data-v-7fcb2d59]{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.gallery[data-v-64a4d06c]{width:100%;height:360px;padding:8px;overflow:auto;box-sizing:border-box;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container)}.photo[data-v-64a4d06c]{display:flex;align-items:flex-end;padding:8px 10px;box-sizing:border-box;border-radius:var(--dou-radius-control);color:#00000073;font-size:var(--dou-font-size-sm)}.app[data-v-7a63ca50]{display:grid;gap:12px;width:100%}.framed[data-v-74f5b2f3]{border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container)}.comments[data-v-74f5b2f3]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--dou-color-danger);box-shadow:0 0 0 2px var(--dou-color-bg-surface);color:var(--dou-color-danger-on);font-size:11px;font-variant-numeric:tabular-nums}.detail[data-v-74f5b2f3]{display:flex;flex-direction:column;gap:10px;min-width:220px}.detail__head[data-v-74f5b2f3]{display:flex;align-items:center;gap:12px}.detail__title[data-v-74f5b2f3]{flex:1}.bell[data-v-fffbcba9]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:1px solid var(--dou-color-border);border-radius:50%;background:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);color:var(--dou-color-text-tertiary);cursor:pointer}.bell.is-on[data-v-fffbcba9]{color:var(--dou-color-primary)}.bell svg[data-v-fffbcba9]{width:12px;height:12px}.detail[data-v-385dea5e]{display:flex;align-items:center;gap:12px;min-width:220px}.detail__title[data-v-385dea5e]{flex:1}.framed[data-v-e61ef914]{max-width:560px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container)}.pivot-demo[data-v-15113eee]{display:flex;width:100%;flex-direction:column;gap:16px}.pivot-demo[data-v-b3bcafd4]{display:flex;width:100%;flex-direction:column;gap:12px}.details[data-v-9a5f2137]{display:flex;width:100%;flex-direction:column;gap:var(--dou-space-md)}.details__head[data-v-9a5f2137]{display:flex;align-items:center;justify-content:space-between;min-height:28px;margin-bottom:var(--dou-space-sm);font-size:var(--dou-font-size-sm);color:var(--dou-color-text-secondary)}.pivot-demo[data-v-00527c65]{display:flex;width:100%;flex-direction:column;gap:12px}.pivot-demo[data-v-fe344746]{display:flex;width:100%;align-items:flex-start;gap:12px}.panel[data-v-fe344746]{flex:none;width:280px}.table[data-v-fe344746]{flex:1}@media (max-width: 639px){.pivot-demo[data-v-fe344746]{flex-direction:column;align-items:stretch}.panel[data-v-fe344746]{width:auto}.table[data-v-fe344746]{flex:none}}.pivot-demo[data-v-cc3374bd]{display:flex;width:100%;flex-direction:column;gap:var(--dou-space-md)}.pivot-demo__bar[data-v-cc3374bd]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dou-space-md)}.pivot-demo[data-v-4142974e]{display:flex;width:100%;flex-direction:column;gap:12px}.bar[data-v-4142974e]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.note[data-v-4142974e]{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.pivot-demo[data-v-b29c5404]{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:12px}.pivot-demo[data-v-f711cdda]{display:flex;width:100%;flex-direction:column;gap:12px}.sheet[data-v-f711cdda]{height:240px}.pivot-demo[data-v-5cb30df6],.pivot-demo[data-v-f3daf642]{display:flex;width:100%;flex-direction:column;gap:12px}.row[data-v-666d85bf]{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.done[data-v-666d85bf]{font-size:var(--dou-font-size-sm)}.row[data-v-19a537f1]{display:flex;flex-wrap:wrap;gap:28px}.item[data-v-19a537f1]{display:flex;flex-direction:column;align-items:center;gap:4px}small[data-v-19a537f1]{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.activity[data-v-6289bf65]{display:grid;gap:10px;width:100%;max-width:420px;margin:0;padding:0;list-style:none}.activity li[data-v-6289bf65]{display:flex;justify-content:space-between;gap:16px}.options[data-v-15bd6d27]{border-collapse:collapse;font-size:var(--dou-font-size-md)}.options th[data-v-15bd6d27],.options td[data-v-15bd6d27]{padding:6px 24px 6px 0;text-align:start}.options th[data-v-15bd6d27]{color:var(--dou-color-text-secondary);font-weight:var(--dou-font-weight-medium)}.options code[data-v-15bd6d27]{font-family:var(--dou-font-family-mono);font-size:var(--dou-font-size-sm)}[data-v-f292b306] .rating-cell{display:inline-flex;gap:2px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-md)}[data-v-f292b306] .rating-cell .is-on{color:var(--dou-color-warning);fill:currentColor}.sheet-collab[data-v-f1a6dc22]{display:flex;flex-direction:column;min-height:720px;gap:16px}.sheet-collab__switch[data-v-f1a6dc22]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.sheet-collab__toggle[data-v-f1a6dc22]{display:inline-flex;align-items:center;gap:8px;color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-md)}.sheet-collab__status[data-v-f1a6dc22]{color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.sheet-collab__pane[data-v-f1a6dc22]{min-width:0}.sheet-collab__name[data-v-f1a6dc22]{margin:0 0 8px;color:var(--dou-color-text-tertiary);font-size:var(--dou-font-size-sm)}.sheet-collab__sheet[data-v-f1a6dc22]{height:300px}.sheet-comments-demo[data-v-5629cbb0]{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px}@media (max-width: 720px){.sheet-comments-demo[data-v-5629cbb0]{grid-template-columns:minmax(0,1fr)}}.sheet-comments-demo__side[data-v-5629cbb0]{display:flex;flex-direction:column;gap:8px;min-width:0}.sheet-comments-demo__head[data-v-5629cbb0]{display:flex;align-items:center;justify-content:space-between;gap:8px}.sheet-comments-demo__title[data-v-5629cbb0]{color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);font-weight:var(--dou-font-weight-medium)}.sheet-comments-demo__item[data-v-5629cbb0]{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background:none;color:var(--dou-color-text);font:inherit;font-size:var(--dou-font-size-sm);text-align:start;cursor:pointer}.sheet-comments-demo__item[data-v-5629cbb0]:hover{background-color:color-mix(in oklab,currentColor 4%,transparent)}.sheet-comments-demo__item.is-active[data-v-5629cbb0]{border-color:var(--dou-color-focus)}.sheet-comments-demo__cell[data-v-5629cbb0]{padding-inline-start:8px;border-inline-start:2px solid var(--dou-color-focus);color:var(--dou-color-text-secondary);font-variant-numeric:tabular-nums}.sheet-comments-demo__text[data-v-5629cbb0]{overflow-x:clip;text-overflow:ellipsis;white-space:nowrap}.sheet-comments-demo__count[data-v-5629cbb0],.sheet-comments-demo__empty[data-v-5629cbb0]{margin:0;color:var(--dou-color-text-tertiary);font-size:12px}.hooks-demo[data-v-2b5f4bf8]{display:flex;flex-direction:column;gap:12px}.hooks-demo__bar[data-v-2b5f4bf8]{display:flex;align-items:center;gap:8px}[data-v-2b5f4bf8] .lagging-row{position:absolute;background-color:color-mix(in oklab,var(--dou-color-danger) 8%,transparent)}[data-v-2b5f4bf8] .progress-cell{display:flex;flex:1;align-items:center;gap:8px;min-width:0}[data-v-2b5f4bf8] .progress-cell__track{flex:1;height:4px;overflow:hidden;border-radius:2px;background-color:var(--dou-color-bg-muted)}[data-v-2b5f4bf8] .progress-cell__bar{display:block;height:100%;border-radius:inherit;background-color:var(--dou-color-neutral)}[data-v-2b5f4bf8] .progress-cell__text{flex:none;width:40px;color:var(--dou-color-text-secondary);font-variant-numeric:tabular-nums;text-align:right}[data-v-f73743ba] .progress-cell{display:flex;flex:1;align-items:center;gap:8px;min-width:0}[data-v-f73743ba] .progress-cell__track{flex:1;height:4px;overflow:hidden;border-radius:2px;background-color:var(--dou-color-bg-muted)}[data-v-f73743ba] .progress-cell__bar{display:block;height:100%;border-radius:inherit;background-color:var(--dou-color-neutral)}[data-v-f73743ba] .progress-cell__text{flex:none;width:32px;color:var(--dou-color-text-secondary);font-variant-numeric:tabular-nums;text-align:right}[data-v-598fcf03] .status-bar{display:flex;justify-content:space-between;padding:var(--dou-space-sm) var(--dou-space-md);border-top:1px solid var(--dou-color-border);color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm);font-variant-numeric:tabular-nums}.demo[data-v-7e35337e]{display:flex;flex-direction:column;gap:12px;width:100%}.actions[data-v-7e35337e]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.result[data-v-7e35337e]{color:var(--dou-color-text-secondary);font-size:var(--dou-font-size-sm)}.sheet-versions-demo[data-v-c00a5802]{display:flex;flex-direction:column;gap:12px}.sheet-versions-demo__bar[data-v-c00a5802]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.row[data-v-4c812d1a]{display:flex;gap:24px}.task[data-v-e5189532]{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm)}.index[data-v-e5189532]{width:16px;color:var(--dou-color-text-secondary);font-variant-numeric:tabular-nums}.apps[data-v-613c0b2d]{gap:12px;width:320px}.app[data-v-613c0b2d]{display:flex;flex-direction:column;align-items:center;gap:6px;width:68px;padding:8px 0;font-size:12px}.icon[data-v-613c0b2d]{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;color:#fff;font-size:16px;font-weight:600}.board[data-v-bc83120e]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%}.column[data-v-bc83120e]{display:flex;flex-direction:column;gap:10px;padding:10px;border-radius:var(--dou-radius-container);background-color:var(--dou-color-bg-muted)}header[data-v-bc83120e]{display:flex;align-items:center;justify-content:space-between;color:var(--dou-color-text-secondary);font-size:13px;font-weight:500}.card[data-v-bc83120e]{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-control);background-color:var(--dou-color-bg-surface);box-shadow:var(--dou-shadow-sm);font-size:13px}.fields[data-v-bc5a1d04]{width:240px;gap:0;padding:4px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container)}.field[data-v-bc5a1d04]{display:flex;align-items:center;gap:6px;padding:4px 8px 4px 2px}.sparkline-demo[data-v-35616564]{display:flex;flex-wrap:wrap;gap:32px}.sparkline-demo>div[data-v-35616564]{display:grid;gap:8px}.long-demo[data-v-d00bd8a1]{width:100%;display:grid;gap:16px;justify-items:start}.scale-demo[data-v-2280ceaf]{display:grid;gap:12px}.scale-demo__row[data-v-2280ceaf]{display:grid;grid-template-columns:96px auto auto;align-items:center;justify-content:start;gap:16px}.split-pane{box-sizing:border-box;height:100%;padding:12px 16px;color:var(--dou-color-text-secondary);font-size:13px}.wizard[data-v-98082be9]{display:grid;gap:24px;width:100%;max-width:560px}.wizard__actions[data-v-98082be9]{margin-top:8px}.steps[data-v-7ccbbe1b]{margin:0 0 4px;padding-left:20px}.column-demo[data-v-dcc7af7c]{display:grid;justify-items:start;gap:12px}.column-demo[data-v-dcc7af7c]>:last-child{justify-self:stretch}.column-fields[data-v-dcc7af7c]{gap:0;margin:0 -8px}.column-field[data-v-dcc7af7c]{display:flex;align-items:center;gap:6px;padding:4px 8px 4px 2px}.column-reset[data-v-dcc7af7c]{margin-top:8px}.is-muted-row{color:var(--dou-color-text-tertiary)}[data-v-2165fa5d] .is-editing td{vertical-align:top}.dot[data-v-f4508189]{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--dou-color-success)}.editor-toolbar[data-v-f26ffa9a]{width:100%;box-sizing:border-box;padding:6px;border:1px solid var(--dou-color-border);border-radius:var(--dou-radius-container);background:var(--dou-color-bg-surface)}.tooltip-follow-demo[data-v-50bd12cc]{display:grid;place-items:center;width:280px;height:120px;border:1px dashed var(--dou-color-border-strong);border-radius:var(--dou-radius-container);color:var(--dou-color-text-tertiary)}.vl-note{display:flex;flex-direction:column;gap:4px;padding:12px 16px;border-bottom:1px solid var(--dou-color-border-subtle)}.vl-row{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 16px;border-bottom:1px solid var(--dou-color-border-subtle);box-sizing:border-box}.vl-row--target{background:color-mix(in oklab,var(--dou-color-text) 6%,transparent)}
