/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
@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;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;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}:root{--page:#fff;--ink:#111;--muted:#555;--line:#d7d7d7;--surface:#fff;--surface-ink:var(--ink);--accent:#111;--accent-ink:#fff;--focus:#1d4ed8;--danger:#b91c1c;--measure:68ch;--gutter:1.25rem;--radius:0}html{scroll-behavior:smooth}body{background:var(--page);color:var(--ink);-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button:not(:disabled),[role=button]{cursor:pointer}:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:3px}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.tenant-layout :is(p,h1,h2,h3,h4,li,dd,dt,blockquote,figcaption,cite,address){unicode-bidi:plaintext}.tenant-layout :is(a[href^=tel\:],a[href^=mailto\:]){direction:ltr;unicode-bidi:isolate}.tenant-layout .portfolio-numeral{unicode-bidi:isolate}.tenant-layout :is(dd,p,li):has(>a[href^=tel\:]:only-child){unicode-bidi:isolate}[lang=ar] .tenant-layout :is(h1,h2,h3,h4,p,li,dt,dd,b,strong,em,small,span,a,time,cite,blockquote,figcaption,label,button,th,td){letter-spacing:normal}.tenant-layout :is(time,.portfolio-results,.portfolio-pagination){font-variant-numeric:tabular-nums}.tenant-layout :is(h1,h2,h3,h4,p,li,dd,dt,blockquote,figcaption){overflow-wrap:anywhere}}.tenant-layout::selection{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tenant-layout::selection{background:color-mix(in srgb, var(--accent) 28%, transparent)}}.tenant-layout::selection{color:var(--ink)}.tenant-layout ::selection{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tenant-layout ::selection{background:color-mix(in srgb, var(--accent) 28%, transparent)}}.tenant-layout ::selection{color:var(--ink)}.tenant-layout :is(input,textarea){caret-color:var(--accent)}.tenant-layout{scrollbar-color:var(--rule,var(--line)) var(--page);--weight-strong:600;--weight-bold:700}.tenant-layout ::-webkit-scrollbar{width:12px;height:12px}.tenant-layout ::-webkit-scrollbar-track{background:var(--page)}.tenant-layout ::-webkit-scrollbar-thumb{background:var(--rule,var(--line));border:3px solid var(--page)}.tenant-skip{z-index:100;border-radius:var(--radius);background:var(--ink);color:var(--page);font-weight:var(--weight-bold);padding:.75rem 1rem;position:fixed;inset-block-start:.5rem;inset-inline-start:.5rem;transform:translateY(-250%)}.tenant-skip:focus{transform:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tenant-layout .portfolio-section{min-width:0}.tenant-layout .portfolio-entries{gap:1.5rem;display:grid}.tenant-layout .portfolio-entry{break-inside:avoid;min-width:0}.tenant-layout .portfolio-entry img{max-width:100%;height:auto;display:block}.tenant-layout .portfolio-copy,.tenant-layout .portfolio-bio{white-space:pre-line;max-width:var(--measure)}.tenant-layout .portfolio-details dd{margin:0}.tenant-layout .portfolio-details ul{padding-inline-start:1.25rem;list-style:outside}.tenant-layout main :where(ul:not([class])){padding-inline-start:1.15em;list-style:outside}.tenant-layout .portfolio-links{flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.tenant-layout .portfolio-profile-links{margin:0}.tenant-layout footer .portfolio-links.portfolio-profile-links,.tenant-layout footer .portfolio-links.portfolio-profile-links a{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;margin:0}.tenant-layout footer .portfolio-links.portfolio-profile-links{gap:0 1rem}.tenant-layout .portfolio-section--cards .portfolio-entries{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}.tenant-layout .portfolio-section--timeline .portfolio-entry{border-inline-start:2px solid var(--line);padding-inline-start:1.5rem}.tenant-layout .portfolio-section--compact .portfolio-entries{gap:.35rem}.tenant-layout .article-body{max-width:var(--measure)}.tenant-layout .article-body :is(pre,table){max-width:100%;overflow-x:auto}.tenant-layout .article-body :is(img,video,iframe,svg,table){max-width:100%;height:auto}.tenant-layout .article-body :is(pre,code,a){overflow-wrap:anywhere}.tenant-layout .article-body a{text-underline-offset:.2em;text-decoration:underline}.tenant-layout .project-gallery img{width:100%;height:auto;display:block}.tenant-layout .project-gallery figure{min-width:0;margin:0}.portfolio-image-dialog{color:#fff;background:#14161a;border:1px solid #555;width:min(95vw,1440px);max-width:95vw;max-height:95dvh;margin:auto;padding:1rem;position:fixed;inset:0;overflow:auto}.portfolio-image-dialog::backdrop{background:#000c}.portfolio-image-controls{flex-wrap:wrap;justify-content:space-between;gap:.75rem;display:flex}.portfolio-image-controls button{min-height:2.75rem;color:inherit;background:0 0;border:1px solid #8a8f98;padding:.5rem .9rem}.portfolio-image-dialog img{object-fit:contain;background:#14161a;width:100%;height:min(65dvh,900px);display:block}.portfolio-image-dialog p{margin-block:.5rem}.tenant-layout .contact-form{gap:1rem;max-width:38rem;display:grid}.tenant-layout .contact-form label{font-weight:var(--weight-strong);gap:.4rem;display:grid}.tenant-layout .contact-form :is(input,textarea){border:1px solid var(--control-line,var(--muted));border-radius:var(--radius);background:var(--surface);width:100%;min-height:2.75rem;color:var(--surface-ink);padding:.7rem .8rem}.tenant-layout .contact-form textarea{resize:vertical;min-height:8rem}.tenant-layout .contact-form :is(input,textarea)[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.tenant-layout .contact-form input[type=email]{text-align:start}[dir=rtl] .tenant-layout .contact-form input[type=email]{text-align:right}.tenant-layout .contact-form label span{color:var(--danger);font-size:.85rem;font-weight:var(--weight-strong)}.tenant-layout .contact-form button{border-radius:var(--radius);background:var(--accent);min-height:2.75rem;color:var(--accent-ink);font-weight:var(--weight-bold);border:0;justify-self:start;padding:.75rem 1.4rem}.tenant-layout .contact-form button:disabled{opacity:.65;cursor:wait}.tenant-layout .contact-details{flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.tenant-layout .notice{font-weight:var(--weight-strong)}.tenant-layout [data-captcha-retry]{border:1px solid var(--control-line,var(--muted));border-radius:var(--radius);background:var(--surface);min-height:2.75rem;color:var(--surface-ink);font-weight:var(--weight-strong);padding:.5rem .9rem}.portfolio-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-block-start:2.5rem;display:flex}.portfolio-pagination-summary{color:var(--muted);margin:0;font-size:.85rem}.portfolio-pagination-pages{flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.portfolio-pagination-pages :is(a,span){border:1px solid var(--control-line,var(--muted));border-radius:var(--radius);justify-content:center;align-items:center;min-width:2.5rem;min-height:2.5rem;padding-inline:.65rem;display:inline-flex}.portfolio-pagination-pages [aria-current=page]{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:var(--weight-bold)}.portfolio-pagination-pages [aria-disabled=true]{opacity:.5}.portfolio-pagination-gap span{border:0;min-width:0}@media (width<=767px),(hover:none) and (pointer:coarse){.tenant-layout :is(nav,footer,.portfolio-links,.contact-details,.portfolio-profile-links) :is(a,button){align-items:center;min-height:44px;display:inline-flex}.tenant-layout :is(.contact-form button,.portfolio-action,.portfolio-pagination a,.portfolio-pagination span){min-height:44px}}@media (width<=639px),(hover:none) and (pointer:coarse){.tenant-layout :is(input,textarea,select){font-size:1rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.tenant-layout{color:#000;background:#fff}.tenant-skip,.portfolio-image-dialog,.portfolio-pagination,.tenant-layout form{display:none!important}.tenant-layout .portfolio-entry,.tenant-layout figure{break-inside:avoid}.tenant-layout a{color:#000}}.tenant-layout.developer{--page:#fbfaf8;--ink:#16181c;--muted:#5b6068;--line:#dcd9d2;--rule:#b9b5ac;--surface:#fff;--surface-ink:var(--ink);--accent:#1f4f8f;--accent-ink:#fff;--mark:#8f3a29;--focus:#1f4f8f;--measure:68ch;--gutter:1.5rem;--radius:2px;--prose:"Literata", "Literata fallback", ui-serif, Georgia, "Times New Roman", serif;--label:"JetBrains Mono", "JetBrains Mono fallback", ui-monospace, "DejaVu Sans Mono", monospace;--weight-strong:700;--weight-bold:700;background:var(--page);color:var(--ink);font-family:var(--prose);font-size:1.0625rem;line-height:1.7}.tenant-layout.developer:lang(ar),[lang=ar] .tenant-layout.developer{--prose:"Noto Naskh Arabic", "Literata", "Noto Naskh Arabic fallback", ui-serif, serif;line-height:1.9}[lang=ar] .developer :is(.doc-bar-links,.doc-contents,.doc-contents h2,.doc-margin,.doc-margin h2,.doc-margin dt,.doc-status dt,.doc-results dt,.portfolio-details dt,.doc-spec dt,.doc-meta,.doc-action,.contact-form label,.contact-form button,.contact-details,.notice,.portfolio-pagination,.doc-foot-inner,figcaption){font-family:var(--prose);text-transform:none;letter-spacing:normal}[lang=ar] .developer :is(.doc-action,.contact-form button){font-size:1rem;font-weight:700}[lang=ar] .developer :is(.doc-contents h2,.doc-margin h2,.doc-status dt){font-size:.9375rem;font-weight:700}[lang=ar] .developer :is(.doc-bar-links,.portfolio-pagination){font-size:.9375rem;font-weight:400}[lang=ar] .developer :is(.doc-margin dt,.doc-spec dt,.doc-results dt,.portfolio-details dt,.contact-form label){font-size:.875rem;font-weight:700}[lang=ar] .developer :is(.doc-contents,.doc-margin,.doc-meta,.contact-details,.notice,.doc-foot-inner,figcaption){font-size:.875rem;font-weight:400}[lang=ar] .developer :is(.doc-bar-mark,.doc-section>h2,.doc-article-body h2,.doc-article-body h3){letter-spacing:normal}[lang=ar] .developer .doc-head h1{letter-spacing:normal;font-size:clamp(2.2rem,4.6vw,3.2rem);line-height:1.3}.developer .doc-bar{border-block-end:1px solid var(--ink);background:var(--page)}.developer .doc-bar-inner,.developer .doc-shell,.developer .doc-foot-inner{width:min(58rem,100%);padding-inline:var(--gutter);margin-inline:auto}.developer .doc-bar-inner{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;padding-block:.9rem;display:flex}.developer .doc-bar a{text-decoration:none}.developer .doc-bar-mark{letter-spacing:-.01em;font-weight:700}.developer .doc-bar-links{font-family:var(--label);flex-wrap:wrap;gap:.4rem 1.5rem;font-size:.8125rem;display:flex}@media (width<=40rem){.developer .doc-bar-links{flex-basis:100%;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:start;display:grid}}.developer .doc-bar-links a:hover,.developer .doc-bar-mark:hover{color:var(--accent)}.developer .doc-shell{grid-template-columns:14rem minmax(0,1fr);align-items:start;gap:0 3.5rem;padding-block:3.5rem 5rem;display:grid}.developer .doc-body{min-width:0;max-width:var(--measure)}.developer .doc-shell--plain{grid-template-columns:minmax(0,1fr);justify-items:center}.developer .doc-margin{font-family:var(--label);font-size:.78125rem;line-height:1.5;position:sticky;top:2rem}.developer .doc-margin h2{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .9rem;font-size:.6875rem;font-weight:400}.developer .doc-margin dl{gap:.75rem;margin:0;display:grid}.developer .doc-margin dt{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem}.developer .doc-margin dd{color:var(--ink);margin:.15rem 0 0}.developer .doc-margin a{text-underline-offset:.2em;text-decoration:underline}.developer .doc-margin a:hover{color:var(--accent)}.developer .doc-contents{font-family:var(--label);font-size:.8125rem;line-height:1.5;position:sticky;top:2rem}.developer .doc-contents h2{color:var(--muted);font-family:var(--label);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .9rem;font-size:.6875rem;font-weight:400}.developer .doc-contents ol{margin:0;padding:0;list-style:none}.developer .doc-contents li+li{margin-block-start:.15rem}.developer .doc-contents a{color:var(--muted);border-inline-start:2px solid #0000;grid-template-columns:1.9rem 1fr;padding:.35rem .5rem .35rem 0;padding-inline-start:.7rem;display:grid}.developer .doc-contents a:hover{color:var(--ink)}.developer .doc-contents a[aria-current=true]{border-inline-start-color:var(--accent);color:var(--ink)}@media (prefers-reduced-motion:no-preference){.developer .doc-contents a{transition:color .2s,border-color .45s cubic-bezier(.16,1,.3,1)}}.developer .doc-contents b{color:var(--accent);font-weight:400}.developer .doc-head{margin-block-end:2.5rem}.developer .doc-head h1{letter-spacing:-.025em;margin:.6rem 0 0;font-size:clamp(2.4rem,5vw,3.5rem);font-weight:700;line-height:1.08}.developer .doc-lede{max-width:46ch;color:var(--ink);margin:.75rem 0 0;font-size:1.2rem;line-height:1.5}.developer .doc-status{border:1px solid var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-block:2rem;display:grid}.developer .doc-status>div{gap:.2rem;min-width:0;padding:.85rem 1rem;display:grid}.developer .doc-status>div:nth-child(odd){border-inline-end:1px solid var(--line)}.developer .doc-status>div:nth-child(n+3){border-block-start:1px solid var(--line)}.developer .doc-status :is(dt,dd){overflow-wrap:anywhere;min-width:0}.developer .doc-status dt{color:var(--muted);font-family:var(--label);letter-spacing:.12em;text-transform:uppercase;font-size:.6875rem}.developer .doc-status dd{overflow-wrap:break-word;margin:0;font-size:.95rem;line-height:1.45}.developer .doc-status a{text-underline-offset:.2em;text-decoration:underline;-webkit-text-decoration-color:var(--rule);-webkit-text-decoration-color:var(--rule);-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule)}.developer .doc-status a:hover{color:var(--accent);text-decoration-color:currentColor}.developer .doc-portrait{float:inline-end;border:1px solid var(--rule);background:var(--surface);object-fit:cover;filter:grayscale()contrast(1.06);width:6.5rem;height:8rem;margin:.25rem 0 1rem 1.5rem;padding:.3rem}[dir=rtl] .developer .doc-portrait{margin:0 1.5rem 1rem 0}.developer .doc-actions{flex-wrap:wrap;gap:.75rem;margin-block:1.75rem;display:flex}.developer .doc-action{border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);min-height:2.75rem;color:var(--page);font-family:var(--label);letter-spacing:.02em;align-items:center;gap:.5rem;padding:.6rem 1.15rem;font-size:.8125rem;display:inline-flex}.developer .doc-action--secondary{color:var(--ink);background:0 0}.developer .doc-action:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.developer .doc-abstract{margin-block:1.75rem 0}.developer .doc-abstract p{white-space:pre-line;margin:0}.developer .doc-section{border-block-start:1px solid var(--rule);margin-block-start:3.5rem;padding-block-start:1.75rem;scroll-margin-block-start:1.5rem}.developer .doc-section>h2{letter-spacing:-.015em;grid-template-columns:2.6rem 1fr;align-items:baseline;margin:0 0 1.5rem;font-size:1.6rem;font-weight:700;display:grid}.developer .doc-section>h2 b{color:var(--accent);font-family:var(--label);font-size:.95rem;font-weight:400}.developer .doc-record{border-block-start:1px solid var(--line);grid-template-columns:minmax(0,1fr);gap:.35rem;padding-block:1.4rem;display:grid}.developer .doc-record:first-of-type{border-block-start:0;padding-block-start:0}.developer .doc-record h3{margin:0;font-size:1.15rem;font-weight:700;line-height:1.35}.developer .doc-record h3 a{text-underline-offset:.22em;text-decoration:underline;-webkit-text-decoration-color:var(--rule);-webkit-text-decoration-color:var(--rule);-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule)}.developer .doc-record h3 a:hover{color:var(--accent);text-decoration-color:currentColor}.developer .doc-section>.doc-meta{margin-block-start:1.5rem}.developer .doc-meta{color:var(--muted);font-family:var(--label);letter-spacing:.02em;margin:0;font-size:.78125rem}.developer .doc-record p{margin:.35rem 0 0}.developer .doc-record ul{margin:.55rem 0 0;padding-inline-start:1.15rem}.developer .doc-record li{margin-block:.25rem}.developer .doc-record li::marker{color:var(--rule)}.developer .doc-spec{grid-template-columns:11rem minmax(0,1fr);gap:.35rem 1.5rem;margin:0;display:grid}.developer .doc-spec dt{color:var(--muted);font-family:var(--label);letter-spacing:.02em;border-block-start:1px solid var(--line);padding-block:.55rem;font-size:.78125rem}.developer .doc-spec dd{border-block-start:1px solid var(--line);margin:0;padding-block:.55rem}.developer .doc-spec dt:first-of-type,.developer .doc-spec dd:first-of-type{border-block-start:0}.developer figure{margin:1.1rem 0 0}.developer figure img{object-fit:cover;object-position:top center;border:1px solid var(--rule);background:var(--surface);width:100%;max-height:22rem;padding:.4rem;display:block}.developer figcaption{color:var(--muted);font-family:var(--label);margin-block-start:.5rem;font-size:.78125rem;line-height:1.5}.developer .doc-figure-number{color:var(--accent)}.developer .doc-results{font-variant-numeric:tabular-nums;grid-template-columns:minmax(8rem,.9fr) max-content minmax(0,1.3fr);max-width:44rem;margin:1.1rem 0 0;display:grid}.developer .doc-results dt{border-block-start:1px solid var(--line);color:var(--muted);font-family:var(--label);letter-spacing:.02em;padding-block:.55rem;padding-inline-end:1rem;font-size:.78125rem}.developer .doc-results dd{grid-column:2/-1;grid-template-columns:subgrid;border-block-start:1px solid var(--line);align-items:baseline;column-gap:1rem;margin:0;padding-block:.55rem;display:grid}.developer .doc-results b{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.15rem;font-weight:700}.developer .doc-results span{color:var(--muted);font-size:.85rem}.developer .portfolio-section--cards .portfolio-entries{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1.25rem}.developer .portfolio-section--cards .portfolio-entry{border:1px solid var(--line);background:var(--surface);padding:1.1rem 1.25rem}.developer .portfolio-section--timeline .portfolio-entry{border-inline-start:2px solid var(--rule);padding-inline-start:1.25rem}.developer .portfolio-details{gap:.35rem;margin:.6rem 0 0;display:grid}.developer .portfolio-details>div{grid-template-columns:11rem minmax(0,1fr);gap:.35rem 1.5rem;display:grid}.developer .portfolio-details dt{color:var(--muted);font-family:var(--label);font-size:.78125rem}.developer .portfolio-links a,.developer .doc-body a.doc-inline{text-underline-offset:.2em;text-decoration:underline;-webkit-text-decoration-color:var(--rule);-webkit-text-decoration-color:var(--rule);-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule)}.developer .portfolio-links a:hover{color:var(--accent);text-decoration-color:currentColor}.developer .doc-article-body{font-size:1.0625rem}.developer .doc-article-body :is(h2,h3){letter-spacing:-.015em;margin-block:2.25rem .75rem;font-weight:700}.developer .doc-article-body h2{font-size:1.45rem}.developer .doc-article-body h3{font-size:1.15rem}.developer .doc-article-body p{margin-block:0 1.1rem}.developer .doc-article-body :is(pre,code){font-family:var(--label);font-size:.9em}.developer .doc-article-body pre{border:1px solid var(--line);background:var(--surface);padding:1rem 1.15rem;overflow-x:auto}.developer .doc-article-body blockquote{border-inline-start:2px solid var(--accent);color:var(--muted);margin:1.25rem 0;padding-inline-start:1.15rem}.developer .contact-form{margin-block-start:1.25rem}.developer .contact-form label{font-family:var(--label);letter-spacing:.02em;font-size:.78125rem;font-weight:400}.developer .contact-form :is(input,textarea){font-family:var(--prose);font-size:1rem}.developer .contact-form button{background:var(--ink);color:var(--page);font-family:var(--label);letter-spacing:.02em;font-size:.8125rem}.developer .contact-form button:hover:not(:disabled){background:var(--accent)}.developer .contact-details{font-family:var(--label);font-size:.8125rem}.developer .contact-details a{text-underline-offset:.2em;text-decoration:underline}.developer .notice{font-family:var(--label);color:var(--mark);font-size:.8125rem}.developer .portfolio-pagination{font-family:var(--label);font-size:.8125rem}.developer .portfolio-pagination-pages :is(a,span){border-radius:var(--radius)}.developer .doc-foot{border-block-start:1px solid var(--ink)}.developer .doc-foot-inner{color:var(--muted);font-family:var(--label);flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;padding-block:1.25rem 1.6rem;font-size:.75rem;display:flex}.developer .doc-foot a{text-underline-offset:.2em;text-decoration:underline}.developer .doc-foot a:hover{color:var(--accent)}@media (width<=62rem){.developer .doc-shell{grid-template-columns:minmax(0,1fr);gap:2rem;padding-block:2.25rem 3rem}.developer .doc-contents{border-block-end:1px solid var(--line);padding-block-end:1.25rem;position:static}.developer .doc-contents ol{scrollbar-width:none;gap:0 1.25rem;display:flex;overflow-x:auto}.developer .doc-contents li{flex:none}.developer .doc-margin{border-block-end:1px solid var(--line);padding-block-end:1.25rem;position:static}.developer .doc-margin dl{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}.developer .doc-contents a{white-space:nowrap;border-inline-start:0;grid-template-columns:1.6rem auto;padding:.35rem 0}.developer .doc-contents a[aria-current=true]{color:var(--accent)}}@media (width<=52rem){.developer .doc-head{flex-direction:column;display:flex}.developer .doc-head h1{order:1}.developer .doc-lede{order:2}.developer .doc-actions{order:3;margin-block:1.25rem}.developer .doc-abstract{order:4}.developer .doc-status{order:5}.developer .doc-portrait{order:0;align-self:flex-start}.developer .doc-contents{position:relative}.developer .doc-contents:after{content:"";background:linear-gradient(to right, transparent, var(--page));pointer-events:none;width:2.5rem;position:absolute;inset-block:1.9rem 1.25rem;inset-inline-end:0}[dir=rtl] .developer .doc-contents:after{background:linear-gradient(to left, transparent, var(--page))}}@media (width<=40rem){.developer .doc-spec,.developer .portfolio-details>div{grid-template-columns:minmax(0,1fr);gap:0}.developer .doc-spec dd{border-block-start:0;padding-block-start:0}.developer .doc-portrait{float:none;margin:0 0 1rem}.developer .doc-status{grid-template-columns:minmax(0,1fr)}.developer .doc-status>div:nth-child(odd){border-inline-end:0}.developer .doc-status>div:nth-child(n+2){border-block-start:1px solid var(--line)}}@media print{.developer .doc-shell{padding-block:0;display:block}.developer .doc-contents,.developer .doc-actions,.developer .doc-bar-links{display:none}.developer .doc-section{break-inside:auto}.developer .doc-record,.developer figure{break-inside:avoid}}
