@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-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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}}@layer components;@layer utilities{.visible{visibility:visible}.visible\!{visibility:visible!important}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.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))}}@layer admin{.admin-loading{background:var(--ink);min-height:100vh;color:var(--muted);font:11px var(--mono);place-items:center;display:grid}.admin-login-page{background:radial-gradient(circle at 70% 15%,var(--signal),transparent 28%),var(--ink);min-height:100vh}@supports (color:color-mix(in lab,red,red)){.admin-login-page{background:radial-gradient(circle at 70% 15%,color-mix(in srgb,var(--signal)8%,transparent),transparent 28%),var(--ink)}}.admin-login-page{place-items:center;padding:24px;display:grid}.admin-login-card{border:1px solid var(--line);background:var(--ink);border-radius:24px;width:min(470px,100%);padding:38px;box-shadow:0 30px 100px #0006}.admin-lock{background:var(--signal-soft);width:52px;height:52px;color:var(--signal);border-radius:15px;place-items:center;margin-bottom:30px;display:grid}.admin-login-card h1{letter-spacing:-.05em;margin:0 0 15px;font-size:38px}.admin-login-card>p:not(.eyebrow,.form-error){color:var(--muted);margin-bottom:30px;font-size:12px;line-height:1.6}.admin-login-card label{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.admin-login-card label span{font:9px var(--mono);color:var(--muted);text-transform:uppercase}.admin-login-card input{background:var(--ink);border:1px solid var(--line);color:var(--paper);border-radius:10px;outline:0;padding:13px}.admin-login-card input:focus{border-color:var(--signal)}.admin-app{background:var(--ink);min-height:100vh;color:var(--paper);grid-template-columns:245px 1fr;display:grid}.admin-sidebar{background:var(--ink);height:100vh;color:var(--paper);border-right:1px solid var(--line);position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.admin-sidebar{border-right:1px solid color-mix(in srgb,var(--line)8%,transparent)}}.admin-sidebar{flex-direction:column;padding:18px 14px;display:flex}.admin-brand{align-items:center;gap:10px;padding:4px 4px 22px;display:flex}.admin-brand>span{background:var(--signal);width:34px;height:34px;color:var(--paper);border:1px solid var(--line);border-radius:50%;place-items:center;font-size:10px;font-weight:800;display:grid;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.admin-brand>span{border:1px solid color-mix(in srgb,var(--line)16%,transparent)}}.admin-brand>span{box-shadow:0 0 0 3px var(--signal)}@supports (color:color-mix(in lab,red,red)){.admin-brand>span{box-shadow:0 0 0 3px color-mix(in srgb,var(--signal)8%,transparent)}}.admin-brand>span img{object-fit:cover;width:100%;height:100%;display:block}.admin-brand div{flex-direction:column;display:flex}.admin-brand strong{font-size:12px}.admin-brand small{font:8px var(--mono);color:var(--muted);margin-top:3px}.admin-mobile-close{display:none}.admin-sidebar nav{flex-direction:column;gap:3px;display:flex}.admin-sidebar nav button,.admin-sidebar-bottom button,.admin-sidebar-bottom a{color:var(--muted);text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;min-height:40px;padding:0 10px;font-size:11px;display:flex}.admin-sidebar nav button:hover,.admin-sidebar nav button.active,.admin-sidebar-bottom button:hover,.admin-sidebar-bottom a:hover{color:var(--on-action);background:var(--panel)}@supports (color:color-mix(in lab,red,red)){.admin-sidebar nav button:hover,.admin-sidebar nav button.active,.admin-sidebar-bottom button:hover,.admin-sidebar-bottom a:hover{background:color-mix(in srgb,var(--panel)7%,transparent)}}.admin-sidebar nav button.active svg{color:var(--signal)}.admin-sidebar-bottom{border-top:1px solid var(--line);margin-top:auto}@supports (color:color-mix(in lab,red,red)){.admin-sidebar-bottom{border-top:1px solid color-mix(in srgb,var(--line)8%,transparent)}}.admin-sidebar-bottom{flex-direction:column;padding-top:12px;display:flex}.admin-sidebar-bottom small{color:var(--muted);text-overflow:ellipsis;padding:12px 10px 2px;font-size:8px;overflow:hidden}.admin-main{min-width:0}.admin-topbar{border-bottom:1px solid var(--line);background:var(--signal);align-items:center;height:86px;padding:0 30px;display:flex}@supports (color:color-mix(in lab,red,red)){.admin-topbar{background:color-mix(in srgb,var(--signal)86%,transparent)}}.admin-topbar{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:20;position:sticky;top:0}.admin-topbar div p{color:var(--muted);font:8px var(--mono);text-transform:uppercase;letter-spacing:.12em;margin:0}.admin-topbar h1{letter-spacing:-.025em;margin:4px 0 0;font-size:18px}.admin-live{font:8px var(--mono);color:var(--muted);align-items:center;gap:7px;margin-left:auto;display:flex}.admin-live i{background:var(--signal);border-radius:50%;width:7px;height:7px}.admin-menu{display:none}.admin-content{max-width:1500px;margin:0 auto;padding:28px}.admin-section-head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px;display:flex}.admin-section-head h2{letter-spacing:-.04em;margin:0;font-size:26px}.admin-section-head p{color:var(--muted);margin:5px 0 0;font-size:11px}.admin-secondary,.admin-primary{border:1px solid var(--line);background:var(--panel);min-height:36px;color:var(--paper);border-radius:9px;align-items:center;gap:7px;padding:0 12px;font-size:10px;font-weight:700;display:inline-flex}.admin-primary{background:var(--action);color:var(--on-action);border-color:var(--line)}.admin-primary:hover{background:var(--action)}.admin-secondary:hover{background:var(--panel)}.admin-form-stack{flex-direction:column;gap:16px;display:flex}.admin-editor-card,.admin-subsection{border:1px solid var(--line);background:var(--panel);border-radius:14px;flex-direction:column;gap:14px;padding:20px;display:flex}.admin-subsection h3{margin:0 0 3px;font-size:13px}.admin-form-grid{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.admin-field{flex-direction:column;gap:6px;display:flex}.admin-field>span{font:8px var(--mono);text-transform:uppercase;color:var(--muted);letter-spacing:.1em}.admin-field small,.admin-help{color:var(--muted);font-size:9px;line-height:1.5}.admin-input{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--paper);border-radius:8px;outline:0;padding:10px 11px;font-size:11px}.admin-input:focus{border-color:var(--signal)}.admin-textarea{resize:vertical;font-family:inherit;line-height:1.55}.admin-toggle{align-items:center;gap:9px;font-size:10px;display:flex}.admin-toggle input{accent-color:var(--signal)}.admin-save-row{color:var(--muted);justify-content:flex-end;align-items:center;gap:8px;font-size:9px;display:flex}.admin-list{border:1px solid var(--line);background:var(--panel);border-radius:14px;margin-top:18px;overflow:hidden}.admin-list-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:14px 16px;display:flex}.admin-list-row:last-child{border-bottom:0}.admin-list-row>div:first-child{flex-direction:column;gap:3px;min-width:0;display:flex}.admin-list-row strong{font-size:11px}.admin-list-row span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:700px;font-size:9px;overflow:hidden}.admin-row-meta{align-items:center;gap:8px;display:flex}.admin-row-meta>span{font:8px var(--mono);background:var(--panel);border-radius:99px;padding:5px 8px}.admin-row-meta button,.message-actions button{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:7px;justify-content:center;align-items:center;min-width:30px;height:30px;display:flex}.admin-row-meta .danger,.message-actions .danger{color:var(--error)}.message-list{flex-direction:column;gap:10px;display:flex}.message-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:17px}.message-card.is-read{opacity:.68}.message-head{justify-content:space-between;gap:20px;display:flex}.message-head>div{grid-template-columns:30px 1fr;align-items:center;column-gap:8px;display:grid}.message-icon{background:var(--panel);border-radius:8px;grid-row:1/3;place-items:center;width:28px;height:28px;display:grid}.message-head strong{font-size:11px}.message-head small,.message-head time{color:var(--muted);font-size:8px}.message-card>p{color:var(--muted);margin:15px 0;font-size:10px;line-height:1.6}.message-actions{justify-content:flex-end;gap:6px;display:flex}.message-actions button{gap:5px;padding:0 8px;font-size:9px}.admin-stat-grid{grid-template-columns:repeat(5,1fr);gap:9px;margin:12px 0;display:grid}.admin-stat{border:1px solid var(--line);background:var(--panel);border-radius:12px;flex-direction:column;gap:18px;padding:16px;display:flex}.admin-stat span{font:8px var(--mono);color:var(--muted);text-transform:uppercase}.admin-stat strong{letter-spacing:-.05em;font-size:29px}.admin-overview-grid{grid-template-columns:1.2fr .8fr;gap:12px;display:grid}.admin-panel{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:18px}.admin-panel-head{justify-content:space-between;align-items:center;gap:15px;display:flex}.admin-panel-head h3{margin:0;font-size:11px}.admin-panel-head span{font:8px var(--mono);color:var(--muted)}.path-list{margin-top:18px}.path-list div{border-top:1px solid var(--line);justify-content:space-between;gap:20px;padding:12px 0;display:flex}.path-list span{font:9px var(--mono);color:var(--muted)}.path-list strong{font-size:10px}@media(max-width:1100px){.admin-stat-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.admin-app{display:block}.admin-sidebar{z-index:50;width:250px;transition:all .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:20px 0 60px #0003}.admin-sidebar.is-open{transform:translate(0)}.admin-mobile-close{color:var(--muted);background:0 0;border:0;place-items:center;margin-left:auto;display:grid}.admin-menu{border:1px solid var(--line);background:var(--panel);border-radius:8px;place-items:center;width:35px;height:35px;margin-right:12px;display:grid}.admin-content{padding:18px}.admin-stat-grid{grid-template-columns:1fr 1fr}.admin-overview-grid{grid-template-columns:1fr}}@media(max-width:560px){.admin-form-grid{grid-template-columns:1fr}.admin-stat-grid{grid-template-columns:1fr 1fr}.admin-topbar{padding:0 16px}.admin-live{display:none}}.admin-topbar-actions{align-items:center;gap:14px;margin-left:auto;display:flex}.admin-topbar-actions .admin-live{margin-left:0}.admin-theme-toggle{border:1px solid var(--line);background:var(--panel)}@supports (color:color-mix(in lab,red,red)){.admin-theme-toggle{background:color-mix(in srgb,var(--panel)40%,transparent)}}.admin-theme-toggle:hover{background:var(--panel)}.admin-theme-toggle .theme-toggle-track{border-color:var(--line);background:var(--panel)}.admin-theme-toggle .theme-toggle-thumb{background:var(--panel);color:var(--paper)}.admin-stat-grid-rich{grid-template-columns:repeat(6,1fr)}.admin-stat{position:relative;overflow:hidden}.admin-stat:after{content:"";background:var(--panel);border-radius:10px;height:2px;position:absolute;inset:auto 12px 0}.admin-stat:hover:after{background:var(--signal)}.admin-stat small.stat-note{color:var(--muted);margin-top:-11px;font-size:8px}.admin-overview-primary{grid-template-columns:1.35fr .65fr;margin-bottom:12px}.admin-panel-head>div{min-width:0}.admin-panel-head>div>p{color:var(--muted);margin:4px 0 0;font-size:8px;line-height:1.45}.admin-panel-head h3{align-items:center;gap:7px;display:flex}.trend-chip{background:var(--panel);border-radius:99px;align-items:center;gap:5px;padding:6px 8px;color:var(--muted)!important;display:inline-flex!important}.trend-chip.is-up{background:var(--signal-soft);color:var(--signal)!important}.trend-chip.is-down{background:var(--error-soft);color:var(--error)!important}.admin-insight-grid{grid-template-columns:1fr 1fr .8fr;gap:12px;margin-bottom:12px;display:grid}.breakdown-list{flex-direction:column;gap:14px;margin-top:18px;display:flex}.breakdown-list>div>div{justify-content:space-between;gap:12px;display:flex}.breakdown-list span,.breakdown-list strong{font-size:9px}.breakdown-list i{background:var(--panel);border-radius:99px;height:5px;margin:6px 0 4px;display:block;overflow:hidden}.breakdown-list i b{background:var(--signal);border-radius:99px;min-width:3px;height:100%;display:block}.breakdown-list small{font:7px var(--mono);color:var(--muted)}.inventory-list{grid-template-columns:1fr 1fr;gap:7px;margin-top:15px;display:grid}.inventory-list button{border:1px solid var(--line);background:var(--ink);text-align:left;color:var(--muted);border-radius:10px;justify-content:space-between;align-items:center;padding:13px;display:flex}.inventory-list button:hover{border-color:var(--line);background:var(--signal-soft)}.inventory-list span{font-size:9px}.inventory-list strong{color:var(--paper);font-size:17px}.admin-quick-panel{background:var(--panel);color:var(--paper);border-color:var(--line);justify-content:space-between;align-items:center;gap:24px;margin-bottom:12px;display:flex}.admin-quick-panel .micro-label{color:var(--muted);margin:0 0 7px}.admin-quick-panel h3{margin:0;font-size:14px}.admin-quick-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.admin-quick-actions button{border:1px solid var(--line)}@supports (color:color-mix(in lab,red,red)){.admin-quick-actions button{border:1px solid color-mix(in srgb,var(--line)12%,transparent)}}.admin-quick-actions button{background:var(--panel)}@supports (color:color-mix(in lab,red,red)){.admin-quick-actions button{background:color-mix(in srgb,var(--panel)5%,transparent)}}.admin-quick-actions button{color:var(--paper);border-radius:9px;align-items:center;gap:7px;min-height:37px;padding:0 11px;font-size:9px;display:inline-flex}.admin-quick-actions button:hover{background:var(--signal);color:var(--paper);border-color:var(--signal)}[data-theme=dark] .admin-app{background:var(--ink);color:var(--paper)}[data-theme=dark] .admin-topbar{background:var(--panel)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .admin-topbar{background:color-mix(in srgb,var(--panel)86%,transparent)}}[data-theme=dark] .admin-topbar{border-color:var(--line)}[data-theme=dark] .admin-theme-toggle{border-color:var(--line);background:var(--panel)}[data-theme=dark] .admin-theme-toggle .theme-toggle-track{border-color:var(--line);background:var(--ink)}[data-theme=dark] .admin-theme-toggle .theme-toggle-thumb{background:var(--ink);color:var(--muted)}[data-theme=dark] .admin-editor-card,[data-theme=dark] .admin-subsection,[data-theme=dark] .admin-list,[data-theme=dark] .message-card,[data-theme=dark] .admin-stat,[data-theme=dark] .admin-panel{background:var(--panel);border-color:var(--line)}[data-theme=dark] .admin-input{background:var(--ink);border-color:var(--line);color:var(--paper)}[data-theme=dark] .admin-list-row,[data-theme=dark] .path-list div{border-color:var(--line)}[data-theme=dark] .breakdown-list i b{background:var(--signal)}[data-theme=dark] .breakdown-list i{background:var(--panel)}[data-theme=dark] .inventory-list button{background:var(--ink);border-color:var(--line);color:var(--muted)}[data-theme=dark] .inventory-list strong{color:var(--paper)}[data-theme=dark] .trend-chip{background:var(--panel);color:var(--muted)!important}[data-theme=dark] .trend-chip.is-up{background:var(--signal-soft);color:var(--signal)!important}[data-theme=dark] .trend-chip.is-down{background:var(--error-soft);color:var(--error)!important}@media(max-width:1100px){.admin-stat-grid-rich{grid-template-columns:repeat(3,1fr)}.admin-insight-grid{grid-template-columns:1fr 1fr}.admin-insight-grid>.admin-panel:last-child{grid-column:1/-1}}@media(max-width:820px){.admin-topbar-actions{gap:8px}.admin-theme-toggle .theme-toggle-label{display:none}.admin-overview-primary,.admin-insight-grid{grid-template-columns:1fr}.admin-insight-grid>.admin-panel:last-child{grid-column:auto}.admin-quick-panel{flex-direction:column;align-items:flex-start}.admin-quick-actions{justify-content:flex-start}.admin-stat-grid-rich{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.admin-stat-grid-rich{grid-template-columns:1fr 1fr}.admin-stat{padding:14px}.admin-stat strong{font-size:25px}.admin-quick-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.admin-quick-actions button{justify-content:center}}.admin-issuer-field{flex-direction:column;gap:9px;display:flex}.admin-issuer-field .issuer-badge{padding:2px 1px}.credential-admin-row{justify-content:flex-start}.credential-admin-row>div:nth-child(2){flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.credential-admin-row>.admin-row-meta{flex:none;margin-left:auto}[data-theme=dark] .admin-app .issuer-badge-mark{background:linear-gradient(145deg,var(--panel),var(--panel))}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .admin-app .issuer-badge-mark{background:linear-gradient(145deg,color-mix(in srgb,var(--panel)7%,transparent),color-mix(in srgb,var(--panel)2%,transparent))}}[data-theme=dark] .admin-app .issuer-badge-mark{border-color:var(--line);color:var(--paper)}[data-theme=dark] .admin-app .issuer-badge-copy strong,[data-theme=dark] .admin-app .issuer-badge-copy small{color:var(--muted)}.admin-primary,.admin-secondary{transition:transform .48s cubic-bezier(.16,1,.3,1),background-color .42s cubic-bezier(.16,1,.3,1),border-color .42s cubic-bezier(.16,1,.3,1),color .32s,box-shadow .48s cubic-bezier(.16,1,.3,1),opacity .3s}.admin-brand>span img{object-fit:cover;object-position:center center;transform:scale(.94)}.admin-security-note{border:1px solid var(--line);align-items:center;gap:8px;display:flex}@supports (color:color-mix(in lab,red,red)){.admin-security-note{border:1px solid color-mix(in srgb,var(--line)16%,transparent)}}.admin-security-note{background:var(--signal)}@supports (color:color-mix(in lab,red,red)){.admin-security-note{background:color-mix(in srgb,var(--signal)5%,transparent)}}.admin-security-note{color:var(--muted);border-radius:11px;margin:-12px 0 22px;padding:10px 12px;font-size:10px;line-height:1.45}.admin-security-note svg{color:var(--signal);flex:none}.credential-uploader{border:1px dashed var(--line);background:var(--panel);border-radius:13px;min-height:92px;transition:border-color .3s,background .3s;position:relative;overflow:hidden}.credential-uploader:hover{border-color:var(--signal);background:var(--signal-soft)}.credential-upload-copy{pointer-events:none;align-items:center;gap:12px;padding:17px;display:flex}.credential-upload-icon{background:var(--signal-soft);width:42px;height:42px;color:var(--signal);border-radius:12px;flex:none;place-items:center;display:grid}.credential-upload-copy>div{flex-direction:column;gap:4px;display:flex}.credential-upload-copy strong{font-size:10px}.credential-upload-copy small{color:var(--muted);font-size:8px;line-height:1.45}[data-theme=dark] .credential-uploader{background:var(--ink);border-color:var(--line)}[data-theme=dark] .credential-uploader:hover{background:var(--ink);border-color:var(--signal)}[data-theme=dark] .credential-upload-icon{background:var(--signal-soft);color:var(--signal)}[data-theme=dark] .credential-upload-copy small{color:var(--muted)}@media(max-width:560px){.credential-upload-copy{padding:14px}}.admin-input[readonly]{background:var(--panel-soft);color:var(--muted);cursor:default}.project-story-editor{margin:2px 0;padding:18px!important}.project-story-editor>.admin-form-grid{margin-top:2px}[data-theme=dark] .admin-input[readonly]{background:var(--ink);color:var(--muted)}.admin-filter-tabs{border:1px solid var(--line);background:var(--panel);border-radius:11px;gap:4px;padding:4px;display:flex}.admin-filter-tabs button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:7px 10px;font-size:9px}.admin-filter-tabs button.active{background:var(--signal);color:var(--on-action)}.admin-learning-icon{background:var(--signal-soft);width:34px;height:34px;color:var(--signal);border:1px solid var(--line);border-radius:10px;flex:none;place-items:center;display:grid}.admin-entry-kind{align-items:center;gap:4px!important;display:inline-flex!important}.admin-entry-kind.education{color:var(--signal)!important}.admin-list-empty{text-align:center;color:var(--muted);padding:22px;font-size:10px}[data-theme=dark] .admin-filter-tabs{background:var(--ink);border-color:var(--line);color:var(--muted)}[data-theme=dark] .admin-filter-tabs button.active{background:var(--signal);color:var(--on-action)}[data-theme=dark] .admin-learning-icon{background:var(--signal-soft);border-color:var(--line);color:var(--signal)}@media(max-width:620px){.admin-filter-tabs{width:100%;overflow:auto}.admin-filter-tabs button{white-space:nowrap}.credential-admin-row>.admin-row-meta{flex-wrap:wrap;justify-content:flex-end}}}body{--routes-top:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201600%201100%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M-20%2034H58L136%20112H260L586%20438M-32%2058H44L122%20136H246L564%20454M-30%2082H30L108%20160H210L480%20430%22%2F%3E%3Cpath%20opacity%3D%22.55%22%20d%3D%22M100-30L190%2060H302L590%20348M-18%20296L40%20354V580L98%20638H142M-30%20322L18%20370V598L76%20656H124M-16%20688L80%20784H258L420%20946H616M1620%20110L1544%20186V328L1472%20400H1430M1636%20144L1566%20214V346L1494%20418H1450%22%2F%3E%3Ccircle%20cx%3D%22136%22%20cy%3D%22112%22%20r%3D%223.5%22%2F%3E%3Ccircle%20cx%3D%22354%22%20cy%3D%22206%22%20r%3D%223%22%2F%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%22484%22%20r%3D%223%22%2F%3E%3Ccircle%20cx%3D%221544%22%20cy%3D%22252%22%20r%3D%223.5%22%2F%3E%3Ccircle%20cx%3D%22258%22%20cy%3D%22784%22%20r%3D%223%22%2F%3E%3Cpath%20opacity%3D%22.6%22%20d%3D%22M20%2086v16m-8-8h16M1562%20944v16m-8-8h16%22%2F%3E%3C%2Fsvg%3E);--routes-bottom:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201600%20640%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.1%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M-16%20260L118%20394H266L450%20578H696M-28%20292L106%20426H254L438%20610H684M1000%20650L1108%20542H1260L1368%20434H1496L1610%20548%22%2F%3E%3Cpath%20opacity%3D%22.5%22%20d%3D%22M1018%20672L1126%20564H1278L1386%20456H1486L1596%20566M-12%2018L52%2082V162L92%20202%22%2F%3E%3Ccircle%20cx%3D%22118%22%20cy%3D%22394%22%20r%3D%223.5%22%2F%3E%3Ccircle%20cx%3D%221368%22%20cy%3D%22434%22%20r%3D%223.5%22%2F%3E%3Ccircle%20cx%3D%2252%22%20cy%3D%22114%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E);--routes-mobile-top:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20390%201100%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.1%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M230-18H270L374%2086V152M248-18H288L390%2084%22%2F%3E%3Cpath%20opacity%3D%22.55%22%20d%3D%22M-18%20314L8%20340V594L-12%20614M402%20406L376%20432V584L402%20610%22%2F%3E%3Ccircle%20cx%3D%22374%22%20cy%3D%22122%22%20r%3D%223%22%2F%3E%3Ccircle%20cx%3D%228%22%20cy%3D%22522%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E);--routes-mobile-bottom:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20390%20640%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.1%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M-12%20426L12%20450V570L72%20630H140M402%20146L376%20172V294L402%20320%22%2F%3E%3Cpath%20opacity%3D%22.5%22%20d%3D%22M-24%20438L-2%20460V582L58%20642M414%20156L388%20182V286L414%20312%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%22520%22%20r%3D%223%22%2F%3E%3Ccircle%20cx%3D%22376%22%20cy%3D%22214%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E);--routes-primary-opacity:.3;--routes-secondary-opacity:.2;isolation:isolate;position:relative}:root[data-theme=light] body{--routes-primary-opacity:.12;--routes-secondary-opacity:.1}@supports ((-webkit-mask-image:url()) or (mask-image:url())){body:before,body:after{content:"";z-index:-1;pointer-events:none;width:min(100%,1600px);max-height:100%;margin-inline:auto;transition:background-color .3s,opacity .24s;position:absolute;inset-inline:0;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}body:before{background-color:var(--signal);height:min(68.75vw,1100px);opacity:var(--routes-primary-opacity);-webkit-mask-image:var(--routes-top);mask-image:var(--routes-top);top:0}body:after{background-color:var(--warm);height:min(40vw,640px);opacity:var(--routes-secondary-opacity);-webkit-mask-image:var(--routes-bottom);mask-image:var(--routes-bottom);bottom:0}body:has(.article-page,.profile-page,.admin-app,.admin-login-page):before{opacity:calc(var(--routes-primary-opacity)*.55)}body:has(.article-page,.profile-page,.admin-app,.admin-login-page):after{opacity:calc(var(--routes-secondary-opacity)*.55)}body :is(.admin-app,.admin-login-page){background-color:#0000}@media(max-width:600px){body:before{height:1100px;-webkit-mask-image:var(--routes-mobile-top);mask-image:var(--routes-mobile-top)}body:after{height:640px;-webkit-mask-image:var(--routes-mobile-bottom);mask-image:var(--routes-mobile-bottom)}}@media(prefers-reduced-motion:reduce){body:before,body:after{transition:none}}}.assistant-launcher{z-index:80;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));width:60px;height:60px;color:var(--signal);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;transition:opacity .24s,filter .24s,transform .38s cubic-bezier(.16,1,.3,1);display:grid;position:fixed}.assistant-launcher>svg:not(.assistant-hexagon){position:relative}.assistant-hexagon{width:100%;height:100%;fill:var(--panel);stroke:var(--signal);stroke-width:1.2px;transition:fill .24s;position:absolute;inset:0}.assistant-launcher:hover .assistant-hexagon{fill:var(--signal-soft)}.assistant-launcher:hover{transform:translateY(-2px)}.assistant-launcher[data-open=true]{opacity:0;filter:blur(6px);pointer-events:none;transform:scale(.82)}.assistant-launcher:focus-visible{outline:2px solid var(--signal);outline-offset:4px}.assistant-loading{z-index:80;background:var(--panel);color:var(--paper);border-radius:28px;padding:14px 22px;font-size:14px;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}@media(max-width:600px){.assistant-launcher{right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));width:54px;height:54px}}@media(prefers-reduced-motion:reduce){.assistant-launcher{transition:opacity 80ms;filter:none!important;transform:none!important}}@font-face{font-family:Catamaran;src:url(/fonts/catamaran-latin.woff2)format("woff2");font-weight:400 800;font-display:swap}@font-face{font-family:Public Sans;src:url(/fonts/public-sans-latin.woff2)format("woff2");font-weight:400 700;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2");font-weight:400 500;font-display:swap}:root{--display:Catamaran,sans-serif;--mono:"JetBrains Mono",monospace;--ink:#14181b;--paper:#f3f2eb;--muted:#acb8bc;--panel:#20272b;--panel-soft:#2b3438;--signal:#49c7a5;--signal-soft:#203b33;--warm:#d3b58c;--line:#3b4549;--line-strong:#7c8c8f;--action:var(--signal);--action-hover:#76d7bc;--on-action:#14181b;--error:#f2a69b;--error-soft:#412b2a;--field:var(--panel);--field-dark:var(--ink);--field-paper:var(--paper);--field-muted:var(--muted);--field-line:var(--line-strong);--field-selected:var(--panel-soft);--field-grid:var(--paper);font-family:Public Sans,sans-serif}@supports (color:color-mix(in lab,red,red)){:root{--field-grid:color-mix(in srgb,var(--paper)4%,transparent)}}:root{--code-canvas:#14181b;--code-paper:#f3f2eb;--code-muted:#acb8bc;--code-line:#3b4549;--code-signal:#49c7a5;--scrim:#14181bb3;--u:calc(100vw/1536);color:var(--paper);background:var(--ink);font-synthesis:none;text-rendering:optimizeLegibility}:root[data-theme=light]{--ink:#f4f1e9;--paper:#202b2b;--muted:#556461;--panel:#e7e8e1;--panel-soft:#dde1d8;--signal:#096d55;--signal-soft:#dcebe2;--warm:#76542c;--line:#bcc8c1;--line-strong:#708179;--action-hover:#075941;--on-action:#fff;--error:#9c3025;--error-soft:#f2dfd8}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--line-strong)var(--ink)}body{background:var(--ink);min-width:320px;color:var(--paper);margin:0;font-size:16px;line-height:1.6}body,button,input,textarea,select{font-family:Public Sans,sans-serif}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none;transition:color .26s,background-color .26s,border-color .26s}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3{letter-spacing:-.025em;line-height:1.1}h2{font-family:var(--display);font-size:clamp(36px,4.2vw,64px);font-weight:650}h3{font-size:23px;font-weight:600}::selection{background:var(--signal);color:var(--on-action)}:focus-visible:not(input):not(textarea):not(select){outline:2px solid var(--signal);outline-offset:5px}input,textarea{caret-color:var(--signal)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}a{text-underline-offset:5px}::-webkit-scrollbar{width:9px}::-webkit-scrollbar-track{background:var(--ink)}::-webkit-scrollbar-thumb{background:var(--line-strong);border:2px solid var(--ink)}.site-shell{min-height:100vh;position:relative}.site-nav-wrap{height:calc(76*var(--u));border-bottom:1px solid var(--line);background:var(--ink);z-index:40;position:sticky;top:0}.site-nav{visibility:hidden}.site-main{min-width:0;position:relative}.site-footer,.ambient,.route-signal{display:none}.manual-hero{height:calc(802*var(--u));position:relative}.hero-portrait{left:calc(101*var(--u));top:calc(572*var(--u));width:calc(201*var(--u));height:calc(200*var(--u));object-fit:cover;position:absolute}.skip-link{z-index:100;background:var(--paper);color:var(--ink);padding:12px 18px;position:fixed;top:8px;left:16px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-nav{visibility:visible;height:100%;padding:0 calc(40*var(--u))0 calc(67*var(--u));align-items:center;gap:24px;display:flex}.brand{font-size:calc(29*var(--u));white-space:nowrap;letter-spacing:-.02em;font-weight:500}.desktop-nav{align-items:center;gap:calc(62*var(--u));margin-left:auto;display:flex}.nav-links{align-items:center;gap:calc(56*var(--u));margin-right:calc(120*var(--u));display:flex}.nav-link{font-size:calc(16*var(--u));padding:9px 0;line-height:1.5;position:relative}.nav-link:after{content:"";background:var(--signal);transform-origin:0;height:1px;transition:transform .22s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-link:hover:after,.nav-link.is-active:after{transform:scaleX(1)}.nav-cta{background:var(--action);color:var(--on-action);width:calc(121*var(--u));height:calc(40*var(--u));font-size:calc(16*var(--u));white-space:nowrap;border-radius:2px;justify-content:center;align-items:center;gap:10px;display:flex}.nav-controls{display:none}.theme-toggle{color:var(--paper);background:0 0;border:0;justify-content:center;align-items:center;gap:12px;min-height:40px;padding:0;display:flex}.theme-toggle-track{border:1px solid var(--signal);border-radius:30px;width:48px;height:29px;position:relative}.theme-toggle-thumb{background:var(--paper);border-radius:50%;width:20px;height:20px;transition:transform .3s cubic-bezier(.16,1,.3,1);position:absolute;top:3px;left:4px}[data-theme=dark] .theme-toggle-thumb{transform:translate(18px)}.manual-opening{position:relative}.index-rail{width:calc(62*var(--u));border-right:1px solid var(--line);z-index:1;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0}.index-rail>span{left:calc(19*var(--u));font:calc(12*var(--u))var(--mono);text-transform:uppercase;letter-spacing:.1em;flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute}.index-rail>span:first-child{top:calc(23*var(--u))}.index-rail>span:nth-child(2){top:calc(422*var(--u))}.index-rail>span:nth-child(3){top:calc(815*var(--u))}.index-rail b{font:calc(14*var(--u))"Public Sans",sans-serif;border-bottom:1px solid var(--line-strong);padding-bottom:4px}.index-rail i{writing-mode:vertical-rl;color:var(--muted);font-style:normal}.hero-title{left:calc(99*var(--u));top:calc(66*var(--u));font-family:var(--display);font-size:calc(116*var(--u));letter-spacing:-.025em;font-weight:800;line-height:.79;position:absolute}.hero-title>span{display:block}.accent{color:var(--signal)}.hero-introduction{left:calc(100*var(--u));top:calc(367*var(--u));width:calc(482*var(--u));font-size:calc(22*var(--u));letter-spacing:-.01em;line-height:1.3;position:absolute}.hero-actions{left:calc(101*var(--u));top:calc(501*var(--u));gap:calc(18*var(--u));display:flex;position:absolute}.button{border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:0 24px;font-size:16px;font-weight:500;line-height:1.3;transition:background .22s,border-color .22s,color .22s;display:inline-flex}.button-primary{background:var(--action);color:var(--on-action)}.button-primary:hover,.nav-cta:hover{background:var(--action-hover)}.button-ghost{border-color:var(--line-strong);color:var(--paper);background:0 0}.button-ghost:hover{background:var(--signal-soft);border-color:var(--signal)}.hero-actions .button{height:calc(49*var(--u));min-height:0;font-size:calc(19*var(--u));padding:0}.hero-actions .button-primary{width:calc(235*var(--u))}.hero-actions .button-ghost{width:calc(221*var(--u))}.hero-context{left:calc(333*var(--u));top:calc(622*var(--u));border-left:1px solid var(--line-strong);padding:calc(10*var(--u))0 0 calc(31*var(--u));width:calc(255*var(--u));height:calc(125*var(--u));font-size:calc(16*var(--u));line-height:1.5;position:absolute}.hero-context strong{font-size:calc(18*var(--u));margin-bottom:12px;font-weight:500;display:block}.hero-context>span{color:var(--muted);align-items:flex-start;gap:12px;margin-top:8px;display:flex}.hero-context svg{flex-shrink:0;margin-top:3px}.status-dot{background:var(--signal);border-radius:50%;flex-shrink:0;width:14px;height:14px;margin-top:5px;display:inline-block}.project-specimen{left:calc(615*var(--u));top:calc(24*var(--u));width:calc(904*var(--u));height:calc(745*var(--u));background-color:var(--field);color:var(--field-paper);background-image:linear-gradient(var(--field-grid)1px,transparent 1px),linear-gradient(90deg,var(--field-grid)1px,transparent 1px);background-size:calc(47*var(--u))calc(47*var(--u));isolation:isolate;position:absolute}.specimen-heading{top:calc(23*var(--u));left:calc(30*var(--u));right:calc(30*var(--u));justify-content:space-between;align-items:center;gap:20px;display:flex;position:absolute}.specimen-heading h2{font-family:Public Sans,sans-serif;font-size:calc(26*var(--u));letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;font-weight:500}.specimen-heading>span{font:calc(11*var(--u))var(--mono);text-transform:uppercase;white-space:nowrap;color:var(--warm)}.workflow-stages{left:calc(38*var(--u));right:calc(38*var(--u));top:calc(107*var(--u));column-gap:calc(53*var(--u));grid-template-columns:160fr 179fr 168fr 160fr;display:grid;position:absolute}.workflow-stage{min-width:0;position:relative}.stage-frame{height:calc(201*var(--u));padding:calc(13*var(--u))calc(16*var(--u));border:1px solid var(--field-line);background:var(--field-dark);width:100%;color:inherit;text-align:left;flex-direction:column;align-items:flex-start;transition:background .25s,border-color .25s;display:flex;position:relative}.stage-number{font-size:calc(14*var(--u));line-height:1.5}.stage-frame strong{font-size:calc(24*var(--u));letter-spacing:-.02em;font-weight:500;line-height:1.1}.stage-frame>svg{width:calc(64*var(--u));height:calc(64*var(--u));margin:calc(23*var(--u))auto 0;max-width:64px}.stage-affordance{opacity:0;transition:opacity .2s;position:absolute;bottom:9px;right:10px}.stage-frame:hover,.stage-frame:focus-visible,.stage-frame.is-selected{background:var(--field-selected);border-color:var(--signal)}.stage-frame:hover .stage-affordance,.stage-frame:focus-visible .stage-affordance,.stage-frame.is-selected .stage-affordance{opacity:1}.workflow-stage>p{font:calc(14*var(--u))/1.5 var(--mono);letter-spacing:0;color:var(--field-muted);margin-top:calc(13*var(--u))}.stage-connector{left:100%;top:calc(100*var(--u));width:calc(53*var(--u));background:var(--warm);height:1px;position:absolute}.stage-connector svg{position:absolute;top:-14px;right:-3px}.file-feeds{top:calc(389*var(--u));left:calc(176*var(--u));width:calc(550*var(--u));height:calc(61*var(--u));border-bottom:1px solid var(--field-line);position:absolute}.file-feeds:before,.file-feeds:after{content:"";bottom:calc(-21*var(--u));height:calc(21*var(--u));background:var(--field-line);width:1px;position:absolute}.file-feeds:before{left:0}.file-feeds:after{right:0}.file-feeds i{height:calc(41*var(--u));background:var(--field-line);width:1px;position:absolute;bottom:0;left:30%}.file-feeds i:last-child{left:71%}.system-files{left:calc(38*var(--u));right:calc(38*var(--u));top:calc(450*var(--u));height:calc(143*var(--u));padding:calc(9*var(--u))calc(14*var(--u))calc(16*var(--u));border:1px solid var(--field-line);background:var(--field-dark);position:absolute}.system-files>p{font:calc(12*var(--u))/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--warm)}.system-file-list{gap:calc(13*var(--u));margin-top:calc(13*var(--u));grid-template-columns:1fr 1.02fr 1.09fr;display:grid}.system-file{align-items:flex-start;gap:calc(10*var(--u));border:1px solid var(--field-line);padding:calc(10*var(--u))calc(12*var(--u));height:calc(89*var(--u));font-size:calc(15*var(--u));border-radius:2px;line-height:1.4;display:flex}.system-file>svg{width:calc(30*var(--u));height:calc(35*var(--u));margin-top:calc(2*var(--u));flex-shrink:0}.system-file>div{flex:1;min-width:0}.system-file strong{white-space:nowrap;font-weight:500;display:block}.system-file span{color:var(--field-muted);margin-top:3px;line-height:1.35;display:block}.specimen-cta{left:calc(38*var(--u));top:calc(634*var(--u));height:calc(64*var(--u));width:calc(425*var(--u));background:var(--action);border:1px solid var(--action);font-size:calc(22*var(--u));justify-content:center;align-items:center;gap:17px;font-weight:500;transition:background .2s;display:flex;position:absolute}.specimen-focus{left:calc(580*var(--u));top:calc(657*var(--u));font:calc(12*var(--u))/1.6 var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--warm);position:absolute}.specimen-focus span{letter-spacing:.18em}.specimen-focus p{white-space:nowrap}.workflow-detail{z-index:3;left:calc(38*var(--u));right:calc(38*var(--u));top:calc(322*var(--u));min-height:calc(120*var(--u));background:var(--field-dark);border:1px solid var(--field-line);padding:18px 24px;font-size:15px;line-height:1.5;position:absolute;box-shadow:0 12px 32px #14181b66}.workflow-detail strong{font-size:18px}.workflow-detail p{max-width:70ch;color:var(--field-muted);margin-top:5px;padding-right:50px}.workflow-detail button{color:var(--signal);background:0 0;border:0;font-size:12px;text-decoration:underline;position:absolute;top:15px;right:20px}.specimen-pending{max-width:65ch;padding:40px}.specimen-pending h2{font-size:30px}.specimen-pending p{margin:20px 0}.specimen-description{font-size:25px;position:absolute;top:30%;left:6%;right:6%}.credential-strip{margin-left:calc(62*var(--u));height:calc(146*var(--u));border-top:1px solid var(--line);padding:0 calc(40*var(--u));align-items:center;gap:calc(25*var(--u));grid-template-columns:1.06fr .96fr .95fr 1fr;display:grid}.credential-signal{gap:calc(28*var(--u));align-items:center;min-width:0;display:flex;position:relative}.credential-signal+.credential-signal:before{content:"";height:calc(74*var(--u));background:var(--line-strong);width:1px;left:calc(-28*var(--u));position:absolute}.credential-mark{border:1px solid var(--line-strong);height:calc(74*var(--u));width:calc(77*var(--u));font-size:calc(25*var(--u));flex-shrink:0;justify-content:center;align-items:center;font-weight:500;display:flex}.credential-signal>div{font-size:calc(17*var(--u));line-height:1.2}.credential-signal strong{max-width:22ch;font-weight:500;display:block}.credential-signal>div>span{color:var(--muted);margin-top:8px;display:block}.credential-signal:hover strong{color:var(--signal)}.cursor-field{pointer-events:none;z-index:90;display:none;position:fixed;inset:0}.cursor-field-enabled .cursor-field{display:block}.cursor-follower,.cursor-dot,.cursor-halo{will-change:transform;position:absolute;top:0;left:0}.cursor-ring{border:1px solid var(--signal);border-radius:50%;width:30px;height:30px;margin:-15px;transition:width .25s,height .25s,margin .25s,background .25s,box-shadow .25s;display:block}.is-interactive .cursor-ring{background:var(--signal);width:46px;height:46px;margin:-23px}@supports (color:color-mix(in lab,red,red)){.is-interactive .cursor-ring{background:color-mix(in srgb,var(--signal)4%,transparent)}}.is-interactive .cursor-ring{box-shadow:0 4px 18px var(--signal)}@supports (color:color-mix(in lab,red,red)){.is-interactive .cursor-ring{box-shadow:0 4px 18px color-mix(in srgb,var(--signal)19%,transparent)}}.cursor-dot{background:var(--signal);border-radius:50%;width:3px;height:3px;margin:-1.5px}.cursor-halo{display:none}.cursor-field-hidden .cursor-field{opacity:0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.cursor-field{display:none!important}}.page-intro,.content-section,.article-page{width:min(1340px,100% - 128px);margin-inline:auto}.page-intro{padding:80px 0 60px}.page-title{font-family:var(--display);max-width:20ch;font-size:clamp(52px,5.5vw,84px);font-weight:650;line-height:1.05}.page-lead{max-width:68ch;color:var(--muted);margin-top:24px;font-size:19px;line-height:1.65}.content-section{padding-block:64px}.section-heading-row{justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:36px;display:flex}.section-copy{max-width:52ch;color:var(--muted);font-size:17px}.text-link{color:var(--signal);align-items:center;gap:10px;font-size:15px;font-weight:500;line-height:1.6;display:inline-flex;position:relative}.text-link:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .32s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.text-link:is(:hover,:focus-visible):after{transform-origin:0;transform:scaleX(1)}.tag-row,.project-stack-row{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.tag-row>span,.project-stack-row>span{font:11px/1.4 var(--mono);background:var(--signal-soft);color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:7px 10px}.small-heading{margin-top:32px;font-size:16px;font-weight:600}.context-note{color:var(--muted);border-top:1px solid var(--line);margin-top:24px;padding-top:20px;font-size:14px;line-height:1.65}.eyebrow{display:none}.micro-label{font:12px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.project-index{padding-top:0}.project-index-item{border-bottom:1px solid var(--line);padding:48px 0;scroll-margin-top:30px}.project-index-top{grid-template-columns:minmax(0,1fr) 185px;align-items:start;gap:60px;display:grid}.project-index-main h2{max-width:28ch;font-size:40px;font-weight:600}.project-index-main>p{max-width:74ch;color:var(--muted);margin-top:22px;font-size:17px;line-height:1.7}.project-index-actions{text-align:right;padding-top:8px}.project-story-toggle{border:0;border-bottom:1px solid var(--line-strong);color:var(--paper);background:0 0;align-items:center;gap:20px;margin-top:20px;padding:14px 0 9px;font-size:15px;display:flex}.project-story-toggle:hover{color:var(--signal)}.project-story-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.project-case-wrap{background:var(--panel);margin-top:36px;padding:36px}.project-case-grid{grid-template-columns:1fr 1fr;gap:36px 60px;display:grid}.project-case-block h3{color:var(--signal);margin-bottom:16px;font-size:20px;font-weight:500}.project-case-block p,.project-case-block li,.project-detail{color:var(--muted);font-size:16px;line-height:1.75}.project-case-block ul{margin:0;padding-left:20px}.project-case-block li+li{margin-top:12px}.project-detail{overflow-wrap:anywhere;margin-top:32px}.project-detail code,.project-detail pre{font-family:var(--mono);font-size:13px}.project-detail pre{overflow:auto}.project-detail h3{margin-bottom:18px}.timeline{padding-top:0}.timeline-item{border-bottom:1px solid var(--line);grid-template-columns:270px minmax(0,1fr);gap:56px;padding:56px 0;display:grid}.timeline-meta time{font:12px/1.7 var(--mono);color:var(--muted);display:block}.training-label{color:var(--signal);align-items:center;gap:8px;margin-top:18px;font-size:14px;display:flex}.timeline-card h2{font-size:40px}.experience-company{color:var(--muted);margin-top:12px;font-size:18px}.timeline-card ul,.resume-entry ul{max-width:74ch;color:var(--muted);margin:30px 0 0;padding-left:22px;line-height:1.75;list-style:outside}.timeline-card li+li,.resume-entry li+li{margin-top:16px}.next-route{justify-content:space-between;align-items:center;gap:30px;display:flex}.next-route h2{font-size:36px}.resume-intro{grid-template-columns:minmax(0,1fr) 270px;gap:100px;display:grid}.resume-intro .page-title{font-size:68px}.resume-position{font:14px var(--mono);color:var(--signal);margin-top:18px}.resume-contact{flex-direction:column;gap:18px;padding-top:12px;font-size:14px;display:flex}.resume-contact>span{align-items:flex-start;gap:12px;display:flex}.resume-contact svg{flex-shrink:0}.resume-contact .status-dot{width:10px;height:10px;margin-top:6px}.resume-section{grid-template-columns:270px minmax(0,1fr);gap:56px;padding:48px 0;display:grid}.resume-section>h2{max-width:16ch;font-size:32px}.resume-skills{grid-template-columns:1fr 1fr;gap:36px 48px;display:grid}.resume-skills h3{font-size:19px;font-weight:500}.resume-skills p{color:var(--muted);margin-top:12px;font-size:15px}.resume-skills .tag-row{margin-top:16px}.resume-entry+.resume-entry{margin-top:36px}.resume-entry-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.resume-entry h3{font-size:23px;line-height:1.3}.resume-entry time{font:11px/1.5 var(--mono);white-space:nowrap;color:var(--muted);padding-top:6px}.resume-entry-sub{color:var(--signal);margin-top:10px;font-size:15px}.resume-entry>p:not(.resume-entry-sub){color:var(--muted);margin-top:15px}.resume-entry>.text-link{margin-top:20px}.resume-learning{justify-content:space-between;gap:28px;padding:20px 0;display:flex}.resume-learning:first-child{padding-top:0}.resume-learning h3{font-size:18px;line-height:1.4}.resume-learning p{color:var(--muted);margin-top:8px;font-size:14px}.resume-learning>span{font:12px/1.7 var(--mono);white-space:nowrap;color:var(--muted)}.resume-learning+.text-link{margin-top:24px}.issuer-badge{align-items:center;gap:12px;display:inline-flex}.issuer-badge-mark{border:1px solid var(--line-strong);place-items:center;width:65px;height:65px;font-size:20px;font-weight:600;display:grid}.issuer-badge.is-compact .issuer-badge-mark,.issuer-badge-copy small{display:none}.issuer-badge-copy strong{color:var(--muted);font-size:14px;font-weight:400}.credential-unavailable{color:var(--muted);font-size:12px}.education-card-top{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.education-status{font:11px var(--mono);color:var(--signal);align-items:center;gap:7px;display:inline-flex}.article-back{color:var(--muted);align-items:center;gap:10px;margin-bottom:40px;font-size:14px;display:inline-flex}.article-canvas{max-width:800px;margin-inline:auto}.article-header{border-bottom:1px solid var(--line);padding-bottom:40px}.article-kicker{color:var(--muted);font:12px var(--mono);gap:22px;margin-bottom:22px;display:flex}.article-header h1{font-family:var(--display);font-size:56px;font-weight:650;line-height:1.08}.article-body{color:var(--muted);overflow-wrap:break-word;padding-block:24px;font-size:18px;line-height:1.85}.article-body p{margin:24px 0}.article-body h1,.article-body h2,.article-body h3,.article-body h4{color:var(--paper);font-family:var(--display);margin:48px 0 20px;font-weight:600;line-height:1.2}.article-body h1,.article-body h2{font-size:36px}.article-body ul,.article-body ol{list-style:revert;margin-block:22px;padding-left:26px}.article-body li+li{margin-top:10px}.article-body strong{color:var(--paper);font-weight:600}.article-body a{color:var(--signal);text-decoration:underline}.article-body blockquote{background:var(--panel);color:var(--paper);border-left:1px solid var(--signal);margin:30px 0;padding:24px 28px;font-size:21px}.article-body pre{font:13px/1.6 var(--mono);overflow:auto}.code-frame{background:var(--code-canvas);color:var(--code-paper);border:1px solid var(--line);border-radius:3px;margin:30px 0;overflow:hidden}.code-frame-head{font:11px var(--mono);color:var(--code-muted);border-bottom:1px solid var(--code-line);justify-content:space-between;padding:12px 20px;display:flex}.inline-code{font:13px var(--mono);background:var(--panel);color:var(--paper);border-radius:2px;padding:3px 6px}.article-body table{border-collapse:collapse;font-size:15px;display:block;overflow:auto}.article-body th,.article-body td{border:1px solid var(--line);text-align:left;padding:12px 16px}.article-body hr{border:0;border-top:1px solid var(--line);margin:40px 0}.article-footer{border-top:1px solid var(--line);justify-content:space-between;padding:24px 0;display:flex}.article-footer button{border:1px solid var(--line);color:var(--paper);background:0 0;border-radius:3px;align-items:center;gap:9px;padding:10px 16px;font-size:14px;display:flex;position:relative}.article-footer button.voted{color:var(--signal);opacity:1}.like-icon-wrap{display:flex}.like-burst{display:none}.article-reading-progress{background:var(--signal);transform-origin:0;z-index:50;height:2px;position:fixed;top:0;left:0;right:0}.article-neighbors{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:40px;padding:32px 0 64px;display:grid}.article-neighbor{flex-direction:column;gap:12px;display:flex}.article-neighbor>span{color:var(--signal);align-items:center;gap:10px;font-size:12px;display:flex}.article-neighbor>strong{font-size:18px;font-weight:500;line-height:1.4}.article-neighbor>small{color:var(--muted);font:11px var(--mono)}.article-neighbor-next{text-align:right;align-items:flex-end}.article-loading{min-height:50vh;padding:70px 8vw}.contact-layout{grid-template-columns:minmax(0,1fr) 320px;gap:100px;display:grid}.contact-form{flex-direction:column;gap:24px;display:flex}.field-row{grid-template-columns:1fr 1fr;gap:24px;display:grid}.contact-form label{flex-direction:column;gap:9px;display:flex}.contact-form label>span{color:var(--muted);font-size:14px}.contact-form input,.contact-form textarea{border:1px solid var(--line-strong);width:100%;color:var(--paper);outline-offset:3px;background:0 0;border-radius:3px;padding:14px 16px;font-size:16px;line-height:1.6}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted)}.contact-form textarea{resize:vertical;min-height:170px}.contact-form>.button{align-self:flex-start;min-width:180px}.contact-side>div+div{margin-top:34px;padding-top:30px}.contact-side strong{margin-top:12px;font-size:18px;font-weight:500;line-height:1.5;display:block}.contact-socials{flex-direction:column;gap:18px;margin-top:20px;display:flex}.contact-socials a{align-items:center;gap:10px;font-size:15px;display:flex}.contact-socials a>svg:last-child{margin-left:auto}.contact-socials a:hover{color:var(--signal)}.privacy-note{color:var(--muted);margin-top:42px;font-size:13px;line-height:1.7}.form-success,.form-error{align-items:center;gap:8px;font-size:14px;display:flex}.form-success{color:var(--signal)}.form-error,[data-theme=light] .form-error{color:var(--error)}.site-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;width:100%;padding:40px max(5vw,24px) 25px;display:flex}.footer-name{letter-spacing:-.02em;font-size:24px}.footer-name span{color:var(--muted);font:10px var(--mono);letter-spacing:.06em;margin-top:9px;display:block}.footer-links{flex-wrap:wrap;gap:28px;font-size:13px;display:flex}.footer-links a{align-items:center;gap:6px;display:flex}.footer-links a:hover{color:var(--signal)}.footer-meta{border-top:1px solid var(--line);width:100%;font:10px/1.6 var(--mono);color:var(--muted);padding-top:20px}.data-loading,.data-error,.empty-state-card{grid-column:1/-1;width:100%;padding:32px 0}.data-loading>p{font:12px var(--mono);color:var(--muted);margin-bottom:24px}.data-skeleton-wrap{flex-direction:column;gap:24px;display:flex}.data-skeleton{border:1px solid var(--line);flex-direction:column;gap:12px;padding:20px;display:flex}.data-skeleton span{background:var(--panel-soft);width:85%;height:12px;animation:1.5s ease-in-out infinite skeleton;display:block}.data-skeleton span:first-child{width:55%;height:20px}.data-skeleton span:last-child{width:70%}.data-error p,.empty-state-card p{color:var(--muted);margin-top:12px}.data-error>.button{margin-top:24px}.route-pending{min-height:40vh;color:var(--muted);font:12px var(--mono);justify-content:center;align-items:center;gap:12px;display:flex}.route-pending-mark{gap:4px;display:flex}.route-pending-mark i{background:var(--signal);width:4px;height:12px;animation:1s infinite skeleton}.route-pending-mark i:nth-child(2){animation-delay:.15s}.route-pending-mark i:nth-child(3){animation-delay:.3s}.spin{animation:1s linear infinite spin}.not-found{min-height:70vh;padding:100px 8vw}.not-found h1{font:650 100px var(--display);color:var(--signal)}.not-found h2{margin-bottom:24px;font-size:48px}.not-found p{color:var(--muted);margin-bottom:24px}@keyframes skeleton{50%{opacity:.45}}@keyframes spin{to{transform:rotate(360deg)}}.admin-app{background:var(--ink);color:var(--paper);font-size:14px}.admin-sidebar{background:var(--panel);color:var(--paper);border-color:var(--line)}.admin-topbar{background:var(--ink);border-color:var(--line);-webkit-backdrop-filter:none;backdrop-filter:none;height:80px}.admin-content{padding:32px}.admin-editor-card,.admin-subsection,.admin-list,.admin-panel,.admin-stat,.message-card{background:var(--panel);border-color:var(--line);border-radius:5px}.admin-section-head p{color:var(--muted);font-size:13px}.admin-field>span,.admin-login-card label span{font:11px var(--mono);color:var(--muted)}.admin-input,.admin-login-card input{background:var(--ink);color:var(--paper);border-color:var(--line-strong);border-radius:3px;padding:11px;font-size:14px}.admin-field small,.admin-help{color:var(--muted);font-size:12px}.admin-primary{background:var(--signal);color:var(--on-action);border-color:var(--signal);border-radius:3px;min-height:40px;font-size:13px}.admin-primary:hover{background:var(--paper);color:var(--ink)}.admin-secondary{color:var(--paper);border-color:var(--line-strong);background:0 0;border-radius:3px;font-size:13px}.admin-secondary:hover{background:var(--signal-soft)}.admin-section-head h2{font-size:32px}.admin-list-row{border-color:var(--line);padding:18px}.admin-list-row strong,.message-head strong{font-size:14px}.admin-list-row span,.admin-row-meta>span,.message-head small,.message-head time{color:var(--muted);font-size:12px}.admin-row-meta>span{background:var(--panel-soft)}.admin-row-meta button,.message-actions button{background:var(--ink);color:var(--paper);border-color:var(--line);border-radius:3px;min-width:36px;height:36px}.admin-sidebar nav button,.admin-sidebar-bottom button,.admin-sidebar-bottom a{min-height:45px;color:var(--muted);border-radius:3px;font-size:14px}.admin-sidebar nav button:hover,.admin-sidebar nav button.active{background:var(--signal-soft);color:var(--paper)}.admin-brand strong{font-size:16px}.admin-brand small{font-size:10px}.admin-brand>span{border-radius:3px}.admin-stat span,.admin-panel-head span{color:var(--muted);font-size:10px}.admin-stat strong{letter-spacing:-.03em;font-size:32px}.admin-stat .stat-note,.admin-save-row{color:var(--muted);font-size:11px}.admin-panel-head h3{font-size:15px}.admin-panel-head p,.message-card>p{color:var(--muted);font-size:13px}.admin-topbar-actions{align-items:center;gap:20px;margin-left:auto;display:flex}.admin-live{color:var(--muted);font-size:10px}.admin-live i{background:var(--signal)}.admin-login-page{background:var(--ink)}.admin-login-card{background:var(--panel);border-color:var(--line);border-radius:5px;padding:36px;box-shadow:0 20px 60px #0003}.admin-login-card h1{font:600 38px/1.1 var(--display);letter-spacing:-.02em}.admin-login-card>p:not(.eyebrow,.form-error){color:var(--muted);margin-bottom:20px;font-size:14px}.admin-security-note{background:var(--signal-soft);color:var(--muted);border-radius:4px;align-items:flex-start;gap:10px;margin:0 0 24px;padding:14px;font-size:12px;display:flex}.admin-security-note svg{color:var(--signal);flex-shrink:0;margin-top:3px}.admin-lock{border-radius:4px}.admin-loading{min-height:100vh;color:var(--muted);justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.path-list div{border-color:var(--line)}.path-list span,.path-list strong,.inventory-list button{color:var(--paper);font-size:12px}.breakdown-list{color:var(--muted)}@media(min-width:1600px){:root{--u:1.04167px}.site-shell{max-width:1600px;margin-inline:auto}.manual-opening .index-rail{bottom:0}}@media(max-width:1200px)and (min-width:1001px){.desktop-nav{gap:30px}.nav-links{gap:28px;margin-right:40px}.nav-link{font-size:14px}.brand{font-size:24px}.nav-cta{width:105px;font-size:14px}.theme-toggle{gap:8px}.hero-context{font-size:13px}.hero-context strong{font-size:14px}.credential-signal>div{font-size:13px}.specimen-heading>span{font-size:8px}.workflow-stage>p{font-size:11px}}@media(max-width:1000px){:root{--u:1px}.site-nav-wrap{height:76px}.site-nav{padding:0 28px}.brand{font-size:26px}.desktop-nav{display:none}.nav-controls{align-items:center;gap:25px;margin-left:auto;display:flex}.menu-button{color:var(--paper);border:1px solid var(--line);background:0 0;border-radius:3px;place-items:center;width:42px;height:42px;display:grid}.theme-toggle{gap:9px;min-height:42px}.theme-toggle-track{width:40px;height:25px}.theme-toggle-thumb{width:17px;height:17px;top:3px;left:3px}[data-theme=dark] .theme-toggle-thumb{transform:translate(15px)}.mobile-menu-layer{z-index:39;position:fixed;inset:76px 0 0}.mobile-menu-backdrop{background:var(--scrim);border:0;position:absolute;inset:0}.mobile-panel{background:var(--ink);border-bottom:1px solid var(--line-strong);padding:16px 28px 28px;position:relative}.mobile-link{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:17px 0;font-size:20px;display:flex}.mobile-link.is-active{color:var(--signal)}.mobile-panel>p{font:10px var(--mono);color:var(--muted);margin-top:26px}.index-rail{display:none}.manual-hero{grid-template-columns:210px minmax(0,1fr);gap:0 30px;height:auto;padding:40px 28px 28px;display:grid}.hero-title,.hero-introduction,.hero-actions,.hero-portrait,.hero-context,.project-specimen{width:auto;height:auto;position:relative;top:auto;left:auto}.hero-title{letter-spacing:-.025em;grid-column:1/-1;max-width:none;font-size:112px;line-height:.85}.hero-title>span{display:inline}.hero-title>span+span:before{content:" "}.hero-introduction{grid-column:1/-1;max-width:62ch;margin-top:25px;font-size:19px;line-height:1.6}.hero-actions{grid-column:1/-1;gap:16px;margin-top:25px;display:flex}.hero-actions .button{width:auto;height:48px;min-height:48px;padding:0 22px;font-size:16px}.hero-portrait{object-fit:cover;width:210px;height:210px;margin-top:32px}.hero-context{max-width:300px;height:140px;margin-top:55px;padding:8px 0 0 25px;font-size:15px}.hero-context strong{font-size:18px}.hero-context>span{gap:10px}.status-dot{width:12px;height:12px}.project-specimen{aspect-ratio:904/745;--u:calc((100vw - 56px)/904);grid-column:1/-1;margin-top:36px}.credential-strip{grid-template-columns:1fr 1fr;gap:0 36px;height:auto;margin-left:0;padding:0 28px}.credential-signal{border-bottom:1px solid var(--line);gap:20px;padding:25px 0}.credential-signal+.credential-signal:before{display:none}.credential-mark{width:60px;height:60px;font-size:20px}.credential-signal>div{font-size:15px}.credential-signal strong{max-width:25ch}.page-intro,.content-section,.article-page{width:calc(100% - 56px)}.page-intro{padding:48px 0 42px}.page-title{font-size:64px}.content-section{padding-block:44px}.page-lead{font-size:17px}.project-index-top{grid-template-columns:1fr;gap:18px}.project-index-actions{text-align:left}.project-index-main h2{font-size:36px}.project-case-grid{column-gap:32px}.timeline-item{grid-template-columns:190px minmax(0,1fr);gap:30px}.timeline-card h2{font-size:34px}.resume-intro{grid-template-columns:1fr;gap:30px}.resume-intro .page-title{font-size:60px}.resume-contact{flex-flow:wrap;gap:24px;display:flex}.resume-section{grid-template-columns:190px minmax(0,1fr);gap:30px}.resume-section>h2{font-size:28px}.resume-skills{grid-template-columns:1fr;gap:26px}.resume-entry-head{flex-direction:column;gap:8px}.resume-learning{flex-direction:column;gap:10px}.issuer-badge-mark{width:50px;height:50px;font-size:16px}.contact-layout{grid-template-columns:minmax(0,1fr) 240px;gap:40px}.article-header h1{font-size:48px}.admin-app{grid-template-columns:200px 1fr}.admin-content{padding:22px}.admin-form-grid{gap:16px}.admin-stat-grid{grid-template-columns:repeat(3,1fr)}.admin-overview-grid,.admin-insight-grid{grid-template-columns:1fr}.admin-live{display:none}}@media(max-width:600px){.site-nav-wrap{height:68px}.site-nav{padding:0 20px}.brand{font-size:24px}.nav-controls{gap:16px}.theme-toggle>svg{display:none}.mobile-menu-layer{top:68px}.mobile-panel{padding-inline:20px}.manual-hero{grid-template-columns:115px minmax(0,1fr);gap:0 18px;padding:32px 20px 24px}.hero-title{font-size:90px;line-height:.82}.hero-title>span{display:block}.hero-title>span+span:before{content:none}.hero-introduction{margin-top:28px;font-size:16px;line-height:1.65}.hero-actions{gap:10px;margin-top:23px}.hero-actions .button{gap:8px;height:47px;min-height:47px;padding:0 14px;font-size:14px}.hero-actions .button svg{width:17px;height:17px}.hero-portrait{width:115px;height:130px;margin-top:27px}.hero-context{max-width:none;height:auto;margin-top:36px;padding:1px 0 0 17px;font-size:12px;line-height:1.5}.hero-context strong{margin-bottom:10px;font-size:13px;line-height:1.4}.hero-context>span{gap:7px;margin-top:7px}.hero-context svg{width:13px;height:13px}.hero-context .status-dot{width:8px;height:8px;margin-top:5px}.project-specimen{aspect-ratio:auto;--u:1px;background-size:30px 30px;min-height:0;margin-top:30px;padding:23px 18px 20px}.specimen-heading{display:block;position:static}.specimen-heading h2{white-space:normal;letter-spacing:.02em;max-width:28ch;font-size:18px;line-height:1.4}.specimen-heading>span{font:9px var(--mono);letter-spacing:.03em;margin-top:11px;display:block}.workflow-stages{grid-template-columns:1fr 1fr;gap:22px 16px;margin-top:26px;display:grid;position:static}.stage-frame{height:137px;min-height:0;padding:12px 13px}.stage-number{font-size:10px}.stage-frame strong{font-size:19px}.stage-frame>svg{width:44px;height:44px;margin:15px auto 0}.workflow-stage>p{font:10px/1.6 var(--mono);margin-top:10px}.stage-connector{display:none}.stage-affordance{opacity:1;bottom:6px;right:7px}.stage-affordance svg{width:12px;height:12px}.file-feeds{display:none}.system-files{height:auto;margin-top:27px;padding:12px;position:static}.system-files>p{letter-spacing:.03em;font-size:9px}.system-file-list{flex-direction:column;gap:0;margin-top:10px;display:flex}.system-file{border:0;border-top:1px solid var(--field-line);align-items:center;gap:14px;height:auto;padding:11px 0;font-size:12px}.system-file svg{width:24px;height:24px;margin:0}.system-file span{font-size:11px}.specimen-cta{gap:12px;width:100%;height:50px;margin-top:23px;font-size:16px;position:static}.specimen-cta svg{width:18px}.specimen-focus{margin-top:18px;font-size:9px;position:static}.specimen-focus span{letter-spacing:.12em}.specimen-focus p{margin-top:4px}.workflow-detail{min-height:0;margin-top:20px;padding:14px;font-size:12px;position:static}.workflow-detail strong{font-size:15px}.workflow-detail p{padding:0}.workflow-detail button{margin-top:12px;padding:0;font-size:12px;position:static}.specimen-description{margin-top:30px;font-size:18px;position:static}.specimen-pending{padding:5px}.specimen-pending h2{font-size:22px}.credential-strip{grid-template-columns:1fr 1fr;gap:0 18px;padding:0 20px;display:grid}.credential-signal{align-items:flex-start;gap:10px;padding:18px 0}.credential-mark{width:38px;height:38px;font-size:13px}.credential-mark svg{width:23px;height:23px}.credential-signal>div{font-size:11px;line-height:1.35}.credential-signal>div>span{margin-top:6px;font-size:10px}.credential-signal strong{font-weight:500}.page-intro,.content-section,.article-page{width:calc(100% - 40px)}.page-intro{padding:34px 0 32px}.page-title{max-width:18ch;font-size:46px}.page-lead{margin-top:18px;font-size:16px}.content-section{padding-block:34px}.section-heading-row{margin-bottom:24px;display:block}.section-heading-row .text-link{margin-top:18px}.section-copy{margin-top:18px;font-size:15px}h2{font-size:38px}.project-index{padding-top:0}.project-index-item{padding:32px 0}.project-index-top{gap:20px}.project-index-main h2{font-size:30px}.project-index-main>p{margin-top:16px;font-size:15px;line-height:1.7}.project-index-actions{padding:0}.project-case-wrap{margin-top:24px;padding:22px}.project-case-grid{grid-template-columns:1fr;gap:26px}.project-case-block p,.project-case-block li{font-size:14px}.tag-row{gap:6px;margin-top:18px}.tag-row>span,.project-stack-row>span{padding:5px 7px;font-size:10px}.timeline-item{grid-template-columns:1fr;gap:20px;padding:32px 0}.timeline-meta{justify-content:space-between;align-items:center;gap:18px;display:flex}.timeline-meta time{max-width:17ch;font-size:10px}.training-label{margin-top:0;font-size:11px}.training-label svg{width:14px}.timeline-card h2{font-size:32px}.experience-company{font-size:15px}.timeline-card ul{margin-top:24px;padding-left:18px;font-size:15px}.next-route{display:block}.next-route h2{margin-bottom:20px;font-size:30px}.resume-intro{gap:24px}.resume-intro .page-title{font-size:46px}.resume-position{font-size:11px}.resume-contact{flex-direction:column;gap:16px;font-size:13px}.resume-section{padding:30px 0;display:block}.resume-section>h2{max-width:none;margin-bottom:25px;font-size:32px}.resume-skills{gap:24px}.resume-entry h3{font-size:21px}.resume-entry ul{padding-left:18px;font-size:14px}.resume-entry>p{font-size:15px}.resume-entry-sub{font-size:13px}.resume-learning{padding:20px 0}.resume-learning h3{font-size:16px}.resume-learning>span{font-size:11px}.education-card-top{gap:15px}.article-page{padding-top:28px}.article-back{margin-bottom:30px}.article-header h1{font-size:38px}.article-kicker{gap:18px;font-size:10px}.article-header{padding-bottom:26px}.article-body{font-size:16px;line-height:1.85}.article-body h2{font-size:29px}.article-body h3{font-size:25px}.article-body blockquote{padding:18px;font-size:18px}.article-neighbors{grid-template-columns:1fr;gap:30px;padding-bottom:35px}.article-neighbor-next{text-align:left;align-items:flex-start}.article-neighbors>span{display:none}.contact-layout{grid-template-columns:1fr;gap:42px}.field-row{grid-template-columns:1fr;gap:20px}.contact-form{gap:20px}.contact-side{border-top:1px solid var(--line);padding-top:30px}.contact-side>div+div{margin-top:22px;padding-top:22px}.privacy-note{margin-top:28px}.site-footer{align-items:flex-start;gap:26px;padding:30px 20px 22px}.footer-name{font-size:25px}.footer-links{gap:16px 25px;max-width:340px;font-size:12px}.footer-meta{padding-top:18px;font-size:9px}.not-found{padding:60px 20px}.not-found h1{font-size:50px}.not-found h2{font-size:30px}.admin-app{display:block}.admin-sidebar{z-index:80;width:240px;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.admin-sidebar.is-open{transform:translate(0)}.admin-mobile-close,.admin-menu{color:var(--paper);background:0 0;border:0;justify-content:center;align-items:center;padding:9px;display:flex}.admin-mobile-close{margin-left:auto}.admin-menu{margin-right:12px}.admin-topbar{height:70px;padding:0 16px}.admin-topbar h1{font-size:20px}.admin-topbar-actions{gap:10px}.admin-content{padding:20px 16px}.admin-section-head{align-items:start}.admin-section-head h2{font-size:28px}.admin-form-grid{grid-template-columns:1fr}.admin-stat-grid{grid-template-columns:1fr 1fr}.admin-list-row{flex-direction:column;align-items:flex-start;gap:15px;padding:15px}.admin-row-meta{align-self:flex-end}.admin-login-card{padding:26px}.admin-login-card h1{font-size:34px}}.hero-title{letter-spacing:0}.platform-directory{grid-template-columns:1fr 1fr;column-gap:56px;display:grid}.platform-directory>a{align-items:center;gap:22px;padding:28px 0;display:flex}.platform-directory>a>svg{color:var(--signal);flex-shrink:0}.platform-directory>a>svg:last-child{margin-left:auto}.platform-directory h3{font-size:22px;font-weight:500}.platform-directory p{color:var(--muted);max-width:43ch;margin-top:9px;font-size:14px;line-height:1.6}.platform-directory a:hover h3{color:var(--signal)}body,.site-shell,.site-nav-wrap,.button,.tag-row>span,.credential-strip,.hero-context,.page-intro,.site-footer,.admin-app,.admin-panel{transition:background-color .3s,color .3s,border-color .3s}@media(max-width:600px){.platform-directory{grid-template-columns:1fr}.platform-directory>a{gap:18px;padding:24px 0}.platform-directory h3{font-size:20px}.platform-directory p{font-size:13px}.platform-directory>a>svg{width:21px}.hero-title{letter-spacing:-.01em;font-size:clamp(68px,22vw,96px)}}@media(min-width:1001px){.credential-strip{grid-template-columns:391fr 354fr 347fr 302fr;gap:0}.credential-signal+.credential-signal:before{left:calc(-32*var(--u))}.credential-signal:last-child:before{left:calc(-45*var(--u))}}.workflow-glyph{left:calc(29*var(--u));top:calc(81*var(--u));width:calc(108*var(--u));height:calc(92*var(--u));color:var(--field-paper);position:absolute}.glyph-validate,.glyph-commit,.glyph-audit{left:calc(35*var(--u))}.glyph-page{width:calc(76*var(--u));height:calc(89*var(--u));border:calc(2*var(--u))solid currentColor;clip-path:polygon(0 0,72% 0,100% 25%,100% 100%,0 100%);border-radius:2px;display:block;position:relative}.glyph-fold{right:calc(-2*var(--u));top:calc(-2*var(--u));width:calc(23*var(--u));height:calc(24*var(--u));border-left:calc(2*var(--u))solid currentColor;border-bottom:calc(2*var(--u))solid currentColor;position:absolute}.glyph-fold:before{content:"";width:calc(33*var(--u));height:calc(2*var(--u));transform-origin:0 0;background:currentColor;position:absolute;top:0;left:0;transform:rotate(46deg)}.glyph-lines{left:calc(11*var(--u));top:calc(20*var(--u));gap:calc(12*var(--u));flex-direction:column;display:flex;position:absolute}.glyph-lines i{height:calc(2*var(--u));width:calc(30*var(--u));background:currentColor}.glyph-lines i:nth-child(2){width:calc(39*var(--u))}.glyph-lines i:nth-child(3){width:calc(49*var(--u))}.glyph-lines i:nth-child(4){width:calc(31*var(--u))}.glyph-checklist{justify-content:center;gap:calc(10*var(--u));width:calc(106*var(--u));height:calc(92*var(--u));border:calc(1.5*var(--u))solid currentColor;padding:calc(11*var(--u))calc(12*var(--u));border-radius:2px;flex-direction:column;display:flex}.glyph-checklist>span{align-items:center;gap:calc(10*var(--u));height:calc(15*var(--u));display:flex}.glyph-checklist svg{width:calc(20*var(--u));height:calc(20*var(--u));max-width:20px}.glyph-checklist i{width:calc(44*var(--u));height:calc(1.5*var(--u));background:currentColor}.glyph-approval{left:calc(52*var(--u));top:calc(48*var(--u));width:calc(44*var(--u));height:calc(44*var(--u));border:calc(1.5*var(--u))solid currentColor;background:var(--field-dark);border-radius:50%;place-items:center;display:grid;position:absolute}.glyph-approval svg{width:calc(28*var(--u));height:calc(28*var(--u));max-width:28px}.glyph-search{left:calc(51*var(--u));top:calc(43*var(--u));width:calc(38*var(--u));height:calc(38*var(--u));border:calc(1.5*var(--u))solid currentColor;background:var(--field-dark);border-radius:50%;position:absolute}.glyph-search:after{content:"";width:calc(24*var(--u));height:calc(1.5*var(--u));left:calc(30*var(--u));top:calc(30*var(--u));transform-origin:0;background:currentColor;position:absolute;transform:rotate(45deg)}.stage-connector{top:calc(115*var(--u));height:calc(1.5*var(--u))}.stage-connector i{right:calc(11*var(--u));top:calc(-8*var(--u));width:calc(16*var(--u));height:calc(16*var(--u));border-top:calc(1.5*var(--u))solid var(--warm);border-right:calc(1.5*var(--u))solid var(--warm);position:absolute;transform:rotate(45deg)}.file-feeds{height:calc(41*var(--u))}.system-files:before{content:"";left:47.5%;top:calc(-21*var(--u));width:1px;height:calc(20*var(--u));background:var(--field-line);position:absolute}.specimen-cta{padding-left:calc(54*var(--u));font-size:calc(20*var(--u));justify-content:flex-start}.specimen-heading>span{color:var(--warm)}.credential-strip{padding-top:calc(26*var(--u));align-items:start}.credential-signal strong{white-space:pre-line;font-weight:400}.credential-mark{border-color:var(--line-strong)}@media(max-width:1000px){.credential-strip{align-items:center;padding-top:0}.specimen-cta{font-size:calc(20*var(--u))}}@media(max-width:600px){.workflow-glyph{transform-origin:0 0;top:64px;left:calc(50% - 29px);transform:scale(.54)}.glyph-checklist,.glyph-approval,.glyph-search{border-width:2px}.glyph-checklist i,.glyph-search:after{height:2px}.glyph-checklist svg,.glyph-approval svg{stroke-width:2px}.specimen-cta{justify-content:center;padding:0;font-size:16px}.system-files:before{display:none}}.button-primary{background:var(--action)}.specimen-cta{background:var(--action);color:var(--on-action)}.specimen-cta:hover{background:var(--action-hover)}.glyph-audit{left:calc(33*var(--u));top:calc(80*var(--u))}.glyph-audit .glyph-lines{gap:calc(13*var(--u))}.system-files{background:var(--field-dark)}.system-file-list{margin-top:calc(10*var(--u))}.system-file{padding-left:calc(22*var(--u));gap:calc(29*var(--u))}@media(max-width:600px){.system-file{gap:14px;padding-left:0}}@media(max-width:380px){.brand{font-size:20px}}.system-file .system-file-icon{width:calc(30*var(--u));height:calc(36*var(--u));margin-top:calc(4*var(--u));color:var(--field-paper);transform:translate(calc(-1*var(--u)));flex-shrink:0}.system-file:nth-child(2){gap:calc(39*var(--u))}.system-file:nth-child(2) .system-file-icon{transform:translate(calc(8*var(--u)))}.system-file:nth-child(3){gap:calc(48*var(--u))}.system-file:nth-child(3) .system-file-icon{transform:translate(calc(14*var(--u)))}@media(max-width:600px){.system-file:nth-child(n){gap:14px}.system-file .system-file-icon{width:24px;height:29px;margin-top:0;transform:none!important}}.learning-register{padding-top:48px}.learning-register-section+.learning-register-section{margin-top:56px}.learning-register-section>h2{font:650 32px/1.15 var(--display);margin-bottom:24px}.credential-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.credential-card{border:1px solid var(--line);background:var(--panel);min-width:0;padding:32px;transition:background-color .3s,border-color .3s}.credential-card:is(:hover,:focus-within){border-color:var(--signal);background:var(--panel-soft)}.credential-card-top{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.credential-card .issuer-badge-mark{width:48px;height:48px;font-size:16px}.credential-card h3{letter-spacing:-.02em;font:600 23px/1.35 Public Sans,sans-serif}.credential-card-copy>p{color:var(--muted);margin-top:9px;font-size:14px}.credential-year{font:12px/1.6 var(--mono);color:var(--muted);text-align:right;padding-top:4px}.credential-card-actions{flex-wrap:wrap;align-items:flex-start;gap:16px 28px;margin-top:28px;display:flex}.credential-card-actions .text-link{font-size:14px}.credential-record{min-width:0;color:var(--muted)}.credential-record summary{cursor:pointer;align-items:center;gap:7px;min-height:24px;font-size:12px;list-style:none;transition:color .26s;display:flex}.credential-record summary::-webkit-details-marker{display:none}.credential-record summary:hover{color:var(--signal)}.credential-record summary svg{transition:transform .16s}.credential-record[open] summary svg{transform:rotate(180deg)}.credential-record code{overflow-wrap:anywhere;max-width:42ch;font:11px/1.7 var(--mono);color:var(--paper);margin-top:8px;display:block}.education-record{border:1px solid var(--line);background:var(--panel);grid-template-columns:45px minmax(0,1fr) auto;gap:24px;padding:32px;display:grid}.education-mark{color:var(--signal);margin:4px 0 0 10px}.education-record h3{font:650 26px/1.25 var(--display)}.education-record-institution{color:var(--muted);margin-top:8px;font-size:14px}.education-record-meta{flex-wrap:wrap;gap:16px 36px;margin-top:20px;display:flex}.education-record-meta dt{color:var(--muted);margin-bottom:4px;font-size:11px}.education-record-meta dd{margin:0;font-size:14px}.education-record-details{color:var(--muted);max-width:70ch;margin-top:20px;font-size:15px}.education-record .education-status{align-self:start;padding-top:6px}.writing-index .page-intro{padding-bottom:48px}.journal-grid{flex-direction:column;padding-top:0;display:flex}.journal-card{grid-template-columns:150px minmax(0,1fr) 110px;align-items:start;gap:32px;padding:36px 0;display:grid}.journal-meta{font:12px/1.6 var(--mono);color:var(--muted);flex-direction:column;gap:9px;padding-top:5px;display:flex}.journal-meta time{white-space:nowrap}.journal-copy h2{font:650 32px/1.2 var(--display);text-wrap:pretty;max-width:44ch;transition:color .16s}.journal-copy>p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:70ch;margin-top:12px;font-size:16px;line-height:1.7;display:-webkit-box;overflow:hidden}.journal-copy .tag-row{margin-top:18px}.journal-read{color:var(--signal);white-space:nowrap;justify-content:flex-end;align-items:center;gap:9px;margin-top:8px;font-size:13px;display:inline-flex}.journal-read svg{transition:transform .16s}.journal-card:hover h2,.journal-card:focus-visible h2{color:var(--signal)}.journal-card:hover .journal-read svg,.journal-card:focus-visible .journal-read svg{transform:translate(2px,-2px)}.menu-glyph{width:20px;height:18px;display:block;position:relative}.menu-glyph i{background:currentColor;height:1.5px;transition:transform .2s,opacity .15s;position:absolute;left:0;right:0}.menu-glyph i:first-child{top:2px}.menu-glyph i:nth-child(2){top:8px}.menu-glyph i:nth-child(3){top:14px}.menu-button.is-open .menu-glyph i:first-child{transform:translateY(6px)rotate(45deg)}.menu-button.is-open .menu-glyph i:nth-child(2){opacity:0;transform:scaleX(.5)}.menu-button.is-open .menu-glyph i:nth-child(3){transform:translateY(-6px)rotate(-45deg)}@media(max-width:1000px){.mobile-panel{overscroll-behavior:contain;max-height:calc(100dvh - 76px);overflow-y:auto}.journal-card{grid-template-columns:115px minmax(0,1fr);gap:20px 28px}.journal-read{grid-column:2;justify-content:flex-start;margin-top:0}}@media(max-width:600px){.learning-register{padding-top:32px}.learning-register-section+.learning-register-section{margin-top:36px}.learning-register-section>h2{margin-bottom:18px;font-size:28px}.credential-grid{grid-template-columns:minmax(0,1fr);gap:20px}.credential-card{padding:24px}.credential-card h3{font-size:21px}.credential-card-copy>p{font-size:13px}.credential-year{font-size:10px}.credential-card-actions{gap:16px 24px;margin-top:24px}.education-record{grid-template-columns:24px minmax(0,1fr);gap:14px;padding:24px}.education-mark{width:22px;margin-left:6px}.education-record h3{font-size:24px}.education-record .education-status{grid-column:2;margin-top:4px;padding:0}.education-record-meta{gap:14px 24px}.education-record-meta dd{font-size:13px}.writing-index .page-intro{padding-bottom:32px}.journal-card{grid-template-columns:minmax(0,1fr);gap:18px;padding:28px 0}.journal-meta{flex-direction:row;justify-content:space-between;padding:0;font-size:11px}.journal-copy h2{font-size:28px}.journal-copy>p{margin-top:12px;font-size:15px}.journal-copy .tag-row{margin-top:16px}.journal-read{grid-column:1;margin-top:0;font-size:12px}.mobile-panel{max-height:calc(100dvh - 68px)}}.site-shell a:not(.button):not(.nav-cta):not(.specimen-cta):not(.platform-link):not(.journal-card):not(.article-neighbor):is(:hover,:focus-visible){color:var(--signal)}.site-shell a>svg,.button>svg,.contact-form button>svg{transition:transform .32s cubic-bezier(.16,1,.3,1)}.text-link:is(:hover,:focus-visible)>svg{transform:translate(2px,-2px)}.button:is(:hover,:focus-visible)>svg,.nav-cta:is(:hover,:focus-visible)>svg{transform:translate(3px)}.button:active,.nav-cta:active{transform:translateY(1px)}.button,.nav-cta,.contact-form button,.article-footer button{transition:background-color .26s,color .26s,border-color .26s,transform .2s}.article-footer button:not(:disabled):hover{background:var(--signal-soft);color:var(--signal)}.contact-form input,.contact-form textarea{transition:border-color .26s,background-color .26s}.contact-form :is(input,textarea):hover{border-color:var(--signal)}.platform-directory>a{transition:background-color .3s,color .26s,border-color .3s}.platform-directory h3,.article-neighbor>strong{transition:color .26s}.platform-directory>a:is(:hover,:focus-visible) h3{color:var(--signal)}.platform-directory>a:is(:hover,:focus-visible)>svg:last-child{transform:translate(3px,-3px)}.journal-card{transition:background-color .3s,border-color .3s}.journal-copy h2{transition-duration:.26s}.journal-read{position:relative}.journal-read:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .32s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.journal-card:is(:hover,:focus-visible) .journal-read:after{transform-origin:0;transform:scaleX(1)}.route-view{animation:.24s ease-out route-arrival}@keyframes route-arrival{0%{opacity:.9}to{opacity:1}}.profile-layout{grid-template-columns:160px minmax(0,1fr);align-items:start;gap:56px;padding-top:20px;display:grid}.profile-section-rail{position:sticky;top:112px}.profile-section-disclosure>summary{color:var(--muted);cursor:default;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;font-size:12px;list-style:none;display:flex}.profile-section-disclosure>summary::-webkit-details-marker{display:none}.profile-section-disclosure>summary>svg{display:none}.profile-navigation{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.profile-navigation a{color:var(--muted);padding-block:5px;font-size:13px;position:relative}.profile-navigation a:after{content:"";background:var(--signal);transform-origin:0;height:1px;transition:transform .3s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.profile-navigation a:is(:hover,:focus-visible,[aria-current=location]){color:var(--signal)}.profile-navigation a[aria-current=location]{font-weight:600}.profile-navigation a:is(:hover,:focus-visible,[aria-current=location]):after{transform:scaleX(1)}.profile-content{min-width:0}.profile-page .resume-intro{gap:64px;padding-bottom:48px}.profile-page .resume-contact{gap:18px;padding:0}.profile-portrait{object-fit:cover;border-radius:4px;width:80px;height:80px;margin-bottom:8px}.profile-page .resume-section{margin-bottom:72px;padding:0;scroll-margin-top:112px;display:block}.profile-page .resume-section>h2{font:650 36px/1.2 var(--display);max-width:none;margin-bottom:28px}.profile-page .resume-skills{gap:36px 40px}.profile-page .resume-skills h3{font-weight:600}.profile-page .resume-skills p{line-height:1.75}.profile-page .resume-entry ul{margin-top:24px}.profile-page .resume-entry li{padding-left:5px}.profile-page .resume-entry li::marker{color:var(--signal);font-size:.7em}.profile-page .resume-entry h3{font-weight:600}.profile-page .resume-entry-head{gap:24px}.profile-section-link{margin-top:24px}.profile-page .resume-learning{align-items:start;padding-block:20px}.profile-page .resume-learning:first-child{padding-top:0}.profile-page .resume-learning h3{font-size:18px;font-weight:600}.profile-page #current-learning>div>p:first-child{max-width:65ch;font-size:18px;line-height:1.75}.profile-page #platforms{scroll-margin-top:112px}.profile-page #platforms h2{font-size:40px}.profile-page #platforms .section-heading-row{flex-direction:column;align-items:start;gap:16px;margin-bottom:12px}.project-index{padding-top:32px;padding-bottom:64px}.project-index-item{border:1px solid var(--line);background:var(--panel);margin-bottom:28px;padding:36px;scroll-margin-top:112px;transition:border-color .3s,background-color .3s}.project-index-item:is(:hover,:focus-within,.is-expanded){border-color:var(--signal)}.project-index-top{grid-template-columns:minmax(0,1.4fr) minmax(280px,.85fr);gap:48px}.project-index-main h2{font-size:40px;font-weight:650}.project-index-main>p{margin-top:20px;font-size:16px}.project-index-actions{text-align:left;flex-direction:column;align-items:stretch;gap:24px;padding-top:0;display:flex}.project-index-actions>a{align-self:flex-start}.project-command{background:var(--ink);padding:20px 24px}.project-command-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.project-command-head>span{color:var(--muted);font:11px/1.4 var(--mono);align-items:center;gap:8px;display:inline-flex}.project-command pre{font:14px/1.8 var(--mono);color:var(--paper);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.project-command pre>span{color:var(--signal)}.copy-button{color:var(--muted);background:0 0;border:0;align-items:center;gap:8px;min-height:32px;padding:6px 0;font:12px/1.4 Public Sans,sans-serif;transition:color .26s;display:inline-flex}.copy-button:is(:hover,:focus-visible,.is-copied){color:var(--signal)}.project-story-toggle{border-top:1px solid var(--line);border-bottom:0;justify-content:space-between;width:100%;margin-top:32px;padding:22px 0 0;font-size:15px;transition:color .26s}.project-story-toggle svg{transition:transform .34s cubic-bezier(.16,1,.3,1)}.project-case-wrap{opacity:0;background:0 0;grid-template-rows:0fr;margin:0;padding:0;transition:grid-template-rows .42s cubic-bezier(.16,1,.3,1),opacity .26s;display:grid}.project-case-wrap.is-open{opacity:1;grid-template-rows:1fr}.project-case-inner{min-height:0;overflow:hidden}.project-case-content{padding-top:36px}.project-case-grid{gap:32px 48px}.project-case-block h3{font-weight:600}.project-index-item:last-child{margin-bottom:0}.article-page{max-width:1340px;padding-top:40px}.article-back{margin-bottom:36px}.article-layout{grid-template-columns:200px minmax(0,800px);justify-content:center;align-items:start;gap:64px;display:grid}.article-canvas{width:100%;min-width:0;margin:0}.article-aside{padding-top:4px;position:sticky;top:112px}.article-toc{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:20px;display:flex}.article-toc>strong{margin-bottom:8px;font-size:13px;font-weight:600}.article-toc a,.article-toc-mobile nav a{color:var(--muted);border-bottom:1px solid #0000;padding:6px 0;font-size:12px;line-height:1.6;transition:color .26s,border-color .26s}.article-toc a[aria-current=location],.article-toc-mobile a[aria-current=location]{color:var(--signal);border-bottom-color:var(--signal)}.article-toc a.is-nested{padding-left:12px}.article-toc-mobile{display:none}.article-header h1{text-wrap:balance;font-size:clamp(42px,4.2vw,64px);line-height:1.1}.article-header .tag-row{margin-top:24px}.article-kicker{flex-wrap:wrap;gap:24px;margin-bottom:20px;line-height:1.6}.article-body{max-width:72ch;padding-top:8px;line-height:1.9}.article-body>p:first-child{color:var(--paper);font-size:20px;line-height:1.8}.article-body :is(h2,h3,h4,h5,h6){text-wrap:pretty;scroll-margin-top:118px}.article-body h2{margin-top:56px;font-size:34px}.article-body h3{font-size:27px}.article-body li::marker{color:var(--signal)}.article-body a{text-decoration:underline;-webkit-text-decoration-color:var(--signal);text-decoration-color:var(--signal)}@supports (color:color-mix(in lab,red,red)){.article-body a{-webkit-text-decoration-color:color-mix(in srgb,var(--signal)45%,transparent);text-decoration-color:color-mix(in srgb,var(--signal)45%,transparent)}}.article-body a{text-underline-offset:5px;background-image:linear-gradient(var(--signal),var(--signal));-webkit-box-decoration-break:clone;box-decoration-break:clone;background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;padding-bottom:3px;transition:color .26s,background-size .34s cubic-bezier(.16,1,.3,1)}.article-body a:is(:hover,:focus-visible){background-size:100% 1px}.article-body a strong{color:inherit}.article-body blockquote{padding:24px 28px;font-size:19px;line-height:1.8}.article-body blockquote p:first-child{margin-top:0}.article-body blockquote p:last-child{margin-bottom:0}.code-frame{background:var(--code-canvas);color:var(--code-paper);font:13px/1.7 var(--mono);border-color:var(--code-line)}.code-frame-head{color:var(--code-muted);align-items:center;padding:10px 20px}.code-frame .copy-button{color:var(--code-muted)}.code-frame .copy-button:is(:hover,:focus-visible,.is-copied){color:var(--code-signal)}.code-frame .inline-code{background:0 0;padding:0}.article-table-scroll{overscroll-behavior-inline:contain;width:100%;margin-block:28px;overflow-x:auto}.article-body table{min-width:100%;margin:0;font-size:14px;display:table;overflow:visible}.article-body th{color:var(--paper);background:var(--panel);font-weight:600}.article-body td{vertical-align:top}.article-body tr{transition:background-color .26s}.article-body tbody tr:hover{background:var(--panel)}.article-neighbors{gap:24px;padding-top:24px}.article-neighbor{border:1px solid var(--line);padding:20px;transition:background-color .26s,border-color .26s,color .26s}.article-neighbor:is(:hover,:focus-visible)>strong{color:var(--signal)}.article-neighbor>span>svg{transition:transform .32s cubic-bezier(.16,1,.3,1)}.article-neighbor-previous:is(:hover,:focus-visible)>span>svg{transform:translate(-3px)}.article-neighbor-next:is(:hover,:focus-visible)>span>svg{transform:translate(3px)}.article-footer button:disabled{cursor:default}.admin-quick-panel{color:var(--paper);background:var(--panel);border-color:var(--line)}.admin-quick-actions button{color:var(--paper);background:var(--ink);border-color:var(--line);transition:background-color .26s,color .26s,border-color .26s}.admin-quick-actions button:hover{color:var(--signal);background:var(--signal-soft);border-color:var(--signal)}@media(max-width:1100px){.profile-layout{padding-top:8px;display:block}.profile-section-rail{margin-bottom:40px;position:static}.profile-section-disclosure>summary{cursor:pointer;width:fit-content;min-height:44px;color:var(--paper);justify-content:flex-start;margin:0;font-size:14px}.profile-section-disclosure>summary>svg{transition:transform .26s;display:block}.profile-section-disclosure[open]>summary>svg{transform:rotate(180deg)}.profile-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;padding-top:12px;display:grid}.profile-navigation a{align-items:center;width:fit-content;min-height:40px;display:flex}.project-index-top{grid-template-columns:minmax(0,1.2fr) minmax(240px,.85fr);gap:32px}.project-index-main h2{font-size:34px}.article-layout{grid-template-columns:170px minmax(0,1fr);gap:40px}}@media(max-width:1000px){.profile-page .resume-intro{grid-template-columns:minmax(0,1fr) 220px;gap:32px}.profile-page .resume-skills{grid-template-columns:minmax(0,1fr)}.project-index-item{padding:28px}.project-index-top{grid-template-columns:minmax(0,1fr);gap:28px}.project-index-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;display:grid}.project-command-head{margin-bottom:16px}.article-layout{display:block}.article-aside{display:none}.article-canvas{margin-inline:auto}.article-toc-mobile{border-bottom:1px solid var(--line);display:block}.article-toc-mobile summary{cursor:pointer;justify-content:space-between;align-items:center;padding:18px 0;font-size:14px;list-style:none;transition:color .26s;display:flex}.article-toc-mobile summary::-webkit-details-marker{display:none}.article-toc-mobile summary:hover{color:var(--signal)}.article-toc-mobile summary svg{transition:transform .26s}.article-toc-mobile[open] summary svg{transform:rotate(180deg)}.article-toc-mobile nav{flex-direction:column;gap:4px;padding-bottom:20px;display:flex}}@media(max-width:600px){.profile-navigation a{font-size:12px}.profile-page .resume-intro{grid-template-columns:minmax(0,1fr);gap:28px;padding-bottom:32px}.profile-page .resume-contact{grid-template-columns:64px minmax(0,1fr);align-items:start;gap:12px 20px;padding:8px 0 0;display:grid}.profile-portrait{grid-row:1/span 3;width:64px;height:64px;margin:0}.profile-page .resume-contact>a{justify-self:start}.profile-page .resume-section{margin-bottom:48px;scroll-margin-top:94px}.profile-page .resume-section>h2{margin-bottom:24px;font-size:29px}.profile-page .resume-skills{gap:28px}.profile-page .resume-entry h3{font-size:22px}.profile-page .resume-learning{flex-direction:column;gap:12px}.profile-page .resume-learning>span{white-space:normal;font-size:11px}.profile-page .resume-learning h3{font-size:17px}.project-index{padding-top:24px;padding-bottom:36px}.project-index-item{margin-bottom:24px;padding:24px 20px}.project-index-main h2{font-size:30px}.project-index-main>p{margin-top:18px;font-size:15px}.project-index-actions{gap:24px;display:flex}.project-command{width:100%;padding:16px 18px}.project-command pre{font-size:12px}.project-command-head{gap:8px}.copy-button{font-size:11px}.project-story-toggle{margin-top:28px;padding-top:20px;font-size:14px}.project-case-content{padding-top:28px}.project-case-grid{gap:28px}.article-page{padding-top:24px}.article-back{margin-bottom:28px}.article-header h1{font-size:39px;line-height:1.12}.article-header{padding-bottom:28px}.article-kicker{gap:14px;margin-bottom:18px;font-size:10px}.article-body{padding-top:4px;font-size:16px;line-height:1.85}.article-body>p:first-child{font-size:17px;line-height:1.8}.article-body h2{margin-top:40px;font-size:29px}.article-body h3{font-size:24px}.article-body blockquote{padding:20px;font-size:17px}.article-body :is(h2,h3,h4,h5,h6){scroll-margin-top:94px}.code-frame{font-size:12px}.code-frame-head{padding:8px 16px}.article-neighbors{grid-template-columns:minmax(0,1fr);gap:16px;padding-bottom:40px}.article-neighbor{padding:20px}.article-neighbors>span{display:none}.article-neighbor-next{text-align:left;align-items:flex-start}}@media(prefers-reduced-motion:reduce){.route-view{animation:none}.project-case-wrap{transition:opacity 80ms linear!important}.site-shell a,.text-link:after,.article-body a,.copy-button,.profile-navigation a:after{transition:color 80ms linear,background-color 80ms linear,border-color 80ms linear,opacity 80ms linear!important}.site-shell a:is(:hover,:focus-visible)>svg,.button:is(:hover,:focus-visible)>svg,.platform-directory>a:is(:hover,:focus-visible)>svg:last-child{transform:none}}:is(.contact-form input,.contact-form textarea,.admin-input,.admin-login-card input){box-shadow:none;outline:none;transition:border-color .2s,background-color .2s}:is(.contact-form input,.contact-form textarea,.admin-input,.admin-login-card input):focus{box-shadow:none;border-color:var(--signal);outline:none}.copy-code{font:.85em/1.5 var(--mono);color:var(--paper);background:var(--panel-soft);-webkit-box-decoration-break:clone;box-decoration-break:clone;overflow-wrap:anywhere;border-radius:2px;padding:.12em .3em}.page-title strong,.hero-title strong{font-weight:800}.copy-emphasis{font-synthesis:style}.hero-title .copy-code{font-size:.64em;line-height:inherit;color:inherit;padding:.02em .18em}.education-progress{max-width:580px;margin-top:24px}.education-progress-heading{justify-content:space-between;align-items:baseline;gap:20px;font-size:12px;display:flex}.education-progress-heading>span{color:var(--muted)}.education-progress-heading>strong{font:500 12px/1.5 var(--mono);font-variant-numeric:tabular-nums;color:var(--paper)}.education-progress progress{appearance:none;background:var(--line);width:100%;height:5px;color:var(--signal);border:0;border-radius:3px;margin-block:12px;display:block;overflow:hidden}.education-progress progress::-webkit-progress-bar{background:var(--line)}.education-progress progress::-webkit-progress-value{background:var(--signal);border-radius:3px}.education-progress progress::-moz-progress-bar{background:var(--signal);border-radius:3px}.education-progress-dates{color:var(--muted);justify-content:space-between;gap:20px;font-size:11px;display:flex}.education-progress>p,.education-progress-pending{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.6}.education-progress-pending{margin-top:20px}.education-record+.education-record{margin-top:24px}.entry-type-field{border:0;min-width:0;margin:0;padding:0}.entry-type-field>legend,.copy-editor>label{font:11px/1.5 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;padding:0}.entry-type-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.entry-type-switch>button{border:1px solid var(--line-strong);color:var(--muted);background:var(--ink);text-align:left;border-radius:3px;align-items:center;gap:14px;padding:16px;transition:border-color .2s,color .2s;display:flex}.entry-type-switch>button:is(:hover,.active){border-color:var(--signal);color:var(--paper)}.entry-type-switch>button>svg{flex:0 0 20px}.entry-type-switch>button>span{flex-direction:column;gap:4px;min-width:0;display:flex}.entry-type-switch strong{font:600 14px/1.4 Public Sans,sans-serif}.entry-type-switch small{color:var(--muted);font:12px/1.5 Public Sans,sans-serif}.entry-type-field>small{margin-top:8px;display:block}.learning-admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-block:28px 20px;display:flex}.learning-admin-summary{flex-wrap:wrap;gap:12px 28px;display:flex}.learning-admin-summary>span{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:13px;line-height:1.5;display:inline-flex}.learning-admin-summary svg{flex:0 0 16px;width:16px;height:16px}.learning-admin-summary strong{font-variant-numeric:tabular-nums;color:var(--paper);font-size:14px;font-weight:600}.admin-copy-help{max-width:76ch;color:var(--muted);font-size:13px;line-height:1.7}.admin-copy-help strong,.admin-copy-help em,.admin-copy-help code{color:var(--paper)}.copy-editor{gap:8px;min-width:0}.copy-editor>label{margin-bottom:0}.copy-editor-toolbar{flex-wrap:wrap;gap:16px;display:flex}.copy-editor-toolbar>button{min-height:36px;color:var(--muted);background:0 0;border:0;align-items:center;gap:6px;padding:0 2px;font-size:12px;transition:color .2s;display:inline-flex}.copy-editor-toolbar>button:hover{color:var(--signal)}.copy-editor-toolbar>button>svg{flex-shrink:0}.copy-editor-preview{color:var(--paper);padding-block:4px 8px;font-size:14px;line-height:1.7}.copy-editor-preview>span{color:var(--muted);font-size:11px}.copy-editor-preview>div{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:4px}.copy-editor-preview.has-authored-lines>div>span{display:block}.copy-preview-empty{color:var(--muted);font-size:13px}@media(max-width:600px){.entry-type-switch{grid-template-columns:minmax(0,1fr)}.profile-page #platforms h2{font-size:32px}.profile-page #platforms{scroll-margin-top:94px}.education-progress-dates{flex-wrap:wrap;gap:4px 20px}.education-progress-heading{gap:12px}}.index-rail i,.micro-label,.article-kicker,.project-command-head>span{color:var(--warm)}.traffic-chart{height:220px;margin-top:20px;position:relative}.traffic-chart-readout{color:var(--muted);justify-content:space-between;align-items:baseline;gap:16px;font-size:11px;display:flex}.traffic-chart-readout output{color:var(--muted);font-size:11px}.traffic-chart-readout strong{color:var(--paper);font-variant-numeric:tabular-nums;font-weight:600}.traffic-chart-plot{position:absolute;inset:40px 16px 28px 32px}.traffic-chart-plot>svg{width:100%;height:100%;display:block;overflow:visible}.traffic-chart-guide{stroke:var(--line);stroke-width:1px;stroke-dasharray:3 5}.traffic-chart-guide:last-of-type{stroke-dasharray:none}.traffic-chart-line{fill:none;stroke:var(--signal);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.traffic-chart-tick{color:var(--muted);font:10px/1.4 var(--mono);position:absolute;right:calc(100% + 12px);transform:translateY(-50%)}.traffic-chart-point{background:0 0;border:0;place-items:center;width:44px;height:44px;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.traffic-chart-point>span{border:2px solid var(--signal);background:var(--panel);border-radius:50%;width:8px;height:8px;transition:background-color .2s,transform .2s;display:block}.traffic-chart-point:is(:hover,:focus-visible,.is-active)>span{background:var(--signal);transform:scale(1.25)}.traffic-chart-point:focus-visible{outline:none}.traffic-chart-point:focus-visible>span{outline:2px solid var(--signal);outline-offset:4px}.traffic-chart-date{color:var(--muted);font:10px/1.4 var(--mono);position:absolute;top:calc(100% + 12px);transform:translate(-50%)}.traffic-chart-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.traffic-chart-empty p{color:var(--paper);font-size:14px}.traffic-chart-empty>span{color:var(--muted);font-size:12px}@media(max-width:560px){.traffic-chart{height:175px}}@media(prefers-reduced-motion:reduce){.traffic-chart-point>span{transition:none}.traffic-chart-point:is(:hover,:focus-visible,.is-active)>span{transform: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-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
