/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.ant-input-data-count,.ant-input-suffix{pointer-events:none}.ant-spin-fullscreen:not(:has(.ant-spin-spinning)){pointer-events:none!important}.ant-btn{border-radius:var(--radius)!important;box-shadow:none!important;transition:transform .22s var(--ease),background-color .22s var(--ease),border-color .22s var(--ease),color .22s var(--ease)!important}.ant-btn:not(:disabled):active{transform:scale(.98)}.ant-btn-primary:not(:disabled){color:var(--panel)}.ant-btn-primary:disabled,.ant-btn-primary.ant-btn-disabled{color:var(--muted)!important;background:var(--bg-surface)!important;border-color:var(--line)!important;opacity:1}.ant-btn-color-primary.ant-btn-variant-text{--ant-color-link: var( --ant-color-primary )}.ant-dropdown-menu{color:var(--text-1);background-color:var(--bg-elevated);border:1px solid var(--border-subtle);--ant-color-bg-elevated: var(--bg-elevated);--ant-color-text: var(--text-1);--ant-control-item-bg-hover: rgba(var(--primary-rgb), .16)}.user-dropdown-overlay .ant-dropdown-menu{color:var(--text-1);background-color:var(--bg-elevated);--ant-color-bg-elevated: var(--bg-elevated);--ant-color-text: var(--text-1);--ant-control-item-bg-hover: rgba(var(--primary-rgb), .16)}.ant-tag{margin-inline-end:0;border-radius:var(--radius-xs)!important;background:var(--panel-hover)!important;border-color:var(--line)!important;color:var(--ink)!important}.ant-tag-success,.ant-tag-green{color:var(--success)!important;background:color-mix(in srgb,var(--success) 10%,transparent)!important;border-color:color-mix(in srgb,var(--success) 35%,var(--line))!important}.ant-tag-error,.ant-tag-red,.ant-tag-volcano{color:var(--danger)!important;background:color-mix(in srgb,var(--danger) 10%,transparent)!important;border-color:color-mix(in srgb,var(--danger) 35%,var(--line))!important}.ant-tag-warning,.ant-tag-orange,.ant-tag-gold{color:var(--warning)!important;background:color-mix(in srgb,var(--warning) 10%,transparent)!important;border-color:color-mix(in srgb,var(--warning) 35%,var(--line))!important}.ant-tag-processing,.ant-tag-blue,.ant-tag-geekblue{color:var(--indigo)!important;background:color-mix(in srgb,var(--indigo) 10%,transparent)!important;border-color:color-mix(in srgb,var(--indigo) 30%,var(--line))!important}.ant-tag-cyan{color:var(--teal)!important;background:color-mix(in srgb,var(--teal) 10%,transparent)!important;border-color:color-mix(in srgb,var(--teal) 30%,var(--line))!important}.ant-tag-purple,.ant-tag-magenta{color:var(--plum)!important;background:color-mix(in srgb,var(--plum) 10%,transparent)!important;border-color:color-mix(in srgb,var(--plum) 30%,var(--line))!important}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-input-outlined,.ant-select-outlined .ant-select-selector{border-radius:var(--radius)!important;background:var(--bg-input)!important;border-color:var(--line)!important;box-shadow:none!important}.ant-input:focus,.ant-input-affix-wrapper-focused,.ant-select-focused .ant-select-selector{border-color:var(--primary)!important}.ant-table{background:transparent!important}.ant-table-thead>tr>th{background:transparent!important;color:var(--muted)!important;font-weight:600;font-size:var(--fs-caption)}.ant-empty-description{color:var(--muted)!important}.ant-alert{border-radius:var(--radius)!important;background:var(--panel)!important;border-color:var(--line)!important}.ant-modal-content,.ant-drawer-content{background:var(--panel)!important;border-radius:var(--radius-lg)!important}.ant-tabs-ink-bar{background:var(--gold)!important}.ant-spin-fullscreen{z-index:var(--z-modal)!important}.base-layout-footer{display:flex;align-items:center;padding-right:0}.user-avatar-wrapper{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;background:transparent;cursor:pointer;border-radius:var(--radius);transition:transform .2s var(--ease-spring)}.user-avatar-wrapper:hover{transform:scale(1.05)}.user-avatar-wrapper:active{transform:scale(.95)}.user-avatar-wrapper .user-avatar{background:var(--ink)!important;color:var(--panel)!important;font-weight:600;border-radius:var(--radius)!important;transition:box-shadow .2s var(--ease-out)}.user-avatar-wrapper:hover .user-avatar{box-shadow:var(--shadow-soft)}:global .user-dropdown-overlay .ant-dropdown-menu{min-width:180px;padding:var(--space-2);border-radius:var(--radius-lg);background:var(--panel)!important;border:1px solid var(--border-subtle);box-shadow:var(--shadow-elevated)!important}:global .user-dropdown-overlay .ant-dropdown-menu-item{border-radius:var(--radius-sm);color:var(--ink)!important;font-size:var(--fs-body-sm);padding:var(--space-2) var(--space-3);transition:background-color .2s var(--ease-out),color .2s var(--ease-out)}:global .user-dropdown-overlay .ant-dropdown-menu-item:hover{background:var(--hover-wash)!important}:global .user-dropdown-overlay .ant-dropdown-menu-item:active{transform:scale(.98)}:global .user-dropdown-overlay .ant-dropdown-menu-item-divider{background:var(--border-subtle)!important;margin:var(--space-2) 0}.user-menu-info .user-menu-name{font-weight:600;font-size:var(--fs-body-sm);color:var(--ink)}.user-menu-info .user-menu-email{font-size:var(--fs-caption);color:var(--muted);margin-top:2px}.base-layout{min-height:100dvh;padding:0 var(--space-6) var(--space-7)}.shell{position:sticky;top:0;z-index:var(--z-nav);display:grid;grid-template-columns:minmax(160px,220px) minmax(0,1fr) auto;align-items:center;gap:var(--space-5);max-width:none;margin:0 0 var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.wordmark{display:flex;align-items:center;gap:var(--space-3);color:inherit;text-decoration:none;min-width:0;transition:opacity .25s var(--ease-out)}.wordmark:hover{opacity:.8}.wordmark__mark{width:32px;height:32px;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--ink);color:var(--panel);font-family:var(--font-display);font-size:16px;font-weight:600;transition:transform .4s var(--ease-spring)}.wordmark:hover .wordmark__mark{transform:rotate(-6deg) scale(1.05)}.wordmark__text{display:flex;flex-direction:column;line-height:1.15;font-weight:600;letter-spacing:-.02em}.wordmark__text small{font-size:var(--fs-micro);font-weight:500;letter-spacing:.08em;color:var(--muted);text-transform:none;margin-top:2px}.base-layout__content{max-width:none;width:100%;margin:0;min-height:calc(100dvh - var(--shell-offset))}@media (max-width: 1100px){.base-layout{padding:0 var(--space-4) var(--space-6)}.shell{grid-template-columns:1fr auto;gap:var(--space-3);padding:var(--space-3) 0}.shell-nav{grid-column:1/-1;justify-content:flex-start}}@media (max-width: 768px){.base-layout{padding:0 var(--space-4) var(--space-6)}.wordmark__mark{width:28px;height:28px;font-size:14px}.wordmark__text small{display:none}}.shell-nav__item{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;border:0;background:transparent;color:var(--muted);text-decoration:none;font:inherit;font-size:var(--fs-body-sm);font-weight:500;letter-spacing:.01em;padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);cursor:pointer;transition:color .25s var(--ease-out),background-color .25s var(--ease-out),transform .15s var(--ease-spring)}.shell-nav__item:hover{color:var(--ink);background:var(--hover-wash)}.shell-nav__item:active{transform:scale(.96)}.shell-nav__item:after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:var(--space-1);height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-spring)}.shell-nav__item.active{color:var(--ink);font-weight:600}.shell-nav__item.active:after{transform:scaleX(1)}.shell-nav__item:focus-visible{box-shadow:0 0 0 3px var(--hover-wash-strong);outline:none}.shell-nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:2px;min-width:0}@media (max-width: 1100px){.shell-nav{justify-content:flex-start}}:root{--bg: #f3eee6;--panel: #fbf7f0;--panel-hover: #efe6d8;--ink: #1c1814;--muted: #6b5340;--line: #ddd2c2;--primary: #8f4d28;--gold: #b8893a;--info: #3d5a96;--success: #3f6d48;--success-bg: rgba(63, 109, 72, .08);--warning: #a66b1e;--warning-bg: rgba(166, 107, 30, .08);--danger: #a34432;--danger-bg: rgba(163, 68, 50, .08);--teal: #2e6e63;--teal-bg: rgba(46, 110, 99, .08);--indigo: #3d5a96;--indigo-bg: rgba(61, 90, 150, .08);--plum: #8a4a68;--plum-bg: rgba(138, 74, 104, .08);--primary-rgb: 143, 77, 40;--gold-rgb: 184, 137, 58;--teal-rgb: 46, 110, 99;--indigo-rgb: 61, 90, 150;--plum-rgb: 138, 74, 104;--success-rgb: 63, 109, 72;--warning-rgb: 166, 107, 30;--danger-rgb: 163, 68, 50;--score-good: var(--success);--score-ok: var(--warning);--score-bad: var(--danger);--up: var(--danger);--down: var(--success);--flat: var(--text-3);--dur-fast: .15s;--dur: .25s;--dur-slow: .4s;--doc-bg: #f6f1e8;--doc-ink: #1c1814;--doc-accent: #6b4520;--doc-line: #e3d9c8;--radius-xs: 4px;--radius-sm: 6px;--radius: 8px;--radius-lg: 14px;--ease: cubic-bezier(.32, .72, 0, 1);--font-cjk: "PingFang SC", "Source Han Sans SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;--font: "Outfit", var(--font-cjk);--font-display: "Newsreader", "Songti SC", "Source Han Serif SC", serif;--font-mono: "IBM Plex Mono", Consolas, monospace;--fs-micro: 11px;--fs-caption: 12px;--fs-body-sm: 13px;--fs-body: 15px;--fs-body-lg: 17px;--fs-heading-sm: 20px;--fs-heading: 24px;--fs-title: 22px;--fs-title-lg: 28px;--fs-display: clamp(44px, 6vw, 68px);--fs-h4: 15px;--fs-h5: 13px;--fs-h6: 12px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 72px;--z-nav: 40;--z-overlay: 50;--z-grain: 60;--z-modal: 70;--shell-offset: 88px;--bg-base: var(--bg);--bg-elevated: var(--panel);--bg-surface: var(--panel-hover);--card: #fffdf8;--card-hover: #ffffff;--bg-input: #efe8dc;--bg-sidebar: transparent;--bg-overlay: rgba(243, 238, 230, .86);--bg-code: #1c1814;--code-text: #f3eee6;--border-subtle: var(--line);--border-strong: #c9b89a;--text-1: var(--ink);--text-2: var(--muted);--text-3: #8a7a68;--accent: var(--primary);--accent-2: var(--gold);--gradient-accent: none;--glow-accent: none;--shadow-card: 0 18px 40px -24px rgba(28, 24, 20, .22);--shadow-card-hover: 0 8px 24px rgba(var(--primary-rgb), .16);--shadow-soft: 0 2px 8px rgba(28, 24, 20, .1);--shadow-elevated: 0 4px 16px rgba(28, 24, 20, .12);--hover-wash: rgba(var(--primary-rgb), .08);--hover-wash-strong: rgba(var(--primary-rgb), .16);--icon-filter: none;--body-glow: none;--ease-spring: cubic-bezier(.32, .72, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);background-color:var(--bg);color:var(--ink);font-size:var(--fs-body);line-height:1.55;font-family:var(--font);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}:root[data-theme=dark]{--bg: #161310;--panel: #221c18;--panel-hover: #2b241e;--ink: #f3ede3;--muted: #c4b4a0;--line: #3c3228;--primary: #c4844a;--gold: #d4b06a;--info: #93a9cf;--teal: #7ab3a5;--indigo: #93a9cf;--plum: #cd93a8;--success: #6f9a6a;--warning: #c48a3a;--danger: #c45c4a;--bg-input: #1b1612;--card: #2a211a;--card-hover: #33291f;--bg-overlay: rgba(22, 19, 16, .82);--bg-code: #0f0d0b;--code-text: #f3ede3;--border-strong: #5a4a38;--text-3: #9a8a78;--shadow-card: 0 18px 40px -20px rgba(22, 19, 16, .5);--shadow-card-hover: 0 8px 24px rgba(196, 132, 74, .2);--shadow-soft: 0 2px 8px rgba(22, 19, 16, .3);--shadow-elevated: 0 4px 16px rgba(22, 19, 16, .4);--hover-wash: rgba(196, 132, 74, .12);--hover-wash-strong: rgba(196, 132, 74, .22);--success-bg: rgba(111, 154, 106, .12);--warning-bg: rgba(200, 138, 58, .12);--danger-bg: rgba(196, 92, 74, .12);--teal-bg: rgba(122, 179, 165, .12);--indigo-bg: rgba(147, 169, 207, .12);--plum-bg: rgba(205, 147, 168, .12);--primary-rgb: 196, 132, 74;--gold-rgb: 212, 176, 106;--teal-rgb: 122, 179, 165;--indigo-rgb: 147, 169, 207;--plum-rgb: 205, 147, 168;--success-rgb: 111, 154, 106;--warning-rgb: 200, 138, 58;--danger-rgb: 196, 92, 74}body{min-height:100dvh;background-color:var(--bg);color:var(--ink)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-grain);pointer-events:none;opacity:.032;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}h1,.h1{font-family:var(--font);font-size:var(--fs-display);font-weight:600;letter-spacing:-.03em;line-height:1.1;color:var(--ink)}h2,.h2{font-family:var(--font);font-size:var(--fs-title-lg);font-weight:600;letter-spacing:-.02em;line-height:1.15;color:var(--ink)}h3,.h3{font-family:var(--font);font-size:var(--fs-title);font-weight:600;line-height:1.2;color:var(--ink)}h4,.h4{font-family:var(--font);font-size:var(--fs-h4);font-weight:700;line-height:1.3;color:var(--ink)}h5,.h5{font-family:var(--font);font-size:var(--fs-h5);font-weight:600;line-height:1.4;color:var(--muted)}h6,.h6{font-family:var(--font);font-size:var(--fs-h6);font-weight:600;line-height:1.5;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em}p,.body{font-size:var(--fs-body);font-weight:400;line-height:1.55;color:var(--ink)}.caption{font-size:var(--fs-caption);font-weight:400;line-height:1.5;color:var(--text-3)}@keyframes paper-page{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes paper-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes ink-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.45);opacity:.62}}.motion-page{animation:paper-page .36s var(--ease) both}.motion-stagger>*{animation:paper-rise .5s var(--ease) both}.motion-stagger>*:nth-child(1){animation-delay:.04s}.motion-stagger>*:nth-child(2){animation-delay:.08s}.motion-stagger>*:nth-child(3){animation-delay:.12s}.motion-stagger>*:nth-child(4){animation-delay:.16s}.motion-stagger>*:nth-child(5){animation-delay:.2s}.motion-stagger>*:nth-child(6){animation-delay:.24s}.motion-stagger>*:nth-child(7){animation-delay:.28s}.motion-stagger>*:nth-child(8){animation-delay:.32s}.motion-stagger>*:nth-child(9){animation-delay:.36s}.motion-stagger>*:nth-child(10){animation-delay:.4s}.motion-stagger>*:nth-child(n+11){animation-delay:.44s}.studio-kicker{position:relative;display:inline-block}.studio-kicker:after{content:"";display:block;width:2.4em;height:1px;margin-top:8px;background:var(--gold);transform-origin:left;animation:ink-draw .7s var(--ease) .18s both}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.motion-page,.motion-stagger>*,.studio-kicker:after{animation:none!important}}:focus-visible{outline:none;box-shadow:0 0 0 3px var(--hover-wash-strong);outline-offset:0;transition:box-shadow .2s var(--ease-out)}.interactive{cursor:pointer;transition:transform .3s var(--ease-spring),opacity .2s var(--ease-out)}.interactive:hover{transform:translateY(-1px)}.interactive:active{transform:scale(.98);transition-duration:.1s}.page-work{max-width:1180px;margin:0 auto;padding:28px 8px 72px}.page-masthead{margin-bottom:28px}.page-title,.page-masthead h1{margin:0;font-family:var(--font);font-size:var(--fs-title-lg);font-weight:500;letter-spacing:-.03em;line-height:1.15;color:var(--ink)}.page-lead{margin:10px 0 0;max-width:46ch;color:var(--muted);font-size:var(--fs-body);line-height:1.6}.studio-tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border:1px solid var(--line);border-radius:var(--radius-xs);background:transparent;color:var(--muted);font-size:var(--fs-caption);font-weight:500;line-height:1}.studio-tag--gold{border-color:color-mix(in srgb,var(--gold) 55%,var(--line));color:var(--gold)}.studio-tag--ok{border-color:color-mix(in srgb,var(--success) 45%,var(--line));color:var(--success)}.studio-tag--teal{border-color:color-mix(in srgb,var(--teal) 45%,var(--line));color:var(--teal)}.studio-tag--indigo{border-color:color-mix(in srgb,var(--indigo) 45%,var(--line));color:var(--indigo)}.studio-tag--plum{border-color:color-mix(in srgb,var(--plum) 45%,var(--line));color:var(--plum)}.studio-tag--bad{border-color:color-mix(in srgb,var(--danger) 45%,var(--line));color:var(--danger)}::selection{background:rgba(var(--primary-rgb),.22);color:inherit}.skip-link{position:absolute;left:12px;top:-40px;z-index:70;padding:8px 12px;background:var(--ink);color:var(--panel);border-radius:8px}.skip-link:focus{top:12px}.scrollbar-style{scrollbar-width:thin;scrollbar-color:rgba(var(--primary-rgb),.28) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:rgba(var(--primary-rgb),.22);border-radius:99px}*::-webkit-scrollbar-track{background:transparent}.card-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5)}.card-elevated{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-5);transition:box-shadow .3s var(--ease-spring),transform .3s var(--ease-spring)}.card-elevated:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.card-inset{background:var(--bg-input);border-radius:var(--radius);padding:var(--space-4)}.card-ghost{background:transparent;border-radius:var(--radius);padding:var(--space-4);transition:background .2s var(--ease-out)}.card-ghost:hover{background:var(--hover-wash)}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
