@font-face{font-family:Inter Tight;src:url(../fonts/site/inter-tight.woff) format("woff");font-weight:400 800;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(../fonts/site/jetbrains-mono.woff) format("woff");font-weight:400 500;font-style:normal;font-display:swap}@font-face{font-family:"Instrument Serif";src:url(../fonts/site/instrument-serif.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Instrument Serif";src:url(../fonts/site/instrument-serif-italic.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}:root{--bg: #070b0a;--bg-2: #0c1311;--panel: #0b100e;--ink: #f1ece2;--ink-2: rgba(241, 236, 226, .62);--ink-3: rgba(241, 236, 226, .32);--line: rgba(241, 236, 226, .12);--ember: #ff6a2b;--ember-2: #ffb36b;--moss: #a9bf8e;--f-sans: "Inter Tight", ui-sans-serif, system-ui, sans-serif;--f-serif: "Instrument Serif", "Times New Roman", serif;--f-mono: "JetBrains Mono", ui-monospace, monospace;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-io: cubic-bezier(.77, 0, .18, 1);--gutter: clamp(16px, 2.6vw, 40px);--dock-h: 64px;--dock-top: calc(var(--dock-h) + 4px + max(18px, env(safe-area-inset-bottom)));--fit-h: calc(100vh - min(170px, 30vh)) }@supports (height: 100svh){:root{--fit-h: calc(100svh - min(170px, 30svh)) }}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--f-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow:hidden;overscroll-behavior:none;touch-action:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}img{display:block;max-width:100%}em{font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:-.01em}kbd{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 6px;font-family:var(--f-mono);font-size:11px;color:var(--ink);border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;background:#f1ece20a}.mono{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;line-height:1.6}.muted{color:var(--ink-2)}.kicker{margin:0;color:var(--ink-2)}::selection{background:var(--ember);color:var(--bg)}@media(hover:hover)and (pointer:fine){body,a,button{cursor:none}}#webgl{position:fixed;inset:0;width:100%;height:100%;display:block;outline:none}.vignette{position:fixed;inset:0;pointer-events:none;z-index:2;background:radial-gradient(120% 90% at 50% 45%,transparent 55%,rgba(0,0,0,.55) 100%)}.loader{position:fixed;inset:0;z-index:100;background:#efeadf;color:#1f1c18;display:grid;grid-template-rows:auto 1fr auto;padding:var(--gutter)}.loader__top{display:flex;justify-content:space-between;color:#1f1c1899}.loader__count{align-self:end;font-weight:700;letter-spacing:-.06em;line-height:.8;font-size:clamp(96px,22vw,340px);font-variant-numeric:tabular-nums}.loader__bar{height:1px;background:#1f1c1829;margin-top:24px;overflow:hidden}.loader__bar span{display:block;height:100%;width:100%;background:var(--ember);transform:scaleX(0);transform-origin:left}html.is-night .loader{background:#0d121c;color:#ece6d9}html.is-night .loader__top{color:#ece6d999}html.is-night .loader__bar{background:#ece6d929}.topbar{position:fixed;z-index:40;top:0;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:calc(var(--gutter) * .8) var(--gutter);pointer-events:none;opacity:0}.topbar>*{pointer-events:auto}.brand{display:inline-flex;align-items:center;gap:12px;font-weight:700;font-size:clamp(19px,1.7vw,24px);letter-spacing:-.035em;justify-self:start}.brand__dot{width:13px;height:13px;border-radius:50%;background:var(--ember);box-shadow:0 0 18px var(--ember)}.topbar__mid{color:var(--ink-2);display:flex;align-items:center;gap:8px}.topbar__wx:empty{display:none}.topbar__wx:before{content:"/";margin-right:8px;opacity:.45}.pulse{width:6px;height:6px;border-radius:50%;background:#7dd87d;box-shadow:0 0 #7dd87d99;animation:pulse 2.2s infinite}@keyframes pulse{0%{box-shadow:0 0 #7dd87d80}70%{box-shadow:0 0 0 8px #7dd87d00}to{box-shadow:0 0 #7dd87d00}}.topbar__right{justify-self:end}.chip{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:#0a0e0d73;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color .3s,background .3s}.chip:hover{border-color:#f1ece259}.eq{display:inline-flex;align-items:flex-end;gap:2px;height:10px}.eq i{width:2px;height:3px;background:var(--ink);border-radius:1px;transition:height .2s}.sound-on .eq i{animation:eq .9s ease-in-out infinite}.sound-on .eq i:nth-child(2){animation-delay:-.3s}.sound-on .eq i:nth-child(3){animation-delay:-.6s}@keyframes eq{0%,to{height:3px}50%{height:10px}}.hero-ui{position:fixed;inset:0;z-index:30;pointer-events:none}.hero-ui__corner{position:absolute;opacity:0}.hero-ui__corner--tl{top:calc(var(--gutter) * 1.6 + 52px);left:var(--gutter)}.hero-ui__center{position:absolute;left:var(--gutter);right:var(--gutter);bottom:calc(clamp(96px,17vh,190px) + env(safe-area-inset-bottom));text-align:center}.hero-ui__line{margin:0;font-family:var(--f-serif);font-style:italic;font-weight:400;font-size:clamp(34px,min(6.4vw,9vh),104px);letter-spacing:-.02em;line-height:1;filter:drop-shadow(0 6px 30px rgba(0,0,0,.55))}.hero-ui__line .w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .04em .08em}.hero-ui__line .w>span{display:inline-block}.hero-ui__line .w{clip-path:inset(0 0 0 0)}.hero-ui__enter{position:absolute;left:50%;bottom:calc(clamp(40px,8vh,90px) + env(safe-area-inset-bottom));transform:translate(-50%);white-space:nowrap;display:inline-flex;align-items:center;gap:12px;color:var(--ink-2);opacity:0;pointer-events:auto}.hero-ui__enter .ring{width:14px;height:14px;border-radius:50%;border:1px solid var(--ember);position:relative}.hero-ui__enter .ring:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--ember);animation:breathe 1.8s ease-in-out infinite}@keyframes breathe{50%{transform:scale(.4);opacity:.5}}.home-ui{position:fixed;left:0;right:0;bottom:calc(var(--dock-h) + 40px + env(safe-area-inset-bottom));z-index:30;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:0 var(--gutter);pointer-events:none;visibility:hidden}.home-ui__left{max-width:min(900px,66vw);filter:drop-shadow(0 8px 40px rgba(0,0,0,.55))}.home-ui__name{margin:10px 0 0;font-weight:600;letter-spacing:-.045em;line-height:1;font-size:clamp(19px,3.3vw,60px);white-space:nowrap}.home-ui__name em{font-weight:400;letter-spacing:-.02em;color:var(--ember);padding-right:.02em}.home-ui__name .line{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-right:.24em}.home-ui__name .line:last-child{margin-right:0}.home-ui__name .line>span{display:inline-block}.kicker--home{opacity:0}.keys{text-align:center;display:grid;justify-items:center;gap:6px}.keys p{margin:8px 0 0}.keys kbd{transition:background .15s,color .15s,transform .15s}.keys kbd.on{background:var(--ink);color:var(--bg);transform:translateY(1px)}body.is-touch .keys{display:none}.prompt,.toast{position:fixed;left:50%;z-index:35;transform:translate(-50%,12px);opacity:0;pointer-events:none;display:inline-flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:999px;background:#0a0e0d99;border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}.prompt{bottom:calc(var(--dock-h) + 44px);pointer-events:none}.prompt.show{opacity:1;transform:translate(-50%);pointer-events:auto}.toast{top:auto;bottom:calc(var(--dock-h) + 100px);padding:10px 16px}.toast.show{opacity:1;transform:translate(-50%)}.dock{position:fixed;z-index:45;left:50%;bottom:max(18px,env(safe-area-inset-bottom));opacity:0;display:flex;gap:4px;padding:6px;border-radius:22px;background:#0e131194;border:1px solid var(--line);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);box-shadow:0 20px 60px #00000073,inset 0 1px #ffffff0f}.dock__item{position:relative;display:grid;justify-items:center;gap:4px;width:72px;padding:9px 0 7px;border-radius:16px;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);transition:color .3s,background .3s}.dock__item svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s var(--ease-out)}.dock__item:hover{color:var(--ink)}.dock__item:hover svg{transform:translateY(-2px)}.dock__item.active{color:var(--ink);background:#f1ece217}.dock__item.active:after{content:"";position:absolute;top:5px;right:12px;width:5px;height:5px;border-radius:50%;background:var(--ember);box-shadow:0 0 10px var(--ember)}.dock__item--walk.active{color:var(--bg);background:var(--ember)}.dock__item--walk.active:after{display:none}.joystick{position:fixed;z-index:44;left:24px;bottom:calc(var(--dock-h) + 48px);width:120px;height:120px;border-radius:50%;border:1px solid var(--line);background:#0a0e0d59;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:none;touch-action:none}.joystick__knob{position:absolute;left:50%;top:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:var(--ink);opacity:.85}.stomp-btn{position:fixed;z-index:44;right:24px;bottom:calc(var(--dock-h) + 66px);width:84px;height:84px;border-radius:50%;border:1px solid var(--line);background:#0a0e0d59;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:none}body.is-touch.mode-explore .joystick,body.is-touch.mode-explore .stomp-btn{display:block}.stomp-btn,.joystick{touch-action:none;user-select:none;-webkit-user-select:none}.panel{position:fixed;inset:0;z-index:50;background:var(--panel);clip-path:inset(100% 0 0 0);visibility:hidden}.panel__inner{height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:calc(var(--gutter) * 3.2) var(--gutter) calc(var(--dock-h) + 90px);scrollbar-width:thin;scrollbar-color:rgba(241,236,226,.2) transparent}.panel__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:clamp(24px,4vw,56px)}.close{display:inline-flex;gap:10px;align-items:center;color:var(--ink-2);transition:color .3s}.close:hover{color:var(--ink)}.panel__title{margin:0 0 clamp(32px,6vw,90px);font-weight:600;letter-spacing:-.055em;line-height:.88;font-size:clamp(56px,10vw,180px)}.split .line{display:inline-block;vertical-align:top;overflow:hidden;padding-bottom:.08em;margin-right:.2em}.split .line>span{display:inline-block}.worklist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.worklist li{border-bottom:1px solid var(--line)}.work-row{display:grid;grid-template-columns:70px 1fr auto 40px;align-items:center;gap:24px;padding:clamp(18px,2.4vw,34px) 0;position:relative}.work-row__idx{color:var(--ink-3)}.work-row__title{font-size:clamp(34px,6.2vw,104px);font-weight:600;letter-spacing:-.05em;line-height:.95;transition:transform .7s var(--ease-out),color .5s}.work-row__meta{text-align:right;color:var(--ink-2)}.work-row__arrow{width:34px;height:34px;justify-self:end;transition:transform .6s var(--ease-out)}.work-row__arrow svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.2}.worklist:hover .work-row__title{color:var(--ink-3)}.work-row:hover .work-row__title{color:var(--ink);transform:translate(clamp(10px,2vw,34px))}.work-row:hover .work-row__arrow{transform:rotate(-45deg);color:var(--ember)}.work-row__thumb{display:none}.hover-preview{position:fixed;z-index:55;left:0;top:0;width:clamp(240px,24vw,380px);aspect-ratio:4 / 5;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.85)}.hover-preview__inner{width:100%;height:100%;overflow:hidden;border-radius:6px;box-shadow:0 30px 80px #0009}.hover-preview__inner{position:relative}.hover-preview img,.hover-preview video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hover-preview video{opacity:0}.toolkit{display:grid;gap:14px;margin-top:22px}.toolkit__row{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center}.toolkit__row .tools{margin-top:0}.toolkit__label{color:var(--ink-3)}.inline-link{color:var(--ink);background:linear-gradient(var(--ember),var(--ember)) 0 100% / 100% 1px no-repeat;transition:color .3s,background-size .5s var(--ease-out)}.inline-link:hover{color:var(--ember)}.about__grid{display:grid;grid-template-columns:minmax(240px,.9fr) 1.6fr;gap:clamp(30px,6vw,110px);align-items:start}.about__portrait{position:sticky;top:30px;border-radius:6px;overflow:hidden;aspect-ratio:3 / 4;background:var(--bg-2)}.about__portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.about__portrait .about__horns{opacity:0;transition:opacity .45s var(--ease-out)}.about__portrait:hover .about__horns{opacity:1}.about__portrait figcaption{position:absolute;left:14px;bottom:12px;z-index:2}.about__lead{font-size:clamp(22px,2.3vw,36px);line-height:1.25;letter-spacing:-.02em;margin:0 0 1.2em}.about__p{color:var(--ink-2);font-size:clamp(16px,1.25vw,19px);max-width:60ch;margin:0 0 1.1em}.section-label{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px;margin:clamp(48px,6vw,90px) 0 0;color:var(--ink-2)}.edu-row{display:grid;grid-template-columns:140px 1fr auto;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);align-items:baseline}.edu-row__school{font-size:clamp(20px,2vw,30px);letter-spacing:-.03em;font-weight:500}.tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.tools span{padding:10px 16px;border:1px solid var(--line);border-radius:999px;font-size:14px;transition:background .3s,color .3s,border-color .3s}.tools span:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.books{list-style:none;margin:0;padding:0;counter-reset:b}.books li{counter-increment:b;display:grid;grid-template-columns:48px 1fr auto;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline;transition:padding .5s var(--ease-out)}.books li:before{content:counter(b,decimal-leading-zero);font-family:var(--f-mono);font-size:11px;color:var(--ink-3)}.books li:hover{padding-left:10px}.books .t{font-size:clamp(16px,1.4vw,20px);letter-spacing:-.01em}.books .a{color:var(--ink-2);font-family:var(--f-serif);font-style:italic;font-size:18px;text-align:right}.contact__headline{margin:0;font-weight:600;letter-spacing:-.06em;line-height:.88;font-size:clamp(56px,10.5vw,190px)}.contact__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(30px,6vw,120px);margin-top:clamp(40px,6vw,100px)}.contact__blurb{color:var(--ink-2);font-size:clamp(17px,1.4vw,21px);max-width:44ch;margin:0 0 32px}.mail-link{display:inline-block;font-size:clamp(22px,3vw,46px);letter-spacing:-.035em;font-weight:500;position:relative;padding-bottom:6px;word-break:break-all}.mail-link:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ember);transform-origin:right;transition:transform .7s var(--ease-out)}.mail-link:hover:after{transform:scaleX(0)}.socials{display:flex;gap:22px;margin-top:36px;flex-wrap:wrap}.socials a{display:inline-flex;gap:6px;align-items:center;color:var(--ink-2);transition:color .3s}.socials a:hover{color:var(--ink)}.form{display:grid;gap:14px}.field{position:relative}.field input,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);font:inherit;font-size:18px;padding:26px 0 12px;outline:none;transition:border-color .3s;resize:vertical}.field textarea{min-height:120px}.field label{position:absolute;left:0;top:26px;color:var(--ink-3);pointer-events:none;transition:transform .4s var(--ease-out),color .3s;transform-origin:left}.field input:focus,.field textarea:focus{border-color:var(--ember)}.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{transform:translateY(-22px) scale(.72);color:var(--ink-2)}.btn{justify-self:start;margin-top:14px;display:inline-flex;align-items:center;gap:14px;padding:16px 26px;border-radius:999px;background:var(--ink);color:var(--bg);font-weight:600;letter-spacing:-.01em;position:relative;overflow:hidden;isolation:isolate}.btn:before{content:"";position:absolute;inset:0;background:var(--ember);transform:translateY(101%);transition:transform .6s var(--ease-out);z-index:-1;border-radius:inherit}.btn:hover:before{transform:none}.btn:disabled{opacity:.6;cursor:progress}.form__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.form__status{min-height:1.4em;margin-top:4px;color:var(--ink-2);font-size:13px;line-height:1.5}.form__status.is-ok{color:var(--ink)}.form__status.is-err{color:var(--ember)}.form__status a{text-decoration:underline;text-underline-offset:3px}.footer{display:flex;justify-content:space-between;gap:20px;margin-top:clamp(70px,10vw,160px);padding-top:20px;border-top:1px solid var(--line);color:var(--ink-3)}.proj__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:clamp(36px,6vw,96px)}.proj__nav{display:grid;gap:8px}.back__arrow{display:inline-block;transition:transform .5s var(--ease-out)}.back:hover .back__arrow{transform:translate(-4px)}.proj__head{max-width:1100px}.proj__head .kicker{margin-bottom:18px}.proj__title{margin:0;font-weight:500;letter-spacing:-.055em;line-height:.9;font-size:clamp(54px,9vw,156px);color:var(--ember)}.proj__title .line{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-right:.18em}.proj__title .line:last-child{margin-right:0}.proj__title .ch{display:inline-block}.proj__title .dot{color:var(--ink)}.proj__lede{margin:clamp(18px,2.4vw,34px) 0 0;max-width:24ch;color:var(--ink);font-size:clamp(22px,2.5vw,40px);line-height:1.12;letter-spacing:-.03em;font-weight:400}.proj__hero{margin:clamp(48px,8vw,130px) 0 clamp(48px,8vw,130px) auto;width:min(64%,1080px,calc(var(--fit-h) * var(--ar, 99)));overflow:hidden;border-radius:3px;background:var(--bg-2)}.proj__hero.is-portrait{width:min(40%,620px,calc(var(--fit-h) * var(--ar, 99)))}.proj__hero img,.proj__hero video{width:100%;height:auto;display:block}.proj__hero{position:relative}.proj__hero.is-video{width:min(78%,1320px,calc(var(--fit-h) * var(--ar, 99)));cursor:pointer}.proj__hero.is-wide{width:min(100%,calc(var(--fit-h) * var(--ar, 99)))}.hs{position:relative}.hs__img{transition:opacity .5s var(--ease-out)}.hs__img+.hs__img{position:absolute;inset:0;opacity:0;pointer-events:none}.hs__img+.hs__img.is-on{opacity:1;pointer-events:auto}.hs__btn{position:absolute;padding:0;border:0;background:transparent;cursor:pointer;border-radius:4px}.hs__btn:before{content:"";position:absolute;inset:-40% -12%}.hs__btn:after{content:"";position:absolute;left:0;right:0;bottom:-28%;height:2px;background:#ffae1a;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-out)}.hs__btn[aria-pressed=true]:after{transform:scaleX(1)}.hs__btn:hover{background:#ffae1a14}.hs__btn:focus-visible{outline:2px solid #ffae1a;outline-offset:6px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.g__frame video{width:100%;height:auto;display:block}.g__frame{position:relative}.gallery figure.is-video .g__frame{cursor:pointer}.snd{position:absolute;left:14px;bottom:14px;padding:7px 12px;border-radius:999px;font-size:10px;background:#0a0e0d99;color:var(--ink);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none;transition:opacity .4s var(--ease-out)}.sound-on>.snd{opacity:0}.proj__dl{margin-top:18px;text-decoration:none}.proj__info{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(18px,2vw,32px);margin-bottom:clamp(60px,10vw,170px)}.proj__meta{grid-column:1 / 5;display:grid;gap:22px;align-content:start;margin:0}.proj__meta dt{color:var(--ink-3);margin-bottom:4px}.proj__meta dd{margin:0;font-size:13px;color:var(--ink)}.proj__text{grid-column:6 / -1}.proj__statement{margin:0 0 1.1em;font-size:clamp(24px,2.6vw,42px);line-height:1.14;letter-spacing:-.03em}.proj__body{margin:0 0 1em;max-width:52ch;color:var(--ink-2);font-size:clamp(16px,1.25vw,19px);line-height:1.55}.proj__story{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,32px);border-top:1px solid var(--line);padding-top:clamp(22px,3vw,40px);margin:calc(-1*clamp(20px,5vw,90px)) 0 clamp(60px,9vw,150px)}.proj__step-n{margin:0 0 12px;color:var(--ember)}.proj__step-t{margin:0;font-size:clamp(15px,1.15vw,18px);line-height:1.5;color:var(--ink-2);max-width:34ch}.tester{margin:0 0 clamp(60px,9vw,150px);border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#f1ece206}.tester__bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;padding:14px 18px;border-bottom:1px solid var(--line);color:var(--ink-2)}.tester__lab{color:var(--ink);margin-right:auto}.tester__fonts{display:flex;gap:6px}.tester__fonts button{font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--ink-2);background:none;border:1px solid var(--line);border-radius:999px;padding:5px 12px;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.tester__fonts button:hover{color:var(--ink)}.tester__fonts button.is-on{color:#160c06;background:var(--ember);border-color:var(--ember)}.tester__size{display:flex;align-items:center;gap:10px}.tester__size input{width:120px;accent-color:var(--ember)}.tester__out{padding:clamp(28px,4vw,60px) clamp(18px,3vw,44px);font-size:120px;line-height:1.05;color:var(--ink);outline:none;overflow-wrap:anywhere;caret-color:var(--ember);min-height:1.3em}.tester.is-caps .tester__out{text-transform:uppercase}.tester__hint{margin:0;padding:0 18px 14px;color:var(--ink-3)}.compare{position:relative;margin:0 0 clamp(60px,9vw,150px);overflow:hidden;border-radius:4px;--p: 50%;user-select:none}.compare img{display:block;width:100%;height:auto}.compare__before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--p)) 0 0)}.compare__before img{height:100%;object-fit:cover}.compare__handle{position:absolute;top:0;bottom:0;left:var(--p);width:2px;margin-left:-1px;background:var(--ink);pointer-events:none}.compare__handle:after{content:"";position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px;border-radius:50%;background:var(--ink);box-shadow:0 4px 18px #0006}.compare__lab{position:absolute;top:14px;padding:4px 9px;border-radius:999px;background:#0a0e0c99;pointer-events:none}.compare__lab--b{left:14px}.compare__lab--a{right:14px}.compare__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}@media(max-width:759px){.proj__story{grid-template-columns:1fr;margin-top:0}.tester__size input{width:90px}}.gallery{display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(12px,1.6vw,26px);row-gap:clamp(40px,7vw,120px);align-items:end}.gallery figure{margin:0;grid-column:1 / -1;width:min(100%,calc(var(--fit-h) * var(--ar, 99)));justify-self:center}.gallery .g--0{grid-column:1 / -1}.gallery .g--1{grid-column:1 / 8;justify-self:start}.gallery .g--2{grid-column:8 / -1;justify-self:end}.gallery .g--3{grid-column:4 / -1;justify-self:end}.gallery .g--4{grid-column:1 / 10;justify-self:start}.g__frame{overflow:hidden;border-radius:3px;background:var(--bg-2)}.g__frame img{width:100%;height:auto;display:block}.gallery figcaption{margin-top:12px;color:var(--ink-3)}.next-proj{display:block;margin-top:clamp(80px,12vw,200px);padding-top:30px;border-top:1px solid var(--line)}.next-proj__label{color:var(--ink-2)}.next-proj__title{display:block;font-weight:500;letter-spacing:-.055em;line-height:.9;font-size:clamp(48px,8vw,140px);transition:transform .8s var(--ease-out),color .4s}.next-proj:hover .next-proj__title{transform:translate(2vw);color:var(--ember)}.dot{color:var(--ember);font-style:normal}.prompt{display:flex;gap:8px;padding:0;background:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none}.prompt__pill{display:inline-flex;align-items:center;gap:10px;padding:9px 16px 9px 9px;border-radius:999px;background:#0a0e0d9e;border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink);transition:border-color .3s,background .3s}.prompt__pill:hover{border-color:var(--ember)}.prompt__pill:not(:has(kbd)){padding-left:16px;color:var(--ink-2)}.buff{position:fixed;z-index:36;left:var(--gutter);bottom:calc(var(--dock-top) + 14px);transform:translateY(12px);opacity:0;pointer-events:none;display:inline-flex;align-items:center;gap:12px;padding:10px 16px;border-radius:999px;background:#0a0e0de0;border:1px solid rgba(255,106,43,.5);color:var(--ember-2);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}.buff.show{opacity:1;transform:translate(0)}.buff__icon{width:8px;height:8px;border-radius:50%;background:var(--ember);box-shadow:0 0 12px var(--ember);animation:pulse 1.2s infinite}.buff__bar{width:70px;height:2px;background:#ffb36b40;overflow:hidden;border-radius:2px}.buff__bar i{display:block;height:100%;background:var(--ember);transform-origin:left}body:not(.mode-explore) .buff{opacity:0!important}body.is-touch .buff{bottom:calc(var(--dock-top) + 152px);left:14px;transform:translateY(12px);gap:8px;padding:7px 12px;font-size:10.5px}body.is-touch .buff.show{transform:translate(0)}body.is-touch .buff__bar{width:44px}.buff,.toast{white-space:nowrap}.toast{max-width:calc(100vw - 32px)}@media(max-width:520px){.toast{white-space:normal;width:max-content;text-align:center;border-radius:18px;font-size:11px}}body.is-touch .toast{bottom:calc(var(--dock-top) + 200px)}body.is-touch .prompt{bottom:calc(var(--dock-top) + 130px);left:auto;right:14px;transform:translateY(12px);flex-direction:column;align-items:flex-end;gap:6px}body.is-touch .prompt.show{transform:translate(0)}body.is-touch .prompt__pill kbd{display:none}body.is-touch .prompt__pill{padding:7px 12px;font-size:10.5px;max-width:56vw}.speech{position:fixed;inset:0;pointer-events:none;z-index:34;overflow:hidden}.say{position:absolute;left:0;top:0;translate:-50% -100%;width:max-content;max-width:220px;padding:7px 12px 9px;border-radius:14px;background:#0a0e0dbd;border:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ink);font-size:13px;line-height:1.3;letter-spacing:-.01em;opacity:0;scale:.8;transform-origin:50% 100%;transition:opacity .3s var(--ease-out),scale .5s var(--ease-out);will-change:transform}.say.show{opacity:1;scale:1}.say:after{content:"";position:absolute;left:50%;bottom:-5px;width:8px;height:8px;margin-left:-4px;background:inherit;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg)}.say__name{display:block;font-size:9px;color:var(--ember);margin-bottom:1px}.contact__headline .wave{cursor:default}.contact__headline .wave .c{display:inline-block;will-change:transform}.contact__headline.is-in .line:last-child{overflow:visible}.lightbox{position:fixed;inset:0;z-index:80;background:#050807f0;display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .5s var(--ease-out)}.lightbox.open{opacity:1;pointer-events:auto}.lightbox img{max-width:92vw;max-height:86vh;max-height:86svh;object-fit:contain;transform:scale(.95);transition:transform .8s var(--ease-out);border-radius:4px}.lightbox.open img{transform:none}.lightbox .close{position:absolute;top:24px;right:24px;z-index:2}.lightbox{touch-action:none;overflow:hidden}.lightbox img{transform-origin:50% 50%;will-change:transform;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.lightbox__hint{position:absolute;left:0;right:0;bottom:max(22px,env(safe-area-inset-bottom));text-align:center;color:var(--ink-3);font-size:11px;transition:opacity .3s;pointer-events:none}.lightbox.is-zoomed .lightbox__hint{opacity:0}[data-reveal]{opacity:0;transform:translateY(30px);transition:opacity 1s var(--ease-out),transform 1s var(--ease-out)}[data-reveal].in{opacity:1;transform:none}.cursor{position:fixed;left:0;top:0;z-index:90;pointer-events:none;mix-blend-mode:difference}.cursor__dot{position:absolute;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#fff}.cursor__ring{position:absolute;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;border:1px solid rgba(255,255,255,.7);display:grid;place-items:center;transition:width .5s var(--ease-out),height .5s var(--ease-out),margin .5s var(--ease-out),background .4s,border-color .4s}.cursor__label{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;color:#000;opacity:0;transition:opacity .3s}.cursor.is-label .cursor__ring{width:88px;height:88px;margin:-44px 0 0 -44px;background:#fff;border-color:#fff}.cursor.is-label .cursor__label{opacity:1}.cursor.is-hover .cursor__ring{width:54px;height:54px;margin:-27px 0 0 -27px}.cursor.is-hidden{opacity:0}@media(hover:none),(pointer:coarse){.cursor,.hover-preview{display:none}}@media(max-width:900px){.proj__hero,.proj__hero.is-portrait,.proj__hero.is-video,.proj__hero.is-wide{width:min(100%,calc(var(--fit-h) * var(--ar, 99)));margin-left:auto;margin-right:auto}.proj__meta,.proj__text,.gallery .g--0,.gallery .g--1,.gallery .g--2,.gallery .g--3,.gallery .g--4{grid-column:1 / -1}.prompt{flex-direction:column;align-items:center}.topbar__mid{display:none}.topbar{grid-template-columns:1fr 1fr}.home-ui{bottom:calc(var(--dock-h) + 34px + env(safe-area-inset-bottom))}.home-ui__left{max-width:100%}.say{font-size:12px;max-width:180px}.work-row{grid-template-columns:1fr 30px;gap:12px}.work-row__idx,.work-row__meta{display:none}.work-row__thumb{display:block;grid-column:1 / -1;aspect-ratio:4 / 5;width:100%;max-width:560px;overflow:hidden;border-radius:4px;order:-1;background:var(--bg-2)}.work-row__thumb img{width:100%;height:100%;object-fit:cover}.proj__body,.about__grid,.contact__grid{grid-template-columns:1fr}.about__portrait{position:relative;top:0;max-width:420px}.gallery figure,.gallery figure:nth-child(n){grid-column:span 12;justify-self:center}.edu-row{grid-template-columns:1fr;gap:4px}.toolkit__row{grid-template-columns:1fr;gap:8px}.books li{grid-template-columns:36px 1fr}.books .a{grid-column:2;text-align:left;font-size:16px}.dock__item{width:clamp(50px,calc((100vw - 56px)/5),64px)}}@media(max-width:640px){.home-ui__name{font-size:5.4vw}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important}}.lens{position:fixed;left:0;top:0;z-index:89;width:clamp(200px,17vw,280px);aspect-ratio:1;border-radius:50%;pointer-events:none;opacity:0;transition:opacity .25s var(--ease-out);background-color:var(--bg-2);background-repeat:no-repeat;will-change:transform;box-shadow:0 20px 60px #0000008c,0 0 0 1px #ffffff38}.lens.on{opacity:1}.cursor.is-lens{opacity:0}@media(hover:none),(pointer:coarse){.lens{display:none}}.dock__sep{width:1px;margin:10px 2px;background:var(--line)}.dock__item--plan.is-plan{color:var(--bg);background:var(--ink)}.dock__item--plan.is-plan:after{display:none}body.mode-plan .home-ui,body.mode-plan .speech,body.mode-plan .prompt,body.mode-plan .buff,body.mode-plan .vignette{opacity:0!important;pointer-events:none!important;transition:opacity .5s}body.mode-plan .joystick,body.mode-plan .stomp-btn{display:none!important}.plan{--pl-red: #e5483b;--pl-ink: #f1ece2;--pl-paper: #080c0b;position:fixed;inset:0;z-index:39;visibility:hidden;pointer-events:none}.plan.is-open{visibility:visible;pointer-events:auto}.plan:before{content:"";position:absolute;inset:0;background:var(--pl-paper);opacity:0;transition:opacity .5s var(--ease-out)}.plan.is-open:before{opacity:1;transition:opacity 1s var(--ease-out) .85s}.plan__svg{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .45s;touch-action:none}.plan.is-open .plan__svg{opacity:1;transition:opacity .8s .85s}.plan__svg{will-change:transform}.plan__live{pointer-events:none}.plan.tool-on .plan__svg{cursor:crosshair}.plan.is-pointing .plan__svg{cursor:pointer}.plan__panel,.plan__phase,.plan__north,.plan__scale,.plan__coords,.plan__mbar{opacity:0;transform:translateY(10px);transition:opacity .35s,transform .35s var(--ease-out)}.plan.is-open .plan__panel,.plan.is-open .plan__phase,.plan.is-open .plan__north,.plan.is-open .plan__scale,.plan.is-open .plan__coords,.plan.is-open .plan__mbar{opacity:1;transform:none;transition:opacity .8s var(--ease-out) 1.5s,transform .8s var(--ease-out) 1.5s}.plan__panel{position:absolute;top:88px;width:236px;padding:16px 16px 14px;border-radius:16px;background:#0c110fb8;border:1px solid var(--line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);max-height:calc(100% - 378px);overflow:auto;scrollbar-width:none}.plan__panel--layers{left:var(--gutter)}.plan__panel--key{right:var(--gutter)}.plan__panel-head{display:flex;justify-content:space-between;align-items:center}.plan__h{margin:0 0 10px;color:var(--ink-3)}.plan__panel .plan__h:not(:first-child){margin-top:16px}.plan__x{display:none;color:var(--ink-2)}.plan__toggles{display:grid;gap:2px}.plan__fold{display:inline-flex;align-items:center;gap:9px;margin:0 0 10px;padding:2px 0;color:var(--ink-3);transition:color .2s}.plan__fold:hover,.plan__fold:focus-visible{color:var(--ink)}.plan__fold i{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(1px) rotate(-135deg);transition:transform .25s var(--ease-out)}.plan__panel.is-folded .plan__fold i{transform:translateY(-2px) rotate(45deg)}.plan__panel.is-folded .plan__toggles{display:none}.plan__tg{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;padding:8px;border-radius:10px;font-size:14px;color:var(--ink-3);text-align:left;transition:color .25s,background .25s}.plan__tg:hover{background:#f1ece20d}.plan__tg.is-on{color:var(--ink)}.plan__sw{width:22px;height:14px;border-radius:3px;border:1px solid currentColor;opacity:.45;position:relative;transition:opacity .25s}.plan__tg.is-on .plan__sw{opacity:1}.plan__sw--topo{border:0;background:repeating-radial-gradient(circle at 70% 120%,transparent 0 3px,#c9b48c 3px 4px)}.plan__sw--planting{border:0;background:radial-gradient(circle at 30% 50%,transparent 3.5px,#8fb27e 4px 5px,transparent 5.5px),radial-gradient(circle at 75% 45%,transparent 3.5px,#8fb27e 4px 5px,transparent 5.5px)}.plan__sw--paths{border:0;background:linear-gradient(90deg,var(--pl-ink) 50%,transparent 0) 0 6px / 6px 1.5px repeat-x}.plan__sw--notes{border:0;background:linear-gradient(var(--pl-ink),var(--pl-ink)) 2px 4px / 12px 1.5px no-repeat,linear-gradient(var(--pl-ink),var(--pl-ink)) 2px 9px / 18px 1.5px no-repeat}.plan__sw--work{border-color:var(--pl-red);background:#e5483b24}.plan__sw--camp{border:0;background:radial-gradient(circle at 50% 55%,var(--ember) 0 3px,transparent 3.5px),radial-gradient(circle at 50% 55%,transparent 4.5px,var(--pl-ink) 5px 5.8px,transparent 6.3px)}.plan__sw--landmarks{border:1.2px solid var(--pl-ink);background:linear-gradient(var(--pl-ink),var(--pl-ink)) center / 8px 5px no-repeat}.plan__sw--people{border:0;background:radial-gradient(circle at 30% 50%,var(--ember) 0 2.6px,transparent 3px),radial-gradient(circle at 70% 50%,var(--ember) 0 2.6px,transparent 3px)}.plan__sw--animals{border:0;background:radial-gradient(ellipse 5px 3.5px at 32% 50%,transparent 3px,#d8b48a 3.3px 4.2px,transparent 4.6px),radial-gradient(ellipse 5px 3.5px at 72% 50%,transparent 3px,#d8b48a 3.3px 4.2px,transparent 4.6px)}.plan .plan__live .layer{filter:none!important}.plan__note{font-style:normal;color:var(--ink-3);font-size:10px}.plan__tools{display:grid;grid-template-columns:1fr 1fr;gap:6px}.plan__tool{display:grid;justify-items:center;gap:5px;padding:10px 4px 8px;border-radius:10px;border:1px solid var(--line);font-family:var(--f-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);transition:color .25s,background .25s,border-color .25s}.plan__tool svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.plan__tool:hover{color:var(--ink);border-color:#f1ece240}.plan__tool.is-on{color:var(--bg);background:var(--ink);border-color:var(--ink)}.plan__hint{margin:12px 2px 0;color:var(--ink-3);font-size:10px}.plan__nav{display:grid;gap:2px;margin-bottom:14px}.plan__go{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;padding:8px;border-radius:10px;text-align:left;transition:background .25s}.plan__go:hover{background:#f1ece20f}.plan__go b{display:block;font-weight:600;font-size:15px;letter-spacing:-.01em;line-height:1.2}.plan__go i{display:block;font-style:normal;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.plan__arr{color:var(--ink-3);transition:transform .3s var(--ease-out),color .3s}.plan__go:hover .plan__arr{transform:translate(3px);color:var(--ember)}.plan__sym{width:18px;height:18px;border-radius:50%;justify-self:center}.plan__sym--fire{background:repeating-linear-gradient(45deg,#ff6a2b 0 1.5px,transparent 1.5px 4px);border:1.5px solid #ff6a2b;box-shadow:0 0 12px #ff6a2b73}.plan__sym--sign{border-radius:2px;height:4px;width:20px;background:var(--pl-ink);position:relative}.plan__sym--sign:after{content:"";position:absolute;left:50%;top:-3px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--pl-ink)}.plan__legend{list-style:none;margin:0;padding:12px 2px 0;border-top:1px solid var(--line);display:grid;gap:7px;color:var(--ink-2);font-size:10px}.plan__legend li{display:grid;grid-template-columns:26px 1fr;align-items:center;gap:8px}.lg{display:block;width:22px;height:12px}.lg--red{border:1.5px solid var(--pl-red);background:#e5483b1f;height:10px}.lg--path{height:1.5px;background:linear-gradient(90deg,var(--pl-ink) 55%,transparent 0) 0 0 / 6px 100% repeat-x}.lg--desire{height:1.5px;background:#f1ece266;border-radius:2px;box-shadow:0 3px #f1ece22e}.lg--contour{border:0;background:repeating-radial-gradient(circle at 50% 160%,transparent 0 4px,#c9b48c 4px 5px);height:12px;opacity:.7}.lg--tree{width:12px;height:12px;border-radius:50%;border:1.2px solid #8fb27e;justify-self:center}.lg--live{width:9px;height:9px;border-radius:50%;background:#ff6a2b;justify-self:center;box-shadow:0 0 10px #ff6a2b}.plan__phase{position:absolute;left:50%;bottom:calc(var(--dock-h) + 42px + env(safe-area-inset-bottom));width:min(460px,calc(100% - 2 * var(--gutter)));margin-left:calc(-.5*min(460px,calc(100% - 2 * var(--gutter))));padding:12px 16px 8px;border-radius:14px;background:#0c110fb8;border:1px solid var(--line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.plan__phase-top{display:flex;justify-content:space-between;gap:12px;color:var(--ink-2);margin-bottom:6px}.plan__phase-top span:last-child{color:var(--ink);text-align:right}.plan__phase input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:22px;background:transparent;margin:0;cursor:pointer}.plan__phase input[type=range]::-webkit-slider-runnable-track{height:2px;border-radius:2px;background:linear-gradient(90deg,var(--pl-red) var(--p, 100%),rgba(241,236,226,.18) var(--p, 100%))}.plan__phase input[type=range]::-moz-range-track{height:2px;border-radius:2px;background:linear-gradient(90deg,var(--pl-red) var(--p, 100%),rgba(241,236,226,.18) var(--p, 100%))}.plan__phase input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-7px;border-radius:50%;background:var(--ink);border:3px solid var(--pl-red);box-shadow:0 0 0 4px #e5483b2e}.plan__phase input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--ink);border:3px solid var(--pl-red)}.plan__ticks{display:flex;justify-content:space-between;color:var(--ink-3);font-size:9px;padding:0 3px}.plan__north{position:absolute;right:calc(var(--gutter) + 248px);top:92px;width:40px}.plan__north svg{width:40px;height:52px;display:block}.plan__north circle{fill:none;stroke:var(--ink-3);stroke-width:1}.plan__north path{fill:var(--ink)}.plan__north text{fill:var(--ink);font:600 11px var(--f-mono);text-anchor:middle}.plan__scale{position:absolute;left:var(--gutter);bottom:30px;color:var(--ink-2)}.plan__scale svg{display:block}.plan__scale .sb-a{fill:var(--ink)}.plan__scale .sb-b{fill:transparent;stroke:var(--ink);stroke-width:1}.plan__scale-l{display:flex;justify-content:space-between;margin-top:4px;font-size:9.5px}.plan__coords{position:absolute;right:var(--gutter);bottom:30px;display:grid;justify-items:end;gap:2px}.plan__coords b{font-weight:500;color:var(--ink);font-size:12px;letter-spacing:.06em}.plan__mbar{display:none}.plan__notice{position:absolute;left:0;top:0;z-index:3;width:300px;padding:14px 16px 12px;border-radius:4px;background:#f2d14b;color:#141310;box-shadow:0 24px 60px #00000080;opacity:0;transform:translateY(6px) rotate(-.6deg);pointer-events:none;transition:opacity .2s,transform .3s var(--ease-out)}.plan__notice.show{opacity:1;transform:rotate(-.6deg);pointer-events:auto}.plan__notice.is-moving{transition:opacity .2s,transform .3s var(--ease-out),left .24s var(--ease-out),top .24s var(--ease-out)}.plan.is-axo .plan__notice{z-index:7}.pn__head{display:flex;justify-content:space-between;padding-bottom:8px;margin-bottom:8px;border-bottom:2px solid #141310;font-weight:600;color:#141310}.pn__kick{margin:0;color:#14131099;font-size:10px}.pn__title{margin:2px 0 6px;font-weight:800;font-size:24px;letter-spacing:-.03em;line-height:1.05}.pn__body{margin:0 0 10px;font-size:13px;line-height:1.45}.pn__meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px;color:#141310;font-size:10px}.pn__meta dt{color:#1413108c}.pn__meta dd{margin:0;text-transform:none;letter-spacing:0;font-size:11px}.pn__cta{display:flex;justify-content:space-between;width:100%;padding:9px 12px;border-radius:3px;background:#141310;color:#f2d14b;font-weight:600}.pn__cta span{transition:transform .3s var(--ease-out)}.pn__cta:hover span{transform:translate(3px)}.plan__section{position:absolute;left:var(--gutter);right:var(--gutter);bottom:calc(var(--dock-h) + 34px + env(safe-area-inset-bottom));z-index:4;height:min(40vh,380px);border-radius:16px;background:#090d0cf0;border:1px solid var(--line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 30px 80px #0000008c;display:grid;grid-template-rows:auto 1fr;overflow:hidden;transform:translateY(calc(100% + 140px));transition:transform .7s var(--ease-io)}.plan__section.show{transform:none}.plan__section-head{display:flex;gap:16px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}.plan__section-head span:first-child{color:var(--ink)}.plan__section-head .plan__x{display:inline-flex;gap:8px;align-items:center;margin-left:auto}.plan__section svg{width:100%;height:100%;display:block}.plan__svg text{font-family:var(--f-mono)}.plan__svg .c-grid{stroke:var(--pl-ink);stroke-opacity:.045;fill:none}.plan__svg .c-cont{stroke:#c9b48c;stroke-opacity:.32;fill:none}.plan__svg .c-cont5{stroke:#c9b48c;stroke-opacity:.7;fill:none}.plan__svg .c-clab{fill:#c9b48c;stroke:var(--pl-paper);stroke-width:3px;paint-order:stroke}.plan__svg .c-tree{fill:#8fb27e09;stroke:#8fb27e;stroke-opacity:.3}.plan__svg .c-tree--round{stroke-dasharray:.9 .5}.plan__svg .c-trunk{fill:#8fb27e;fill-opacity:.5}.plan__svg .c-ltree{fill:#8fb27e0d;stroke:#8fb27e;stroke-opacity:.7}.plan__svg .c-ray{stroke:#8fb27e;stroke-opacity:.32;fill:none}.plan__svg .c-trunkf{fill:#8fb27e}.plan__svg .c-bush{fill:none;stroke:#8fb27e;stroke-opacity:.6}.plan__svg .c-rock{fill:#f1ece20d;stroke:var(--pl-ink);stroke-opacity:.4}.plan__svg .c-path{fill:none;stroke:var(--pl-ink);stroke-opacity:.7}.plan__svg .c-path2{fill:none;stroke:var(--pl-ink);stroke-opacity:.035;stroke-linecap:round}.plan__svg .c-desire{fill:none;stroke:var(--pl-ink);stroke-opacity:.16;stroke-linecap:round;stroke-linejoin:round}.plan__svg .c-desire--me{stroke:var(--ember);stroke-opacity:.85}.plan__svg .c-fire{fill:none;stroke:var(--ember)}.plan__svg .c-hatch{stroke:var(--ember);stroke-opacity:.9}.plan__svg .c-stone{fill:var(--pl-paper);stroke:var(--pl-ink);stroke-opacity:.6}.plan__svg .c-smoke{fill:none;stroke:var(--pl-ink);stroke-opacity:.35;stroke-linecap:round}.plan__svg .c-obj{fill:none;stroke:var(--pl-ink);stroke-opacity:.85}.plan__svg .c-objf{fill:#f1ece20f;stroke:var(--pl-ink);stroke-opacity:.85}.plan__svg .c-faint{stroke-opacity:.4}.plan__svg .c-accent-f{fill:var(--ember);stroke:none}.plan__svg .c-lab,.plan__svg .c-note{fill:var(--ink-2)}.plan__svg .c-faint-t{fill-opacity:.55}.plan__svg .c-big{fill:var(--pl-ink);fill-opacity:.18;font-family:var(--f-sans);font-weight:600}.plan__svg .c-lead{fill:none;stroke:var(--pl-ink);stroke-opacity:.35}.plan__svg .c-leaddot{fill:var(--pl-ink);fill-opacity:.6}.plan__svg .c-ring{fill:none;stroke:var(--pl-ink);stroke-opacity:.22}.plan__svg .c-spot{stroke:var(--pl-ink);stroke-opacity:.6}.plan__svg .c-spott{fill:var(--ink-2)}.plan__svg .c-red{fill:none;stroke:var(--pl-red)}.plan__svg .c-plotfill{fill:#e5483b0f;transition:fill .25s}.plan__svg .plot.is-hot .c-plotfill{fill:#e5483b33}.plan__svg .c-wall{fill:var(--pl-ink);fill-opacity:.7;stroke:none}.plan__svg .c-glyph{fill:none;stroke:var(--pl-ink);stroke-opacity:.85;stroke-linecap:round;stroke-linejoin:round}.plan__svg .c-glyph.c-faint{stroke-opacity:.35}.plan__svg .c-accent{stroke:var(--ember);stroke-opacity:1}.plan__svg .c-glyph.c-accent-f,.plan__svg .c-glyph.c-red-f,.plan__svg .c-glyph.c-dotf{stroke:none}.plan__svg .c-glyph.c-accent-f{fill:var(--ember)}.plan__svg .c-glyph.c-red-f{fill:var(--pl-red)}.plan__svg .c-glyph.c-dotf{fill:var(--pl-ink);fill-opacity:.8}.plan__svg .c-moss{stroke:#8fb27e}.plan__svg .c-hatchf{fill:#f1ece240}.plan__svg .c-heavy{stroke-width:.35}.plan__svg .c-numbg{fill:var(--pl-paper);stroke:var(--pl-red)}.plan__svg .c-num{fill:var(--pl-red);font-weight:500}.plan__svg .plot.is-hot .c-numbg{fill:var(--pl-red)}.plan__svg .plot.is-hot .c-num{fill:var(--pl-paper)}.plan__svg .c-live{fill:#ff6a2b33;stroke:var(--ember)}.plan__svg .c-live--resident{fill:#ff6a2b40;stroke:var(--ember)}.plan__svg .c-live--ogre{fill:#a9bf8e40;stroke:#a9bf8e}.plan__svg .c-live--bear{fill:#b08a5a4d;stroke:#c9a27a}.plan__svg .c-live--camper{fill:var(--ember);stroke:none}.plan__svg .c-live--deer{fill:#c9a27a59;stroke:#d8b48a}.plan__svg .c-live--fox{fill:#e07a3a66;stroke:#e8894a}.plan__svg .c-live--rabbit{fill:#d8d0c0;stroke:none}.plan__svg .c-live--owl{fill:#c9b18a4d;stroke:#e0c890}.plan__svg .c-live--bat{fill:#9a8fa8;stroke:none;opacity:.8}.plan__svg .c-live--boat{fill:#2f5a6b73;stroke:#7fb2c4}.plan__svg .c-live--hat{fill:#f2c14e;stroke:none}.plan__svg .c-feat--pond{fill:#4682a047;stroke:#7fb2c4}.plan__svg .c-feat--tower{fill:#7a5a3a2e;stroke:var(--pl-ink)}.plan__svg .c-feat--board{fill:#2c5a40;stroke:var(--pl-ink)}.plan__section .c-secwater{fill:#4682a04d;stroke:#7fb2c4}.plan__svg .c-feat--bed{fill:none;stroke:var(--pl-ink);stroke-opacity:.55}.plan__svg .c-feat--cave{fill:#a0a59e29;stroke:var(--pl-ink);stroke-opacity:.6}.plan__svg .c-big--feat{fill-opacity:.4}.plan__svg .c-livedir{stroke:var(--ember);stroke-linecap:round}.plan__svg .c-livelab{fill:var(--ember);font-weight:500;letter-spacing:.06em;text-transform:uppercase}.plan__svg .c-sec,.plan__section .c-sec{fill:none;stroke:var(--pl-ink)}.plan__svg .c-secarrow{stroke:var(--pl-ink);fill:none}.plan__svg .c-secarrowf{fill:var(--pl-ink)}.plan__svg .c-seclab,.plan__section .c-seclab{fill:var(--pl-ink);font-family:var(--f-sans);font-weight:800}.plan__svg .c-meas{stroke:var(--ember);fill:none;stroke-linecap:round}.plan__svg .c-meast{fill:var(--ember);font-weight:500;stroke:var(--pl-paper);stroke-width:3px;paint-order:stroke}.plan__svg .pl-glow{mix-blend-mode:screen}.plan__section text{font-family:var(--f-mono)}.plan__section .c-grid{stroke:var(--pl-ink);stroke-opacity:.07;fill:none}.plan__section .c-spott{fill:var(--ink-3)}.plan__section .c-hatch{stroke:var(--pl-ink);stroke-opacity:.35}.plan__section .c-poche{stroke:none}.plan__section .c-ground{fill:none;stroke:var(--pl-ink);stroke-linejoin:round}.plan__section .c-secobj{fill:#8fb27e0d;stroke:#8fb27e;stroke-linejoin:round}.plan__section .c-secobj.c-cut{fill:#f1ece214;stroke:var(--pl-ink)}.plan__section .c-secfire{fill:#ff6a2b40;stroke:var(--ember)}.plan__section .c-lead{stroke:var(--pl-ink);stroke-opacity:.35;fill:none}.plan__section .c-note{fill:var(--ink-2)}.plan__section .c-cutwall{fill:var(--pl-ink);fill-opacity:.85;stroke:none}.plan.is-zoomed .plan__svg{cursor:grab}.plan.is-panning .plan__svg{cursor:grabbing}.plan__zoom{position:absolute;right:var(--gutter);bottom:70px;display:grid;grid-template-columns:38px 38px 56px;gap:4px;padding:5px;border-radius:12px;background:#0c110fb8;border:1px solid var(--line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;transition:opacity .35s}.plan.is-open .plan__zoom{opacity:1;transition:opacity .8s var(--ease-out) 1.5s}.plan__zoom button{padding:6px 0;border-radius:8px;border:1px solid var(--line);color:var(--ink-2);font-size:12px;transition:color .2s,background .2s}.plan__zoom button:hover{color:var(--ink);background:#f1ece20f}.plan__coords{bottom:24px}.plan__svg .layer,.plan__svg .pl-lives{transition:opacity .45s var(--ease-out)}.plan__svg .layer.is-off{opacity:0;pointer-events:none}.plan__svg .layer.is-wait{opacity:0}.plan__svg .is-drawing .dr{stroke-dasharray:1 1;stroke-dashoffset:1;animation:pl-draw 1.5s var(--ease-out) forwards}.plan__svg .layer.is-drawing{animation:pl-fade .7s var(--ease-out)}.plan__svg .plot{transition:opacity .5s var(--ease-out)}.plan__svg .plot.is-hidden{opacity:0;pointer-events:none}.plan__svg .plot.is-drawing .dr{animation-duration:1.1s}@keyframes pl-draw{to{stroke-dashoffset:0}}@keyframes pl-fade{0%{opacity:0}to{opacity:1}}@media(max-width:759px){.dock__item{width:clamp(44px,calc((100vw - 64px) / 6),60px)}.dock__sep{margin:10px 0}.plan__panel{top:auto;left:10px;right:10px;width:auto;bottom:calc(var(--dock-h) + 30px + env(safe-area-inset-bottom));z-index:5;max-height:62vh;border-radius:18px;padding:16px;background:#0a0e0df5;transform:translateY(16px);opacity:0!important;pointer-events:none;transition:opacity .3s,transform .35s var(--ease-out)!important}.plan.is-open .plan__panel.is-open{opacity:1!important;transform:none;pointer-events:auto}.plan__panel--key{left:10px;right:10px}.plan__x{display:block;padding:6px 2px}.plan__tg{padding:11px 8px;font-size:15px}.plan__tool{padding:13px 4px 11px}.plan__go{padding:11px 8px}.plan__mbar{display:flex;gap:8px;position:absolute;top:74px;left:50%;transform:translate(-50%)}.plan.is-open .plan__mbar{transform:translate(-50%)}.plan__mbtn{padding:10px 18px;border-radius:999px;border:1px solid var(--line);background:#0c110fcc;color:var(--ink-2);min-height:40px}.plan__mbtn.is-on{background:var(--ink);color:var(--bg)}.plan__phase{bottom:calc(var(--dock-h) + 30px + env(safe-area-inset-bottom));padding:10px 14px 6px}.plan__phase-top{flex-direction:column;align-items:flex-start;gap:3px;line-height:1.35}.plan__phase-top span{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan__phase-top span:last-child{text-align:left}.plan__phase input[type=range]{height:30px}.plan__phase input[type=range]::-webkit-slider-thumb{width:22px;height:22px;margin-top:-10px}.plan__north{right:14px;top:76px;transform:scale(.8);transform-origin:top right}.plan.is-open .plan__north{transform:scale(.8)}.plan__scale{left:14px;bottom:calc(var(--dock-h) + 156px + env(safe-area-inset-bottom))}.plan__coords{right:14px;bottom:calc(var(--dock-h) + 156px + env(safe-area-inset-bottom))}.plan__coords b{font-size:10.5px}.plan__zoom{right:10px;top:128px;bottom:auto;grid-template-columns:34px}.plan__zoom button{padding:7px 0;font-size:12px}.plan.is-axo .plan__zoom{top:auto;bottom:calc(var(--dock-top) + 136px);grid-template-columns:34px}.plan__notice{left:10px!important;right:10px;top:auto!important;bottom:calc(var(--dock-h) + 30px + env(safe-area-inset-bottom));width:auto;transform:translateY(12px)}.plan__notice.show{transform:none}.pn__cta{min-height:46px;align-items:center}.plan__section{left:10px;right:10px;bottom:calc(var(--dock-h) + 30px + env(safe-area-inset-bottom));height:44vh}}.walkmap{position:fixed;z-index:33;right:var(--gutter);bottom:26px;width:176px;aspect-ratio:1;border-radius:50%;pointer-events:none;opacity:0;transform:scale(.92);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);filter:drop-shadow(0 18px 40px rgba(0,0,0,.5))}.walkmap.show{opacity:1;transform:none}.walkmap svg{width:100%;height:100%;display:block}.walkmap .wm-forest{fill:#0d1714}.walkmap .wm-clear{fill:#101a16eb;stroke:#f1ece22e;stroke-width:1}.walkmap .wm-ring{fill:none;stroke:#f1ece238;stroke-width:2.4}.walkmap .wm-path{fill:none;stroke:#f1ece229;stroke-width:1.6;stroke-linecap:round}.walkmap .wm-tree{fill:#8fb27e29}.walkmap .wm-plot{fill:#f1ece224;stroke:#f1ece280;stroke-width:1;transition:fill .4s,stroke .4s}.walkmap .wm-plot.is-up{fill:#ff6a2b59;stroke:#ff6a2b}.walkmap .wm-cave{fill:#787e788c;stroke:#f1ece259;stroke-width:1}.walkmap .wm-fire{fill:#ff6a2b}.walkmap .wm-bed{fill:none}.walkmap .wm-tent{fill:#c4622f73;stroke:#f1ece280;stroke-width:1}.walkmap .wm-dot{fill:#c9b18a;stroke:#0d1714;stroke-width:1}.walkmap .wm-dot--ogre{fill:#a9bf8e}.walkmap .wm-pond{fill:#4682a099;stroke:#bfdcff80;stroke-width:1}.walkmap .wm-tower{fill:#7a5a3ab3;stroke:#f1ece280;stroke-width:1}.walkmap .wm-board{fill:#7be08a}.walkmap .wm-dot--boat{fill:#e9e2d0;stroke-width:.6}.walkmap .wm-cone{fill:#f1ece214}.walkmap .wm-me{fill:#ff6a2b;stroke:#0d1714;stroke-width:1}.walkmap .wm-me-ring{fill:#ff6a2b2e}.walkmap .wm-edge{fill:none;stroke:#f1ece247;stroke-width:1.4}.walkmap__n{position:absolute;left:50%;top:4px;transform:translate(-50%);font-size:9px;color:var(--ink-2)}@media(max-width:1180px)and (min-width:760px){.walkmap{bottom:calc(var(--dock-h) + 44px);width:140px}}@media(max-width:759px){.walkmap{top:168px;bottom:auto;right:12px;width:104px}}.jobs-btn{position:fixed;z-index:34;right:calc(var(--gutter) + 168px);bottom:168px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#0d1714db;border:1px solid rgba(241,236,226,.22);color:var(--ink);cursor:pointer;opacity:0;pointer-events:none;transform:scale(.9);transition:opacity .4s,transform .4s var(--ease-out),border-color .25s;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.jobs-btn.show{opacity:1;pointer-events:auto;transform:none}.jobs-btn:hover,.jobs-btn[aria-pressed=true]{border-color:var(--ember)}.jobs-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.jobs-btn__n{position:absolute;top:-3px;right:-3px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--ember);color:#160c06;font-size:9.5px;font-weight:700;line-height:17px;text-align:center}.jobs{position:fixed;z-index:35;right:calc(var(--gutter) + 200px);bottom:calc(var(--dock-top) + 14px);width:292px;padding:22px 20px 18px;background:#f4efe2 repeating-linear-gradient(transparent 0 27px,#466ea029 27px 28px);background-position:0 58px;color:#2a2620;border-radius:4px;box-shadow:0 18px 50px #00000080;transform:rotate(-1.2deg) translateY(12px);opacity:0;pointer-events:none;transition:opacity .3s,transform .4s var(--ease-out)}.jobs.show{opacity:1;transform:rotate(-1.2deg);pointer-events:auto}.jobs__x{background:none;border:0;padding:4px 0;color:#6a6258;font-size:10px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.jobs .plan__chip{color:#2a2620;border-color:#2a26204d;margin-top:6px}@media(max-width:1180px)and (min-width:760px){.jobs-btn{bottom:calc(var(--dock-h) + 150px);right:calc(var(--gutter) + 118px)}.jobs{bottom:calc(var(--dock-h) + 44px);right:calc(var(--gutter) + 160px)}}@media(max-width:759px){body:has(.jobs.show) .walkmap{opacity:0!important}}@media(max-width:759px){.jobs-btn{top:172px;bottom:auto;right:124px;width:34px;height:34px}.jobs{inset:214px 12px auto;width:auto;max-height:56vh;overflow:auto}}.jobs-btn.in-plan{right:calc(var(--gutter) + 168px);bottom:74px;z-index:41}.jobs.in-plan{z-index:42}.jobs.in-plan{bottom:216px;right:calc(var(--gutter) + 264px)}@media(max-width:759px){.jobs-btn.in-plan{inset:76px auto auto 14px}.jobs,.jobs.in-plan{left:12px;right:12px;width:auto;bottom:auto;padding:16px 16px 14px;transform:rotate(-.6deg) translateY(10px);max-height:calc(100vh - 214px - var(--dock-h) - 40px);overflow-y:auto;background-size:auto;background-image:repeating-linear-gradient(transparent 0 25px,#466ea024 25px 26px);background-position:0 52px}.jobs.show{transform:rotate(-.6deg)}.jobs.in-plan{top:124px;max-height:calc(100vh - 124px - var(--dock-h) - 40px)}.jobs .plan__todo-title{font-size:17px}.jobs .plan__todo-date{font-size:9px;margin-bottom:8px}.jobs .plan__todo-list li{font-size:13px;grid-template-columns:18px 1fr;gap:8px;padding:2px 0}.jobs .plan__todo-box{width:14px;height:14px}.jobs .plan__stamp{font-size:8px;padding:1px 5px}.jobs .plan__todo-prize{font-size:11px;margin-top:10px}}.plan__svg .c-livelab.c-livelab--ogre{fill:#a9bf8e}.plan__svg .c-livelab.c-livelab--deer,.plan__svg .c-livelab.c-livelab--fox,.plan__svg .c-livelab.c-livelab--owl,.plan__svg .c-livelab.c-livelab--bear{fill:#d8c8a4;opacity:.85}body.is-touch .joystick{left:16px;bottom:calc(var(--dock-top) + 34px);width:104px;height:104px}body.is-touch .joystick__knob{width:42px;height:42px;margin:-21px 0 0 -21px}body.is-touch .stomp-btn{right:16px;bottom:calc(var(--dock-top) + 55px);width:62px;height:62px;font-size:10px}.plan__season-name{color:var(--ink);font-weight:500;margin-left:6px}.plan__season{-webkit-appearance:none;appearance:none;width:100%;height:22px;background:transparent;margin:0;cursor:pointer}.plan__season::-webkit-slider-runnable-track{height:2px;background:#f1ece240;border-radius:2px}.plan__season::-moz-range-track{height:2px;background:#f1ece240}.plan__season::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-7px;border-radius:50%;background:var(--ink);border:3px solid var(--ember)}.plan__season::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--ink);border:3px solid var(--ember)}.plan__ticks--season span{font-size:8.5px}.plan__palette{position:absolute;z-index:6;left:50%;top:82px;transform:translate(-50%,-8px);width:max-content;max-width:calc(100vw - 24px);display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:10px 12px 8px;border-radius:16px;background:#0c110fdb;border:1px solid var(--line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s var(--ease-out)}.plan__palette.show{opacity:1;transform:translate(-50%);pointer-events:auto}@media(min-width:760px){.plan__palette{max-width:min(720px,calc(100vw - 2 * var(--gutter) - 2 * 252px))}}.plan__chip{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;border:1px solid var(--line);color:var(--ink-2);font-size:10px;transition:background .2s,color .2s}.plan__chip:hover{color:var(--ink)}.plan__chip.is-on{background:var(--ink);color:var(--bg)}.plan__chip:disabled{opacity:.4;cursor:default}.plan__chip--sq{width:30px;justify-content:center;padding:7px 0}.plan__chip--done{background:var(--ember);color:#1a0d05;border-color:var(--ember)}.plan__dot{width:10px;height:10px;border-radius:50%;display:inline-block}.plan__dot--round{background:#5d8a4a}.plan__dot--pine{background:#2f5a3c}.plan__dot--blossom{background:#e7a3c2}.plan__dot--birch{background:#e8e4da;border:2px solid #7fa04a}.plan__pal-sep{width:1px;height:22px;background:var(--line);margin:0 2px}.plan__pal-note{flex-basis:100%;text-align:center;margin:4px 0 0;font-size:9px;color:var(--ink-3)}.plan__pal-msg{display:block;color:var(--ember);min-height:0}.plan__svg .c-paint{stroke:none;fill-opacity:.5}.plan__svg .c-paint--meadow{fill:#5f8f45}.plan__svg .c-paint--flowers{fill:#c96aa8}.plan__svg .c-paint--gravel{fill:#a39a88}.plan__svg .c-paint--paving{fill:#c9c2b2}.plan__svg .c-paint--water{fill:#3d7fa8;fill-opacity:.7}.plan__svg .c-tree--new{stroke-opacity:.9;stroke-dasharray:none;fill:#8fb27e1f}.plan__svg .c-tree--blossom{stroke:#e7a3c2;fill:#e7a3c226}.walkmap .wm-paint{stroke:none;opacity:.55}.walkmap .wm-paint--meadow{fill:#5f8f45}.walkmap .wm-paint--flowers{fill:#c96aa8}.walkmap .wm-paint--gravel{fill:#a39a88}.walkmap .wm-paint--paving{fill:#c9c2b2}.walkmap .wm-paint--water{fill:#3d7fa8;opacity:.8}.walkmap .wm-tree--new{fill:#8fb27e6b}.plan.style-pencil{--pl-ink: #34302a;--pl-paper: #ece6d8;--pl-red: #b8463a}.plan.style-pencil .plan__panel{--pl-ink: #f1ece2;--pl-red: #e5483b}.plan.style-pencil:before{background:#ece6d8 radial-gradient(rgba(0,0,0,.05) 1px,transparent 1px) 0 0 / 6px 6px}.plan.style-pencil .plan__svg .layer{filter:url(#plPencil)}.plan.is-moving .plan__svg .layer,.plan.is-moving .plan__svg .c-tree,.plan.is-moving .plan__svg .c-ltree,.plan.is-moving .plan__svg .c-plotfill,.plan.is-panning .plan__svg .layer{filter:none!important}.plan.style-pencil .plan__svg .c-tree,.plan.style-pencil .plan__svg .c-ltree{stroke:#4a5a40;stroke-opacity:.55;fill:none}.plan.style-pencil .plan__svg .c-cont,.plan.style-pencil .plan__svg .c-cont5{stroke:#8a7a5a}.plan.style-pencil .plan__svg .c-lab,.plan.style-pencil .plan__svg .c-note{fill:#3a352e}.plan.style-pencil .plan__svg .c-big{fill:#34302a}.plan.no-fx .plan__svg .layer,.plan.no-fx .plan__svg .c-tree,.plan.no-fx .plan__svg .c-ltree,.plan.no-fx .plan__svg .c-plotfill,.plan.no-fx .plan__svg .c-paint,.plan.no-fx .plan__svg .c-feat--cave{filter:none!important}body[data-season=autumn] .plan__svg .c-tree,body[data-season=autumn] .plan__svg .c-ltree{stroke:#d98a3f}body[data-season=winter] .plan__svg .c-tree,body[data-season=winter] .plan__svg .c-ltree{stroke:#cfe0ea}body[data-season=spring] .plan__svg .c-tree--round{stroke:#e7a3c2}body[data-season=autumn] .walkmap .wm-tree{fill:#d68a3f4d}body[data-season=winter] .walkmap .wm-tree{fill:#cfe0ea47}body[data-season=winter] .walkmap .wm-clear{fill:#28343aeb}body[data-season=spring] .walkmap .wm-tree{fill:#e7a3c238}.plan.is-axo:before{opacity:0!important}.plan.is-axo .plan__svg{opacity:0!important;cursor:grab}.plan.is-axo .plan__phase,.plan.is-axo .plan__north,.plan.is-axo .plan__scale,.plan.is-axo .plan__coords{opacity:0!important;pointer-events:none}.plan__light{position:absolute;z-index:6;left:50%;bottom:calc(var(--dock-h) + 36px + env(safe-area-inset-bottom));width:min(460px,calc(100% - 2 * var(--gutter)));transform:translate(-50%,10px);display:grid;grid-template-columns:1fr auto;align-items:end;gap:18px;padding:12px 14px 12px 16px;border-radius:16px;background:#0c110fd1;border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;pointer-events:none;transition:opacity .3s,transform .35s var(--ease-out)}.plan.is-axo .plan__light{opacity:1;transform:translate(-50%);pointer-events:auto}.plan__sky{--in: 9px;--sh: 56px;position:relative;height:78px}.plan__sky svg{position:absolute;left:var(--in);top:0;width:calc(100% - 2 * var(--in));height:var(--sh);overflow:visible}.plan__sky-track{fill:none;stroke:#e8a25c8c;stroke-width:1.2;stroke-dasharray:2 4;vector-effect:non-scaling-stroke}.plan__sky-track--moon{stroke:#becdeb59}.plan__sky-hz{stroke:#f1ece247;stroke-width:1;vector-effect:non-scaling-stroke}.plan__sky-sun,.plan__sky-moon{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;pointer-events:none;transition:opacity .25s}.plan__sky-sun,.plan__sky-moon{left:calc(var(--in) + (100% - 2 * var(--in)) * var(--x, .6))}.plan__sky-sun{top:calc(var(--sh) * var(--sy, .3))}.plan__sky-moon{top:calc(var(--sh) * var(--my, .9))}.plan__sky-sun{background:#f2a65a;box-shadow:0 0 0 4px #f2a65a2e,0 0 14px #f2a65a99}.plan__sky-moon{background:#dfe4ee;box-shadow:inset -4px -1px #9aa6bd,0 0 10px #c8d6f059}.plan__sky input[type=range]{position:absolute;left:0;right:0;bottom:0;width:100%;height:22px;margin:0;background:none;-webkit-appearance:none;appearance:none;cursor:pointer}.plan__sky input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:var(--sky, linear-gradient(90deg, #26314a, #f1ece2, #26314a))}.plan__sky input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:var(--sky, linear-gradient(90deg, #26314a, #f1ece2, #26314a))}.plan__sky input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-7px;border-radius:50%;background:var(--ink);border:3px solid #f2a65a;box-shadow:0 2px 8px #0006}.plan__sky input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--ink);border:3px solid #f2a65a}.plan__light-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.plan__light-t{margin:0;display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:10px;color:var(--ink-2);letter-spacing:.1em;text-transform:uppercase}.plan__light-t b{font-size:20px;font-weight:500;color:var(--ink);letter-spacing:.02em;font-variant-numeric:tabular-nums}.plan__tex{display:inline-flex;align-items:center;gap:8px;padding:7px 12px 7px 8px;border-radius:999px;border:1px solid var(--line);color:var(--ink);font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:transparent;transition:background .2s,border-color .2s,color .2s}.plan__tex i{position:relative;width:26px;height:14px;border-radius:7px;background:#f1ece233;transition:background .2s}.plan__tex i:after{content:"";position:absolute;left:2px;top:2px;width:10px;height:10px;border-radius:50%;background:var(--ink);transition:transform .25s var(--ease-out)}.plan__tex:hover{border-color:#f1ece266}.plan__tex[aria-pressed=true]{border-color:var(--ember)}.plan__tex[aria-pressed=true] i{background:var(--ember)}.plan__tex[aria-pressed=true] i:after{transform:translate(12px);background:#160c06}.plan__svg .pl-st,.plan__live .pl-st{transition:opacity .6s var(--ease-out)}.plan__svg .pl-st.is-gone,.plan__live .pl-st.is-gone{opacity:0;pointer-events:none}.plan__ticks span:first-child,.plan__ticks span:last-child{color:var(--ink-2)}.plan__todo-pin{position:absolute;top:-8px;left:50%;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ff9a6a,#c4321e);box-shadow:0 3px 4px #00000059}.plan__todo-head{display:flex;justify-content:space-between;align-items:center}.plan__todo-title{margin:0;font-family:var(--f-sans);font-weight:700;font-size:20px;letter-spacing:-.02em}.plan__todo-date{margin:2px 0 10px;font-size:10px;color:#7a7266}.plan__todo-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.plan__todo-list li{position:relative;display:grid;grid-template-columns:20px 1fr;gap:8px;align-items:start;font-size:14px;line-height:1.35;padding:3px 0}.plan__todo-list li em{font-style:normal;color:#b8463a;font-size:10px}.plan__todo-list li.is-done span:nth-child(2){color:#8a8276;text-decoration:line-through;text-decoration-color:#b8463ab3}.plan__todo-box{width:16px;height:16px;margin-top:2px;border:1.5px solid #2a2620;border-radius:3px;display:grid;place-items:center}.plan__todo-box svg{width:14px;height:14px;fill:none;stroke:#b8463a;stroke-width:2.4}.plan__todo-list li.is-done{padding-right:50px}.plan__stamp{position:absolute;right:0;top:2px;padding:1px 6px;border:1.5px solid #b8463a;color:#b8463a;border-radius:4px;font-size:9px;transform:rotate(-8deg);opacity:.85}.plan__todo-prize{margin:12px 0 0;font-size:12px;color:#5a5248}@media(max-width:759px){.plan__palette{top:120px;left:10px;right:10px;transform:translateY(-8px);padding:8px;gap:5px}.plan__palette{right:62px;width:auto;max-width:none}.plan.is-axo .plan__palette{right:10px}.plan__palette.show{transform:none}.plan__palette .plan__chip{padding:6px 9px;font-size:9.5px}.plan__palette .plan__chip--sq{width:28px;padding:6px 0}.plan__pal-sep{display:none}.plan__pal-note{font-size:8.5px;margin-top:2px}.plan__light{left:10px;right:10px;width:auto;transform:translateY(10px);gap:12px;padding:10px 12px;bottom:calc(var(--dock-top) + 12px)}.plan.is-axo .plan__light{transform:none}.plan__sky{--in: 12px;--sh: 46px;height:70px}.plan__sky input[type=range]{height:30px;bottom:-4px}.plan__sky input[type=range]::-webkit-slider-thumb{width:24px;height:24px;margin-top:-10px}.plan__light-t b{font-size:17px}.plan__mbtn{padding:10px 14px}}body:has(.plan.is-open.style-pencil) .topbar{color:#2a2620}body:has(.plan.is-open.style-pencil) .topbar *{color:#2a2620}@media(min-width:760px){.plan__panel{max-height:calc(100% - 220px);scrollbar-width:thin}}.toast{z-index:46}.noscript{position:fixed;inset:0;z-index:200;overflow:auto;padding:40px 24px;background:var(--bg, #070b0a);color:var(--ink);font-family:var(--f-sans);font-size:16px;line-height:1.6}.noscript h1{font-size:34px;letter-spacing:-.03em;margin:0 0 8px}.noscript a{color:var(--ember)}body.is-drawn{--d-ink: #1f1c18;--d-ink-2: rgba(31, 28, 24, .6);--d-line: rgba(31, 28, 24, .18);--d-paper: rgba(244, 240, 231, .82)}body.is-drawn .vignette{opacity:0}body.is-drawn .topbar,body.is-drawn .hero-ui,body.is-drawn .home-ui{color:var(--d-ink)}body.is-drawn .topbar__mid,body.is-drawn .hero-ui .muted,body.is-drawn .home-ui .muted,body.is-drawn .home-ui .kicker,body.is-drawn .hero-ui__enter{color:var(--d-ink-2)}body.is-drawn .brand__dot{box-shadow:none}body.is-drawn .chip{background:var(--d-paper);border-color:var(--d-line);color:var(--d-ink)}body.is-drawn .chip:hover{border-color:#1f1c1866}body.is-drawn .eq i{background:var(--d-ink)}body.is-drawn .hero-ui__line,body.is-drawn .home-ui__left{filter:drop-shadow(0 0 10px rgba(244,240,231,.85))}body.is-drawn .hero-ui__corner,body.is-drawn .home-ui .kicker,body.is-drawn .hero-ui__enter{text-shadow:0 0 14px rgba(244,240,231,.95),0 0 3px rgba(244,240,231,.9)}body.is-drawn .keys kbd{color:var(--d-ink);border-color:var(--d-line);background:var(--d-paper)}body.is-drawn .keys kbd.on{background:var(--d-ink);color:#f4f0e7}body.is-drawn .keys p{color:var(--d-ink-2)}body.is-drawn .say{background:#faf7f0f7;border-color:#1f1c1880;color:var(--d-ink)}body.is-drawn .say:after{border-color:#1f1c1880}body.is-drawn .say__name{color:#c4521f}body.is-axo.mode-plan:not(.is-drawn) .topbar,body.is-axo.mode-plan:not(.is-drawn) .topbar *{color:var(--ink)}.hero-ui__corner--tl{line-height:1.7}.hero-ui__corner--tl .js-name{font-weight:500}.hero-ui__line .dot{color:var(--ember)}.hero-ui__enter{gap:10px;letter-spacing:.14em}body.is-touch *,body.is-touch *:before,body.is-touch *:after{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}body.is-touch .dock{background:#0e1311eb}body.is-touch .say,body.is-touch .prompt__pill,body.is-touch .toast,body.is-touch .buff{background:#0a0e0de0}body.is-touch .joystick,body.is-touch .stomp-btn{background:#0a0e0d80}body.is-touch .plan__panel,body.is-touch .plan__phase,body.is-touch .plan__zoom,body.is-touch .plan__light,body.is-touch .plan__palette,body.is-touch .plan__mbtn{background-color:#0c110ff0}body.is-touch .plan__mbtn.is-on{background-color:var(--ink)}body.is-touch.is-drawn .chip{background:#f4f0e7f0}@media(max-width:1100px)and (min-width:760px){body.is-axo .jobs-btn.in-plan{right:var(--gutter);bottom:124px}.plan.is-axo .plan__panel{max-height:calc(100% - 338px)}.plan__light{width:min(460px,calc(100% - 2 * var(--gutter) - 340px))}}body.is-touch.is-drawn .say{background:#faf7f0f7}body.is-drawn .joystick,body.is-drawn .stomp-btn{background:#f4f0e7cc;border:1.5px solid rgba(31,28,24,.3);color:#1f1c18}body.is-drawn .joystick__knob{background:#1f1c18;opacity:.78}@media(max-width:759px){.plan.is-axo .plan__notice.is-anchored{left:0!important;top:0!important;right:auto;bottom:auto;width:min(232px,calc(100vw - 24px));padding:10px 12px 11px;rotate:-.6deg;transition:opacity .22s var(--ease-out);box-shadow:0 14px 34px #00000059}.plan__notice.is-anchored .pn__head{font-size:9.5px;padding-bottom:6px;margin-bottom:7px;border-bottom-width:1.5px;gap:10px}.plan__notice.is-anchored .pn__head span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.plan__notice.is-anchored .pn__title{font-size:18px;margin:0 0 9px}.plan__notice.is-anchored .pn__cta{min-height:36px;padding:8px 10px;font-size:10px}.plan__notice.is-anchored:after{content:"";position:absolute;left:var(--tail, 50%);bottom:-6px;width:12px;height:12px;margin-left:-6px;background:#f2d14b;transform:rotate(45deg)}.plan__notice.is-anchored.is-below:after{bottom:auto;top:-6px}.plan.is-axo:has(.plan__notice.show) .plan__zoom{opacity:0!important;pointer-events:none;transition:opacity .2s!important}}.plan__axolabels{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.axl{position:absolute;left:0;top:0;opacity:0;transition:opacity .35s var(--ease-out);white-space:nowrap;will-change:transform}.plan.is-axo .axl.show{opacity:1}.axl--plot{translate:-50% -100%;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1.5px solid #b8463a;background:#f4f0e7;color:#1f1c18;font:600 9.5px/1 var(--f-mono);letter-spacing:.02em}.axl--feat{translate:-50% -100%;font:500 9px/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:#1f1c18;text-shadow:0 0 8px rgba(244,240,231,.95),0 0 2px rgba(244,240,231,.95)}body:not(.is-drawn) .axl--plot{background:#151b26;color:#efe9dc;border-color:#e5483b}body:not(.is-drawn) .axl--feat{color:#efe9dc;text-shadow:0 0 8px rgba(8,12,20,.95),0 0 2px rgba(8,12,20,.95)}@media(max-width:759px){body.is-touch .plan__panel.is-open{background-color:#0e1311}.plan:has(.plan__panel.is-open) .plan__zoom,.plan:has(.plan__panel.is-open) .plan__phase,.plan:has(.plan__panel.is-open) .plan__scale,.plan:has(.plan__panel.is-open) .plan__coords{opacity:0!important;pointer-events:none;transition:opacity .2s!important}}@media(min-width:760px){.plan__panel{z-index:3}}@media(max-width:759px){.plan__panel{z-index:7}.plan.is-axo:has(.plan__panel.is-open) .plan__light{opacity:0;transform:translateY(10px);pointer-events:none}}
