:root{--paper:#FAFAF6;--card:#FFFFFF;--ink:#15223D;--ink-soft:#4B5672;--rule:#DDE7F3;--line:#CCD6E4;--margin:#DE7A7C;--pen:#C2393F;--mark:#F6E27A;--mark-ink:#15223D;--chip:#EEF2F8;--f-display:"Bricolage Grotesque","Arial Narrow",system-ui,sans-serif;--f-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;--f-hand:"Caveat","Comic Sans MS","Segoe Print",cursive;--step--1:.84rem;--step-0:1rem;--step-1:1.2rem;--step-2:1.55rem;--step-3:2.1rem;--step-4:clamp(2.6rem,7vw,4.8rem);--ruled:28px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--paper:#17201D;--card:#1E2925;--ink:#E7ECE5;--ink-soft:#A7B3AC;--rule:#212C28;--line:#33413B;--margin:#8E4C4F;--pen:#F09A9C;--mark:#5C5326;--mark-ink:#F5E7A6;--chip:#25312C;color-scheme:dark}}:root[data-theme=dark]{--paper:#17201D;--card:#1E2925;--ink:#E7ECE5;--ink-soft:#A7B3AC;--rule:#212C28;--line:#33413B;--margin:#8E4C4F;--pen:#F09A9C;--mark:#5C5326;--mark-ink:#F5E7A6;--chip:#25312C;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:var(--step-0);line-height:1.6;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--ruled) - 1px),var(--rule) calc(var(--ruled) - 1px),var(--rule) var(--ruled))}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--pen)}:focus-visible{outline:2px solid var(--pen);outline-offset:3px;border-radius:2px}.wrap{max-width:1080px;margin:0 auto;position:relative;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}@media (min-width:760px){.wrap{padding-left:max(88px,env(safe-area-inset-left,0px));padding-right:max(88px,env(safe-area-inset-right,0px))}body{position:relative}body:before,body:after{content:"";position:absolute;top:0;bottom:0;border-left:2px solid var(--margin);opacity:.75;pointer-events:none}body:after{left:max(64px,calc(50% - 476px))}body:before{right:max(64px,calc(50% - 476px))}}.hl{color:var(--pen);font-weight:700}.hand{font-family:var(--f-hand);color:var(--pen);font-size:1.35rem;line-height:1;font-weight:600}.eyebrow{font-family:var(--f-mono);font-size:var(--step--1);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0;line-height:1.05}h2{font-size:var(--step-3);font-weight:800;letter-spacing:-.01em}h3{font-size:var(--step-2);font-weight:700}p{margin:0}header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:20px}.brand{font-family:var(--f-display);font-weight:800;font-size:1.15rem;text-decoration:none}.brand span{color:var(--pen)}nav ul{display:flex;gap:4px 20px;flex-wrap:wrap;list-style:none;margin:0;padding:0;font-size:var(--step--1)}nav a{text-decoration:none;color:var(--ink-soft)}nav a:hover{color:var(--ink)}.hero .wrap{display:grid;gap:48px;padding-block:40px 64px;grid-template-columns:minmax(0,1fr)}@media (min-width:900px){.hero .wrap{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start}}.hero h1{font-size:var(--step-4);font-weight:800;letter-spacing:-.025em;margin-top:10px}.hero .role{font-size:var(--step-1);color:var(--ink-soft);margin-top:14px}.hero .lede{max-width:60ch;margin-top:22px;font-size:1.05rem}.hero .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;gap:8px;font:500 var(--step--1)/1 var(--f-mono);padding:12px 16px;border:1.5px solid var(--ink);text-decoration:none;background:var(--card);color:var(--ink);cursor:pointer}.btn.primary{background:var(--ink);color:var(--paper)}.btn.primary:hover{background:var(--pen);border-color:var(--pen);color:var(--paper)}.btn:hover{color:var(--pen);border-color:var(--pen)}.note-left{margin-top:20px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.slip{background:var(--card);border:1.5px solid var(--line);font-family:var(--f-mono);font-size:.88rem;transform:rotate(.6deg);box-shadow:0 1px 0 var(--line),6px 8px 0 -2px var(--rule)}.slip header{display:flex;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1.5px dashed var(--line)}.slip header strong{font-weight:500;letter-spacing:.06em;text-transform:uppercase}.slip table{width:100%;border-collapse:collapse}.slip td{padding:9px 18px;border-bottom:1px solid var(--rule);vertical-align:baseline}.slip td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap}.slip tr:last-child td{border-bottom:0}.slip footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;border-top:1.5px dashed var(--line);color:var(--ink-soft)}.slip footer .hand{font-size:1.5rem;transform:rotate(-4deg)}section{padding-block:56px}.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:32px}.sec-head p{color:var(--ink-soft);max-width:52ch}.q{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 18px;padding:24px 0;border-top:1.5px solid var(--line)}.q:last-child{border-bottom:1.5px solid var(--line)}.q .num{font-family:var(--f-display);font-weight:800;font-size:var(--step-3);line-height:1;color:var(--pen);min-width:1.6ch}.q .body{display:grid;gap:12px;min-width:0}.q .top{display:flex;justify-content:space-between;align-items:baseline;gap:8px 16px;flex-wrap:wrap}.q .where{font-family:var(--f-mono);font-size:var(--step--1);color:var(--ink-soft)}.q ul{margin:0;padding-left:1.1em;display:grid;gap:6px;max-width:72ch}.q .meta{display:flex;justify-content:space-between;align-items:center;gap:10px 16px;flex-wrap:wrap}.chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0}.chips li{font-family:var(--f-mono);font-size:.76rem;padding:3px 8px;background:var(--chip);border:1px solid var(--line)}.visit{font-family:var(--f-mono);font-size:var(--step--1)}.game{display:grid;gap:28px;grid-template-columns:minmax(0,1fr)}@media (min-width:900px){.game{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center}}.stage{background:var(--card);border:1.5px solid var(--ink);position:relative}.stage canvas{display:block;width:100%;height:auto;aspect-ratio:16/10;max-width:100%}.stage .cap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;border-top:1.5px solid var(--ink);font-family:var(--f-mono);font-size:.78rem;color:var(--ink-soft)}.game ul{margin:16px 0 0;padding-left:1.1em;display:grid;gap:8px;max-width:62ch}.timeline{list-style:none;margin:0;padding:0;display:grid}.timeline>li{display:grid;grid-template-columns:minmax(0,1fr);gap:6px 32px;padding:24px 0;border-top:1.5px solid var(--line)}@media (min-width:760px){.timeline>li{grid-template-columns:190px minmax(0,1fr)}}.timeline .when{font-family:var(--f-mono);font-size:var(--step--1);color:var(--ink-soft);padding-top:4px}.timeline h3{font-size:var(--step-1)}.timeline .org{color:var(--ink-soft);margin-top:4px}.timeline ul{margin:12px 0 0;padding-left:1.1em;display:grid;gap:6px;max-width:72ch}.skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:0 40px}.skills div{padding:16px 0;border-top:1.5px solid var(--line);display:grid;gap:8px}.skills dt{font-family:var(--f-mono);font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase;color:var(--pen)}.skills dd{margin:0}.teach{display:grid;gap:32px;grid-template-columns:minmax(0,1fr)}@media (min-width:860px){.teach{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.paper{background:var(--card);border:1.5px solid var(--line);padding:22px 24px;display:grid;gap:14px}.paper ol{margin:0;padding-left:1.3em;display:grid;gap:10px}.paper .marks{float:right;font-family:var(--f-mono);font-size:.78rem;color:var(--ink-soft);margin-left:10px}.edu{list-style:none;margin:0;padding:0;display:grid}.edu li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--line)}.edu li span:first-child{font-family:var(--f-mono);font-size:var(--step--1);color:var(--ink-soft);font-variant-numeric:tabular-nums;padding-top:2px}.contact{background:var(--ink);color:var(--paper)}.contact .wrap{padding-block:64px;display:grid;gap:32px}.contact h2{font-size:clamp(2rem,5vw,3.4rem);max-width:18ch}.contact .hand{color:var(--mark)}.contact-rows{list-style:none;margin:0;padding:0;display:grid;gap:0}.contact-rows li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:16px 0;border-top:1px solid color-mix(in srgb,var(--paper) 25%,transparent)}.contact-rows .label{font-family:var(--f-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;opacity:.7;min-width:90px}.contact-rows .val{font-family:var(--f-mono);font-size:1.02rem;-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;flex:1 1 220px;min-width:0}.contact .btn{background:transparent;color:var(--paper);border-color:color-mix(in srgb,var(--paper) 45%,transparent)}.contact .btn:hover{color:var(--mark);border-color:var(--mark)}.contact a{color:var(--paper)}.contact a:hover{color:var(--mark)}footer.site .wrap{padding-block:24px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-family:var(--f-mono);font-size:.78rem;color:var(--ink-soft)}:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}body{margin:0}img{max-width:100%}[hidden]{display:none!important}:root{--lb-bg:#0F1114;--lb-fg:#F1EEE6;--lb-soft:#A8A39A;--tape:rgba(246,226,122,.72);--shade:rgba(21,34,61,.14) }@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--tape:rgba(245,231,166,.35);--shade:rgba(0,0,0,.4) }}:root[data-theme=dark]{--tape:rgba(245,231,166,.35);--shade:rgba(0,0,0,.4) }.stage{margin:0}.game .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.chips{margin-top:0}.drawings .sec-head{align-items:end}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}.filter{font:500 .8rem/1 var(--f-mono);padding:9px 12px;border:1.5px solid var(--line);background:var(--card);color:var(--ink-soft);cursor:pointer}.filter span{opacity:.6;margin-left:4px;font-variant-numeric:tabular-nums}.filter:hover{border-color:var(--ink);color:var(--ink)}.filter[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.sheet{list-style:none;margin:0;padding:8px 0 0;display:grid;gap:40px 28px;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))}.pin{transform:rotate(var(--tilt, 0deg));transition:transform .35s cubic-bezier(.2,.8,.2,1)}.pin:hover,.pin:focus-within{transform:rotate(0) translateY(-4px)}.pin button{all:unset;box-sizing:border-box;display:block;width:100%;cursor:zoom-in;position:relative;background:var(--card);padding:10px 10px 0;border:1px solid var(--line);box-shadow:0 10px 24px -12px var(--shade)}.pin button:focus-visible{outline:2px solid var(--pen);outline-offset:4px}.pin img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--chip)}.tape{position:absolute;top:-10px;left:50%;width:72px;height:20px;transform:translate(-50%) rotate(-3deg);background:var(--tape);z-index:1}.pin-cap{display:grid;gap:2px;padding:10px 2px 12px}.pin-title{font-family:var(--f-display);font-weight:700;font-size:1.02rem;line-height:1.2}.pin-meta{font-family:var(--f-mono);font-size:.72rem;color:var(--ink-soft)}.draw-foot{display:flex;gap:12px;flex-wrap:wrap;margin-top:44px}@media (prefers-reduced-motion: reduce){.pin,.pin:hover,.pin:focus-within{transition:none}}.lb{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--lb-bg);color:var(--lb-fg);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}.lb-fig{margin:0;display:grid;justify-items:center;gap:14px;min-width:0}.lb-fig img{max-width:100%;max-height:78vh;width:auto;height:auto;object-fit:contain;box-shadow:0 30px 70px #0009}.lb-fig figcaption{display:grid;gap:4px;text-align:center}.lb-title{font-family:var(--f-display);font-weight:700;font-size:1.3rem}.lb-meta{font-family:var(--f-mono);font-size:.78rem;color:var(--lb-soft)}.lb-btn{width:46px;height:46px;border-radius:50%;border:1px solid color-mix(in srgb,var(--lb-fg) 30%,transparent);background:transparent;color:var(--lb-fg);font-size:1.6rem;line-height:1;cursor:pointer}.lb-btn:hover{background:color-mix(in srgb,var(--lb-fg) 12%,transparent)}.lb-close{position:absolute;top:max(14px,env(safe-area-inset-top,0px));right:max(14px,env(safe-area-inset-right,0px))}@media (max-width:600px){.lb{grid-template-columns:minmax(0,1fr)}.lb-prev,.lb-next{position:absolute;bottom:max(14px,env(safe-area-inset-bottom,0px))}.lb-prev{left:max(14px,env(safe-area-inset-left,0px))}.lb-next{right:max(14px,env(safe-area-inset-right,0px))}.lb-fig img{max-height:68vh}}.pcards{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.pcard{display:grid;grid-template-rows:auto auto auto auto 1fr auto auto;gap:10px;padding:22px 22px 20px;background:var(--card);border:1.5px solid var(--ink);color:var(--ink);text-decoration:none;box-shadow:6px 6px 0 -1px var(--rule);transition:transform .2s ease,box-shadow .2s ease;min-width:0}.pcard:hover{transform:translate(-2px,-3px);box-shadow:9px 10px 0 -1px var(--rule);color:var(--ink)}.pcard:focus-visible{outline:2px solid var(--pen);outline-offset:4px}.pc-letter{font:500 .78rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--pen)}.pc-title{font-family:var(--f-display);font-weight:800;font-size:var(--step-3);line-height:1}.pc-count{font-family:var(--f-mono);font-size:var(--step--1);color:var(--ink-soft)}.pc-shot,.pc-art,.pc-sites{height:150px;margin-block:6px;border:1px solid var(--line);overflow:hidden;background:var(--chip)}.pc-shot{width:100%;object-fit:cover;object-position:center 70%}.pc-art{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.pc-art img{width:100%;height:100%;object-fit:cover}.pc-sites{list-style:none;padding:10px 12px;margin:6px 0;display:grid;align-content:center;gap:6px;font-family:var(--f-mono);font-size:.76rem}.pc-sites li{display:grid;gap:1px;border-bottom:1px dashed var(--line);padding-bottom:6px;min-width:0}.pc-sites li:last-child{border-bottom:0;padding-bottom:0}.pc-sites li span:last-child{color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-blurb{color:var(--ink-soft);font-size:.95rem}.pc-items{font-family:var(--f-mono);font-size:.76rem;color:var(--ink-soft)}.pc-open{font:500 var(--step--1)/1 var(--f-mono);margin-top:6px;color:var(--pen)}@media (prefers-reduced-motion: reduce){.pcard{transition:none}}section.cat-page{padding-block:0}.cat-page .wrap{padding-block:12px 64px}.cat-back{font-family:var(--f-mono);font-size:var(--step--1);color:var(--ink-soft);text-decoration:none}.cat-back:hover{color:var(--pen)}.cat-page .eyebrow{margin-top:28px}.cat-page h1{font-size:var(--step-4);font-weight:800;letter-spacing:-.02em;margin-top:8px}.cat-blurb{max-width:60ch;margin-top:14px;font-size:1.05rem;color:var(--ink-soft)}.ptabs{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 8px;padding-bottom:16px;border-bottom:1.5px solid var(--ink)}.ptabs a{display:inline-flex;align-items:center;gap:8px;font:500 .85rem/1 var(--f-mono);padding:10px 14px;border:1.5px solid var(--line);background:var(--card);color:var(--ink-soft);text-decoration:none}.ptabs a span{color:var(--pen)}.ptabs a:hover{border-color:var(--ink);color:var(--ink)}.ptabs a[aria-current=page]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.ptabs a[aria-current=page] span{color:var(--mark)}.cat-body .questions .q:first-child,.cat-body .game-card:first-child{border-top:0}.q-title{font-size:var(--step-2);font-weight:700}.games{display:grid}.game-card{display:grid;gap:24px 40px;grid-template-columns:minmax(0,1fr);padding:28px 0;border-top:1.5px solid var(--line)}.game-card:first-child{border-top:0}@media (min-width:900px){.game-card{grid-template-columns:minmax(0,1fr);gap:24px}}.game-media{min-width:0}.stage.shot{max-width:400px;margin-inline:auto;background:#0d1015}.stage.shot img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.game-body{display:grid;gap:12px;min-width:0}.game-body .top{display:flex;justify-content:space-between;align-items:baseline;gap:8px 16px;flex-wrap:wrap}.game-body .where{font-family:var(--f-mono);font-size:var(--step--1);color:var(--ink-soft)}.game-body ul{margin:0;padding-left:1.1em;display:grid;gap:8px;max-width:68ch}.game-body .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}.q ul.chips,.game-body ul.chips{display:flex;flex-wrap:wrap;gap:6px;padding-left:0;max-width:none;list-style:none}nav a[aria-current=page]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--pen);text-decoration-thickness:2px;text-underline-offset:6px}main.subpage{min-height:60vh}main.subpage>section:first-child{padding-block-start:24px}.subtabs{display:flex;flex-wrap:wrap;gap:4px 22px;margin:18px 0 6px;font-family:var(--f-mono);font-size:var(--step--1)}.subtabs a{color:var(--ink-soft);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}.subtabs a:hover{color:var(--ink)}.subtabs a[aria-current=page]{color:var(--ink);border-bottom-color:var(--pen)}.art-page .cat-body{padding-top:24px}.art-h{font-size:var(--step-2);font-weight:800;margin:36px 0 18px}.art-intro{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px 40px}.art-intro>p{max-width:56ch;color:var(--ink-soft)}.art-stats{display:flex;gap:28px;margin:0;font-family:var(--f-mono)}.art-stats div{display:grid;gap:2px}.art-stats dt{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.art-stats dd{margin:0;font-weight:500;font-size:1.05rem;font-variant-numeric:tabular-nums}.sheet.featured{grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:36px 22px;padding-top:10px}@media (min-width:900px){.sheet.featured{grid-template-columns:repeat(5,minmax(0,1fr))}}.art-rows{display:grid;gap:34px;grid-template-columns:minmax(0,1fr)}.art-row{min-width:0}.art-row-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;border-top:1.5px solid var(--line);padding-top:14px}.art-row-head h3{font-size:var(--step-1);font-weight:700}.art-row-meta{font-family:var(--f-mono);font-size:var(--step--1);color:var(--ink-soft)}.art-row-arrows{margin-left:auto;display:flex;gap:6px}.art-arrow{width:36px;height:36px;border:1.5px solid var(--ink);background:var(--card);color:var(--ink);font-size:1.2rem;line-height:1;cursor:pointer}.art-arrow:hover{border-color:var(--pen);color:var(--pen)}.art-track{list-style:none;margin:0;padding:22px 6px 20px;display:flex;gap:22px;overflow-x:auto;scrollbar-width:none}.art-track::-webkit-scrollbar{display:none}.art-track .pin{flex:0 0 180px}@media (max-width:600px){.art-track .pin{flex-basis:150px}}.art-follow{margin-top:36px;color:var(--ink-soft)}.art-lead{max-width:64ch;font-size:1.05rem}.art-note{margin-top:28px;color:var(--ink-soft);display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}.art-note .hand{font-size:1.3rem}.tiers{display:grid;gap:24px;margin-top:28px;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}.tier{display:grid;grid-template-rows:auto 1fr;background:var(--card);border:1.5px solid var(--ink);border-top:5px solid var(--metal);box-shadow:6px 6px 0 -1px var(--rule)}.tier-plaque{aspect-ratio:300/220;background:var(--chip);border-bottom:1px solid var(--line)}.tier-body{display:grid;grid-template-rows:auto auto 1fr auto;gap:8px;padding:16px 18px 18px}.tier-cat{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.tier-name{font-size:var(--step-1);font-weight:700;line-height:1.15}.tier ul{margin:0;padding-left:1.1em;display:grid;gap:4px;font-size:.95rem}.tier-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;margin-top:8px;padding-top:10px;border-top:1px dashed var(--line);font-family:var(--f-mono);font-size:var(--step--1)}.tier-price{font-weight:500;font-variant-numeric:tabular-nums}.art-order-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.art-contact-line{margin-top:10px;font-family:var(--f-mono);font-size:var(--step--1);color:var(--ink-soft);overflow-wrap:anywhere}.art-steps{list-style:none;margin:28px 0 0;padding:0}.art-steps .q:first-child{border-top:1.5px solid var(--line)}.art-steps .body p{color:var(--ink-soft)}.wa-float{position:fixed;z-index:40;right:max(18px,env(safe-area-inset-right,0px));bottom:max(18px,env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;gap:8px;padding:12px 16px 12px 12px;background:var(--pen);color:#fff;text-decoration:none;font:500 var(--step--1)/1 var(--f-mono);border:1.5px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}.wa-float:hover{background:var(--ink);color:var(--paper)}@media (max-width:600px){.wa-float span{display:none}.wa-float{padding:12px}}.stage.shot.is-icon{display:grid;place-items:center;aspect-ratio:4/5;background:#141c24}.stage.shot.is-icon img{width:48%;aspect-ratio:1;height:auto;border-radius:22%;box-shadow:0 18px 40px #00000073}.slides{margin:0;border:1.5px solid var(--ink);background:var(--card);box-shadow:6px 6px 0 -1px var(--rule)}.slides-view{position:relative;aspect-ratio:2.1/1;max-width:100%;background:#0d1015;overflow:hidden;outline:none}.slides-view:focus-visible{outline:2px solid var(--pen);outline-offset:3px}.slides-view img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .45s ease}.slides-view img.is-on{opacity:1}.slides-btn{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:1.5px solid var(--ink);background:var(--card);color:var(--ink);font-size:1.4rem;line-height:1;cursor:pointer;opacity:.9}.slides-btn:hover{opacity:1;color:var(--pen);border-color:var(--pen)}.slides-btn.prev{left:10px}.slides-btn.next{right:10px}.slides-cap{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border-top:1.5px solid var(--ink);font-family:var(--f-mono);font-size:.78rem;color:var(--ink-soft)}.slides-dots{display:flex;gap:6px}.slides-dots button{width:22px;height:6px;padding:0;border:1px solid var(--ink-soft);background:transparent;cursor:pointer}.slides-dots button[aria-current=true]{background:var(--pen);border-color:var(--pen)}.game-media{max-width:100%}@media (max-width:600px){.slides-btn{width:32px;height:32px;font-size:1.1rem}.slides-view{aspect-ratio:16/10}}@media (prefers-reduced-motion: reduce){.slides-view img{transition:none}}section.hero{padding-block:0}.hero .wrap{padding-block:24px 56px}.hero .eyebrow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero .actions .btn{white-space:nowrap}@media (max-width:600px){header .wrap{padding-block:14px 6px;gap:8px}.hero .wrap{padding-block:12px 40px;gap:36px}.hero .eyebrow{font-size:.72rem;letter-spacing:.05em}.hero h1{margin-top:6px}.hero .actions{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:8px;margin-top:24px}.hero .actions .btn{font-size:.74rem;padding:11px;justify-content:center}}.foot-links{display:flex;gap:16px}.foot-links a{color:var(--ink-soft);text-decoration:none}.foot-links a:hover{color:var(--pen)}section.contact{padding-block:0}@media (max-width:600px){.contact .wrap{padding-block:28px 40px;gap:22px}.contact h2{font-size:1.9rem}.contact-rows li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label label" "val btn";align-items:center;gap:4px 12px;padding:12px 0}.contact-rows .label{grid-area:label;min-width:0}.contact-rows .val{grid-area:val;font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}.contact-rows .btn{grid-area:btn;padding:8px 12px}}.timeline{display:grid;gap:20px}.timeline>li{padding:0;gap:0;border:1.5px solid var(--ink);background:var(--card);box-shadow:6px 6px 0 -1px var(--rule)}.timeline .when{display:block;padding:12px 18px;border-bottom:1.5px dashed var(--line);background:var(--chip);color:var(--ink-soft)}.timeline>li>div{padding:16px 18px 18px}.timeline ul{margin:14px 0 0;padding:12px 0 0 1.1em;border-top:1px solid var(--line);gap:0}.timeline ul>li{padding:8px 0}.timeline ul>li+li{border-top:1px dashed var(--line)}@media (min-width:760px){.timeline>li{grid-template-columns:215px minmax(0,1fr)}.timeline .when{white-space:nowrap}.timeline .when{border-bottom:0;border-right:1.5px dashed var(--line);padding:18px}.timeline>li>div{padding:18px 22px 20px}}.skills{gap:16px}.skills>div,.skills div{padding:0;border:1.5px solid var(--ink);background:var(--card);box-shadow:6px 6px 0 -1px var(--rule);gap:0}.skills dt{padding:10px 16px;border-bottom:1.5px dashed var(--line);background:var(--chip)}.skills dd{padding:12px 16px 14px}.paper{border-color:var(--ink);box-shadow:6px 6px 0 -1px var(--rule)}.paper ol>li+li{border-top:1px dashed var(--line);padding-top:10px}.edu{gap:14px}.edu li{padding:14px 16px;border:1.5px solid var(--ink);background:var(--card);box-shadow:6px 6px 0 -1px var(--rule)}.edu li span:first-child{border-right:1px dashed var(--line);padding-right:10px}.questions{display:grid;gap:20px}.questions .q,.q:last-child,.cat-body .questions .q:first-child,.art-steps .q:first-child{border:1.5px solid var(--ink);background:var(--card);box-shadow:6px 6px 0 -1px var(--rule);padding:20px 22px}.q .body>ul:not(.chips){gap:0}.q .body>ul:not(.chips)>li{padding:7px 0}.q .body>ul:not(.chips)>li+li{border-top:1px dashed var(--line)}.q .meta{border-top:1px solid var(--line);padding-top:12px}.games{gap:22px}.game-card,.cat-body .game-card:first-child{border:1.5px solid var(--ink);background:var(--card);box-shadow:6px 6px 0 -1px var(--rule);padding:18px}.game-card .slides{box-shadow:none}.game-body ul:not(.chips){gap:0}.game-body ul:not(.chips)>li{padding:7px 0}.game-body ul:not(.chips)>li+li{border-top:1px dashed var(--line)}@media (max-width:600px){.questions .q,.q:last-child,.cat-body .questions .q:first-child,.art-steps .q:first-child{padding:16px;column-gap:12px}.game-card,.cat-body .game-card:first-child{padding:12px}.edu li{grid-template-columns:minmax(0,1fr)}.edu li span:first-child{border-right:0;border-bottom:1px dashed var(--line);padding:0 0 6px}}@media (max-width:600px){.questions .q{grid-template-columns:minmax(0,1fr);row-gap:4px}.q .num{font-size:1.5rem}}
