:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#284b4b;background:#f4f0e8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 20%,#fffdf8,#eeebe3 80%)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #cf684b;outline-offset:5px}header{height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.13em}header>a{font-size:23px;font-weight:700;color:#284b4b;text-decoration:none;display:flex;align-items:center;gap:14px}header>a span{font-size:10px;letter-spacing:.2em;font-weight:500;border-left:1px solid #c9ccc1;padding-left:14px}header>div{display:flex;align-items:center;gap:12px}.live{width:5px;height:5px;background:#6c9a8e;border-radius:100%;box-shadow:0 0 0 4px #6c9a8e15}header button,#reset{background:none;border:0;color:inherit;font-size:11px;letter-spacing:.05em;padding:10px}header button{border:1px solid #cbd0c5;border-radius:20px;margin-left:16px}main{max-width:1800px;margin:auto}#stage{width:100%;height:min(67vw,820px);min-height:390px;position:relative;touch-action:none}#stage canvas{display:block;width:100%;height:100%}#loading{position:absolute;inset:40% 0;text-align:center;font:12px monospace;letter-spacing:.15em}#loading span{display:block;margin:15px;font:12px sans-serif}.under{padding:0 6vw;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#72807a;margin-top:-6px}#accessible{display:flex;gap:8px;justify-content:center;margin:28px auto 0;flex-wrap:wrap}#accessible button{border:1px solid #cdd1c6;border-radius:30px;background:transparent;color:#61716b;font-size:12px;padding:9px 18px}#accessible button[aria-current=true]{background:#d97453;color:#fff;border-color:#d97453}#reading{max-width:1020px;margin:52px auto 60px;display:grid;grid-template-columns:1fr 1.5fr;gap:80px;padding:0 30px}#section-code{font:10px monospace;color:#84928b;letter-spacing:.16em}h1{font-size:32px;font-weight:450;letter-spacing:-.03em;margin:15px 0}#summary{font-size:14px;line-height:1.9;color:#718079}#details{font-size:14px;line-height:1.9}#details p{margin-top:0}#details a{color:#315f5c;text-decoration:none;border-bottom:1px solid #9ab4a9}#details .row{padding:14px 0;border-bottom:1px solid #d8dcd2;display:flex;justify-content:space-between;gap:16px}#details small{color:#7b8982}#details input{width:100%;padding:14px;background:#fffcf6;border:1px solid #c1cfc4;border-radius:4px;font:inherit;color:inherit}.location-buttons{display:flex;gap:9px;flex-wrap:wrap}.location-buttons button{background:#e5ebe2;border:1px solid #c0cec1;border-radius:5px;padding:9px 14px;color:#345851}.location-buttons button.active{background:#d87655;color:#fff}footer{border-top:1px solid #daddd2;max-width:1120px;margin:auto;padding:24px 30px 35px;display:flex;justify-content:space-between;gap:20px;font:9px monospace;letter-spacing:.1em;color:#8b978e}footer a{color:#526f63;text-decoration:none}@media(max-width:700px){header{height:65px;padding:0 20px}header>div{font-size:0;gap:0}header button{font-size:10px}header>a span{font-size:8px}#stage{height:67vw;min-height:255px}.under{font-size:10px;padding:0 20px;margin:0}#reading{display:block;margin:30px auto;padding:0 24px}#reading>div:first-child{margin-bottom:25px}h1{font-size:26px}#accessible{gap:5px;margin:20px 15px}#accessible button{padding:8px 12px;font-size:11px}footer{padding:20px 24px;font-size:8px;flex-wrap:wrap}footer>span:last-child{display:none}}header{height:0;padding:0}header>a,header>div>.live{display:none}header>div{font-size:0}header #sound{position:absolute;right:24px;top:18px;z-index:2;font-size:10px}.under,footer,#reading>div:first-child,#details>p:first-child{display:none}#reading{display:block;max-width:700px;margin:28px auto 35px}#accessible{margin-top:10px}#stage{height:min(65vw,850px)}body{background:radial-gradient(ellipse at 50% 20%,var(--console-bg,#f4f0e8),var(--console-bg-edge,#eeebe3) 85%);color:var(--console-ink,#284b4b)}#accessible button,#details a,header button{color:var(--console-ink,#284b4b);border-color:var(--console-line,#cdd1c6)}#accessible button[aria-current=true]{color:#fff}#details small,#summary{color:var(--console-muted,#718079)}#details .row{border-color:var(--console-line,#cdd1c6)}#details input{background:var(--console-bg);color:var(--console-ink);border-color:var(--console-line)}.dial-access{display:flex;justify-content:center;gap:26px;margin:20px auto 0;color:var(--console-muted);font:10px monospace}.dial-access label{display:flex;align-items:center;gap:10px}.dial-access input{width:90px;accent-color:#d67b59}.location-buttons button{background:var(--console-bg);color:var(--console-ink);border-color:var(--console-line)}@media(max-width:500px){.dial-access{gap:15px}.dial-access label{gap:5px}.dial-access input{width:65px}}.dial-access{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.dial-access:focus-within{position:relative;clip-path:none;width:auto;height:auto;overflow:visible}body{background-color:var(--console-bg,#eadfce);background-image:linear-gradient(90deg,rgba(142,105,65,.035),transparent 26%,rgba(255,245,220,.09) 57%,rgba(133,95,54,.035)),repeating-linear-gradient(91deg,transparent 0 3px,rgba(127,91,48,.045) 3.2px 3.8px,transparent 4px 12px),repeating-linear-gradient(89deg,transparent 0 47px,rgba(154,113,66,.035) 48px 50px,transparent 52px 113px),linear-gradient(#c59e6a1f,#c59e6a1f);background-attachment:fixed;min-height:100vh}#stage{isolation:isolate}#accessible{position:relative;isolation:isolate;display:flex;justify-content:center;align-items:flex-start;gap:12px;max-width:850px;margin:20px auto 0;padding:12px 22px 17px}#accessible button{--cloth:#e9e0ce;--cloth-ink:#4c5e55;position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;gap:11px;min-width:88px;min-height:47px;padding:12px 16px;border:1px solid rgba(92,77,51,.25);border-radius:3px 4px 3px 2px;background-color:var(--cloth);background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.16) 0 .6px,transparent .7px 2px),repeating-linear-gradient(90deg,rgba(65,61,42,.055) 0 .7px,transparent .8px 2.5px);color:var(--cloth-ink);font-size:12px;letter-spacing:.1em;font-weight:550;box-shadow:0 1px #ffffff8c inset,0 -2px #4a3b241a inset,1px 3px 3px #4b361826;transform:rotate(var(--tilt,0deg));transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}#accessible button:before{content:"";position:absolute;inset:4px;border:1px dashed rgba(255,255,246,.64);border-radius:1px;pointer-events:none;box-shadow:0 0 0 1px #48422e12}#accessible button:after{content:"";position:absolute;left:7px;right:7px;bottom:-3px;height:3px;z-index:-1;background:repeating-linear-gradient(90deg,rgba(131,117,87,.28) 0 1px,transparent 1px 3px);pointer-events:none}#accessible .tab-index{font:9px ui-monospace,Menlo,monospace;opacity:.55;letter-spacing:.02em}#accessible button[data-page=profile]{--cloth:#e7dcc5;--tilt:-1deg}#accessible button[data-page=work]{--cloth:#bac9b8;--tilt:.8deg}#accessible button[data-page=research]{--cloth:#b8cbd0;--tilt:-.5deg}#accessible button[data-page=notes]{--cloth:#e4d4b5;--tilt:1deg}#accessible button[data-page=projects]{--cloth:#c6cdb7;--tilt:-.7deg}#accessible button[data-page=search]{--cloth:#c1cdcf;--tilt:.7deg}#accessible button[data-page=contact]{--cloth:#d4ad94;--tilt:-.6deg}#accessible button:hover{transform:translateY(-3px) rotate(var(--tilt,0deg));filter:brightness(1.025)}#accessible button[aria-current=true]{background-color:#bd795e;--cloth-ink:#fff4e1;color:var(--cloth-ink);border-color:#a66d55;transform:translateY(-5px) rotate(-1deg);box-shadow:0 1px #ffffff4d inset,0 -3px #5a2e1b2e inset,2px 7px 7px #4c321838,1px 3px #dfc9ab}#accessible button:active{transform:translateY(0);box-shadow:0 1px 2px #4c321838}#accessible button:focus-visible{outline:2px solid #486e68;outline-offset:5px}#reading{position:relative;max-width:760px;margin:17px auto 60px;padding:26px 34px 30px;background-color:color-mix(in srgb,var(--console-bg,#f7f0df) 85%,#fffbea 15%);background-image:repeating-linear-gradient(0deg,rgba(137,119,83,.025) 0 1px,transparent 1px 3px);border:1px solid rgba(139,118,76,.15);border-radius:2px 3px 2px 1px;box-shadow:0 1px 2px #553d1d1a,2px 9px 20px #553d1d14}#reading:before{content:"";position:absolute;top:-7px;left:30px;width:64px;height:15px;transform:rotate(-3deg);background:#cebf9352;border-left:1px dashed rgba(255,255,255,.45);border-right:1px dashed rgba(255,255,255,.45);pointer-events:none}#details{font-size:13px;line-height:1.9}#details .row{padding:13px 0;border-color:color-mix(in srgb,var(--console-ink,#294e49) 15%,transparent)}#details .row:last-child{border-bottom:0;padding-bottom:0}#details .row:first-of-type{padding-top:0}#details a{border-bottom-style:dotted}#details small{font-size:11px}#details input{background:#ffffff26;border-radius:2px}.location-buttons button{border-radius:2px;box-shadow:0 1px 2px #46351f1a}.location-buttons button.active{background:#bd795e;color:#fff4e1}header #sound{background:color-mix(in srgb,var(--console-bg,#f4eddf) 85%,transparent);border-color:#6962493d;border-radius:3px;backdrop-filter:blur(8px)}.dial-access:focus-within{margin:16px auto;padding:12px;max-width:700px;background:var(--console-bg);border:1px dashed #99a695;border-radius:3px}@media(max-width:700px){#accessible{gap:11px 9px;margin:12px auto 0;padding:12px 16px 15px;max-width:430px}#accessible button{min-width:77px;min-height:44px;padding:10px 12px;font-size:11px;gap:7px}#reading{max-width:none;margin:14px 18px 36px;padding:24px 23px 26px}#details .row{gap:12px;flex-wrap:wrap}#details .row>a{overflow-wrap:anywhere}header #sound{top:12px;right:14px}}@media(prefers-reduced-motion:reduce){#accessible button{transition:none}}#stage{height:100svh;min-height:700px;max-height:1200px}main{max-width:none}#reading{display:none}#accessible{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;margin:0;padding:0}#accessible:focus-within{position:fixed;bottom:20px;left:5%;right:5%;width:auto;height:auto;clip-path:none;overflow:visible;z-index:30;background:var(--console-bg);padding:20px}@media(max-width:700px){#stage{height:76svh;min-height:450px}#accessible{position:relative;clip-path:none;width:auto;height:auto;overflow:visible;margin:0 auto 20px;padding:12px;max-width:420px}#accessible:focus-within{position:relative;left:auto;right:auto;bottom:auto}}@media(max-width:700px){#stage{height:100vw;min-height:330px;max-height:600px}}#accessible button{background-image:none;background-color:color-mix(in srgb,var(--console-bg) 70%,#d6c8a9);border:0;border-radius:1px;box-shadow:1px 3px 5px #0003;color:var(--console-ink);padding-top:18px}#accessible button:before{inset:auto;left:calc(50% - 3px);top:4px;width:6px;height:6px;border:0;border-radius:50%;background:#9c654d;box-shadow:1px 2px 2px #0005}#accessible button:after{display:none}#accessible button[aria-current=true]{background-color:color-mix(in srgb,var(--console-bg) 70%,#d6c8a9);color:var(--console-ink);box-shadow:inset 0 -2px #c37c59,1px 3px 5px #0003}:root{background:#65645d}body{background-color:var(--wall-tone,#77776c);background-image:url(./assets/surfaces/plaster-v1.png);background-size:900px 900px;background-blend-mode:multiply;min-height:100svh}@media(max-width:700px){#stage{height:88vw;min-height:300px;max-height:600px;mask-image:linear-gradient(#000 calc(100% - 34px),transparent)}#accessible{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 20px;padding:12px 27px 28px;max-width:480px;margin:0 auto}#accessible button{min-height:94px;width:100%;margin:0;padding:28px 12px 18px;justify-content:center;font-size:15px;transform:rotate(var(--tilt));background-color:color-mix(in srgb,var(--console-bg) 45%,#d9cdb7);color:var(--console-ink);box-shadow:2px 6px 9px #0004}#accessible button:before{width:10px;height:10px;left:calc(50% - 5px);top:8px;background:radial-gradient(circle at 32% 25%,#c49a76,#875740 70%);box-shadow:2px 3px 2px #0005}#accessible button[aria-current=true]{background-color:color-mix(in srgb,var(--console-bg) 45%,#d9cdb7);box-shadow:inset 0 -3px #bf795b,2px 6px 9px #0004;transform:rotate(-1deg)}#accessible button:last-child{grid-column:1/-1;justify-self:center;width:calc(50% - 10px)}#reading{display:block;margin:0 27px 35px;padding:25px;background-color:color-mix(in srgb,var(--console-bg) 45%,#d9cdb7);box-shadow:2px 6px 9px #0004}#reading:before{left:calc(50% - 5px);width:10px;height:10px;top:6px;border:0;border-radius:50%;background:#9e7951;box-shadow:2px 3px 2px #0005}}.note-preview{display:none}@media(max-width:700px){#accessible button{flex-wrap:wrap;align-content:center;min-height:126px;gap:7px}.note-preview{display:block;flex-basis:100%;font-size:10px;font-weight:400;line-height:1.65;letter-spacing:0;opacity:.8;overflow-wrap:anywhere}#accessible .tab-index{font-size:10px}}body{background-attachment:scroll}@media(max-width:700px){#accessible,#accessible:focus-within{background:transparent}#accessible button,#accessible button[aria-current=true],#reading{background-color:color-mix(in srgb,var(--wall-tone) 35%,#d6c8ac);color:#283b37}#details a{color:#294b43}#details small{color:#4c5d53}}@media(max-width:700px){body{background-image:repeating-linear-gradient(165deg,transparent 0 54px,rgba(255,225,175,.055) 55px 80px,transparent 82px 130px),url(./assets/surfaces/plaster-v1.png);background-size:auto,900px 900px;background-blend-mode:screen,multiply;background-attachment:scroll}#stage{mask-image:none;background:transparent}}body{display:flow-root}@media(max-width:700px){#stage{mask-image:linear-gradient(#000 calc(100% - 52px),transparent)}}html,body{width:100%;height:100%;overflow:hidden;margin:0}#stage{position:fixed;left:50%;top:50%;width:100vw;height:100vh;min-height:0;max-height:none;mask-image:none;transform:translate(-50%,-50%);transform-origin:center;isolation:isolate}#accessible,#accessible:focus-within,.dial-access,.dial-access:focus-within,#reading{display:none!important}#stage #sound{position:absolute;right:14px;top:10px;z-index:25;border:1px solid #8c958566;border-radius:3px;background:#172327dd;color:#c2d1c8;padding:9px 12px;font:10px sans-serif}#sound{width:44px;height:44px;padding:10px;display:grid;place-items:center}#sound svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}#sound:focus-visible{outline:2px solid #e4ae7f;outline-offset:3px}
