.phone-deck{--deck-phone:clamp(210px,21vw,330px);isolation:isolate;background:#eef0f8;padding:clamp(48px,7vw,104px) 0 clamp(20px,3vw,36px);position:relative;overflow:hidden}.phone-deck:before,.phone-deck:after,.device-scene:before,.device-scene:after{content:"";z-index:-1;pointer-events:none;background-size:100% 100%;position:absolute;inset:-10% -14%}.phone-deck:before,.device-scene:before{background-image:radial-gradient(at 80% 16%,#b8d7f3 0%,#0000 63%),radial-gradient(at 14% 48%,#b8ade0 0%,#0000 65%),linear-gradient(135deg,#e7edf9,#cec8e7 54%,#e5ccd3);animation:20s ease-in-out infinite alternate deck-dawn}.phone-deck:after,.device-scene:after{opacity:.55;mix-blend-mode:soft-light;background-image:radial-gradient(at 15% 12%,#c3cbef 0%,#0000 62%),radial-gradient(at 83% 45%,#efc4d2 0%,#0000 65%),linear-gradient(135deg,#dfd1ee,#e5bfc8 55%,#f0d5bd);animation:16s ease-in-out infinite alternate deck-dusk}@keyframes deck-dawn{to{transform:translate(4%,-3%)scale(1.06)}}@keyframes deck-dusk{0%{opacity:.35}to{opacity:.7;transform:translate(-4%,3%)scale(1.04)}}.phone-deck--card{place-items:center;padding:0;display:grid;position:absolute;inset:0}.phone-deck--card .phone-deck-stage{--deck-phone:44cqw;width:100%;height:calc(var(--deck-phone) * 2.06);margin-top:2cqw;-webkit-mask-image:none;mask-image:none}.project-showcase--deck{container-type:inline-size}.project-showcase--deck>.project-story-grain{opacity:.025}.phone-deck-stage{height:calc(var(--deck-phone) * 2.02);position:relative;-webkit-mask-image:linear-gradient(#000 84%,#0000 100%);mask-image:linear-gradient(#000 84%,#0000 100%)}.phone-deck-card{width:var(--deck-phone);cursor:pointer;transform-origin:50% 60%;will-change:transform,filter;background:0 0;border:0;padding:0;transition:transform 1.1s cubic-bezier(.65,0,.35,1),filter 1.1s cubic-bezier(.65,0,.35,1),opacity 1.1s cubic-bezier(.65,0,.35,1);position:absolute;top:0;left:50%}.phone-deck-card[data-place=front]{z-index:3;cursor:default;filter:none;opacity:1;transform:translate(-50%)}.phone-deck-card[data-place=right]{z-index:1;transform:translateX(calc(-50% + var(--deck-phone) * .42)) translateY(5%) rotate(4.5deg) scale(.86);filter:blur(6px)saturate(.9);opacity:.9}.phone-deck-card[data-place=left]{z-index:2;transform:translateX(calc(-50% - var(--deck-phone) * .42)) translateY(5%) rotate(-4.5deg) scale(.86);filter:blur(6px)saturate(.9);opacity:.9}.phone-deck-card:focus-visible{outline:2px solid var(--ed-ink,#171717);outline-offset:6px;border-radius:15%/7%}.phone-deck-card[data-place=front] .glass-phone{box-shadow:inset 0 0 0 1px #fffffff2,inset 0 0 0 1.6px #96a0ac52,inset 0 3px 4px -1px #fff,inset 0 -6px 10px -4px #6e7a8a38,0 40px 70px -34px #27344061,0 12px 22px -14px #27344042,0 0 0 .5px #78828e2e}.ed-case .phone-deck-caption,.phone-deck-caption{z-index:4;max-width:var(--ed-wide,1240px);padding-inline:var(--ed-pad-x,24px);text-align:center;color:var(--ed-muted,#666);margin:12px auto 0;font-size:12px;line-height:1.6;position:relative}@media (max-width:700px){.phone-deck{--deck-phone:58vw}.phone-deck-card[data-place=right]{transform:translateX(calc(-50% + var(--deck-phone) * .36)) translateY(5%) rotate(4.5deg) scale(.84)}.phone-deck-card[data-place=left]{transform:translateX(calc(-50% - var(--deck-phone) * .36)) translateY(5%) rotate(-4.5deg) scale(.84)}}@media (prefers-reduced-motion:reduce){.phone-deck-card{transition:none}.phone-deck:before,.phone-deck:after,.device-scene:before,.device-scene:after{animation:none}}html[data-portfolio-theme=dark] .phone-deck{background:#16181f}html[data-portfolio-theme=dark] .phone-deck:before,html[data-portfolio-theme=dark] .device-scene:before{background-image:radial-gradient(at 80% 16%,#344d78 0%,#0000 63%),radial-gradient(at 14% 48%,#50416d 0%,#0000 65%),linear-gradient(135deg,#1c2233,#2a2540 54%,#3a2a33)}html[data-portfolio-theme=dark] .phone-deck:after,html[data-portfolio-theme=dark] .device-scene:after{background-image:radial-gradient(at 15% 12%,#394270 0%,#0000 62%),radial-gradient(at 83% 45%,#693e57 0%,#0000 65%),linear-gradient(135deg,#2a2440,#3d2732 55%,#43342a)}
.mk{--p:#16171a;--p-soft:color-mix(in srgb,var(--p) 10%,#fff);--p-ink:color-mix(in srgb,var(--p) 78%,#000);--ink:#16171a;--ink-2:#50535a;--muted:#8f939a;--line:#ecedef;--fill:#f4f5f6;--bg:#fff;--g:2.4em;--pad:1.6em;--gap:1.6em;--r-card:1.6em;--r-ctl:1.2em;--lead:4em;font-family:var(--font-geist-sans),ui-sans-serif,system-ui,sans-serif;letter-spacing:-.011em;color:var(--ink);background:var(--bg);text-align:left;-webkit-font-smoothing:antialiased;flex-direction:column;font-size:2.5641cqw;line-height:1.35;display:flex;position:absolute;inset:0;overflow:hidden}.mk--desk{font-size:.78125cqw}.mk--ridmik{--p:#179a55}.mk--snapper{--p:#de4a31}.mk *,.mk :before,.mk :after{box-sizing:border-box}.mk h3,.mk p,.mk ul,.mk ol,.mk dl,.mk dd{margin:0;padding:0;list-style:none}.mk svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:2em;height:2em}.mk-t-cap{color:var(--muted);font-size:1.2em;line-height:1.4}.mk-t-body{font-size:1.4em;line-height:1.45}.mk-t-title{letter-spacing:-.02em;font-size:1.6em;font-weight:600}.mk-t-h2{letter-spacing:-.03em;font-size:2em;font-weight:600;line-height:1.15}.mk-t-h1{letter-spacing:-.04em;font-size:2.8em;font-weight:600;line-height:1.08}.mk-ink2{color:var(--ink-2)}.mk-muted{color:var(--muted)}.mk-p{color:var(--p)}.mk-body{gap:var(--gap);padding:var(--g) var(--g) 0;flex-direction:column;flex:1;min-height:0;display:flex}.mk-body--tab{padding-bottom:9.6em}.mk-body--dock{padding-bottom:10.4em}.mk-body--center{justify-content:center}.mk-stack{gap:.4em;display:grid}.mk-stack--center{text-align:center;justify-items:center}.mk-head{justify-content:space-between;align-items:center;gap:1.2em;display:flex}.mk-head--end{align-items:flex-end}.mk-nav-bar{grid-template-columns:var(--lead) minmax(0,1fr) var(--lead);text-align:center;align-items:center;display:grid}.mk-nav-bar--left{grid-template-columns:var(--lead) minmax(0,1fr);text-align:left;gap:1.2em}.mk-brand{letter-spacing:-.03em;align-items:center;gap:.8em;font-size:1.6em;font-weight:600;display:inline-flex}.mk-brand i{background:var(--p);border-radius:.3em;width:1em;height:1em}.mk-brand--sm{font-size:1.4em}.mk-avatar{width:var(--lead);height:var(--lead);background:var(--fill);color:var(--ink-2);border-radius:50%;place-items:center;display:grid}.mk-avatar>span{font-size:1.4em;font-weight:600}.mk-section{justify-content:space-between;align-items:baseline;display:flex}.mk-link{color:var(--muted);font-size:1.2em}.mk-card{border-radius:var(--r-card);background:var(--bg);border:.1em solid var(--line)}.mk-card--fill{background:var(--fill);border-color:#0000}.mk-card--accent{background:var(--p-soft);border-color:#0000}.mk-card--pad{padding:var(--pad)}.mk-card--stack{gap:var(--gap);display:grid}.mk-card-head{padding:var(--pad) var(--pad) .4em;justify-content:space-between;align-items:baseline;display:flex}.mk-hero-stat{align-items:center;gap:var(--gap);padding:var(--pad);border-radius:var(--r-card);background:var(--p-soft);display:flex}.mk-list>li+li{border-top:.1em solid var(--line)}.mk-row{grid-template-columns:var(--lead) minmax(0,1fr) auto;padding:1.2em var(--pad);align-items:center;gap:1.2em;display:grid}.mk-row--plain{grid-template-columns:var(--lead) minmax(0,1fr)}.mk-row--meter{grid-template-columns:minmax(0,1fr) 7.2em}.mk-row--meter>:last-child{justify-self:end}.mk-row-text{gap:.4em;min-width:0;display:grid}.mk-row-text>b{letter-spacing:-.015em;white-space:nowrap;text-overflow:ellipsis;font-size:1.4em;font-weight:500;overflow:hidden}.mk-row-text>span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:1.2em;overflow:hidden}.mk-row-text--meter{gap:.8em}.mk-row-text>.mk-bar{font-size:1em}.mk-row.is-now .mk-row-text>b{font-weight:600}.mk-chev{color:#c4c7cc;width:1.6em!important;height:1.6em!important}.mk-icon,.mk-tile{width:var(--lead);height:var(--lead);border-radius:var(--r-ctl);background:var(--fill);color:var(--ink);place-items:center;display:grid}.mk-icon svg{width:1.8em;height:1.8em}.mk-icon>span{font-size:1.4em;font-weight:600}.mk-icon--p{background:var(--p);color:#fff}.mk-icon--done{color:var(--p)}.mk-icon--xl{border-radius:50%;width:6.4em;height:6.4em}.mk-icon--xl svg{width:3.2em;height:3.2em}.mk-iconbtn{width:var(--lead);height:var(--lead);border-radius:var(--r-ctl);background:var(--fill);color:var(--ink);place-items:center;display:grid}.mk-iconbtn svg{width:1.8em;height:1.8em}.mk-tile--a{background:color-mix(in srgb,var(--p) 85%,#000)}.mk-tile--b{background:color-mix(in srgb,var(--p) 35%,#fff)}.mk-tile--c{background:#d9dbdf}.mk-tile--d{background:#2b2d31}.mk-cover{border-radius:var(--r-card);width:100%;height:14.4em}.mk-strip{grid-template-columns:repeat(3,1fr);gap:.8em;display:grid}.mk-strip--4{grid-template-columns:repeat(4,1fr)}.mk-strip>div{gap:.4em;display:grid}.mk-strip .mk-tile{width:100%;height:7.2em}.mk-strip--4 .mk-tile{height:5.6em}.mk-ring{--v:50;width:var(--lead);height:var(--lead);background:conic-gradient(var(--p) calc(var(--v) * 1%),var(--line) 0);border-radius:50%;place-items:center;display:grid;position:relative}.mk-ring:before{content:"";background:var(--bg);border-radius:50%;position:absolute;inset:.4em}.mk-ring>span{font-size:1.2em;font-weight:600;position:relative}.mk-ring--lg{width:8.8em;height:8.8em}.mk-ring--lg:before{inset:.8em}.mk-ring--lg>span{letter-spacing:-.03em;font-size:2em}.mk-card--fill .mk-ring:before{background:var(--fill)}.mk-hero-stat .mk-ring:before,.mk-card--accent .mk-ring:before{background:var(--p-soft)}.mk-bar{background:var(--line);border-radius:1em;height:.6em;display:block;overflow:hidden}.mk-bar>i{border-radius:inherit;background:var(--p);height:100%;display:block}.mk-pill,.mk-btn,.mk-tag,.mk-seg>span{white-space:nowrap;justify-content:center;align-items:center;gap:.8em;display:inline-flex}.mk-pill{background:var(--fill);height:3.2em;color:var(--ink);border-radius:3em;padding:0 1.6em}.mk-pill>span{font-size:1.4em;font-weight:500}.mk-pill--ink{background:var(--ink);color:#fff}.mk-btn{background:var(--ink);color:#fff;border-radius:3em;height:4.8em;display:flex}.mk-btn>span{font-size:1.6em;font-weight:600}.mk-btn--ghost{background:var(--fill);color:var(--ink)}.mk-actions{grid-template-columns:1fr 1fr;gap:.8em;display:grid}.mk-tag{background:var(--p-soft);height:2.4em;color:var(--p-ink);border-radius:3em;gap:.4em;padding:0 .8em}.mk-tag>span{font-size:1.2em;font-weight:500}.mk-seg{background:var(--fill);border-radius:3em;gap:.4em;padding:.4em;display:inline-flex}.mk-seg>span{height:2.8em;color:var(--ink-2);border-radius:3em;padding:0 1.2em}.mk-seg>span>span{font-size:1.2em}.mk-seg>.is-on{background:var(--bg);color:var(--ink);font-weight:500}.mk-toggle{background:var(--line);border-radius:3em;width:4.4em;height:2.6em;position:relative}.mk-toggle:after{content:"";background:#fff;border-radius:50%;width:2em;height:2em;position:absolute;top:.3em;left:.3em}.mk-toggle.is-on{background:var(--p)}.mk-toggle.is-on:after{left:auto;right:.3em}.mk-dot{background:var(--p);border-radius:50%;width:.8em;height:.8em}.mk-thread{flex-direction:column;flex:1;justify-content:flex-end;gap:.8em;display:flex}.mk .mk-bubble{background:var(--fill);border-radius:1.2em;align-self:flex-start;max-width:78%;padding:.8em 1.2em}.mk-bubble>span{font-size:1.4em;line-height:1.45}.mk .mk-bubble--me{background:var(--ink);color:#fff;align-self:flex-end}.mk-tabbar{padding:.8em var(--g) 3.2em;background:var(--bg);border-top:.1em solid var(--line);grid-template-columns:repeat(3,1fr);display:grid;position:absolute;bottom:0;left:0;right:0}.mk-tabbar>span{color:var(--muted);justify-items:center;gap:.4em;display:grid}.mk-tabbar>span>span{font-size:1.2em}.mk-tabbar svg{width:2.4em;height:2.4em}.mk-tabbar>.is-on{color:var(--ink);font-weight:600}.mk-tabbar>.is-on svg{color:var(--p)}.mk-dock{left:var(--g);right:var(--g);position:absolute;bottom:3.2em}.mk-stats{grid-template-columns:repeat(3,1fr);gap:.8em;display:grid}.mk-stats--2{grid-template-columns:1fr 1fr}.mk-stats--1{grid-template-columns:1fr;gap:1.6em}.mk-stats>div{gap:.4em;display:grid}.mk-stats span{color:var(--muted);font-size:1.2em}.mk-stats b{letter-spacing:-.03em;font-size:2em;font-weight:600}.mk-stats--sm b{letter-spacing:-.02em;font-size:1.6em}.mk-nav{border-bottom:.1em solid var(--line);flex:none;align-items:center;gap:3.2em;height:6.4em;padding:0 3.2em;display:flex}.mk-nav-links{gap:.4em;display:flex}.mk-nav-links>span{color:var(--ink-2);border-radius:3em;padding:.8em 1.2em}.mk-nav-links>span>span{font-size:1.4em}.mk-nav-links>.is-on{background:var(--fill);color:var(--ink);font-weight:500}.mk-nav-end{align-items:center;gap:1.2em;margin-left:auto;display:flex}.mk-search{width:20em;height:var(--lead);background:var(--fill);border-radius:3em}.mk-desk-body{gap:var(--gap);flex:1;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-content:start;padding:3.2em;display:grid}.mk-desk-head{grid-column:1/-1;gap:.8em;margin-bottom:.8em;display:grid}.mk-col{gap:var(--gap);align-content:start;display:grid}.mk-grid5{padding:.8em var(--pad) var(--pad);grid-template-columns:repeat(5,1fr);gap:1.2em;display:grid}.mk-grid5>div{gap:.4em;display:grid}.mk-grid5 .mk-tile{width:100%;height:9.6em;margin-bottom:.4em}.mk-trail{align-items:center;gap:1.2em;display:flex}.mk-kb{background:var(--fill);flex:none;gap:.8em;padding:1.2em 1.2em 3.2em;display:grid}.mk-kb-row{justify-content:center;gap:.4em;display:flex}.mk-key{background:var(--bg);border-radius:.8em;flex:1 1 0;place-items:center;max-width:3.3em;height:4.4em;display:grid}.mk-key>span{font-size:1.6em}.mk-key--fn{background:#e3e4e7;flex:0 0 4.8em;max-width:none}.mk-key--fn>span,.mk-key--space>span,.mk-key--go>span{font-size:1.2em}.mk-key--space{max-width:none;color:var(--ink-2);flex:auto}.mk-key--go{background:var(--p);color:#fff;flex:0 0 8em;max-width:none}.mk-suggest{text-align:center;grid-template-columns:repeat(3,1fr);padding-bottom:.4em;display:grid}.mk-suggest>span>span{color:var(--ink-2);font-size:1.4em}.mk-suggest>span+span{border-left:.1em solid #d8dadd}.mk-suggest>.is-on>span{color:var(--ink);font-weight:600}.mk-kb--mini{background:0 0;gap:.4em;padding:0}.mk-kb--mini .mk-key{border-radius:.6em;height:2.8em}.mk-key.is-on{background:var(--p)}.mk-body--chat{padding-bottom:1.6em}.mk-body-center{flex-direction:column;flex:1;justify-content:center;gap:2.4em;display:flex}.mk-gap-lg{gap:1.6em}.mk-strike{text-decoration:line-through}.mk-btn--sm{height:4em}.mk-btn--sm>span{font-size:1.4em}.mk-brand svg{width:1.15em;height:1.15em}
