@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--spacing:.25rem;--container-3xl:48rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-bold:700;--tracking-tight:-.025em;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Bricolage Grotesque", "Noto Sans TC", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--default-mono-font-family:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--radius:.625rem;--font-display:"Bricolage Grotesque", "Noto Sans TC", ui-sans-serif, system-ui, sans-serif;--font-body:"Bricolage Grotesque", "Noto Sans TC", ui-sans-serif, system-ui, sans-serif;--color-paper-bg:oklch(97.2% .006 75);--color-paper-ink:oklch(18% .015 65);--color-paper-muted:oklch(46% .015 65);--color-paper-rule:oklch(86% .01 65);--color-paper-accent:oklch(30% .09 255);--color-paper-accent-ink:oklch(22% .08 255);--color-paper-stamp:oklch(45% .16 28);--text-display:clamp(2.75rem, 4vw + 1rem, 5.5rem);--text-h1:clamp(2rem, 2.5vw + 1rem, 3.25rem);--text-h2:clamp(1.5rem, 1vw + 1rem, 2rem);--text-h3:1.25rem;--text-body-lg:1.125rem;--text-body-sm:.9375rem;--color-neon-cyan:oklch(78% .18 190);--color-neon-magenta:oklch(65% .22 350);--font-hb-display:"Archivo", "Noto Sans HK", "Noto Sans TC", ui-sans-serif, system-ui, sans-serif;--font-hb-body:"Hanken Grotesk", "Noto Sans HK", "Noto Sans TC", ui-sans-serif, system-ui, sans-serif;--font-hb-mono:"Geist Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--hb-bg:oklch(98.2% .004 250);--hb-surface:oklch(96% .005 250);--hb-ink:oklch(22% .008 250);--hb-ink-soft:oklch(33% .008 250);--hb-muted:oklch(50% .006 250);--hb-rule:oklch(88% .004 250);--hb-rule-soft:oklch(92.5% .004 250);--hb-accent:oklch(56% .13 55);--hb-accent-ink:oklch(47% .13 55);--hb-accent-soft:oklch(94% .045 70);--hb-signal-ok:oklch(62% .14 145);--hb-space-md:1.5rem;--hb-space-xl:3rem;--hb-text-display:clamp(2.5rem, 3vw + 1.5rem, 4.75rem);--hb-text-h1:clamp(1.875rem, 1.5vw + 1rem, 2.75rem);--hb-text-h2:1.5rem;--hb-text-h3:1.125rem;--hb-text-body-lg:1.125rem;--hb-text-body:1rem;--hb-text-small:.875rem;--hb-text-micro:.75rem;--hb-gutter-w:11rem;--hb-measure:38rem}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:#e4e4e7}body{color:#04070f;background-color:#f9fafb}button:not(:disabled),[role=button]:not([aria-disabled=true]){cursor:pointer}html.dashboard-theme,html.dashboard-theme body{background-color:var(--color-paper-bg)}}@layer components;@layer utilities{.invisible{visibility:hidden}.absolute{position:absolute}.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.mx-auto{margin-inline:auto}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline{display:inline}.table{display:table}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.min-h-screen{min-height:100vh}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-none{max-width:none}.flex-1{flex:1}.flex-grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-16{padding-block:calc(var(--spacing) * 16)}.font-display{font-family:Bricolage Grotesque,Noto Sans TC,ui-sans-serif,system-ui,sans-serif}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-wrap{text-wrap:wrap}.text-foreground{color:#04070f}.text-muted-foreground{color:#51555e}.uppercase{text-transform:uppercase}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(min-width:40rem){.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}@media(min-width:64rem){.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}}}@keyframes copy-success{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.copy-success-icon{animation:.3s ease-out copy-success}.card-hover{transition:box-shadow .2s,transform .2s}.card-hover:hover{box-shadow:0 4px 12px #00000014}.node-card-remove{opacity:0;transition:opacity .15s}.node-card:hover .node-card-remove{opacity:1}@keyframes progress-appear{0%{stroke-dashoffset:283px}}.circular-progress{animation:.8s ease-out forwards progress-appear}.focus-ring:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:oklch(87.1% .006 286.286);--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-outline-style:none;outline-style:none}@keyframes card-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card-enter{opacity:0;animation:.3s ease-out forwards card-enter}.card-highlight{box-shadow:0 0 0 2px #3b82f680}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.5}}.status-pulse{animation:2s ease-in-out infinite status-pulse}@keyframes meter-grow{0%{width:0}}.meter-animate{animation:.8s ease-out forwards meter-grow}.card-row{transition:transform .2s,box-shadow .2s}.card-row:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.code-card-available{transition:transform .2s,box-shadow .2s,border-color .2s}.code-card-available:hover{transform:translateY(-2px);box-shadow:0 8px 25px -5px #10b9811a,0 4px 6px -2px #0000000d}@media(prefers-reduced-motion:reduce){.card-enter,.status-pulse,.meter-animate,.card-row{transition:none;animation:none}.card-enter{opacity:1}nav.transition-all{transition:none}}.font-display{font-family:var(--font-display)}.font-body{font-family:var(--font-body)}.font-mono{font-family:var(--font-mono)}html:lang(zh-hant){--paper-display-tracking:.005em;--paper-heading-tracking:.02em;--paper-heading-leading:1.4;--paper-heading-weight:500}html:not(:lang(zh-hant)){--paper-display-tracking:-.025em;--paper-heading-tracking:-.01em;--paper-heading-leading:1.05;--paper-heading-weight:600}.paper{background-color:var(--color-paper-bg);color:var(--color-paper-ink);font-feature-settings:"ss01","cv11"}.paper-ink{color:var(--color-paper-ink)}.paper-muted{color:var(--color-paper-muted)}.paper-accent{color:var(--color-paper-accent)}.paper-stamp{color:var(--color-paper-stamp)}.paper-rule{border-color:var(--color-paper-rule)}.paper hr,.paper .rule{border:0;border-top:1px solid var(--color-paper-rule);height:0;margin:0}.paper .rule-thick{border:0;border-top:2px solid var(--color-paper-ink);height:0;margin:0}.paper-display{font-size:var(--text-display);line-height:var(--paper-heading-leading);letter-spacing:var(--paper-display-tracking);font-weight:var(--paper-heading-weight);text-wrap:balance}.paper-h1{font-size:var(--text-h1);line-height:var(--paper-heading-leading);letter-spacing:var(--paper-heading-tracking);font-weight:var(--paper-heading-weight);text-wrap:balance}.paper-h2{font-size:var(--text-h2);letter-spacing:var(--paper-heading-tracking);line-height:1.2;font-weight:var(--paper-heading-weight);text-wrap:balance}.paper-h3{font-size:var(--text-h3);letter-spacing:var(--paper-heading-tracking);color:var(--color-paper-ink);font-weight:500;line-height:1.3}.paper-lede{font-size:var(--text-body-lg);color:var(--color-paper-ink);max-width:42ch;line-height:1.6}.paper-body-sm{font-size:var(--text-body-sm);line-height:1.65}.paper-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-paper-muted);font-size:.75rem}.paper-prose{color:var(--color-paper-ink);max-width:38rem;font-size:1.0625rem;line-height:1.7}.paper-prose p+p{margin-top:1em}.paper-num-tabular{font-variant-numeric:tabular-nums}.paper-cta{color:var(--color-paper-accent);padding-bottom:2px;font-weight:500;text-decoration:none;transition:color .15s;display:inline-block;position:relative}.paper-cta:after{content:"";transform-origin:0;background-color:currentColor;height:1px;transition:height .15s,transform .15s;position:absolute;bottom:0;left:0;right:0}.paper-cta:hover{color:var(--color-paper-accent-ink)}.paper-cta:hover:after{height:2px}.paper-cta--solid{background-color:var(--color-paper-accent);color:var(--color-paper-bg);border-radius:0;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;transition:background-color .15s;display:inline-flex}.paper-cta--solid:hover{background-color:var(--color-paper-accent-ink)}.paper-cta--solid:after{display:none}@keyframes hairline-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.paper-hairline-draw{transform-origin:0;animation:.6s cubic-bezier(.22,1,.36,1) forwards hairline-draw}@keyframes paper-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.paper-enter{opacity:0;animation:.5s cubic-bezier(.22,1,.36,1) forwards paper-enter}@media(prefers-reduced-motion:reduce){.paper-hairline-draw,.paper-enter{opacity:1;animation:none;transform:none}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.cursor-blink{animation:1s step-end infinite blink}@keyframes glow-pulse{0%,to{box-shadow:0 0 4px,0 0 8px}50%{box-shadow:0 0 8px,0 0 16px,0 0 24px}}.glow-pulse{animation:2s ease-in-out infinite glow-pulse}@keyframes card-reveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.card-reveal{opacity:0;animation:.4s ease-out forwards card-reveal}.glass-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#0e1218cc,#05091199);border:1px solid oklch(30% .02 260/.5);border-radius:12px}.glass-card:hover{border-color:#3e485899}.neon-glow{box-shadow:0 0 4px var(--color-neon-cyan),0 0 8px var(--color-neon-cyan),inset 0 0 4px #00d2ca1a;box-shadow:0 0 4px var(--color-neon-cyan),0 0 8px var(--color-neon-cyan),inset 0 0 4px oklch(78% .18 190/.1)}.neon-glow-magenta{box-shadow:0 0 4px var(--color-neon-magenta),0 0 8px var(--color-neon-magenta),inset 0 0 4px #e942a21a}.bg-grid-pattern{background-image:linear-gradient(#1c222b4d 1px,#0000 1px),linear-gradient(90deg,#1c222b4d 1px,#0000 1px);background-size:32px 32px}.terminal-box{font-family:var(--font-mono);background:#010309e6;border:1px solid oklch(30% .02 260);border-radius:8px}.btn-neon{transition:all .2s;position:relative}.btn-neon:before{content:"";border-radius:inherit;background:linear-gradient(135deg,var(--color-neon-cyan),var(--color-neon-magenta));opacity:0;z-index:-1;transition:opacity .2s;position:absolute;inset:-1px}.btn-neon:hover:before{opacity:.5}.btn-neon:hover{box-shadow:0 0 16px #00d2ca66;box-shadow:0 0 16px oklch(78% .18 190/.4)}.status-indicator{border-radius:50%;width:8px;height:8px}.status-indicator-active{background-color:var(--color-neon-cyan);box-shadow:0 0 6px var(--color-neon-cyan),0 0 12px var(--color-neon-cyan)}.status-indicator-disabled{background-color:var(--color-neon-magenta);box-shadow:0 0 6px var(--color-neon-magenta)}.blog-prose{font-family:var(--font-hb-body);color:var(--hb-ink);font-feature-settings:"ss01","cv11";font-size:1.0625rem;line-height:1.75}.blog-prose h2{font-family:var(--font-hb-display);font-size:clamp(1.5rem,1vw + 1.125rem,1.875rem);font-weight:var(--hb-heading-weight,500);letter-spacing:var(--hb-heading-tracking,-.01em);color:var(--hb-ink);border-top:1px solid var(--hb-rule);margin-top:2.5em;margin-bottom:.75em;padding-top:1.25em;line-height:1.25}.blog-prose h2:first-child{border-top:0;margin-top:0;padding-top:0}.blog-prose h3{font-family:var(--font-hb-display);font-size:1.25rem;font-weight:var(--hb-heading-weight,500);letter-spacing:var(--hb-heading-tracking,-.01em);color:var(--hb-ink);margin-top:2em;margin-bottom:.5em}.blog-prose p{color:var(--hb-ink);margin-bottom:1.25em}.blog-prose ul{color:var(--hb-ink);margin-bottom:1.25em;padding-left:1.5em;list-style-type:disc}.blog-prose ol{color:var(--hb-ink);margin-bottom:1.25em;padding-left:1.5em;list-style-type:decimal}.blog-prose li{margin-bottom:.4em}.blog-prose li::marker{color:var(--hb-muted)}.blog-prose strong{color:var(--hb-ink);font-weight:600}.blog-prose code{font-family:var(--font-hb-mono);background-color:#181b1e0f}@supports (color:color-mix(in lab,red,red)){.blog-prose code{background-color:color-mix(in oklab,var(--hb-ink) 6%,transparent)}}.blog-prose code{color:var(--hb-ink);border-radius:2px;padding:.15em .4em;font-size:.875em}.blog-prose pre{background-color:var(--hb-ink);color:var(--hb-bg);border-radius:0;margin:2em 0;padding:1.25rem 1.5rem;font-size:.875rem;line-height:1.6;overflow-x:auto}.blog-prose pre code{color:inherit;font-size:inherit;background-color:#0000;padding:0}.blog-prose a{color:var(--hb-accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;transition:color .15s}.blog-prose a:hover{color:var(--hb-accent-ink);text-decoration-thickness:2px}.blog-prose blockquote{font-family:var(--font-hb-display);color:var(--hb-ink-soft);margin:2em 0;padding:0 0 0 1.5em;font-size:1.25rem;font-style:normal;font-weight:400;line-height:1.5;position:relative}.blog-prose blockquote:before{content:"";background-color:var(--hb-ink);width:1px;position:absolute;top:.5em;bottom:.5em;left:0}.blog-prose hr{border:0;border-top:1px solid var(--hb-rule);margin:2.5em 0}.blog-prose figure{margin:2.5em 0}.blog-prose img{border-radius:0;max-width:100%;height:auto;margin:0 auto;display:block}.blog-prose figcaption{font-family:var(--font-hb-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--hb-muted);text-align:center;margin-top:.75em;font-size:.75rem}.ds-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-paper-muted);font-size:.75rem;font-weight:500}.ds-heading{font-family:var(--font-display);font-size:1.5rem;font-weight:var(--paper-heading-weight,600);letter-spacing:var(--paper-heading-tracking,-.01em);color:var(--color-paper-ink);line-height:1.25}.ds-value{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-paper-ink);font-variant-numeric:tabular-nums;font-size:1.875rem;font-weight:500;line-height:1.1}.ds-value-lg{font-family:var(--font-display);letter-spacing:-.015em;color:var(--color-paper-ink);font-variant-numeric:tabular-nums;font-size:clamp(2.25rem,3vw + 1rem,3rem);font-weight:500;line-height:1}.ds-card{background-color:var(--color-paper-bg);border:1px solid var(--color-paper-rule);padding:1.5rem}.ds-card--framed{border:1px solid var(--color-paper-ink)}.ds-pip{background-color:var(--color-paper-muted);border-radius:50%;width:8px;height:8px;display:inline-block}.ds-pip--active{background-color:#308639}.ds-pip--warning{background-color:#dd881b}.ds-pip--danger{background-color:#c5372f}.ds-btn{height:2.5rem;color:var(--color-paper-ink);cursor:pointer;white-space:nowrap;background-color:#0000;border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:.5rem;padding:0 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.ds-btn:focus-visible{outline:2px solid var(--color-paper-accent);outline-offset:2px}.ds-btn[disabled],.ds-btn:disabled{cursor:not-allowed;opacity:.5}.ds-btn--primary{background-color:var(--color-paper-accent);color:var(--color-paper-bg);border-color:var(--color-paper-accent)}.ds-btn--primary:hover:not([disabled]):not(:disabled){background-color:var(--color-paper-accent-ink);border-color:var(--color-paper-accent-ink)}.ds-btn--secondary{color:var(--color-paper-ink);border-color:var(--color-paper-ink);background-color:#0000}.ds-btn--secondary:hover:not([disabled]):not(:disabled){background-color:var(--color-paper-ink);color:var(--color-paper-bg)}.ds-btn--ghost{color:var(--color-paper-ink);border-color:var(--color-paper-rule);background-color:#0000}.ds-btn--ghost:hover:not([disabled]):not(:disabled){border-color:var(--color-paper-ink)}.ds-btn--danger{color:#a2080c;background-color:#0000;border-color:#a2080c}.ds-btn--danger:hover:not([disabled]):not(:disabled){color:var(--color-paper-bg);background-color:#a2080c}.ds-btn--xs{height:1.75rem;padding:0 .625rem;font-size:.75rem}.ds-btn--block{width:100%}.ds-link{letter-spacing:.04em;color:var(--color-paper-accent);align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.ds-link:hover{color:var(--color-paper-accent-ink)}.ds-input{border:0;border-bottom:1px solid var(--color-paper-rule);width:100%;height:2.5rem;color:var(--color-paper-ink);font-family:var(--font-mono);letter-spacing:.04em;background-color:#0000;border-radius:0;padding:0 .75rem;font-size:.875rem;transition:border-color .15s;display:block}.ds-input::placeholder{color:var(--color-paper-muted)}.ds-input:focus{border-bottom-color:var(--color-paper-ink);outline:none}.ds-code-block{font-family:var(--font-mono);color:var(--color-paper-ink);background-color:#efece8;font-size:.8125rem;line-height:1.6}@supports (color:color-mix(in lab,red,red)){.ds-code-block{background-color:color-mix(in oklab,var(--color-paper-ink) 4%,var(--color-paper-bg))}}.ds-code-block{border:1px solid var(--color-paper-rule);word-break:break-all;padding:.875rem 1rem;overflow-x:auto}.ds-progress-track{background-color:var(--color-paper-rule);height:2px;position:relative;overflow:hidden}.ds-progress-fill{background-color:var(--color-paper-accent);transform-origin:0;height:100%;transition:transform .6s cubic-bezier(.22,1,.36,1)}@keyframes ds-reveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ds-reveal{opacity:0;animation:.4s cubic-bezier(.22,1,.36,1) forwards ds-reveal}@media(prefers-reduced-motion:reduce){.ds-reveal{opacity:1;animation:none;transform:none}.ds-progress-fill{transition:none}}.guide-prose{color:var(--color-paper-ink);font-size:.9375rem;line-height:1.7}.guide-prose h2{font-family:var(--font-display);font-size:1.125rem;font-weight:var(--paper-heading-weight,600);letter-spacing:var(--paper-heading-tracking,-.01em);border-top:1px solid var(--color-paper-rule);color:var(--color-paper-ink);margin-top:2em;margin-bottom:.5em;padding-top:1em}.guide-prose h2:first-child{border-top:0;margin-top:0;padding-top:0}.guide-prose h3{font-family:var(--font-display);color:var(--color-paper-ink);margin-top:1.5em;margin-bottom:.5em;font-size:1rem;font-weight:600}.guide-prose p{color:var(--color-paper-ink);margin-bottom:1em}.guide-prose ol,.guide-prose ul{color:var(--color-paper-ink);margin-bottom:1em;padding-left:1.5em}.guide-prose ol{list-style-type:decimal}.guide-prose ul{list-style-type:disc}.guide-prose li{margin-bottom:.35em}.guide-prose li::marker{color:var(--color-paper-muted)}.guide-prose strong{color:var(--color-paper-ink);font-weight:600}.guide-prose code{font-family:var(--font-mono);background-color:#16100b0f}@supports (color:color-mix(in lab,red,red)){.guide-prose code{background-color:color-mix(in oklab,var(--color-paper-ink) 6%,transparent)}}.guide-prose code{color:var(--color-paper-ink);border-radius:2px;padding:.15em .4em;font-size:.875em}.guide-prose pre{background-color:var(--color-paper-ink);color:var(--color-paper-bg);border-radius:0;margin:1.5em 0;padding:1rem 1.25rem;font-size:.8125rem;line-height:1.6;overflow-x:auto}.guide-prose pre code{color:inherit;font-size:inherit;background-color:#0000;padding:0}.guide-prose a{color:var(--color-paper-accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.guide-prose a:hover{color:var(--color-paper-accent-ink);text-decoration-thickness:2px}.guide-prose blockquote{color:var(--color-paper-muted);margin:1.5em 0;padding:0 0 0 1.25em;font-size:1rem;font-style:normal;position:relative}.guide-prose blockquote:before{content:"";background-color:var(--color-paper-ink);width:1px;position:absolute;top:.4em;bottom:.4em;left:0}.guide-prose hr{border:0;border-top:1px solid var(--color-paper-rule);margin:2em 0}.guide-prose img{border:1px solid var(--color-paper-rule);max-width:100%;height:auto;margin:1.25em 0;display:block}@media(prefers-reduced-motion:reduce){.cursor-blink,.glow-pulse,.card-reveal{animation:none}.card-reveal{opacity:1}}html.dashboard-theme .text-xs{font-size:.8125rem;line-height:1.15rem}html.dashboard-theme .text-sm{font-size:.9375rem;line-height:1.4rem}html:lang(zh-hant){--hb-display-tracking:.005em;--hb-heading-tracking:.01em;--hb-heading-leading:1.35;--hb-heading-weight:500}html:not(:lang(zh-hant)){--hb-display-tracking:-.022em;--hb-heading-tracking:-.012em;--hb-heading-leading:1.08;--hb-heading-weight:600}.hb{background-color:var(--hb-bg);color:var(--hb-ink);font-family:var(--font-hb-body);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased}.hb-ink{color:var(--hb-ink)}.hb-ink-soft{color:var(--hb-ink-soft)}.hb-muted{color:var(--hb-muted)}.hb-accent{color:var(--hb-accent)}.hb-signal{color:var(--hb-signal-ok)}.hb-rule{border-color:var(--hb-rule)}.hb-rule-soft{border-color:var(--hb-rule-soft)}.hb-divider{border:0;border-top:1px solid var(--hb-rule)}.hb-divider-ink{border:0;border-top:1px solid var(--hb-ink)}.hb-display{font-family:var(--font-hb-display);font-size:var(--hb-text-display);font-weight:var(--hb-heading-weight);letter-spacing:var(--hb-display-tracking);line-height:var(--hb-heading-leading);text-wrap:balance;color:var(--hb-ink);font-variation-settings:"wdth" 95}.hb-h1{font-family:var(--font-hb-display);font-size:var(--hb-text-h1);font-weight:var(--hb-heading-weight);letter-spacing:var(--hb-heading-tracking);line-height:var(--hb-heading-leading);text-wrap:balance;color:var(--hb-ink);font-variation-settings:"wdth" 100}.hb-h2{font-family:var(--font-hb-display);font-size:var(--hb-text-h2);font-weight:var(--hb-heading-weight);letter-spacing:var(--hb-heading-tracking);text-wrap:balance;color:var(--hb-ink);line-height:1.2}.hb-h3{font-family:var(--font-hb-display);font-size:var(--hb-text-h3);letter-spacing:var(--hb-heading-tracking);color:var(--hb-ink);font-weight:500;line-height:1.35}.hb-lede{font-family:var(--font-hb-body);font-size:var(--hb-text-body-lg);color:var(--hb-ink-soft);max-width:42ch;line-height:1.55}.hb-prose{font-family:var(--font-hb-body);font-size:var(--hb-text-body);color:var(--hb-ink-soft);max-width:var(--hb-measure);line-height:1.7}.hb-prose p+p{margin-top:1em}.hb-body-sm{font-size:var(--hb-text-small);line-height:1.6}.hb-mono{font-family:var(--font-hb-mono);font-variant-numeric:tabular-nums}.hb-label{font-family:var(--font-hb-mono);font-size:var(--hb-text-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--hb-muted);font-variant-numeric:tabular-nums;font-weight:500}.hb-label-ink{color:var(--hb-ink)}.hb-num-tabular{font-variant-numeric:tabular-nums}.hb-link{color:var(--hb-accent);padding-bottom:2px;font-weight:500;text-decoration:none;transition:color .15s;display:inline-block;position:relative}.hb-link:after{content:"";transform-origin:0;background-color:currentColor;height:1px;transition:height .18s,transform .18s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(1)}.hb-link:hover{color:var(--hb-accent-ink)}.hb-link:hover:after{height:2px}.hb-cta{color:var(--hb-ink);border-bottom:1px solid var(--hb-ink);align-items:center;gap:.5rem;padding:.625rem 0;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.hb-cta:hover{color:var(--hb-accent);border-bottom-color:var(--hb-accent)}.hb-cta--solid{background-color:var(--hb-ink);color:var(--hb-bg);font-weight:500;font-family:var(--font-hb-body);border:1px solid var(--hb-ink);border-radius:0;align-items:center;gap:.625rem;padding:.75rem 1.375rem;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.hb-cta--solid:hover{background-color:var(--hb-accent);border-color:var(--hb-accent)}.hb-cta--outline{color:var(--hb-ink);font-weight:500;font-family:var(--font-hb-body);border:1px solid var(--hb-ink);background-color:#0000;border-radius:0;align-items:center;gap:.625rem;padding:.75rem 1.375rem;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.hb-cta--outline:hover{border-color:var(--hb-accent);color:var(--hb-accent)}.hb-cta:focus-visible,.hb-cta--solid:focus-visible,.hb-cta--outline:focus-visible,.hb-link:focus-visible{outline:2px solid var(--hb-accent);outline-offset:3px}.hb-pip{background-color:var(--hb-signal-ok);border-radius:50%;width:7px;height:7px;display:inline-block;position:relative}.hb-pip:before{content:"";background-color:var(--hb-signal-ok);opacity:.35;border-radius:50%;animation:1.8s cubic-bezier(.22,1,.36,1) infinite hb-pulse;position:absolute;inset:-4px;transform:scale(.5)}@keyframes hb-pulse{0%{opacity:.35;transform:scale(.5)}to{opacity:0;transform:scale(1.8)}}.hb-ticks{background-image:linear-gradient(to right,var(--hb-rule) 1px,transparent 1px);border-top:1px solid var(--hb-rule);background-position:0 0;background-repeat:repeat-x;background-size:25% 100%;height:6px}.hb-ticks--bottom{border-top:0;border-bottom:1px solid var(--hb-rule);background-position:0 bottom}.hb-section{gap:var(--hb-space-md);grid-template-columns:1fr;display:grid}@media(min-width:1024px){.hb-section{grid-template-columns:var(--hb-gutter-w) 1fr;gap:var(--hb-space-xl)}}.hb-gutter{flex-direction:column;gap:.4rem;display:flex}.hb-gutter>*{display:block}.hb-stamp{border:1px solid var(--hb-ink);font-family:var(--font-hb-mono);font-size:var(--hb-text-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--hb-ink);align-items:center;gap:.75rem;padding:.625rem 1rem;display:inline-flex}.hb-stamp-dot{background-color:var(--hb-accent);flex-shrink:0;width:6px;height:6px}@keyframes hb-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.hb-enter{opacity:0;animation:.55s cubic-bezier(.22,1,.36,1) forwards hb-enter}@keyframes hb-hairline{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.hb-hairline{transform-origin:0;animation:.65s cubic-bezier(.22,1,.36,1) forwards hb-hairline}.hb-table{border-collapse:collapse;width:100%;font-family:var(--font-hb-body)}.hb-table thead th{font-family:var(--font-hb-mono);font-size:var(--hb-text-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--hb-muted);text-align:left;border-bottom:1px solid var(--hb-ink);vertical-align:bottom;padding:.875rem .75rem;font-weight:500}.hb-table tbody td{border-top:1px solid var(--hb-rule);vertical-align:top;color:var(--hb-ink-soft);font-size:var(--hb-text-body);padding:1.125rem .75rem}.hb-table tbody tr:first-child td{border-top:0}.hb-table tbody th[scope=row]{border-top:1px solid var(--hb-rule);text-align:left;color:var(--hb-ink);font-weight:500;font-size:var(--hb-text-body);padding:1.125rem .75rem}.hb-table tbody tr:first-child th[scope=row]{border-top:0}@media(prefers-reduced-motion:reduce){.hb-enter,.hb-hairline,.hb-pip:before{animation:none}.hb-enter{opacity:1;transform:none}.hb-pip:before{display:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
