.kds-theme{--kds-color-canvas:#141516;--kds-color-surface:#222426;--kds-color-ink:#eeede9;--kds-color-muted:color-mix(in srgb, var(--kds-color-ink) 72%, transparent);--kds-color-line:#757674;--kds-color-identity:var(--kds-color-ink);--kds-color-field:var(--kds-color-surface);--kds-color-control:var(--kds-color-muted);--kds-color-action-fill:var(--kds-color-ink);--kds-color-action-label:var(--kds-color-canvas);--kds-color-focus:var(--kds-color-ink);--kds-color-guide:var(--kds-color-ink);--kds-color-success:var(--kds-color-ink);--kds-color-warning:var(--kds-color-ink);--kds-color-error:var(--kds-color-ink);--kds-space-1:4px;--kds-space-2:8px;--kds-space-3:12px;--kds-space-4:16px;--kds-space-5:20px;--kds-space-6:24px;--kds-space-8:32px;--kds-space-12:48px;--kds-space-16:64px;--kds-space-24:96px;--kds-space-32:128px;--kds-space-40:160px;--kds-motion-press:.14s;--kds-motion-hover:.18s;--kds-motion-state:.24s;--kds-motion-assembly:1.2s;--kds-motion-dwell:.65s;--kds-motion-material:.18s;--kds-motion-binary-cycle:.333333s;--kds-motion-binaryHz:6;--kds-motion-ease:cubic-bezier(.22,1,.36,1);--kds-layout-margin:clamp(var(--kds-space-5),2.22vw,var(--kds-space-8));--kds-layout-gutter:clamp(16px,1.6vw,24px);--kds-layout-radius:0px;--kds-font-latin:"Instrument Sans",Arial,sans-serif;--kds-font-hk:"Instrument Sans","Noto Sans HK",sans-serif;--kds-font-sc:"Instrument Sans","Noto Sans SC",sans-serif;--kds-type-display:clamp(60px, 10.4vw, 160px);--kds-type-heading:clamp(32px, 4.4vw, 64px);--kds-type-title:clamp(28px, 3vw, 44px);--kds-type-lead:24px;--kds-type-body:16px;--kds-type-small:14px;--kds-type-code:13px;--kds-type-line-display:.95;--kds-type-line-heading:1.04;--kds-type-line-body:1.55;--kds-type-line-cjk:1.75;--kds-type-tracking-display:-.05em;--kds-type-tracking-heading:-.035em;--kds-size-target:44px;--kds-size-control:48px;--kds-size-input:50px;--kds-layer-menu:55;--kds-layer-overlay:50;--kds-layer-dialog:51;--kds-layer-tooltip:60;--kds-layer-toast:70;--kds-canvas:var(--kds-color-canvas);--kds-surface:var(--kds-color-surface);--kds-ink:var(--kds-color-ink);--kds-muted:var(--kds-color-muted);--kds-line:var(--kds-color-line);--kds-action:var(--kds-color-action-fill);--kds-action-ink:var(--kds-color-action-label);--kds-press:var(--kds-motion-press);--kds-hover:var(--kds-motion-hover);--kds-state:var(--kds-motion-state);--kds-ease:var(--kds-motion-ease);--kds-font:var(--kds-font-hk);--ground:var(--kds-color-canvas);--ink:var(--kds-color-ink);color:var(--kds-color-ink);background:var(--kds-color-canvas);font-family:var(--kds-font);font-size:var(--kds-type-body);line-height:var(--kds-type-line-body);color-scheme:dark}.kds-theme[data-theme=light]{--kds-color-canvas:#eeede9;--kds-color-surface:#e4e3df;--kds-color-ink:#141516;--kds-color-line:#71736f;color-scheme:light}.kds-theme:lang(zh-Hans),.kds-theme:lang(zh-CN){--kds-font:var(--kds-font-sc)}.kds-theme :where(*){box-sizing:border-box}.kds-theme :where(button,input,textarea,select){font:inherit}.kds-theme :where(button,a,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--kds-ink);outline-offset:4px}.kds-theme :where(button){touch-action:manipulation}.kds-theme :where(a){color:inherit}.kds-theme :where(button:disabled,[data-disabled]){cursor:not-allowed;opacity:.45}.kds-theme :where(h2,h3,p,figure){margin:0}.kds-theme :where(svg){flex-shrink:0}.kds-corners{pointer-events:none;color:inherit;display:block;position:absolute;inset:6px}.kds-corners>i{opacity:0;width:8px;height:8px;transition:transform var(--kds-hover) var(--kds-ease),opacity var(--kds-hover) linear;border:0 solid;display:block;position:absolute}.kds-corners>i:first-child{border-top-width:1.5px;border-left-width:1.5px;top:0;left:0;transform:translate(-3px,-3px)}.kds-corners>i:last-child{border-bottom-width:1.5px;border-right-width:1.5px;border-bottom-right-radius:4px;bottom:0;right:0;transform:translate(3px,3px)}.kds-state-mark{width:22px;height:22px;transition:transform var(--kds-state) var(--kds-ease);display:block}.kds-button{justify-content:space-between;align-items:center;gap:var(--kds-space-6);min-width:44px;min-height:48px;padding:13px var(--kds-space-5);background:var(--kds-action);color:var(--kds-action-ink);font:inherit;text-align:left;cursor:pointer;isolation:isolate;transition:background var(--kds-hover) linear,transform var(--kds-press) var(--kds-ease);border:0;border-radius:0;font-weight:500;display:inline-flex;position:relative}.kds-button[data-size=sm]{min-height:44px;padding:10px var(--kds-space-4);gap:var(--kds-space-3);font-size:14px}.kds-button--secondary{background:var(--kds-surface);color:var(--kds-ink)}.kds-button--quiet{color:var(--kds-ink);background:0 0}.kds-button:hover:not(:disabled) .kds-corners>i,.kds-button:focus-visible .kds-corners>i{opacity:1;transform:translate(0)}.kds-button:hover:not(:disabled)>.kds-state-mark{transform:rotate(90deg)}.kds-button:active:not(:disabled){transform:translateY(1px)}.kds-button:active:not(:disabled) .kds-corners>i:first-child{transform:translate(2px,2px)}.kds-button:active:not(:disabled) .kds-corners>i:last-child{transform:translate(-2px,-2px)}.kds-button-label{z-index:1;position:relative}.kds-text-link{align-items:baseline;gap:var(--kds-space-3);min-height:44px;font:inherit;padding-block:10px;text-decoration:none;display:inline-flex}.kds-text-link>span:first-child{text-underline-offset:5px;text-decoration:underline 1px}.kds-link-direction{transition:transform var(--kds-hover) var(--kds-ease);display:inline-block}.kds-text-link:hover .kds-link-direction,.kds-text-link:focus-visible .kds-link-direction{transform:translate(3px,-3px)}.kds-field{gap:var(--kds-space-2);min-width:0;display:grid}.kds-field>label,.kds-fieldset>legend{font-weight:500}.kds-required,.kds-hint{color:var(--kds-muted);font-size:14px;font-weight:400;line-height:1.5}.kds-field-control{min-width:0;position:relative}.kds-field-control:focus-within>.kds-corners>i{opacity:1;width:12px;height:12px;transform:translate(0)}.kds-input{background:var(--kds-surface);width:100%;min-height:50px;color:var(--kds-ink);font:inherit;transition:border-color var(--kds-hover) linear;border:1px solid #0000;border-radius:0;padding:13px 17px;display:block}.kds-input::placeholder{color:var(--kds-muted);opacity:1}.kds-input:focus-visible{outline:2px solid var(--kds-ink);outline-offset:3px}.kds-input[aria-invalid=true]{border-bottom:2px dashed var(--kds-ink)}.kds-input:disabled{opacity:.45;cursor:not-allowed}.kds-input[readonly]{border-color:var(--kds-line);background:0 0}.kds-textarea{resize:vertical;min-height:128px;line-height:1.55}.kds-field-error{align-items:flex-start;gap:var(--kds-space-2);font-size:14px;line-height:1.5;display:flex}.kds-field-error .kds-state-mark{width:18px;height:18px;margin-top:2px;transform:rotate(45deg)}.kds-select{justify-content:space-between;align-items:center;gap:var(--kds-space-4);text-align:left;cursor:pointer;display:flex}.kds-select[data-placeholder]{color:var(--kds-muted)}.kds-select[data-state=open] .kds-state-mark{transform:rotate(90deg)}.kds-choice{align-items:center;gap:var(--kds-space-3);min-height:44px;display:flex;position:relative}.kds-choice>label{cursor:pointer;padding:var(--kds-space-2) 0;line-height:1.4}.kds-choice:has(:disabled)>label{opacity:.45;cursor:not-allowed}.kds-checkbox,.kds-radio{border:1px solid var(--kds-line);width:24px;height:24px;color:var(--kds-action-ink);background:var(--kds-surface);cursor:pointer;transition:background var(--kds-hover) linear;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.kds-checkbox{border-radius:0}.kds-checkbox[data-state=checked],.kds-checkbox[data-state=indeterminate],.kds-radio[data-state=checked]{background:var(--kds-ink);border-color:var(--kds-ink)}.kds-checkbox svg{width:20px;height:20px;display:block}.kds-checkbox>span{animation:kds-align var(--kds-state) var(--kds-ease)}.kds-radio{border-radius:50%}.kds-radio-dot{background:var(--kds-canvas);width:8px;height:8px;animation:kds-align var(--kds-state) var(--kds-ease);border-radius:50%}.kds-fieldset{border:0;min-width:0;margin:0;padding:0}.kds-fieldset>legend{margin-bottom:var(--kds-space-2);padding:0}.kds-radio-group{gap:2px;display:grid}.kds-switch{border:1px solid var(--kds-line);background:var(--kds-surface);width:54px;height:28px;color:var(--kds-ink);cursor:pointer;transition:background var(--kds-state) linear;border-radius:0;flex-shrink:0;padding:3px}.kds-switch-thumb{background:var(--kds-ink);width:20px;height:20px;color:var(--kds-canvas);transition:transform var(--kds-state) var(--kds-ease);display:block;transform:translate(0)}.kds-switch-thumb .kds-state-mark{width:20px;height:20px}.kds-switch[data-state=checked] .kds-switch-thumb{transform:translate(25px)}.kds-switch[data-state=checked]{border-color:var(--kds-ink)}.kds-tabs{min-width:0}.kds-tab-list{gap:var(--kds-space-1);flex-wrap:wrap;max-width:100%;display:flex}.kds-tab{min-height:48px;padding:var(--kds-space-3) 22px;color:var(--kds-muted);cursor:pointer;font:inherit;transition:background var(--kds-state) linear,color var(--kds-hover) linear;background:0 0;border:0;border-radius:0;position:relative}.kds-tab[data-state=active]{background:var(--kds-surface);color:var(--kds-ink)}.kds-tab[data-state=active] .kds-corners>i{opacity:1;transform:translate(0)}.kds-tab-content{animation:kds-align var(--kds-state) var(--kds-ease);padding-block:28px}.kds-tab-content[data-state=inactive]{display:none}.kds-accordion{gap:var(--kds-space-1);display:grid}.kds-accordion-heading{font-size:inherit;font-weight:500}.kds-accordion-trigger{justify-content:space-between;align-items:center;gap:var(--kds-space-6);width:100%;min-height:64px;padding:18px var(--kds-space-5);text-align:left;background:var(--kds-surface);color:var(--kds-ink);font:inherit;cursor:pointer;border:0;display:flex}.kds-accordion-trigger[data-state=open] .kds-state-mark{transform:rotate(90deg)}.kds-accordion-content{overflow:hidden}.kds-accordion-content[data-state=open]{animation:kds-accordion-open var(--kds-state) var(--kds-ease)}.kds-accordion-content[data-state=closed]{animation:kds-accordion-close var(--kds-state) var(--kds-ease)}.kds-accordion-content>div{padding:var(--kds-space-6) var(--kds-space-5) var(--kds-space-8);max-width:75ch}.kds-dialog-overlay{z-index:var(--kds-layer-overlay,50);animation:kds-fade var(--kds-state,.24s) linear;background:#0009;position:fixed;inset:0}.kds-dialog{width:min(600px,100vw - 32px);max-height:calc(100dvh - 48px);padding:var(--kds-space-8);z-index:var(--kds-layer-dialog);background:var(--kds-canvas);animation:kds-dialog-in var(--kds-state) var(--kds-ease);position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 20px 80px #0005}.kds-dialog>.kds-corners>i,.kds-tooltip>.kds-corners>i,.kds-toast>.kds-corners>i{opacity:1;transform:none}.kds-dialog>.kds-corners{inset:12px}.kds-dialog-heading{justify-content:space-between;align-items:flex-start;gap:var(--kds-space-6);display:flex}.kds-dialog-heading h2{letter-spacing:-.035em;margin:var(--kds-space-2) 0 0;font-size:28px;font-weight:500;line-height:1.1}.kds-icon-button{background:var(--kds-surface);width:44px;height:44px;color:var(--kds-ink);cursor:pointer;font:inherit;border:0;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;font-size:25px;line-height:1;display:inline-flex}.kds-dialog-description{color:var(--kds-muted);margin-top:var(--kds-space-3)!important}.kds-dialog-body{gap:var(--kds-space-5);margin-top:28px;display:grid}.kds-dialog-footer{justify-content:flex-end;gap:var(--kds-space-3);flex-wrap:wrap;margin-top:28px;display:flex}.kds-menu{min-width:200px;max-width:min(420px,100vw - 24px);max-height:var(--radix-dropdown-menu-content-available-height,70vh);background:var(--kds-surface);z-index:var(--kds-layer-menu);animation:kds-align var(--kds-state) var(--kds-ease);padding:6px;overflow:auto;box-shadow:0 12px 40px #0004}.kds-menu-item{justify-content:space-between;align-items:center;gap:var(--kds-space-6);min-height:44px;padding:var(--kds-space-3) var(--kds-space-4);color:var(--kds-ink);font:inherit;cursor:pointer;text-decoration:none;display:flex;outline:none!important}.kds-menu-item[data-highlighted]{background:var(--kds-ink);color:var(--kds-canvas)}.kds-menu-item .kds-state-mark{width:18px;height:18px}.kds-select-content{min-width:var(--radix-select-trigger-width);max-height:var(--radix-select-content-available-height,70vh)}.kds-scroll-control{padding:var(--kds-space-2) var(--kds-space-4);text-align:center;cursor:pointer;font-size:14px}.kds-tooltip{padding:var(--kds-space-4) var(--kds-space-5);background:var(--kds-surface);max-width:min(300px,100vw - 32px);z-index:var(--kds-layer-tooltip);animation:kds-align var(--kds-hover) var(--kds-ease);font-size:14px;line-height:1.5;position:relative;box-shadow:0 8px 24px #0003}.kds-alert{gap:var(--kds-space-4);padding:var(--kds-space-5);background:var(--kds-surface);color:var(--kds-ink);animation:kds-align var(--kds-state) var(--kds-ease);display:flex}.kds-alert-symbol{width:28px;height:28px;color:var(--kds-ink);flex-shrink:0;justify-content:center;align-items:center;font-size:23px;display:flex}.kds-alert[data-tone=error] .kds-alert-symbol{border:1px solid}.kds-alert[data-tone=success] .kds-alert-symbol{background:var(--kds-ink);color:var(--kds-canvas)}.kds-alert strong{margin-bottom:var(--kds-space-1);font-weight:500;display:block}.kds-alert p{margin-block:var(--kds-space-1) var(--kds-space-3)}.kds-toast-viewport{gap:var(--kds-space-3);width:min(420px,100vw - 40px);max-height:100vh;z-index:var(--kds-layer-toast,70);outline:none;flex-direction:column;margin:0;padding:0;list-style:none;display:flex;position:fixed;bottom:20px;right:20px}.kds-toast{justify-content:space-between;align-items:flex-start;gap:var(--kds-space-4);padding:var(--kds-space-6);background:var(--kds-surface);animation:kds-align var(--kds-state) var(--kds-ease);display:flex;position:relative;box-shadow:0 12px 40px #0004}.kds-toast-title{margin-bottom:var(--kds-space-1);font-weight:500}.kds-toast .kds-icon-button{background:0 0;width:32px;height:32px}.kds-toast[data-swipe=move]{transform:translateX(var(--radix-toast-swipe-move-x))}.kds-toast[data-swipe=cancel]{transition:transform var(--kds-state) var(--kds-ease);transform:translate(0)}.kds-toast[data-swipe=end]{animation:kds-toast-out var(--kds-state) ease-out}.kds-loading{flex-wrap:wrap;align-items:center;gap:14px;min-height:44px;display:flex}.kds-loading-glyph{flex-shrink:0;width:24px;height:24px;display:block;position:relative}.kds-loading-glyph>i{border:3px solid;width:14px;height:14px;display:block;position:absolute}.kds-loading-glyph>i:first-child{animation:kds-loading-a var(--kds-motion-assembly) var(--kds-ease) infinite;border-bottom:0;border-right:0;top:0;left:0}.kds-loading-glyph>i:nth-child(2){animation:kds-loading-b var(--kds-motion-assembly) var(--kds-ease) infinite;border-top:0;border-left:0;border-bottom-right-radius:6px;bottom:0;right:0}.kds-loading-glyph>span{justify-content:center;align-items:center;font-family:monospace;font-size:7px;line-height:1;display:flex;position:absolute;inset:0}.kds-loading-glyph b{animation:kds-binary var(--kds-motion-binary-cycle) steps(1,end) infinite;font-weight:400;position:absolute}.kds-loading-glyph b:last-child{animation-delay:calc(var(--kds-motion-binary-cycle) / -2)}.kds-loading-glyph[data-paused=true] *{animation-play-state:paused}.kds-progress-number{font-variant-numeric:tabular-nums}.kds-progress-track{background:var(--kds-surface);flex-basis:100%;height:6px;display:block;overflow:hidden}.kds-progress-track>span{background:var(--kds-ink);transform-origin:0;width:100%;height:100%;transition:transform var(--kds-state) var(--kds-ease);display:block}.kds-empty{justify-items:start;gap:var(--kds-space-4);padding:var(--kds-space-12) var(--kds-space-6);background:var(--kds-surface);display:grid}.kds-empty>.kds-state-mark{width:48px;height:48px}.kds-empty h3{letter-spacing:-.03em;font-size:24px;font-weight:500;line-height:1.15}.kds-empty p{max-width:55ch;color:var(--kds-muted)}.kds-table-wrap{overscroll-behavior-x:contain;max-width:100%;overflow:auto}.kds-table{border-collapse:collapse;text-align:left;width:100%;font-size:16px;line-height:1.5}.kds-table caption{text-align:left;letter-spacing:-.025em;padding:0 0 var(--kds-space-5);font-size:20px;font-weight:500}.kds-table th,.kds-table td{padding:18px var(--kds-space-5);vertical-align:top;min-width:120px}.kds-table th{font-weight:500}.kds-table thead{background:var(--kds-surface)}.kds-table tbody tr{border-bottom:1px solid var(--kds-surface);transition:background var(--kds-hover) linear}.kds-table tbody tr:hover{background:var(--kds-surface)}.kds-sort-button{gap:var(--kds-space-3);width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;margin:-10px 0;padding:10px 0;display:flex}.kds-pagination{justify-content:space-between;align-items:center;gap:var(--kds-space-2);margin-top:var(--kds-space-6);flex-wrap:wrap;display:flex}.kds-page-numbers{align-items:center;gap:var(--kds-space-1);display:flex}.kds-page{min-width:44px;min-height:44px;color:var(--kds-ink);cursor:pointer;font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:0;padding:10px;display:block;position:relative}.kds-page[aria-current=page]{background:var(--kds-surface)}.kds-page[aria-current=page] .kds-corners>i{opacity:1;transform:none}.kds-mark{max-width:100%;height:auto;display:block}.kds-motion-host{--ink:var(--kds-ink);--ground:var(--kds-canvas);width:100%;min-width:0}.kds-navigation{justify-content:space-between;align-items:center;gap:var(--kds-space-6);padding-block:var(--kds-space-6);display:flex;position:relative}.kds-nav-brand{align-items:center;gap:var(--kds-space-3);color:inherit;letter-spacing:-.045em;font-size:36px;line-height:1;text-decoration:none;display:flex}.kds-nav-desktop{align-items:center;gap:var(--kds-space-8);flex-wrap:wrap;display:flex}.kds-nav-desktop>a{min-height:44px;padding-block:10px;text-decoration:none}.kds-nav-desktop>a[aria-current=page]{text-underline-offset:6px;text-decoration:underline}.kds-nav-mobile{display:none}.kds-footer{padding:var(--kds-space-16) 0 var(--kds-space-6)}.kds-footer-top{justify-content:space-between;align-items:flex-start;gap:var(--kds-space-8);display:flex}.kds-footer h2{letter-spacing:-.045em;max-width:12ch;font-size:clamp(32px,4vw,64px);font-weight:500;line-height:1.04}.kds-footer>nav{gap:var(--kds-space-3) var(--kds-space-8);margin-top:var(--kds-space-12);flex-wrap:wrap;display:flex}.kds-footer-mark{margin-top:var(--kds-space-16);letter-spacing:-.06em;color:inherit;justify-content:center;align-items:center;gap:.1em;font-size:clamp(80px,19vw,280px);line-height:1;text-decoration:none;display:flex;overflow:hidden}.kds-footer-mark>.kds-mark{width:.75em}.kds-footer-legal{justify-content:space-between;gap:var(--kds-space-6);margin-top:40px;font-size:14px;display:flex}.kds-section-heading{justify-content:space-between;align-items:flex-start;gap:var(--kds-space-8);margin-bottom:40px;display:flex}.kds-section-heading h2,.kds-section-heading h3{letter-spacing:-.04em;max-width:16ch;font-size:clamp(28px,3.5vw,52px);font-weight:500;line-height:1.06}.kds-section-heading p{max-width:45ch;line-height:1.55}.kds-project-card>a{color:inherit;text-decoration:none;display:block}.kds-project-image{background:var(--kds-surface);position:relative;overflow:hidden}.kds-project-image img{width:100%;height:auto;transition:transform var(--kds-state) var(--kds-ease);display:block}.kds-project-card a:hover img,.kds-project-card a:focus-visible img{transform:scale(1.02)}.kds-project-image>.kds-corners{inset:16px}.kds-project-card a:hover .kds-corners>i,.kds-project-card a:focus-visible .kds-corners>i{opacity:1;transform:none}.kds-project-caption{justify-content:space-between;gap:var(--kds-space-6);margin-top:var(--kds-space-5);display:flex}.kds-project-caption h3{letter-spacing:-.035em;font-size:24px;font-weight:500;line-height:1.15}.kds-project-card p{margin-top:var(--kds-space-2);color:var(--kds-muted)}.kds-media img{width:100%;max-width:100%;height:auto;display:block}.kds-media[data-ratio=landscape] img{aspect-ratio:16/10;object-fit:cover}.kds-media[data-ratio=portrait] img{aspect-ratio:3/4;object-fit:cover}.kds-media[data-ratio=square] img{aspect-ratio:1;object-fit:cover}.kds-media figcaption{justify-content:space-between;gap:var(--kds-space-6);margin-top:var(--kds-space-3);color:var(--kds-muted);font-size:14px;display:flex}.kds-media figcaption .kds-text-link{min-height:0;padding:0;font-size:14px}.kds-service{gap:var(--kds-space-8);padding:var(--kds-space-8) 0;grid-template-columns:1fr 1fr;display:grid}.kds-service h3{letter-spacing:-.035em;font-size:clamp(24px,3vw,40px);font-weight:500;line-height:1.1}.kds-service p{max-width:60ch}.kds-service ul{padding-left:var(--kds-space-5);margin:var(--kds-space-5) 0 0;line-height:1.8}.kds-pricing th>span,.kds-pricing th>strong{display:block}.kds-pricing th>strong{letter-spacing:-.04em;margin-block:var(--kds-space-3);font-size:32px;font-weight:500}.kds-pricing th>span:last-child{max-width:30ch;font-size:14px;font-weight:400}@keyframes kds-align{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes kds-fade{0%{opacity:0}to{opacity:1}}@keyframes kds-dialog-in{0%{opacity:0;transform:translate(-50%,calc(12px - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes kds-accordion-open{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes kds-accordion-close{0%{height:var(--radix-accordion-content-height)}to{height:0}}@keyframes kds-loading-a{0%,to{transform:translate(0)}45%{transform:translate(3px,3px)}65%{transform:translate(0)}}@keyframes kds-loading-b{0%,to{transform:translate(0)}45%{transform:translate(-3px,-3px)}65%{transform:translate(0)}}@keyframes kds-binary{0%,49.9%{opacity:1}50%,to{opacity:0}}@keyframes kds-toast-out{to{opacity:0;transform:translate(calc(100% + 40px))}}@media (width<=720px){.kds-nav-desktop{display:none}.kds-nav-mobile{display:block}.kds-nav-mobile>summary{align-items:center;gap:var(--kds-space-4);cursor:pointer;min-height:44px;list-style:none;display:flex}.kds-nav-mobile>summary::-webkit-details-marker{display:none}.kds-nav-mobile[open]>summary .kds-state-mark{transform:rotate(90deg)}.kds-nav-mobile nav{z-index:40;gap:var(--kds-space-2);background:var(--kds-surface);padding:var(--kds-space-6);animation:kds-align var(--kds-state) var(--kds-ease);display:grid;position:absolute;top:100%;left:0;right:0}.kds-nav-mobile nav>a{padding:var(--kds-space-3) 0;min-height:44px;text-decoration:none}.kds-footer-top,.kds-section-heading{flex-direction:column}.kds-service{gap:var(--kds-space-5);grid-template-columns:1fr}.kds-table th,.kds-table td{padding:14px}.kds-page{min-width:36px}.kds-page-numbers{gap:0}.kds-pagination{justify-content:flex-start}.kds-pagination>.kds-button .kds-state-mark{display:none}.kds-pagination>.kds-button{padding-inline:var(--kds-space-2)}.kds-dialog{padding:var(--kds-space-6)}.kds-tab{padding-inline:var(--kds-space-4)}.kds-footer-legal{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.kds-theme *,.kds-theme :before,.kds-theme :after,.kds-dialog-overlay{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (forced-colors:active){.kds-button,.kds-input,.kds-checkbox,.kds-radio,.kds-switch,.kds-tab[data-state=active],.kds-page[aria-current=page]{border:1px solid buttontext}.kds-switch-thumb,.kds-radio-dot{background:highlight}.kds-checkbox[data-state=checked]{color:highlight}.kds-corners{forced-color-adjust:none}}.kds-wordmark{width:100%;height:auto;display:block}.kds-nav-brand>.kds-wordmark{width:92px}.kds-footer-mark>.kds-wordmark{width:70%;max-height:1.2em}@media (prefers-reduced-motion:reduce){.kds-loading-glyph b:last-child{display:none}}@font-face{font-family:KDS Noto;src:url(/fonts/portfolio-noto-regular.a4e5a23c631c.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:KDS Noto;src:url(/fonts/portfolio-noto-bold.543097e6ca79.woff2)format("woff2");font-style:normal;font-weight:600 800;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-sans-001.woff2)format("woff2");font-style:normal;font-weight:400 700;font-display:swap}:root{--canvas:#eeede9;--surface:#e4e3df;--ink:#141516;--muted:#575956;--line:#71736f;--ground:var(--canvas);--ease:cubic-bezier(.22,1,.36,1);--gutter:clamp(20px,3vw,48px);--content:1440px;color-scheme:light;color:var(--ink);background:var(--canvas);font-synthesis:none;font-family:Instrument Sans,KDS Noto,Arial,sans-serif}:root[data-theme=dark]{--canvas:#141516;--surface:#222426;--ink:#eeede9;--muted:#b4b5b0;--line:#757674;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--canvas:#141516;--surface:#222426;--ink:#eeede9;--muted:#b4b5b0;--line:#757674;color-scheme:dark}}*{box-sizing:border-box}html{scroll-padding-top:24px}body{background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.65}body,button,input,summary{font-family:Instrument Sans,KDS Noto,Arial,sans-serif}main{max-width:var(--content);padding:0 var(--gutter);margin:auto}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button,input{font:inherit;color:inherit;border-radius:0}button{cursor:pointer}button,input,select,textarea{-webkit-appearance:none;appearance:none}button{background:0 0}[hidden]{display:none!important}:where(a,button,input,summary,[tabindex]):focus-visible{outline:2px solid var(--ink);outline-offset:5px}::selection{color:var(--canvas);background:var(--ink)}img{max-width:100%;height:auto;display:block}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;overflow-wrap:anywhere;font-weight:600;line-height:1.2}h1{font-size:clamp(40px,5.9vw,82px)}h2{margin-bottom:24px;font-size:clamp(28px,3.2vw,44px)}h3{margin-bottom:12px;font-size:23px}p{margin-bottom:1em}:lang(zh-Hant) h1,:lang(zh-Hant) h2,:lang(zh-Hant) h3{letter-spacing:-.025em;word-break:normal;overflow-wrap:anywhere;line-height:1.35}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:60;background:var(--ink);color:var(--canvas);padding:12px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}.review-notice{background:var(--surface);color:var(--muted);padding:8px var(--gutter);border-bottom:1px solid var(--line);text-align:center;font-size:12px;line-height:1.6}.site-header{max-width:var(--content);min-height:78px;padding:12px var(--gutter);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin:auto;display:flex}.site-brand{white-space:nowrap;align-items:center;gap:20px;text-decoration:none;display:flex}.site-brand>span{white-space:normal;max-width:100px;font-size:14px;line-height:1.35}.wordmark{width:80px;height:auto}.logo-dark{display:none}:root[data-theme=dark] .logo-dark{display:block}:root[data-theme=dark] .logo-light{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .logo-dark{display:block}:root:not([data-theme=light]) .logo-light{display:none}}.site-header nav{align-items:center;gap:24px;font-size:14px;line-height:1.2;display:flex}.site-header nav>a:not(.button){padding:12px 0;text-decoration:none}.language-link{text-align:center;min-width:44px}.button{background:var(--ink);min-height:50px;color:var(--canvas);border:1px solid var(--ink);white-space:nowrap;transition:opacity .18s var(--ease),transform .14s var(--ease);justify-content:center;align-items:center;padding:12px 24px;font-size:15px;font-weight:500;line-height:1.4;text-decoration:none;display:inline-flex}.button:hover{opacity:.83}.button:active{transform:translateY(1px)}.button-compact{min-height:44px;padding:10px 18px;font-size:14px}.button-secondary{color:var(--ink);background:0 0}.theme-toggle{border:1px solid #0000;min-width:44px;min-height:44px;padding:4px;font-size:24px;line-height:1}.text-link{text-underline-offset:5px;border:0;align-items:center;min-height:44px;padding:6px 0;font-size:15px;text-decoration:underline;display:inline-flex}.home-hero{grid-template-columns:1.4fr 1fr;align-items:end;gap:8%;padding:56px 0 44px;display:grid}.home-hero h1{max-width:850px;margin:0}.home-hero h1>span{display:block}:lang(en) .home-hero h1{max-width:650px}.hero-intro{max-width:410px;padding-bottom:7px}.hero-intro p{color:var(--muted);margin-bottom:10px;font-size:18px;line-height:1.8}.hero-intro .account-note{margin-top:12px;font-size:12px}.featured-projects{padding-bottom:78px}.featured-grid{grid-template-columns:1.4fr 1fr 1fr;align-items:start;gap:24px;display:grid}.case-card{min-width:0}.case-card a{text-decoration:none}.case-image-link{margin-bottom:20px;display:block}.case-image{aspect-ratio:1.55;background:var(--surface);border:1px solid color-mix(in srgb,var(--line) 45%,transparent);overflow:hidden}.case-image img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform .24s var(--ease)}.case-image-link:hover img{transform:scale(1.018)}.case-card-featured .case-image{aspect-ratio:auto;height:clamp(220px,24vw,345px)}.case-card-featured .case-image img{object-fit:contain;object-position:top}.case-labels{color:var(--muted);flex-wrap:wrap;gap:12px;margin-bottom:13px;font-size:12px;line-height:1.5;display:flex}.case-labels>span+span{border-left:1px solid var(--line);padding-left:12px}.case-labels>a{color:inherit}.case-card h3{letter-spacing:-.045em;margin-bottom:8px;font-size:clamp(24px,2.2vw,32px)}.case-card h3 a{padding:5px 0}.case-card h3 a:hover{text-decoration:underline}.case-headline{max-width:50ch;margin-bottom:14px;font-size:17px;line-height:1.7}.case-meta{color:var(--muted);flex-wrap:wrap;gap:4px 16px;font-size:12px;line-height:1.6;display:flex}.card-milestone{color:var(--muted);margin:10px 0 0;font-size:12px}.project-browser{border-top:1px solid var(--line);padding:56px 0 48px;scroll-margin-top:24px}.project-browser>h2{margin-bottom:32px}.need-filters{flex-wrap:wrap;gap:8px;margin-bottom:28px;display:flex}.need-filters a{border:1px solid var(--line);min-height:44px;transition:background .18s var(--ease),color .18s var(--ease);padding:10px 14px;font-size:14px;line-height:1.5;text-decoration:none}.need-filters a:hover{background:var(--surface)}.need-filters a[aria-current]{background:var(--ink);color:var(--canvas);border-color:var(--ink)}.search-form{grid-template-columns:minmax(200px,1fr) minmax(220px,.55fr) auto;align-items:end;gap:24px;display:grid}.search-control label,.industry-control>span{margin-bottom:10px;font-size:13px;display:block}.search-control input{border:1px solid var(--line);outline-offset:3px;background:0 0;width:100%;height:52px;padding:12px 16px;font-size:15px;display:block}.search-control input::placeholder{color:var(--muted);opacity:1}.search-control input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.industry-select{position:relative}.industry-select summary{border:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:12px 16px;font-size:15px;list-style:none;display:flex}.industry-select summary::-webkit-details-marker{display:none}.chevron{border-bottom:1px solid;border-right:1px solid;flex:none;width:8px;height:8px;margin:0 3px 4px 0;display:block;transform:rotate(45deg)}.industry-select[open] .chevron{margin-bottom:0;transform:rotate(225deg)}.industry-options{z-index:55;border:1px solid var(--line);background:var(--canvas);max-height:340px;box-shadow:0 12px 24px color-mix(in srgb,var(--ink) 8%,transparent);margin:6px 0 0;padding:8px;position:absolute;inset:auto 0;overflow-y:auto}.industry-options label{cursor:pointer;align-items:center;min-height:44px;padding:10px 12px;font-size:14px;display:flex;position:relative}.industry-options label:has(input:checked),.industry-options label:hover{background:var(--surface)}.industry-options input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;top:0;left:0}.industry-options label:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:-2px}.reset-filters{white-space:nowrap;align-self:end;min-height:52px}.filter-help{color:var(--muted);margin:10px 0 0;font-size:12px}.browser-status{justify-content:flex-end;align-items:end;min-height:58px;padding-bottom:16px;display:flex}.result-count{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:13px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:54px 32px;display:grid}.project-grid .case-image{aspect-ratio:1.65}.portrait-source img{object-fit:contain}.workflow-preview{background:var(--surface);aspect-ratio:1.65;border:1px solid var(--line);flex-direction:column;justify-content:center;min-height:100%;padding:32px;display:flex}.workflow-preview>span{color:var(--muted);font-size:13px}.workflow-preview ol{margin:20px 0;padding-left:22px;font-size:clamp(16px,1.5vw,21px)}.workflow-preview li+li{margin-top:10px}.workflow-preview small{color:var(--muted);font-size:11px}.empty-results{max-width:54ch;color:var(--muted);padding:48px 0}.no-script-note{color:var(--muted);padding:12px 0}.subscription-section{border-top:1px solid var(--line);grid-template-columns:1fr 1.1fr;gap:10%;margin-top:36px;padding:64px 0;display:grid}.subscription-section h2{max-width:14ch;margin:0}.subscription-section p{max-width:52ch;color:var(--muted);margin:0;line-height:1.9}.enquiry-section{border-top:1px solid var(--line);max-width:100%;padding:72px 0 80px;position:relative}.enquiry-section h2{max-width:850px;margin-bottom:18px}.enquiry-section>p:not(.account-note){max-width:58ch;color:var(--muted);margin-bottom:28px}.account-note{max-width:64ch;color:var(--muted);margin:14px 0 0;font-size:12px;line-height:1.8}.site-footer{max-width:var(--content);padding:32px var(--gutter) 48px;border-top:1px solid var(--line);grid-template-columns:1fr auto 120px;align-items:start;gap:40px;margin:auto;display:grid}.site-footer>div:first-child>a{font-size:18px;text-decoration:none}.site-footer p{color:var(--muted);margin:9px 0 0;font-size:13px}.footer-links{flex-wrap:wrap;align-items:start;gap:12px 20px;max-width:280px;font-size:13px;display:flex}.footer-links small{width:100%;color:var(--muted);font-size:11px}.brand-motion{--ink:var(--ink);--ground:var(--canvas);pointer-events:none;width:110px}.brand-motion .motion-readout,.brand-motion .motion-phase-labels,.brand-motion .motion-phase-angle,.brand-motion .motion-sr-only{display:none}.category-hero{padding:40px 0 50px}.category-hero>.text-link{margin-bottom:24px}.category-hero h1{max-width:900px;margin-bottom:20px;font-size:clamp(38px,5vw,68px)}.category-hero p{color:var(--muted);max-width:62ch;margin:0;font-size:18px}.case-hero{max-width:1080px;padding:36px 0 42px}.case-hero>.text-link{margin-bottom:28px}.case-hero h1{margin:8px 0 16px;font-size:clamp(46px,7.6vw,104px)}.case-hero .case-labels{margin-bottom:22px}.case-tagline{letter-spacing:-.03em;max-width:1000px;margin-bottom:18px;font-size:clamp(24px,3.2vw,42px);line-height:1.45}.case-summary{color:var(--muted);max-width:70ch;margin:0;font-size:18px;line-height:1.9}.case-main-image{margin-bottom:76px}.case-main-image img{object-fit:contain;object-position:top;background:var(--surface);border:1px solid var(--line);width:100%;height:auto;max-height:900px}.screenshot-zoom{cursor:zoom-in;display:block}figcaption{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:8px 16px;padding:12px 0;font-size:12px;line-height:1.7;display:flex}.sample-label{border:1px solid var(--line);white-space:nowrap;padding:2px 6px;font-size:11px}.case-reading-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:56px;display:grid}.case-navigation{align-self:start;padding-right:20px;font-size:13px;position:sticky;top:30px}.case-navigation>p{color:var(--muted);margin-bottom:20px;font-size:12px}.case-navigation nav{flex-direction:column;gap:4px;display:flex}.case-navigation a{padding:10px 0;line-height:1.6;text-decoration:none}.case-navigation a:hover{text-decoration:underline}.case-content>section{margin-bottom:64px;scroll-margin-top:28px}.case-content h2{max-width:32ch;margin-bottom:24px;font-size:clamp(27px,3vw,38px)}.case-content h3{font-size:20px}.prose p,.prose li{max-width:70ch;line-height:1.95}.prose h2:not(:first-child){margin-top:48px}.prose ul{padding-left:22px}.prose li{margin-bottom:20px;padding-left:4px}.prose li p{margin:0}.section-note{color:var(--muted);max-width:70ch;font-size:14px;line-height:1.9}.comparison-grid{grid-template-columns:1fr 1fr;gap:20px;margin-top:28px;display:grid}.comparison-grid>div{background:var(--surface);border-top:2px solid var(--ink);min-width:0;padding:26px}.comparison-grid>div:first-child{border-top-width:1px}.comparison-grid h3{margin-bottom:24px;font-size:16px}.comparison-grid ol{margin:0;padding-left:22px;font-size:15px}.comparison-grid li{padding-left:4px;line-height:1.9}.comparison-grid li+li{margin-top:18px}.detail-screenshot{margin-top:28px}.visual-comparison{margin-bottom:36px}.visual-comparison .comparison-grid{gap:18px}.visual-comparison img,.detail-screenshot img{border:1px solid var(--line);width:100%;height:auto}.detail-portrait img{width:auto;max-height:720px;margin:auto}.milestone-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 0 24px;display:grid}.milestone-grid>div{border-top:1px solid var(--line);padding-top:16px}.milestone-grid dt{color:var(--muted);margin-bottom:14px;font-size:12px}.milestone-grid dd{font-variant-numeric:tabular-nums;margin:0;font-size:16px;line-height:1.7}.improvement-list{gap:32px;display:grid}.improvement-list time{color:var(--muted);margin-bottom:10px;font-size:12px;display:block}.improvement-list h3{margin-bottom:12px}.improvement-list p{max-width:70ch;color:var(--muted);font-size:15px;line-height:1.9}.case-public-links .button{white-space:normal;text-align:center;margin:0 12px 12px 0}.related-projects{border-top:1px solid var(--line);padding:48px 0 72px}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;display:grid}.root-welcome{min-height:60vh;padding:80px 0 120px}.root-welcome p{max-width:60ch;color:var(--muted)}.root-welcome .text-link{margin-left:24px}.root-welcome>div{margin-top:64px}.root-fallback{padding:20px 0}@supports (grid-template-rows:subgrid){.project-grid,.featured-grid,.related-grid{row-gap:0}.project-grid>.case-card,.featured-grid>.case-card,.related-grid>.case-card{grid-template-rows:subgrid;grid-row:span 6;align-content:start;row-gap:0;display:grid}.project-grid>.case-card{padding-bottom:54px}}@media (width<=1100px){.site-header nav,.site-brand{gap:14px}.featured-grid{grid-template-columns:1.2fr 1fr 1fr;gap:18px}.home-hero{grid-template-columns:1.3fr 1fr;gap:6%}.case-reading-layout{grid-template-columns:170px minmax(0,1fr);gap:32px}.case-navigation{padding-right:0}.case-headline{font-size:16px}.case-labels{gap:8px}.case-labels>span+span{padding-left:8px}}@media (width<=767px){:root{--gutter:20px}body{font-size:15px}.site-header{gap:10px;min-height:68px;padding-top:12px;padding-bottom:12px}.site-brand{gap:12px}.site-brand>span{max-width:70px;font-size:11px}.wordmark{width:62px}.site-header nav{gap:2px}.browse-nav,.header-enquiry{display:none!important}.language-link{font-size:13px}.review-notice{text-align:left;padding-top:9px;padding-bottom:9px;font-size:11px}.home-hero{padding:38px 0 32px;display:block}.home-hero h1{max-width:14ch;font-size:40px}.home-hero .hero-intro{max-width:460px;margin-top:22px;padding:0}.hero-intro p{font-size:16px;line-height:1.9}.hero-intro .account-note{font-size:12px}.featured-grid{display:block}.case-card-featured{margin-bottom:38px}.case-card-featured .case-image{aspect-ratio:1.5;height:auto}.featured-projects{padding-bottom:18px}.case-image-link{margin-bottom:16px}.case-card h3{font-size:29px}.case-headline{font-size:16px}.case-meta{gap:4px 12px;font-size:12px}.project-browser{padding:36px 0}.project-browser>h2{margin-bottom:24px;font-size:30px}.need-filters{gap:7px;margin-bottom:24px}.need-filters a{min-height:44px;padding:10px 11px;font-size:12px}.search-form{grid-template-columns:1fr;gap:18px}.search-control label,.industry-control>span{margin-bottom:8px}.industry-control{max-width:100%}.reset-filters{place-self:auto start;min-height:44px}.filter-help{margin-top:8px}.browser-status{min-height:50px;padding-bottom:18px}.project-grid{grid-template-columns:1fr;gap:38px}.project-grid .case-image{aspect-ratio:1.55}.workflow-preview{aspect-ratio:auto;min-height:230px;padding:24px}.workflow-preview ol{font-size:18px}.project-grid>.case-card,.featured-grid>.case-card,.related-grid>.case-card{grid-row:auto;padding-bottom:0;display:block}.subscription-section{margin-top:24px;padding:40px 0;display:block}.subscription-section h2{max-width:22ch;margin-bottom:24px}.subscription-section p{font-size:15px;line-height:1.95}.enquiry-section{padding:44px 0 50px}.enquiry-section h2{font-size:31px}.enquiry-section>p:not(.account-note){font-size:15px}.account-note{max-width:45ch;font-size:12px}.site-footer{grid-template-columns:1fr 80px;gap:24px;padding-top:28px;padding-bottom:28px}.footer-links{grid-area:2/1;max-width:none}.brand-motion{grid-area:1/2/3;width:80px}.site-footer>div:first-child>a{font-size:16px}.category-hero{padding:28px 0 36px}.category-hero h1{font-size:39px}.category-hero p{font-size:16px}.case-hero{padding:24px 0 30px}.case-hero>.text-link{margin-bottom:22px}.case-hero h1{margin-bottom:18px;font-size:48px}.case-tagline{font-size:27px;line-height:1.6}.case-summary{font-size:15px;line-height:1.9}.case-main-image{margin-bottom:36px}.case-main-image>img{max-height:580px}.case-reading-layout{display:block}.case-navigation{border-bottom:1px solid var(--line);margin-bottom:36px;padding-bottom:16px;position:static}.case-navigation>p{margin-bottom:6px}.case-navigation nav{flex-flow:wrap;gap:0 18px}.case-navigation a{align-items:center;min-height:44px;font-size:12px;display:flex}.case-content>section{margin-bottom:42px}.case-content h2{margin-bottom:20px;font-size:28px}.prose p,.prose li{font-size:15px}.prose h2:not(:first-child){margin-top:36px}.prose ul{padding-left:20px}.section-note{font-size:13px}.comparison-grid{grid-template-columns:1fr;gap:16px}.comparison-grid>div{padding:24px}.comparison-grid h3{margin-bottom:20px}.comparison-grid ol{font-size:15px}.milestone-grid{grid-template-columns:1fr;gap:20px}.milestone-grid>div{grid-template-columns:1fr 1.1fr;gap:20px;padding-top:14px;display:grid}.milestone-grid dt{margin:0;font-size:12px}.milestone-grid dd{font-size:14px}.related-projects{padding:36px 0 44px}.related-grid{grid-template-columns:1fr;gap:36px}.root-welcome{padding:50px 0 80px}}@media (width<=360px){.site-brand>span{display:none}.home-hero h1{font-size:39px}.case-hero h1{font-size:42px}.case-tagline{font-size:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.case-image-link:hover img,.button:active{transform:none}}@media (forced-colors:active){.button,.need-filters a[aria-current]{border:2px solid buttontext}.case-image{border:1px solid canvastext}.industry-options input{appearance:auto;opacity:1;width:20px;height:20px;margin-right:12px;position:static}}.motion-field{width:100%;min-width:0;color:var(--ink,#eeede9);--field-restore:.18s;display:block;position:relative}.motion-field-surface{aspect-ratio:1;isolation:isolate;touch-action:pan-y;cursor:default;outline-offset:6px;width:100%;position:relative}.motion-field-surface>svg,.motion-field-surface>canvas{width:100%;height:100%;display:block;position:absolute;inset:0;overflow:hidden}.motion-field-surface>canvas{pointer-events:none;opacity:0;transition:opacity var(--field-restore) linear}.motion-field[data-state=revealing] canvas{opacity:1}.motion-field [data-hit-part]{transition:opacity var(--field-restore) linear}.motion-field [data-hit-part][data-exposed=true]{opacity:.075}.motion-field [data-hit-part]{pointer-events:none}.motion-instrument{stroke:var(--ink,#eeede9);stroke-width:1px;fill:none;stroke-linecap:butt;stroke-linejoin:miter;opacity:0;pointer-events:none;transition:opacity .14s linear}.motion-instrument path{vector-effect:non-scaling-stroke}.motion-instrument-inverse{stroke:var(--ground,#141516)}.motion-field[data-active=true][data-measurement=true] .motion-instrument{opacity:1}.motion-field[data-state=revealing][data-measurement=true] .motion-instrument{opacity:.5}.motion-instrument [data-guide=bounds]{opacity:.23}.motion-instrument [data-guide=projections]{opacity:.38}.motion-instrument [data-guide=vector]{opacity:.35;stroke-dasharray:2 5}.motion-instrument [data-guide=phase-track]{opacity:.7}.motion-instrument [data-guide=phase-ticks]{opacity:.6}.motion-instrument [data-guide=caliper-b]{stroke-width:1.5px}.motion-field[data-instrument=caliper] [data-guide=phase-track],.motion-field[data-instrument=caliper] [data-guide=phase-ticks],.motion-field[data-instrument=caliper] [data-phase-marker],.motion-field[data-instrument=caliper] [data-guide=vector]{display:none}.motion-field[data-instrument=phase] [data-guide=caliper-a],.motion-field[data-instrument=phase] [data-guide=caliper-b]{opacity:.7}.motion-readout{width:max-content;max-width:calc(100% - 16px);color:var(--ink,#eeede9);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;align-items:baseline;gap:8px;font-family:Instrument Sans,Arial,sans-serif;font-size:14px;line-height:1.2;display:flex;position:absolute;top:0;left:0}.motion-readout-position{letter-spacing:-.035em;background:var(--ground,#141516);padding:2px 3px}.motion-readout-angle{opacity:.7;background:var(--ground,#141516);align-items:baseline;gap:4px;padding:2px 3px;font-size:12px;display:flex}.motion-readout-angle b{font-weight:400}.motion-field[data-active=true][data-measurement=true] .motion-readout{opacity:1;visibility:visible}.motion-field[data-state=revealing] .motion-readout{opacity:.72}.motion-field[data-instrument=phase] .motion-readout-angle{display:none}.motion-phase-angle{pointer-events:none;opacity:0;visibility:hidden;background:var(--ground,#141516);font-variant-numeric:tabular-nums;white-space:nowrap;padding:2px 3px;font-family:Instrument Sans,Arial,sans-serif;font-size:12px;line-height:1;position:absolute;transform:translate(-50%,-50%)}.motion-phase-angle b{font-weight:400}.motion-field[data-instrument=phase][data-active=true][data-measurement=true] .motion-phase-angle{opacity:.8;visibility:visible}.motion-phase-labels{pointer-events:none;opacity:0;visibility:hidden;background:0 0;font-family:Instrument Sans,Arial,sans-serif;font-size:12px;line-height:1;position:absolute;inset:0}.motion-phase-labels span{background:var(--ground,#141516);padding:2px 3px;position:absolute;transform:translate(-50%,-50%)}.motion-field[data-instrument=phase][data-active=true][data-measurement=true] .motion-phase-labels{opacity:.65;visibility:visible}.motion-field [data-demo-probe]{fill:var(--ground,#141516);stroke:var(--ink,#eeede9);stroke-width:1px;pointer-events:none;display:none}.motion-field [data-demo-probe] path{vector-effect:non-scaling-stroke}.motion-field[data-demo=true] [data-demo-probe]{display:block}.motion-field-surface:focus-visible{outline:1px solid var(--ink,#eeede9)}.motion-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.motion-fallback{padding:16px;font-size:14px;line-height:1.5}@media (width<=480px){.motion-readout{gap:4px 8px;font-size:12px}.motion-readout-angle{font-size:12px}}@media (prefers-reduced-motion:reduce){.motion-field *{transition:none!important;animation:none!important}}
