:root{color:#f4eadc;font-synthesis:none;text-rendering:optimizelegibility;--ink:#0b1019;--cream:#f3e6d2;--amber:#e7a45b;--hand:"Kaiti SC", "STKaiti", "KaiTi", cursive;background:#0b1019;font-family:Avenir,Avenir Next,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--ink);width:100%;min-width:320px;min-height:100%;margin:0}body{overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.room{--far-x:0px;--far-y:0px;--mid-x:0px;--mid-y:0px;--near-x:0px;--near-y:0px;--scene-scale:1.025;--boot-duration:1.65s;--boot-progress:0;--idea-status-one-opacity:0;--idea-status-two-opacity:0;--idea-status-three-opacity:0;--camera-scale:1;--camera-x:0px;--camera-y:0px;--portal-left:42%;--portal-top:40%;--portal-right:38%;--portal-bottom:38%;isolation:isolate;background:#0b111c;width:100%;height:100svh;min-height:560px;position:relative;overflow:hidden}.room-welcome{z-index:100;color:#f4eee2;cursor:pointer;isolation:isolate;opacity:0;overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none;outline:none;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.room-welcome__glass{z-index:0;-webkit-backdrop-filter:blur(3.5px)saturate(.92)brightness(.92);will-change:opacity;background:radial-gradient(circle at 48% 38%,#ffefca1a,#0000 42%),linear-gradient(135deg,#ffffff0e,#1c140f1b);border:1px solid #fff7e21f;position:absolute;inset:-10px;box-shadow:inset 2px -2px 2px #fffaeb21,inset -2px 2px 2px #23170f29}.room-welcome__glass:after{content:"";filter:blur(10px);pointer-events:none;background:linear-gradient(112deg,#0000 20%,#fff4da0e 46%,#0000 70%);position:absolute;inset:0}.room-welcome__drops{z-index:1;pointer-events:none;position:absolute;inset:0}.room-welcome__drop{-webkit-backdrop-filter:blur(4px)saturate(1.08);opacity:0;will-change:transform, opacity;background:#ffffff09;border:1px solid #fff8e52b;border-radius:34% 66% 49% 51%/42% 58%;display:block;position:absolute;box-shadow:12px 18px 24px #08080a2e,inset 7px 7px 12px #211b1838,inset -8px -8px 13px #fffaeb52}.room-welcome__drop:before,.room-welcome__drop:after{content:"";background:#ffffffad;border-radius:48% 52% 44% 56%/48% 42% 58% 52%;position:absolute;box-shadow:0 0 9px #fff4da40}.room-welcome__drop:before{aspect-ratio:1;width:13%;top:17%;left:20%}.room-welcome__drop:after{aspect-ratio:.72;opacity:.72;width:8%;top:30%;left:15%}.room-welcome__drop--one{aspect-ratio:.78;width:clamp(54px,6.8vw,104px);top:2%;left:13%}.room-welcome__drop--two{aspect-ratio:.84;border-radius:56% 44% 46% 54%/63% 48% 52% 37%;width:clamp(72px,8.7vw,132px);top:-7%;left:71%}.room-welcome__drop--three{aspect-ratio:.72;border-radius:43% 57% 61% 39%/52% 44% 56% 48%;width:clamp(38px,4.4vw,68px);top:31%;left:84%}.room-welcome__drop--four{aspect-ratio:.86;border-radius:62% 38% 48% 52%/55% 60% 40% 45%;width:clamp(44px,5.3vw,82px);top:42%;left:6%}.room-welcome__copy{z-index:2;pointer-events:none;text-align:center;text-shadow:0 3px 28px #20130880;will-change:transform, opacity;justify-items:center;width:min(92vw,1120px);display:grid;position:relative}.room-welcome__title-art{filter:drop-shadow(0 3px 18px #472a0f5c);width:100%;height:auto;display:block;overflow:visible}.room-welcome__title-mask,.room-welcome__title-base,.room-welcome__title-edge{letter-spacing:-1.7px;font-family:Georgia,Times New Roman,Songti SC,serif;font-size:78px;font-weight:600}.room-welcome__title-base{fill:#d9b878}.room-welcome__title-edge{fill:#0000;stroke:#ffefc654;stroke-width:.8px}.room-welcome__shader{width:100%;height:100%}.room-welcome__copy p{color:#f9f1e2eb;letter-spacing:.075em;margin:clamp(-25px,-2.2vw,-12px) 0 0;font-family:Avenir,Avenir Next,PingFang SC,sans-serif;font-size:clamp(14px,1.35vw,19px);font-weight:400;line-height:1.6}@media (width<=700px){.room-welcome__glass{-webkit-backdrop-filter:blur(2.5px)saturate(.94)brightness(.93)}.room-welcome__copy{width:min(112vw,720px)}.room-welcome__title-mask,.room-welcome__title-base,.room-welcome__title-edge{letter-spacing:-1.3px;font-size:71px}.room-welcome__copy p{letter-spacing:.045em;width:78vw;margin-top:-20px;font-size:clamp(13px,3.8vw,17px)}.room-welcome__drop{-webkit-backdrop-filter:blur(2px)}.room-welcome__drop--three{left:88%}}@media (prefers-reduced-motion:reduce){.room-welcome__drops{display:none}.room-welcome__glass,.room-welcome__copy{will-change:auto}}.scene-world{z-index:1;transform-origin:0 0;will-change:transform;transition:transform .92s cubic-bezier(.72,0,.18,1);position:absolute;inset:0;transform:translate(0,0)scale(1)}.room[data-phase=projects] .scene-world{transform:translate3d(var(--camera-x), var(--camera-y), 0) scale(var(--camera-scale))}.room[data-phase^=notebook]:not([data-phase=notebook-exiting]) .scene-world,.room[data-phase=blog] .scene-world{transform:translate3d(var(--camera-x), var(--camera-y), 0) scale(var(--camera-scale));transition-duration:1.16s;transition-timing-function:cubic-bezier(.2,.72,.2,1)}.room[data-phase=notebook-exiting] .scene-world{transition-duration:.96s;transition-timing-function:cubic-bezier(.62,0,.32,1)}.room[data-phase^=research]:not([data-phase=research-exiting]) .scene-world{transform:translate3d(var(--camera-x), var(--camera-y), 0) scale(var(--camera-scale));transition-duration:1.18s;transition-timing-function:cubic-bezier(.2,.72,.2,1)}.room[data-phase=research-exiting] .scene-world{transition-duration:.98s;transition-timing-function:cubic-bezier(.62,0,.32,1)}.room[data-phase=booting] .scene-world{transition:none}.scene-layer{position:absolute;inset:0}.scene-still{pointer-events:none;transform-origin:50%;backface-visibility:hidden;margin:0}.scene-still picture,.scene-still img{width:100%;height:100%;display:block}.scene-still img{object-fit:cover;object-position:50% 50%}.scene-depth{z-index:2;pointer-events:none;width:100%;height:100%;display:none}.ambient-layer{z-index:3;pointer-events:none;width:100%;height:100%;transform:translate3d(var(--near-x), var(--near-y), 0) scale(var(--scene-scale));transform-origin:50%;backface-visibility:hidden;contain:strict;display:none;overflow:hidden}.ambient-monitor{mix-blend-mode:screen}.monitor-sheen{opacity:0;animation:15.8s ease-in-out -7.2s infinite monitor-sheen}.monitor-caret{fill:#a0d7d5b3;filter:drop-shadow(0 0 1.2px #60c4cd42);animation:1.86s ease-in-out infinite caret-blink}@media (width>=701px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.scene-still{transform:scale(var(--scene-scale))}.scene-depth[data-ready=true],.ambient-layer{display:block}}@keyframes monitor-sheen{0%,34%{opacity:0;transform:translate(-25px)}48%{opacity:.34}63%,to{opacity:0;transform:translate(110px)}}@keyframes caret-blink{0%,42%{opacity:.62}52%,84%{opacity:.07}94%,to{opacity:.62}}.scene-layer--light{z-index:4;pointer-events:none;background:radial-gradient(at 50% 49%,#0000 0 34%,#070a120a 58%,#05070d61 100%),linear-gradient(#070a1275 0,#0000 12% 76%,#08070a3d 100%);box-shadow:inset 0 0 8vw #04060a57,inset 0 -5vh 8vh #07060829}.scene-layer--grain{z-index:5;pointer-events:none;opacity:.13;mix-blend-mode:soft-light;background-image:repeating-linear-gradient(115deg,#ffffff13 0 1px,#0000 1px 4px),repeating-linear-gradient(28deg,#00000014 0 1px,#0000 1px 6px);background-size:7px 9px,11px 13px}.interaction-map{z-index:7;pointer-events:none;transform-origin:50%;backface-visibility:hidden;width:100%;height:100%;overflow:visible}.interaction-map--mobile{display:none}.notebook-map{z-index:8;pointer-events:none;transform-origin:50%;backface-visibility:hidden;width:100%;height:100%;overflow:visible}.notebook-map--mobile{display:none}.research-notebook-map{z-index:9;pointer-events:none;transform-origin:50%;backface-visibility:hidden;width:100%;height:100%;overflow:visible}.research-notebook-map--mobile{display:none}.about-map{z-index:10;pointer-events:none;transform-origin:50%;backface-visibility:hidden;width:100%;height:100%;overflow:visible}.about-map--mobile{display:none}.phone-map{--phone-control-mask:#17121d;--phone-control-icon:#e5e1e8;--phone-progress-mask:#17121d;--phone-progress-track:#352d39;--phone-progress-fill:#a76d88;--phone-progress-indicator:#ded9e1;z-index:9;pointer-events:none;transform-origin:50%;backface-visibility:hidden;width:100%;height:100%;overflow:visible}.phone-map--mobile{--phone-control-mask:#18131e;--phone-progress-mask:#160d18;display:none}.phone-portrait-shell,.phone-portrait-window,.phone-portrait-rotor,.phone-portrait-image,.phone-portrait-region,.phone-progress{pointer-events:none}.phone-portrait-region{fill:#0000;stroke:none}.phone-portrait-rotor{will-change:transform}.phone-progress line{fill:none;stroke-linecap:round}.phone-progress-mask{stroke:var(--phone-progress-mask);stroke-width:6.5px}.phone-progress-track{stroke:var(--phone-progress-track);stroke-width:1.75px}.phone-progress-fill{stroke:var(--phone-progress-fill);stroke-width:1.9px}.phone-progress-indicator{fill:var(--phone-progress-indicator)}.phone-progress-hit-area{stroke:#0000;stroke-width:8px;pointer-events:stroke;cursor:pointer;touch-action:none}.phone-play-hotspot{pointer-events:none;cursor:pointer;outline:none}.phone-play-hit-area{fill:#fff0;stroke:none;pointer-events:fill}.phone-control-glyph-mask,.phone-control-glyph{pointer-events:none}.phone-control-glyph-mask{fill:var(--phone-control-mask)}.phone-control-glyph{fill:var(--phone-control-icon);shape-rendering:geometricprecision}.room:not([data-phase=room]) .phone-play-hotspot{opacity:0;pointer-events:none}.room:not([data-phase=room]) .phone-play-hit-area{pointer-events:none}.notebook-hotspot{pointer-events:none;cursor:pointer;outline:none;transition:opacity .18s}.notebook-hit-area{fill:#0000;stroke:none;pointer-events:fill}.notebook-hint{opacity:0;pointer-events:none;transition:opacity .18s}.notebook-hint rect{fill:#0f1116d1}.notebook-hint text{fill:#f4eadc;font:500 13px Avenir,Avenir Next,PingFang SC,sans-serif}.notebook-hotspot:hover .notebook-hint,.notebook-hotspot:focus-visible .notebook-hint{opacity:1}.room:not([data-phase=room]) .notebook-hotspot{opacity:0;pointer-events:none}.room:not([data-phase=room]) .notebook-hit-area{pointer-events:none}.research-notebook-hotspot{pointer-events:none;cursor:pointer;outline:none;transition:opacity .18s}.research-notebook-hit-area{fill:#0000;stroke:#0000;stroke-width:0;pointer-events:fill}.research-notebook-hotspot:focus-visible .research-notebook-hit-area{stroke:#ffefc7eb;stroke-width:3px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px #472a189e)}.research-notebook-hotspot:hover .research-notebook-hint,.research-notebook-hotspot:focus-visible .research-notebook-hint{opacity:1;transform:translateY(0)}.room:not([data-phase=room]) .research-notebook-hotspot,.room:not([data-phase=room]) .research-notebook-hit-area{pointer-events:none}.about-hotspot{pointer-events:none;cursor:pointer;outline:none;transition:opacity .18s}.about-hit-area{fill:#0000;stroke:none;pointer-events:fill}.about-hotspot:hover .about-hint,.about-hotspot:focus-visible .about-hint{opacity:1;transform:translateY(0)}.room:not([data-phase=room]) .about-hotspot,.room:not([data-phase=room]) .about-hit-area{pointer-events:none}.computer-hotspot{pointer-events:all;cursor:pointer;outline:none;transition:opacity .18s}.computer-hit-area{fill:#fff0;stroke:#0000;pointer-events:all}.computer-screen-outline{fill:#6cc0cf00;stroke:#96dade00;stroke-width:1.2px;pointer-events:none;transition:fill .22s,stroke .22s,filter .22s}.computer-hint{opacity:0;pointer-events:none;transition:opacity .18s,transform .22s;transform:translateY(5px)}.computer-hint rect{fill:#080f18c7;stroke:#d0e2dd47;stroke-width:1px}.computer-hint text{fill:#f4eedfe6;letter-spacing:.025em;font-family:Avenir,Avenir Next,PingFang SC,sans-serif;font-size:12px;font-weight:500}.computer-hotspot:hover .computer-hint,.computer-hotspot:focus-visible .computer-hint{opacity:1;transform:translateY(0)}.room:not([data-phase=room]) .computer-hotspot{opacity:0;pointer-events:none}.blog-transition{z-index:30;visibility:hidden;overscroll-behavior:contain;pointer-events:none;opacity:0;color:#3b2a22;scrollbar-color:#6f4c3057 transparent;scrollbar-width:thin;background:#2d1b16;position:absolute;inset:0;overflow:hidden auto}.blog-transition[aria-hidden=false]{pointer-events:auto}.blog-water{z-index:0;opacity:0;pointer-events:none;background:#f4f0e8;width:100%;height:100%;display:block;position:fixed;inset:0}.blog-transition__content{z-index:1;opacity:0;pointer-events:auto;width:100%;min-height:100%;position:relative}.research-transition{z-index:31;visibility:hidden;pointer-events:none;opacity:0;color:#433329;background:#34241d;position:absolute;inset:0;overflow:hidden}.research-transition[aria-hidden=false]{pointer-events:auto}.research-transition__content{opacity:0;pointer-events:auto;width:100%;min-height:100%}.research-workspace{color:#433329;background:linear-gradient(90deg,#0000 0 7.5%,#7a53340e 7.55% 7.65%,#0000 7.7%),repeating-linear-gradient(0deg,#5b412b09 0 1px,#0000 1px 31px),#eee5d3;place-items:center;min-height:100svh;padding:clamp(88px,12vw,150px) clamp(24px,7vw,112px);font-family:Avenir,Avenir Next,PingFang SC,sans-serif;display:grid;position:relative;overflow:hidden}.research-workspace:after{content:"";pointer-events:none;background-image:repeating-linear-gradient(113deg,#ffffff0b 0 1px,#0000 1px 5px);position:absolute;inset:0}.research-workspace__back{z-index:2;color:#5e493b;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:9px 4px;font:600 14px/1 Avenir,Avenir Next,PingFang SC,sans-serif;display:inline-flex;position:absolute;top:clamp(22px,4vw,52px);left:clamp(22px,5vw,76px)}.research-workspace__back span{font-size:20px;line-height:.8;transition:transform .18s}.research-workspace__back:hover span{transform:translate(-3px)}.research-workspace__back:focus-visible{outline-offset:5px;outline:2px solid #8a684e}.research-workspace__intro{z-index:1;text-align:center;width:min(100%,760px);position:relative}.research-workspace__intro h1{letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,Songti SC,serif;font-size:clamp(42px,7vw,92px);font-weight:400;line-height:.98}.research-workspace__placeholder{gap:15px;width:min(82%,520px);margin:clamp(42px,7vw,80px) auto 0;display:grid}.research-workspace__placeholder i{background:#573d2a33;height:1px;display:block}.research-workspace__placeholder i:nth-child(2){width:86%}.research-workspace__placeholder i:nth-child(3){width:64%}.about-transition{z-index:32;visibility:hidden;pointer-events:none;opacity:0;color:#332b28;background:#211b1a;position:absolute;inset:0;overflow:hidden}.about-transition[aria-hidden=false]{pointer-events:auto;overflow-y:auto}.about-transition__content{opacity:0;pointer-events:auto;width:100%;min-height:100%}.about-workspace{--about-paper:#eee6d5;--about-ink:#171319;--about-purple:#332447;--about-plum:#6b3f78;--about-gold:#b89a61;min-height:100svh;color:var(--about-ink);background:linear-gradient(92deg, #fff3, transparent 48%), var(--about-paper);padding:0;font-family:Avenir,Avenir Next,PingFang SC,sans-serif;position:relative;overflow:hidden}.about-workspace:after{z-index:4;content:"";pointer-events:none;background-image:repeating-linear-gradient(103deg,#32242d07 0 1px,#0000 1px 7px);position:absolute;inset:0}.about-workspace__back{z-index:6;color:var(--about-paper);cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:9px 4px;font:600 14px/1 Avenir,Avenir Next,PingFang SC,sans-serif;display:inline-flex;position:absolute;top:clamp(20px,3vw,42px);left:clamp(20px,3.5vw,56px)}.about-workspace__back span{font-size:20px;line-height:.8;transition:transform .18s}.about-workspace__back:hover span{transform:translate(-3px)}.about-workspace__back:focus-visible{outline:2px solid var(--about-gold);outline-offset:5px}.about-hero{grid-template-columns:minmax(0,45fr) minmax(0,55fr);min-height:100svh;display:grid;position:relative}.about-portrait{z-index:1;isolation:isolate;place-items:end center;min-width:0;min-height:100svh;display:grid;position:relative}.about-portrait__background{z-index:-1;clip-path:polygon(0 0,93% 0,100% 34%,90% 100%,0 100%);background:#170d22;position:absolute;inset:0 -8% 0 0;overflow:hidden}.about-portrait__background-art{pointer-events:none;background:linear-gradient(92deg,#0c061229,#0000 42%,#0c06125c),url(/assets/about/jojo-background.webp) 16%/auto 118% no-repeat,#170d22;position:absolute;inset:-8px}.about-portrait__background-art:before{content:"";pointer-events:none;background:radial-gradient(at 52% 47%,#0000 18%,#0c06121a 56%,#0c06126b 100%),linear-gradient(90deg,#0c061233,#0000 28% 76%,#0c06123d);position:absolute;inset:0}.about-portrait__effects{pointer-events:none;position:absolute;inset:0;overflow:hidden}.about-portrait__effects--rear{z-index:1}.about-portrait__effects--front{z-index:3}.about-portrait__aura,.about-portrait__speed-lines{opacity:0;pointer-events:none;transform-origin:50% 52%;visibility:hidden;will-change:transform, opacity;position:absolute;inset:-2%}.about-portrait__glyph{color:#f7f3ea;letter-spacing:-.16em;text-shadow:3px 4px #09070deb,7px 9px 10px #1e112675;-webkit-text-stroke:2px #09070d;writing-mode:vertical-rl;will-change:transform, opacity;font-family:Impact,Arial Black,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;font-size:clamp(35px,4vw,68px);font-weight:900;line-height:.72;position:absolute}.about-portrait__glyph--one{top:27%;left:24%}.about-portrait__glyph--two{top:30%;right:18%}.about-portrait__glyph--three{font-size:clamp(31px,3.5vw,60px);top:47%;left:19%}.about-portrait__glyph--four{font-size:clamp(30px,3.35vw,57px);top:51%;right:13%}.about-portrait__glyph--five{font-size:clamp(28px,3.1vw,53px);top:38%;left:30%}.about-portrait__glyph--six{font-size:clamp(27px,3vw,51px);top:50%;right:22%}.about-portrait__aura--rear .about-portrait__glyph{filter:saturate(.86)}.about-portrait__aura--front .about-portrait__glyph{text-shadow:3px 4px #09070d,6px 8px 9px #1e112685}.about-portrait__speed-lines i{clip-path:polygon(0 35%,100% 0,100% 100%,0 65%);transform-origin:0;background:linear-gradient(90deg,#0000 0 20%,#0e0912c7 46% 72%,#5c3f6942);width:clamp(88px,14vw,210px);height:3px;position:absolute;top:50%;left:51%}.about-portrait__speed-lines i:first-child{transform:rotate(-157deg)translate(56px)scaleX(.72)}.about-portrait__speed-lines i:nth-child(2){transform:rotate(-126deg)translate(72px)scaleX(.9)}.about-portrait__speed-lines i:nth-child(3){transform:rotate(-78deg)translate(68px)scaleX(.64)}.about-portrait__speed-lines i:nth-child(4){transform:rotate(-30deg)translate(76px)scaleX(.84)}.about-portrait__speed-lines i:nth-child(5){transform:rotate(18deg)translate(72px)scaleX(.68)}.about-portrait__speed-lines i:nth-child(6){transform:rotate(57deg)translate(58px)scaleX(.92)}.about-portrait__speed-lines i:nth-child(7){transform:rotate(109deg)translate(74px)scaleX(.76)}.about-portrait__speed-lines i:nth-child(8){transform:rotate(151deg)translate(62px)scaleX(.86)}.about-portrait__character{z-index:2;object-fit:contain;object-position:center bottom;filter:drop-shadow(14px 12px #0e0a1357);width:min(88%,660px);max-width:100%;height:min(94svh,980px);max-height:calc(100svh - 24px);display:block;position:relative}.about-profile{z-index:3;flex-direction:column;justify-content:center;min-width:0;max-width:820px;min-height:100svh;padding:clamp(100px,11vh,152px) clamp(42px,7vw,122px) clamp(56px,7vh,92px) clamp(58px,7vw,118px);display:flex;position:relative}.about-profile:before{background:var(--about-purple);width:clamp(64px,8vw,118px);height:6px;box-shadow:0 11px 0 var(--about-gold);content:"";position:absolute;top:9%;right:8%}.about-profile__heading{position:relative}.about-profile__section{color:var(--about-plum);margin:0 0 clamp(20px,3vh,34px);font-family:Georgia,Times New Roman,Songti SC,serif;font-size:clamp(15px,1.35vw,20px);font-style:italic;font-weight:700}.about-profile__heading h1{letter-spacing:-.055em;text-transform:uppercase;text-wrap:balance;max-width:8ch;margin:0;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:clamp(74px,9.2vw,154px);font-weight:900;line-height:.78}.about-profile__rule{background:var(--about-ink);width:min(100%,540px);height:4px;margin:clamp(34px,5vh,54px) 0 clamp(24px,3.7vh,40px);box-shadow:0 7px #6b3f785c}.about-profile__roles{gap:8px;display:grid}.about-profile__roles p{margin:0;font-size:clamp(16px,1.35vw,21px);font-weight:650;line-height:1.25}.about-profile blockquote{color:var(--about-purple);margin:clamp(32px,5vh,58px) 0 clamp(34px,5vh,56px);font-family:Georgia,Times New Roman,serif;font-size:clamp(20px,2vw,31px);font-style:italic;font-weight:700;line-height:1.24;position:relative}.about-profile blockquote span{color:var(--about-gold);font-size:1.35em;line-height:0}.about-profile__links{letter-spacing:.08em;align-items:center;gap:15px;font-size:13px;font-weight:800;display:flex;position:relative}.about-profile__links a{color:var(--about-ink);text-decoration:none}.about-profile__links a,.about-profile__red-note-trigger{position:relative}.about-profile__links a:after,.about-profile__red-note-trigger:after{background:var(--about-plum);content:"";transform-origin:0;height:2px;transition:transform .18s;position:absolute;bottom:-5px;left:0;right:0;transform:scaleX(0)}.about-profile__links a:hover:after,.about-profile__links a:focus-visible:after,.about-profile__red-note-trigger:hover:after,.about-profile__red-note-trigger:focus-visible:after,.about-profile__red-note-trigger[aria-expanded=true]:after{transform:scaleX(1)}.about-profile__links a:focus-visible,.about-profile__red-note-trigger:focus-visible{outline:2px solid var(--about-gold);outline-offset:6px}.about-profile__links i{background:var(--about-plum);width:28px;height:2px}.about-profile__red-note{position:relative}.about-profile__red-note-trigger{color:var(--about-ink);font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:8px;padding:0;display:inline-flex}.about-profile__red-note-trigger small{color:var(--about-plum);letter-spacing:.03em;font-size:.82em;font-weight:800}.about-profile__qr-popover{z-index:8;box-sizing:border-box;border:3px solid var(--about-ink);width:268px;color:var(--about-ink);box-shadow:9px 9px 0 var(--about-purple), 13px 13px 0 #17131933;opacity:0;pointer-events:none;transform-origin:88% 100%;visibility:hidden;will-change:transform, opacity;background:#f7f3ea;padding:15px 15px 13px;position:absolute;bottom:calc(100% + 22px);right:-18px}.about-profile__qr-popover[aria-hidden=false]{pointer-events:auto}.about-profile__qr-popover:after{border-right:3px solid var(--about-ink);border-bottom:3px solid var(--about-ink);content:"";background:#f7f3ea;width:20px;height:20px;position:absolute;bottom:-13px;right:24px;transform:rotate(45deg)}.about-profile__qr-heading{letter-spacing:.035em;text-transform:uppercase;justify-content:space-between;align-items:baseline;margin-bottom:10px;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;display:flex}.about-profile__qr-heading strong{font-size:22px;font-weight:900}.about-profile__qr-heading span{color:var(--about-plum);text-transform:none;font-family:Avenir,Avenir Next,sans-serif;font-size:11px;font-weight:800}.about-profile__qr-image-window{box-sizing:border-box;border:2px solid var(--about-ink);background:#fff;width:232px;height:232px;position:relative;overflow:hidden}.about-profile__qr-image-window img{width:987px;max-width:none;height:1347px;display:block;position:absolute;top:-1032px;left:-674px}.about-profile__qr-popover p{color:var(--about-purple);letter-spacing:.01em;text-align:center;margin:10px 0 0;font-family:Georgia,Times New Roman,serif;font-size:13px;font-style:italic;font-weight:700}@media (width<=800px){.about-hero{grid-template-columns:minmax(0,1fr);min-height:auto}.about-portrait{min-height:min(760px,78svh)}.about-portrait__background{clip-path:polygon(0 0,100% 0,100% 88%,62% 100%,0 93%);inset:0}.about-portrait__background-art{background-position:50%,18%,50%;background-size:cover,auto 124%,auto}.about-portrait__character{width:min(86%,500px);height:min(73svh,720px);max-height:calc(78svh - 16px)}.about-portrait__effects{display:none}.about-profile{max-width:none;min-height:auto;padding:clamp(72px,12vw,106px) clamp(24px,8vw,58px) clamp(64px,12vw,100px)}.about-profile:before{top:36px;right:clamp(24px,8vw,58px)}.about-profile__heading h1{max-width:7ch;font-size:clamp(68px,20vw,116px)}.about-profile__rule{width:100%}.about-profile__qr-popover{width:268px;left:0;right:auto}.about-profile__red-note{position:static}}@media (width<=440px){.about-workspace__back{top:16px;left:18px}.about-portrait{min-height:min(670px,74svh)}.about-portrait__character{width:92%;height:min(69svh,650px);max-height:calc(74svh - 12px)}.about-profile__heading h1{font-size:clamp(62px,22vw,92px)}.about-profile__links{flex-wrap:wrap;row-gap:18px}.about-profile blockquote{max-width:14ch}}@media (height<=650px) and (width>=801px){.about-profile{padding-top:72px;padding-bottom:38px}.about-profile__section{margin-bottom:18px}.about-profile__rule{margin-block:20px 22px}.about-profile blockquote{margin-block:24px 26px}}.room[data-phase^=notebook],.room[data-phase=blog],.room[data-phase^=research],.room[data-phase^=about]{overflow:clip}.blog-shell{--blog-ink:#432a1d;--blog-muted:#7f6652;--blog-accent:#a66f2b;--blog-line:#7452363d;width:100%;min-height:100svh;color:var(--blog-ink);pointer-events:auto;padding-bottom:clamp(54px,9vw,132px);font-family:Avenir,Avenir Next,PingFang SC,sans-serif;position:relative}.blog-shell button,.blog-shell input{font:inherit}.blog-header{z-index:4;pointer-events:auto;justify-content:space-between;align-items:center;width:100%;padding:clamp(26px,4vw,54px) clamp(28px,5vw,78px) 16px;display:inline-flex;position:relative}.blog-brand,.blog-header__actions button,.blog-category__back,.blog-breadcrumbs button,.blog-directory-trail button,.blog-folder-row,.blog-section-card,.blog-note-row,.blog-search-layer,.blog-reader-notice{pointer-events:auto}.blog-brand{color:var(--blog-ink);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:13px;padding:0;display:inline-flex}.blog-brand__mark{fill:#b2772aa8;width:35px;height:42px;stroke:var(--blog-accent);stroke-width:1.05px;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.blog-brand__copy{gap:4px;display:grid}.blog-brand__copy strong{font-family:var(--blog-serif);letter-spacing:-.02em;font-size:clamp(26px,2.35vw,38px);font-weight:400;line-height:1}.blog-brand__copy small{color:#603a25ad;font-family:var(--blog-serif);letter-spacing:.31em;text-transform:uppercase;font-size:9px}.blog-header__actions{pointer-events:none;align-items:center;gap:clamp(15px,2vw,27px);display:inline-flex}.blog-header__actions>i{background:var(--blog-line);width:1px;height:28px}.blog-header__actions button{min-height:44px;color:var(--blog-ink);cursor:pointer;font-family:var(--blog-serif);background:0 0;border:0;align-items:center;gap:9px;padding:7px 2px;font-size:15px;display:inline-flex}.blog-header__actions svg{fill:none;stroke:currentColor;stroke-width:1.45px;stroke-linecap:round;width:20px;height:20px}.blog-header__back-arrow{font-size:20px;transition:transform .18s;display:inline-block}.blog-header__actions button:hover .blog-header__back-arrow,.blog-header__actions button:focus-visible .blog-header__back-arrow{transform:translate(-3px)}.blog-brand:focus-visible,.blog-header__actions button:focus-visible,.blog-category__back:focus-visible,.blog-breadcrumbs button:focus-visible,.blog-directory-trail button:focus-visible,.blog-folder-row:focus-visible,.blog-section-card:focus-visible,.blog-note-row:focus-visible,.blog-search button:focus-visible,.blog-search input:focus-visible,.blog-reader-notice button:focus-visible,.blog-graph button:focus-visible,.blog-graph input:focus-visible,.blog-graph select:focus-visible,.blog-related button:focus-visible,.blog-related summary:focus-visible{outline:none;box-shadow:0 0 0 2px #744c2d57}.blog-page{z-index:1;pointer-events:auto;width:min(1440px,100% - clamp(56px,10vw,156px));margin:0 auto;position:relative}.blog-hero{border-bottom:1px solid var(--blog-line);text-align:center;align-content:center;place-items:center;min-height:clamp(300px,37vw,510px);padding:54px 20px 60px;display:grid;position:relative}.blog-hero h1,.blog-category__hero h1{font-family:var(--blog-serif);letter-spacing:-.035em;margin:0;font-size:clamp(52px,6.3vw,100px);font-weight:400;line-height:.98}.blog-hero>p{font-family:var(--blog-serif);letter-spacing:.025em;margin:18px 0 0;font-size:clamp(20px,2.1vw,31px)}.blog-hero>small{color:var(--blog-muted);font-family:var(--blog-serif);letter-spacing:.06em;margin-top:14px;font-size:clamp(13px,1.15vw,17px)}.blog-hero__birds{color:#432a1db8;font-family:var(--blog-serif);font-size:24px;position:absolute;top:47%;left:11%;transform:rotate(-7deg)}.blog-explore,.blog-selected{padding-top:clamp(34px,4.6vw,66px)}.blog-section-heading{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:24px;display:flex}.blog-section-heading h2{font-family:var(--blog-serif);letter-spacing:.035em;text-transform:uppercase;margin:0;font-size:clamp(23px,2vw,33px);font-weight:400}.blog-section-heading p{color:var(--blog-muted);font-family:var(--blog-serif);margin:0;font-size:15px}.blog-section-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.25vw,22px);display:grid}.blog-section-card{min-width:0;color:var(--blog-ink);cursor:pointer;text-align:left;background:#fff9ed4a;border:1px solid #7e583740;border-radius:11px;padding:0;transition:transform .26s cubic-bezier(.2,.7,.2,1),border-color .22s,box-shadow .26s;position:relative;overflow:hidden;box-shadow:0 8px 22px #58361f06}.blog-section-card:hover,.blog-section-card:focus-visible{border-color:#89572a70;transform:translateY(-5px);box-shadow:0 16px 34px #58361f17}.blog-section-card__image{aspect-ratio:1.32;background:#efe3cd;border-bottom:1px solid #7e58372e;display:block;overflow:hidden}.blog-section-card__image img{object-fit:cover;object-position:50% 58%;filter:saturate(.86)contrast(.96);width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1);display:block}.blog-section-card:hover img,.blog-section-card:focus-visible img{transform:scale(1.022)}.blog-section-card__body{flex-direction:column;min-height:264px;padding:clamp(18px,1.8vw,27px);display:flex;position:relative}.blog-section-card__index{font-family:var(--blog-serif);font-size:24px}.blog-section-card__body>strong{font-family:var(--blog-serif);margin-top:5px;font-size:clamp(20px,1.7vw,28px);font-weight:400;line-height:1.08}.blog-section-card__count{color:var(--blog-muted);font-family:var(--blog-serif);margin-top:9px;font-size:14px}.blog-section-card__description{color:#4b3122bf;font-family:var(--blog-serif);margin-top:17px;font-size:14px;line-height:1.7;display:block}.blog-section-card__keywords{flex-wrap:wrap;gap:5px;margin-top:auto;padding-top:18px;display:flex}.blog-section-card__keywords i,.blog-chip{color:#6f4c31;text-overflow:ellipsis;white-space:nowrap;background:#d5ac6c38;border-radius:5px;justify-content:center;align-items:center;min-width:0;max-width:100%;min-height:23px;padding:3px 9px;font-size:10px;font-style:normal;display:inline-flex;overflow:hidden}.blog-note-row .blog-chip{text-align:center;justify-self:start;width:fit-content}.blog-section-card__action{border:1px solid #7e522e73;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;bottom:17px;right:18px}.blog-arrow{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;transition:transform .2s}.blog-arrow--left{transform:scaleX(-1)}.blog-section-card:hover .blog-arrow,.blog-section-card:focus-visible .blog-arrow{transform:translate(3px)}.blog-selected{border-top:1px solid var(--blog-line);margin-top:clamp(36px,5vw,72px)}.blog-selected__list,.blog-category__notes{border-top:1px solid var(--blog-line)}.blog-note-row{border:0;border-bottom:1px solid var(--blog-line);width:100%;min-height:78px;color:var(--blog-ink);cursor:pointer;text-align:left;background:0 0;grid-template-columns:36px 68px minmax(0,1fr) auto 20px;align-items:center;gap:15px;padding:12px 5px;transition:color .18s,background .18s,padding .22s;display:grid}.blog-note-row:hover,.blog-note-row:focus-visible{color:#7d4b21;background:#fff9ed3d;padding-left:12px;padding-right:12px}.blog-note-row__index,.blog-note-row time{color:var(--blog-muted);font-family:var(--blog-serif);font-size:12px}.blog-note-row__copy{grid-template-columns:minmax(220px,.75fr) minmax(260px,1.25fr);align-items:baseline;gap:26px;min-width:0;display:grid}.blog-note-row__copy strong{font-family:var(--blog-serif);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:400;overflow:hidden}.blog-note-row__copy small{color:var(--blog-muted);font-family:var(--blog-serif);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.blog-note-row__arrow{font-family:var(--blog-serif);font-size:18px;transition:transform .18s}.blog-note-row:hover .blog-note-row__arrow,.blog-note-row:focus-visible .blog-note-row__arrow{transform:translate(2px,-2px)}.blog-category{padding-top:22px}.blog-category__back{min-height:44px;color:var(--blog-ink);cursor:pointer;font-family:var(--blog-serif);background:0 0;border:0;align-items:center;gap:8px;padding:6px 3px;font-size:15px;display:inline-flex}.blog-category__back:hover .blog-arrow--left,.blog-category__back:focus-visible .blog-arrow--left{transform:scaleX(-1)translate(3px)}.blog-breadcrumbs{min-height:26px;color:var(--blog-muted);font-family:var(--blog-serif);flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font-size:12px;display:flex}.blog-breadcrumbs span{align-items:center;gap:6px;display:inline-flex}.blog-breadcrumbs i{color:#7452366b;font-style:normal}.blog-breadcrumbs button{color:inherit;cursor:pointer;background:0 0;border:0;padding:3px 1px}.blog-breadcrumbs button:hover,.blog-breadcrumbs button:focus-visible{color:var(--blog-accent)}.blog-breadcrumbs strong{color:var(--blog-ink);font-weight:400}.blog-category__hero{text-align:center;place-items:center;padding:clamp(26px,4vw,58px) 20px clamp(34px,5vw,66px);display:grid}.blog-category__hero>span{color:var(--blog-accent);font-family:var(--blog-serif);margin-bottom:7px;font-size:15px}.blog-category__hero h1{font-size:clamp(44px,5vw,78px)}.blog-category__hero p{color:var(--blog-muted);font-family:var(--blog-serif);align-items:center;gap:10px;margin:14px 0 0;font-size:13px;display:flex}.blog-category__hero p i{background:currentColor;border-radius:50%;width:3px;height:3px}.blog-category__layout{border-top:1px solid var(--blog-line);grid-template-columns:minmax(180px,225px) minmax(0,1fr);align-items:start;gap:clamp(38px,6vw,92px);padding-top:24px;display:grid}.blog-directory-trail{border:1px solid var(--blog-line);background:#fff9ed2e;border-radius:10px;gap:10px;padding:16px 13px 13px;display:grid}.blog-directory-trail>p{color:var(--blog-muted);font-family:var(--blog-serif);letter-spacing:.08em;margin:0 10px 3px;font-size:10px}.blog-directory-trail ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.blog-directory-trail li{position:relative}.blog-directory-trail li+li{padding-left:13px}.blog-directory-trail li+li:before{content:"";background:#74523638;width:1px;position:absolute;top:-5px;bottom:50%;left:5px}.blog-directory-trail button{width:100%;min-height:38px;color:var(--blog-ink);cursor:pointer;font-family:var(--blog-serif);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:5px 10px;font-size:13px;display:flex}.blog-directory-trail button.is-current{background:#deb87940;border-radius:7px}.blog-directory-trail small{color:var(--blog-muted);font-size:10px}.blog-directory{gap:clamp(30px,4vw,52px);min-width:0;display:grid}.blog-directory__section{min-width:0}.blog-directory__heading{min-height:35px;color:var(--blog-muted);font-family:var(--blog-serif);border-bottom:1px solid var(--blog-line);justify-content:space-between;align-items:baseline;padding:0 4px 10px;display:flex}.blog-directory__heading h2{color:var(--blog-ink);letter-spacing:.03em;margin:0;font-size:15px;font-weight:400}.blog-directory__heading span{font-size:11px}.blog-folder-list{border-bottom:1px solid var(--blog-line)}.blog-folder-row{border:0;border-bottom:1px solid var(--blog-line);width:100%;min-height:76px;color:var(--blog-ink);cursor:pointer;text-align:left;background:0 0;grid-template-columns:34px 36px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:11px 5px;transition:color .18s,background .18s,padding .22s;display:grid}.blog-folder-row:last-child{border-bottom:0}.blog-folder-row:hover,.blog-folder-row:focus-visible{color:#7d4b21;background:#fff9ed3d;padding-left:12px;padding-right:12px}.blog-folder-row__index{color:var(--blog-muted);font-family:var(--blog-serif);font-size:12px}.blog-folder-row__mark{background:#d7af6f33;border:1px solid #875b3180;border-radius:2px 3px 3px;width:25px;height:18px;position:relative}.blog-folder-row__mark:before{content:"";background:#d7af6f33;border:1px solid #875b3180;border-bottom:0;border-radius:2px 2px 0 0;width:10px;height:5px;position:absolute;top:-5px;left:2px}.blog-folder-row__copy{gap:4px;min-width:0;display:grid}.blog-folder-row__copy strong{font-family:var(--blog-serif);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:400;overflow:hidden}.blog-folder-row__copy small{color:var(--blog-muted);font-family:var(--blog-serif);font-size:11px}.blog-folder-row:hover .blog-arrow,.blog-folder-row:focus-visible .blog-arrow{transform:translate(3px)}.blog-category__notes .blog-note-row{grid-template-columns:34px minmax(96px,150px) minmax(0,1fr) auto 20px}.blog-category__notes .blog-note-row__copy{display:block}.blog-category__notes .blog-note-row__copy strong{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;line-height:1.45;display:block;overflow:visible}.blog-category__notes .blog-note-row__copy small{display:none}.blog-search-layer{z-index:20;-webkit-backdrop-filter:blur(8px)saturate(.72);backdrop-filter:blur(8px)saturate(.72);background:#533a2738;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.blog-search{background:#fffaf0f5;border:1px solid #714c2e4d;border-radius:11px;width:min(650px,100%);overflow:hidden;box-shadow:0 25px 90px #4b2e193d}.blog-search__field{border-bottom:1px solid var(--blog-line);grid-template-columns:24px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:15px 18px;display:grid}.blog-search__field>svg{fill:none;width:22px;height:22px;stroke:var(--blog-ink);stroke-width:1.4px;stroke-linecap:round}.blog-search input{width:100%;color:var(--blog-ink);font-family:var(--blog-serif);background:0 0;border:0;outline:0;font-size:18px}.blog-search input::placeholder{color:#563e2e7a}.blog-search__clear,.blog-search__close{min-height:36px;color:var(--blog-muted);cursor:pointer;background:0 0;border:0;padding:5px 8px}.blog-search__close{color:var(--blog-ink);font-family:var(--blog-serif);font-size:24px}.blog-search__results{max-height:min(54vh,470px);padding:10px 18px 18px;overflow-y:auto}.blog-search__results>p{color:var(--blog-muted);font-family:var(--blog-serif);margin:5px 0 4px;font-size:12px}.blog-search__results>button{width:100%;min-height:52px;color:var(--blog-ink);cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #74523621;grid-template-columns:78px minmax(0,1fr) auto 18px;align-items:center;gap:12px;padding:8px 0;transition:padding .18s,color .18s;display:grid}.blog-search__results>button:hover,.blog-search__results>button:focus-visible{color:#7d4b21;padding-left:7px;padding-right:7px}.blog-search__results strong{font-family:var(--blog-serif);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:400;overflow:hidden}.blog-search__results small{color:var(--blog-muted);font-size:10px}.blog-search__empty{min-height:150px;color:var(--blog-muted);font-family:var(--blog-serif);place-items:center;font-size:14px;display:grid}.blog-reader-notice{z-index:18;background:#fff9edf2;border:1px solid #6f492b4d;border-radius:9px;align-items:center;gap:20px;width:min(440px,100% - 36px);padding:14px 15px 14px 19px;display:flex;position:fixed;bottom:clamp(18px,3vw,42px);right:clamp(18px,3vw,42px);box-shadow:0 16px 48px #4b2e1929}.blog-reader-notice>span{gap:4px;min-width:0;display:grid}.blog-reader-notice small{color:var(--blog-accent);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.blog-reader-notice strong{font-family:var(--blog-serif);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:400;overflow:hidden}.blog-reader-notice button{width:34px;height:34px;color:var(--blog-ink);cursor:pointer;font-family:var(--blog-serif);background:0 0;border:0;flex:none;font-size:22px}.blog-reader{width:min(1320px,100% - clamp(48px,8vw,132px));padding-top:22px}.blog-reader__progress{z-index:12;pointer-events:none;background:#74523614;height:3px;position:fixed;top:0;left:0;right:0;overflow:hidden}.blog-reader__progress span{transform-origin:0;background:#a66f2b;width:100%;height:100%;transition:transform 90ms linear;display:block}.blog-reader__back{min-height:44px;color:var(--blog-ink);cursor:pointer;font-family:var(--blog-serif);background:0 0;border:0;align-items:center;gap:9px;padding:5px 2px;font-size:15px;display:inline-flex}.blog-reader__back>span{font-size:19px;transition:transform .18s;display:inline-block}.blog-reader__back:hover>span,.blog-reader__back:focus-visible>span{transform:translate(-3px)}.blog-reader__back:focus-visible,.blog-reader-toc button:focus-visible,.blog-reader__neighbors button:focus-visible,.blog-reader__error button:focus-visible,.blog-prose a:focus-visible,.blog-prose pre:focus-visible,.blog-prose__table:focus-visible{outline:none;box-shadow:0 0 0 2px #744c2d57}.blog-reader__hero{text-align:center;width:min(890px,100%);margin:0 auto;padding:clamp(42px,6vw,82px) 0 clamp(44px,6vw,76px)}.blog-reader__breadcrumb{color:var(--blog-accent);font-family:var(--blog-serif);flex-wrap:wrap;justify-content:center;gap:7px 18px;margin:0 0 22px;font-size:12px;display:flex}.blog-reader__breadcrumb span+span{position:relative}.blog-reader__breadcrumb span+span:before{content:"/";color:#7f665299;position:absolute;left:-11px}.blog-reader__hero h1{text-wrap:balance;font-family:var(--blog-serif);letter-spacing:-.025em;margin:0;font-size:clamp(42px,5.2vw,76px);font-weight:400;line-height:1.08}.blog-reader__summary{color:#4b3122b8;width:min(710px,100%);font-family:var(--blog-serif);margin:24px auto 0;font-size:clamp(15px,1.35vw,18px);line-height:1.75}.blog-reader__meta{color:var(--blog-muted);flex-wrap:wrap;justify-content:center;gap:8px 22px;margin-top:24px;font-size:11px;display:flex}.blog-reader__meta span+span,.blog-reader__meta time{position:relative}.blog-reader__meta span+span:before,.blog-reader__meta time:before{content:"";background:currentColor;border-radius:50%;width:3px;height:3px;position:absolute;top:50%;left:-13px;transform:translateY(-50%)}.blog-reader__layout{border-top:1px solid var(--blog-line);grid-template-columns:minmax(170px,220px) minmax(0,820px) minmax(30px,1fr);align-items:start;gap:clamp(32px,4.8vw,76px);padding-top:38px;display:grid}.blog-reader__layout>aside{scrollbar-width:thin;max-height:calc(100vh - 60px);position:sticky;top:30px;overflow-y:auto}.blog-reader-toc>span{color:var(--blog-ink);font-family:var(--blog-serif);margin-bottom:15px;font-size:15px;display:block}.blog-reader-toc ol{border-left:1px solid var(--blog-line);gap:3px;margin:0;padding:0 0 0 13px;list-style:none;display:grid}.blog-reader-toc li[data-depth="3"]{padding-left:12px}.blog-reader-toc li[data-depth="4"]{padding-left:24px}.blog-reader-toc button{color:#4b312291;cursor:pointer;width:100%;font-family:var(--blog-serif);text-align:left;text-overflow:ellipsis;background:0 0;border:0;padding:5px 0;font-size:11px;line-height:1.42;transition:color .16s,transform .16s;overflow:hidden}.blog-reader-toc button:hover,.blog-reader-toc button.is-active{color:#7d4b21;transform:translate(3px)}.blog-reader-toc-mobile{display:none}.blog-reader__paper{background:#fff9ed8a;border:1px solid #7e583738;border-radius:12px;min-width:0;overflow:hidden;box-shadow:0 28px 80px #4d301d14}.blog-prose{color:#493225;font-family:var(--blog-serif);overflow-wrap:anywhere;padding:clamp(36px,5.1vw,72px) clamp(30px,5.6vw,76px) clamp(48px,6vw,84px);font-size:17px;line-height:1.88}.blog-prose>:first-child{margin-top:0}.blog-prose>:last-child{margin-bottom:0}.blog-prose h1,.blog-prose h2,.blog-prose h3,.blog-prose h4,.blog-prose h5,.blog-prose h6{color:var(--blog-ink);font-family:var(--blog-serif);scroll-margin-top:34px;font-weight:500;line-height:1.32}.blog-prose h1{margin:0 0 30px;font-size:clamp(31px,3.5vw,45px);font-weight:400}.blog-prose h2{border-bottom:1px solid #74523633;margin:2.8em 0 .9em;padding-bottom:.42em;font-size:clamp(25px,2.6vw,32px)}.blog-prose h3{margin:2.25em 0 .75em;font-size:22px}.blog-prose h4{margin:1.9em 0 .65em;font-size:18px}.blog-prose p,.blog-prose ul,.blog-prose ol,.blog-prose blockquote,.blog-prose pre,.blog-prose__table,.blog-prose .katex-display{margin-top:1.15em;margin-bottom:1.15em}.blog-prose ul,.blog-prose ol{padding-left:1.45em}.blog-prose li+li{margin-top:.34em}.blog-prose li>p{margin-top:.4em;margin-bottom:.4em}.blog-prose a{color:#89531f;text-underline-offset:.2em;text-decoration-color:#89531f52;text-decoration-thickness:1px}.blog-prose a:hover{color:#653910;text-decoration-color:currentColor}.blog-prose blockquote{color:#452e20b8;border-left:3px solid #a66f2b8c;margin-left:0;margin-right:0;padding:.35em 0 .35em 1.2em}.blog-prose blockquote>:first-child{margin-top:0}.blog-prose blockquote>:last-child{margin-bottom:0}.blog-prose code{color:#75431f;background:#dabc8f33;border:1px solid #774f2b21;border-radius:4px;padding:.13em .38em;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.84em}.blog-prose pre{color:#eadfce;overscroll-behavior-inline:contain;background:#332a24;border:1px solid #3b2a2238;border-radius:8px;max-width:100%;padding:21px 23px;line-height:1.62;overflow:auto;box-shadow:inset 0 1px #ffffff0a}.blog-prose pre code{min-width:max-content;color:inherit;background:0 0;border:0;padding:0;font-size:13px;display:block}.blog-prose .hljs-keyword,.blog-prose .hljs-selector-tag,.blog-prose .hljs-literal,.blog-prose .hljs-name{color:#e9a968}.blog-prose .hljs-string,.blog-prose .hljs-attr,.blog-prose .hljs-template-tag,.blog-prose .hljs-template-variable{color:#d9c68b}.blog-prose .hljs-title,.blog-prose .hljs-section,.blog-prose .hljs-type,.blog-prose .hljs-built_in{color:#e8c07a}.blog-prose .hljs-comment,.blog-prose .hljs-quote,.blog-prose .hljs-meta{color:#a79888;font-style:italic}.blog-prose .hljs-number,.blog-prose .hljs-symbol,.blog-prose .hljs-bullet{color:#d79d87}.blog-prose__table{overscroll-behavior-inline:contain;background:#fffcf459;border:1px solid #74523633;border-radius:7px;max-width:100%;overflow-x:auto}.blog-prose table{border-collapse:collapse;width:100%;min-width:560px;font-size:14px;line-height:1.58}.blog-prose th,.blog-prose td{text-align:left;vertical-align:top;border-bottom:1px solid #74523621;border-right:1px solid #74523621;padding:11px 13px}.blog-prose th:last-child,.blog-prose td:last-child{border-right:0}.blog-prose tr:last-child td{border-bottom:0}.blog-prose th{color:var(--blog-ink);background:#d5c1a647;font-weight:600}.blog-prose img{background:#fffcf4b3;border:1px solid #7452362e;border-radius:7px;width:auto;max-width:100%;height:auto;margin:1.8em auto;display:block;box-shadow:0 13px 36px #4b2e191a}.blog-prose hr{background:#74523633;border:0;width:64%;height:1px;margin:3.2em auto}.blog-prose .katex-display{max-width:100%;padding:.6em 0;overflow:auto hidden}.blog-prose input[type=checkbox]{accent-color:var(--blog-accent)}.blog-reader__loading,.blog-reader__error,.blog-reader__empty{min-height:330px;color:var(--blog-muted);text-align:center;align-content:center;place-items:center;display:grid}.blog-reader__loading span{border:1px solid #7e522e47;border-top-color:var(--blog-accent);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite blog-reader-spin}.blog-reader__loading p{margin:13px 0 0;font-size:13px}.blog-reader__error h2{color:var(--blog-ink);margin:0;font-size:25px;font-weight:400}.blog-reader__error p{max-width:500px;margin:10px 0 18px;font-size:13px}.blog-reader__error button{min-height:38px;color:var(--blog-ink);cursor:pointer;background:#fff9ed80;border:1px solid #7e522e59;border-radius:6px;padding:7px 14px}.blog-reader__neighbors{border-top:1px solid var(--blog-line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.blog-reader__neighbors>button{min-width:0;min-height:112px;color:var(--blog-ink);cursor:pointer;text-align:left;background:#e8dcc921;border:0;align-items:center;gap:15px;padding:19px clamp(20px,3vw,34px);display:flex}.blog-reader__neighbors>button+button{border-left:1px solid var(--blog-line);text-align:right;justify-content:flex-end}.blog-reader__neighbors>button:hover{background:#e8dcc94d}.blog-reader__neighbors>button>span[aria-hidden=true]{font-family:var(--blog-serif);flex:none;font-size:22px}.blog-reader__neighbors button>span:not([aria-hidden]){gap:5px;min-width:0;display:grid}.blog-reader__neighbors small{color:var(--blog-muted);font-size:10px}.blog-reader__neighbors strong{font-family:var(--blog-serif);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:400;line-height:1.35;overflow:hidden}.blog-graph{padding-top:12px}.blog-graph__heading{border-bottom:1px solid var(--blog-line);justify-content:space-between;align-items:end;gap:30px;padding:clamp(32px,5vw,66px) 0 26px;display:flex}.blog-graph__heading>div>p,.blog-graph__heading>p{color:var(--blog-muted);font-family:var(--blog-serif);margin:0;font-size:12px}.blog-graph__heading>div>p{color:var(--blog-accent);letter-spacing:.06em;margin-bottom:8px}.blog-graph__heading h1{font-family:var(--blog-serif);letter-spacing:-.035em;margin:0;font-size:clamp(44px,5.7vw,78px);font-weight:400;line-height:1}.blog-graph__heading>p{white-space:nowrap;padding-bottom:6px}.blog-graph__frame{isolation:isolate;background:#fff9ed57;border:1px solid #7e58373d;border-radius:12px;min-height:660px;margin-top:26px;position:relative;overflow:hidden;box-shadow:0 25px 70px #4d301d12}.blog-graph__frame:before{z-index:-1;content:"";pointer-events:none;background:radial-gradient(circle at 18% 22%,#a66f2b0f,#0000 30%),radial-gradient(circle at 82% 72%,#7880670e,#0000 32%);position:absolute;inset:0}.blog-graph__toolbar{z-index:3;gap:8px;max-width:calc(100% - 36px);display:flex;position:absolute;top:18px;left:18px}.blog-graph__search input,.blog-graph__filter select,.blog-graph__zoom button{min-height:39px;color:var(--blog-ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f9f4eae6;border:1px solid #7e583742;box-shadow:0 5px 18px #472b190a}.blog-graph__search input{border-radius:7px;width:clamp(190px,23vw,300px);padding:8px 13px;font-size:12px}.blog-graph__search input::placeholder{color:#7f6652b3}.blog-graph__filter select{cursor:pointer;border-radius:7px;max-width:180px;padding:7px 30px 7px 11px;font-size:11px}.blog-graph__zoom{display:flex}.blog-graph__zoom button{cursor:pointer;min-width:38px;font-family:var(--blog-serif);border-right-width:0;padding:5px 10px;font-size:12px}.blog-graph__zoom button:first-child{border-radius:7px 0 0 7px}.blog-graph__zoom button:last-child{border-right-width:1px;border-radius:0 7px 7px 0}.blog-graph__zoom button:hover,.blog-graph__filter select:hover{background:#fff9edfa}.blog-graph__results{z-index:4;background:#f9f4eaf7;border:1px solid #7e583740;border-radius:8px;width:clamp(260px,34vw,430px);max-height:290px;display:grid;position:absolute;top:63px;left:18px;overflow-y:auto;box-shadow:0 16px 38px #472b191f}.blog-graph__results button{color:var(--blog-ink);cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #7e583721;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.blog-graph__results button:last-child{border-bottom:0}.blog-graph__results button:hover{background:#e8dcc947}.blog-graph__results span{font-family:var(--blog-serif);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.blog-graph__results small{color:var(--blog-muted);font-size:9px}.blog-graph__canvas{cursor:grab;touch-action:none;width:100%;height:clamp(660px,72svh,900px);display:block}.blog-graph__canvas:active{cursor:grabbing}.blog-graph__canvas.is-node-hovered{cursor:pointer}.blog-graph__legend{z-index:2;max-width:calc(100% - 250px);color:var(--blog-muted);pointer-events:none;background:#f9f4ead6;border:1px solid #7e58372e;border-radius:7px;flex-wrap:wrap;gap:8px 16px;padding:8px 11px;font-size:9px;display:flex;position:absolute;bottom:16px;left:18px}.blog-graph__legend span{align-items:center;gap:6px;display:inline-flex}.blog-graph__legend i{border:1px solid #9d6b35;border-radius:50%;width:9px;height:9px;display:block}.blog-graph__legend i.is-directory{background:#f4f0e8}.blog-graph__legend i.is-note{background:#9d6b35}.blog-graph__legend b{background:#89531f9e;width:21px;height:1px;display:block}.blog-graph__legend b.is-directory-edge{background:repeating-linear-gradient(90deg,#7e583773 0 3px,#0000 3px 6px)}.blog-graph__instructions{color:#7f6652b8;font-family:var(--blog-serif);pointer-events:none;margin:0;font-size:9px;position:absolute;bottom:18px;right:18px}.blog-graph__selection{z-index:3;background:#f9f4eaf0;border:1px solid #7e58373d;border-radius:8px;gap:5px;width:min(280px,100% - 36px);padding:14px;display:grid;position:absolute;top:72px;right:18px;box-shadow:0 14px 34px #472b191a}.blog-graph__selection>span{color:var(--blog-accent);font-size:9px}.blog-graph__selection strong{font-family:var(--blog-serif);font-size:16px;font-weight:400;line-height:1.32}.blog-graph__selection button{color:#7d4b21;cursor:pointer;font-family:var(--blog-serif);background:0 0;border:0;justify-self:start;margin-top:5px;padding:4px 0;font-size:11px}.blog-graph__selection>small{color:var(--blog-muted);font-family:var(--blog-serif);margin-top:4px;font-size:10px}.blog-related{border-top:1px solid var(--blog-line);background:#e8dcc914}.blog-related>summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:18px;min-height:94px;padding:19px clamp(20px,3vw,34px);list-style:none;display:grid}.blog-related>summary::-webkit-details-marker{display:none}.blog-related>summary>span:first-child{gap:4px;display:grid}.blog-related>summary small,.blog-related>summary>span:nth-child(2){color:var(--blog-muted);font-size:10px}.blog-related>summary strong{font-family:var(--blog-serif);font-size:19px;font-weight:400}.blog-related>summary i{color:var(--blog-accent);font-family:var(--blog-serif);font-size:24px;font-style:normal;transition:transform .18s}.blog-related[open]>summary i{transform:rotate(45deg)}.blog-related__content{padding:0 clamp(20px,3vw,34px) 28px}.blog-related__map{border-top:1px solid #7e583726;border-bottom:1px solid #7e583726;height:250px;overflow:hidden}.blog-related__map svg{width:100%;height:100%;display:block}.blog-related__map line{stroke:#89531f5c;stroke-width:1.5px}.blog-related__map line.is-incoming{stroke-dasharray:4 5}.blog-related__map line.is-mutual{stroke:#78461fb3;stroke-width:2.2px}.blog-related__map>svg>circle{fill:#f4f0e8;stroke:#9d6b35;stroke-width:2px}.blog-related__map text{fill:#432a1dc4;max-width:130px;font-family:var(--blog-serif);text-anchor:middle;font-size:12px}.blog-related__map text.is-current{fill:var(--blog-accent);font-size:11px}.blog-related__list{border-top:1px solid var(--blog-line);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px;display:grid}.blog-related__list button{border:0;border-right:1px solid var(--blog-line);border-bottom:1px solid var(--blog-line);min-width:0;color:var(--blog-ink);cursor:pointer;text-align:left;background:0 0;grid-template-columns:20px minmax(0,1fr) auto;grid-template-areas:"arrow title direction""arrow section direction";align-items:center;gap:2px 10px;padding:13px 10px;display:grid}.blog-related__list button:nth-child(2n){border-right:0}.blog-related__list button:hover{background:#e8dcc93d}.blog-related__list button>span{color:var(--blog-accent);font-family:var(--blog-serif);grid-area:arrow;font-size:17px}.blog-related__list strong{font-family:var(--blog-serif);text-overflow:ellipsis;white-space:nowrap;grid-area:title;font-size:13px;font-weight:400;line-height:1.35;overflow:hidden}.blog-related__list small{color:var(--blog-muted);grid-area:section;font-size:9px}.blog-related__list i{color:#7f6652ad;grid-area:direction;font-size:8px;font-style:normal}.blog-related__empty{color:var(--blog-muted);font-family:var(--blog-serif);text-align:center;border-top:1px solid #7e583726;margin:0;padding:32px 0 12px;font-size:13px}.blog-related__unresolved{color:#7a4d34;border:1px solid #8f563338;margin-top:20px;padding:14px;font-size:11px}.blog-related__unresolved ul{margin:8px 0 0;padding-left:18px}@keyframes blog-reader-spin{to{transform:rotate(360deg)}}.idea-startup-layer{z-index:6;pointer-events:none;position:absolute;inset:0;overflow:visible}.idea-startup{opacity:0;visibility:hidden;pointer-events:none;backface-visibility:hidden;width:100%;height:100%;transition:opacity .15s,visibility 0s linear .54s;position:absolute;inset:0;overflow:visible}.idea-startup--mobile{display:none}.room[data-phase=booting] .idea-startup{visibility:visible;opacity:1;transition-delay:0s}.idea-mesh{stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;opacity:.72;filter:drop-shadow(0 0 7px #8846ff61)}.idea-mesh path{stroke-dasharray:1100;stroke-dashoffset:1100px}.idea-mesh__spine{stroke-width:6px;opacity:.9}.room[data-phase=booting] .idea-mesh path{animation:1.48s cubic-bezier(.22,.74,.18,1) 80ms forwards idea-mesh-draw}.idea-title{fill:#f8f8fb;letter-spacing:-3.5px;font-family:Avenir,Avenir Next,PingFang SC,sans-serif;font-size:84px;font-weight:700}.idea-edition{fill:#f6f5faa8;letter-spacing:4px;font-family:SFMono-Regular,Consolas,monospace;font-size:20px}.idea-brand-lockup,.idea-mark,.idea-studio{opacity:0}.room[data-phase=booting] .idea-brand-lockup{animation:.48s ease-out 70ms forwards idea-lockup-in}.room[data-phase=booting] .idea-mark,.room[data-phase=booting] .idea-studio{animation:.42s ease-out .38s forwards idea-lockup-in}.idea-mark text{fill:#fff;font-family:Avenir,Avenir Next,sans-serif;font-size:25px;font-weight:800}.idea-mark path{fill:none;stroke:#ffffffd1;stroke-width:3px}.idea-studio{fill:#f8f8fbd6;font-family:Avenir,Avenir Next,sans-serif;font-size:24px;font-weight:600}.idea-status{fill:#e9e8f0b8;opacity:0;font-family:SFMono-Regular,Consolas,monospace;font-size:19px}.room[data-phase=booting] .idea-status--one{opacity:var(--idea-status-one-opacity)}.room[data-phase=booting] .idea-status--two{opacity:var(--idea-status-two-opacity)}.room[data-phase=booting] .idea-status--three{opacity:var(--idea-status-three-opacity)}.idea-progress-track{fill:#ffffff21}.idea-progress-fill{fill:url(#idea-spectrum-desktop);transform-box:fill-box;transform-origin:0;transform:scaleX(0)}.idea-startup--mobile .idea-progress-fill{fill:url(#idea-spectrum-mobile)}.room[data-phase=booting] .idea-progress-fill{transform:scaleX(var(--boot-progress))}@keyframes idea-mesh-draw{0%{stroke-dashoffset:1100px;opacity:.18}to{stroke-dashoffset:0;opacity:1}}@keyframes idea-lockup-in{0%{opacity:0}to{opacity:1}}.topbar{z-index:40;width:100%;height:clamp(72px,9.2vh,96px);color:var(--cream);text-shadow:0 2px 16px #000000bd;pointer-events:none;background:linear-gradient(#070a11d1,#080b1347 67%,#0000);grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(26px,4vw,68px);transition:opacity .34s,transform .52s cubic-bezier(.4,0,.2,1);display:grid;position:absolute;top:0;left:0}.room:not([data-phase=room]) .topbar{opacity:0;pointer-events:none;transform:translateY(-14px)}.brand{font-family:var(--hand);letter-spacing:.015em;transform-origin:0;filter:drop-shadow(0 2px 6px #0000007a);justify-self:start;font-size:clamp(31px,3.1vw,50px);line-height:1;transform:rotate(-2deg)}.brand span{color:var(--amber)}.topbar nav ul{align-items:center;gap:clamp(25px,3.1vw,52px);margin:0;padding:0;list-style:none;display:flex}.topbar nav li{position:relative}.topbar nav button{color:#f4eadcb3;font:inherit;letter-spacing:.025em;cursor:pointer;pointer-events:auto;background:0 0;border:0;align-items:center;gap:8px;padding:8px 0;font-size:clamp(11px,.9vw,14px);font-weight:500;display:flex}.topbar nav li.is-current button,.topbar nav button:hover{color:#fff9ee}.topbar nav button:focus-visible{outline:2px solid var(--amber);outline-offset:5px;border-radius:2px}.nav-mark{opacity:.55;background:currentColor;border-radius:50%;width:4px;height:4px}.is-current .nav-mark{background:var(--amber);opacity:1;width:7px;height:7px;box-shadow:0 0 14px #e7a45bcc}.room-index{color:#f3e6d28c;letter-spacing:.18em;justify-self:end;align-items:center;gap:10px;font-size:9px;display:none}.room[data-phase=blog] .topbar,.room[data-phase=research] .topbar,.room[data-phase=about] .topbar{color:#2d2421;text-shadow:0 1px 12px #ffffffb8;background:linear-gradient(#f4efe4fa,#f4efe4db 67%,#0000)}.room[data-phase=projects] .brand,.room[data-phase=blog] .brand,.room[data-phase=research] .brand,.room[data-phase=about] .brand{opacity:0}.room[data-phase=blog] .topbar nav button,.room[data-phase=research] .topbar nav button,.room[data-phase=about] .topbar nav button{color:#2d2421db}.room[data-phase=blog] .topbar nav button:hover,.room[data-phase=research] .topbar nav button:hover,.room[data-phase=about] .topbar nav button:hover,.room[data-phase=blog] .topbar nav li.is-current button,.room[data-phase=research] .topbar nav li.is-current button,.room[data-phase=about] .topbar nav li.is-current button{color:#211a18}.room-index i{background:linear-gradient(90deg,#e7a45b33,#e7a45bb8);width:28px;height:1px}.room-index b{color:#fff6e8e0;letter-spacing:0;border:1px solid #f3e6d252;border-radius:50%;place-items:center;width:30px;height:30px;font-size:10px;font-weight:500;display:grid}.projects-view{z-index:20;color:#dce7e5;clip-path:inset(var(--portal-top) var(--portal-right) var(--portal-bottom) var(--portal-left) round 4px);opacity:0;visibility:hidden;pointer-events:none;background:linear-gradient(#4369700e 1px,#0000 1px) 0 0/32px 32px,linear-gradient(90deg,#4369700b 1px,#0000 1px) 0 0/32px 32px,radial-gradient(circle at 72% 18%,#2d6a7829,#0000 34%),#081019;position:absolute;inset:0;overflow:hidden}.room[data-phase=projects] .projects-view{clip-path:inset(0);opacity:1;visibility:visible;transition:none}.room[data-phase=exiting] .projects-view{clip-path:inset(var(--portal-top) var(--portal-right) var(--portal-bottom) var(--portal-left) round 4px);opacity:0;visibility:visible;transition:clip-path .7s cubic-bezier(.72,0,.18,1),opacity .18s,visibility 0s linear .92s}.room[data-phase=projects] .projects-view{pointer-events:auto}.projects-view:before{content:"";pointer-events:none;background:radial-gradient(circle,#0000 42%,#01060b5c 100%);position:absolute;inset:0}.projects-view[data-project=yanyuetong]{--project-accent:#e6a45e;--project-accent-rgb:230, 164, 94;--project-secondary:#70b7a2}.projects-view[data-project=caiyuntai]{--project-accent:#72a9db;--project-accent-rgb:114, 169, 219;--project-secondary:#d99a5b}.project-workspace{z-index:1;color:#e8ece6;background:radial-gradient(circle at 70% 0, rgba(var(--project-accent-rgb), .08), transparent 32%), linear-gradient(140deg, #14202ef5, #060d15fb 72%);opacity:0;transform-origin:50%;grid-template-rows:46px minmax(0,1fr) 42px;transition:opacity .26s,transform .42s cubic-bezier(.22,1,.36,1);display:grid;position:absolute;inset:0;overflow:hidden;transform:scale(.994)}.room[data-phase=projects] .project-workspace{opacity:1;transition:none;transform:scale(1)}.workspace-menubar{z-index:4;-webkit-backdrop-filter:blur(18px)saturate(112%);backdrop-filter:blur(18px)saturate(112%);background:#09101ab8;border-bottom:1px solid #b5cfcf1f;grid-template-columns:1fr auto 1fr;align-items:center;min-width:0;padding:0 18px;display:grid;position:relative;box-shadow:0 8px 28px #0000002e}.window-controls{align-items:center;gap:8px;display:flex}.window-controls span{border-radius:50%;width:10px;height:10px;box-shadow:inset 0 0 0 .5px #0000002e,0 1px 3px #00000052}.window-controls span:first-child{background:#ec665f}.window-controls span:nth-child(2){background:#e7b94f}.window-controls span:nth-child(3){background:#55bd61}.workspace-path{color:#dde8e394;align-items:center;gap:8px;min-width:0;font-size:12px;display:flex}.workspace-path strong{color:#f0ece1e0;font-weight:600}.workspace-path i{color:rgba(var(--project-accent-rgb), .42);font-style:normal}.projects-back{color:#deeae6b3;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-self:end;align-items:center;gap:7px;padding:7px 9px 7px 7px;font-size:12px;transition:color .16s,background .16s,border-color .16s;display:inline-flex}.projects-back svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:17px;height:17px}.projects-back:hover{color:#f3eadb;background:#d8e8e30e;border-color:#d8e8e31a}.projects-back:focus-visible,.project-switch:focus-visible{outline:1px solid rgba(var(--project-accent-rgb), .86);outline-offset:2px}.workspace-body{grid-template-columns:clamp(214px,18vw,258px) minmax(0,1fr);min-width:0;min-height:0;display:grid}.project-sidebar{z-index:2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#131d2bd1,#09111cd6),#070e17b8;border-right:1px solid #b1cacc1c;flex-direction:column;min-width:0;min-height:0;padding:27px 16px 18px;display:flex;position:relative;box-shadow:18px 0 42px #0000001f}.sidebar-identity{align-items:center;gap:11px;padding:0 8px 24px;display:flex}.identity-mark{border:1px solid rgba(var(--project-accent-rgb), .46);width:36px;height:36px;color:var(--project-accent);background:linear-gradient(145deg, rgba(var(--project-accent-rgb), .16), rgba(var(--project-accent-rgb), .025));font-family:var(--hand);border-radius:10px;flex:none;place-items:center;font-size:24px;display:grid;box-shadow:inset 0 1px #ffffff0b,0 8px 20px #0000002e}.sidebar-identity div{min-width:0}.sidebar-identity strong,.sidebar-identity small{display:block}.sidebar-identity strong{color:#f0ede5;font-size:16px;font-weight:600}.sidebar-identity small{color:#c5d5d37a;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;overflow:hidden}.sidebar-heading{color:#c0d3d175;justify-content:space-between;align-items:center;margin:0 8px 9px;font-size:11px;display:flex}.sidebar-heading b{font-family:SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:500}.project-switcher{gap:7px;display:grid}.project-switch{color:#dde7e294;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:37px minmax(0,1fr) 5px;align-items:center;gap:10px;width:100%;min-width:0;min-height:64px;padding:8px 9px;transition:color .18s,border-color .18s,background .18s,transform .18s;display:grid;position:relative}.project-switch:hover{color:#eeefe7d1;background:#d0e0dd09}.project-switch[aria-selected=true]{color:#f0eee6;border-color:rgba(var(--project-accent-rgb), .22);background:linear-gradient(100deg, rgba(var(--project-accent-rgb), .14), rgba(var(--project-accent-rgb), .035));box-shadow:inset 2px 0 var(--project-accent), 0 10px 24px #0000001f;transform:translate(2px)}.project-switch__mark{color:#d4e1dc7a;background:#97b1b412;border-radius:9px;place-items:center;width:37px;height:37px;display:grid}.project-switch[aria-selected=true] .project-switch__mark{color:var(--project-accent);background:rgba(var(--project-accent-rgb), .12)}.project-switch__mark svg,.project-title-mark svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4px;width:23px;height:23px}.project-switch__copy{min-width:0}.project-switch__copy strong,.project-switch__copy small{display:block}.project-switch__copy strong{font-size:13px;font-weight:600}.project-switch__copy small{color:#c4d4d36b;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:9px;line-height:1.3;overflow:hidden}.project-switch>i{background:#c6dad733;border-radius:50%;width:4px;height:4px}.project-switch[aria-selected=true]>i{background:var(--project-accent);box-shadow:0 0 10px rgba(var(--project-accent-rgb), .68)}.sidebar-runtime{border-top:1px solid #b4cccb17;gap:6px;margin-top:auto;padding:16px 9px 3px;display:grid}.sidebar-runtime span{color:#c9d9d580;align-items:center;gap:7px;font-size:10px;display:flex}.sidebar-runtime span i,.runtime-badge span i{background:#69bb76;border-radius:50%;width:6px;height:6px;box-shadow:0 0 10px #69bb76ad}.sidebar-runtime code,.sidebar-runtime small{color:#c2d5d25c;font-family:SFMono-Regular,Consolas,monospace;font-size:9px}.project-stage{scrollbar-color:rgba(var(--project-accent-rgb), .25) transparent;scrollbar-width:thin;background-color:#0000;background-image:linear-gradient(#6d979d06 1px,#0000 1px),linear-gradient(90deg,#6d979d06 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;min-width:0;min-height:0;overflow:auto}.project-canvas{width:min(1080px,100%);min-height:100%;margin:0 auto;padding:clamp(26px,4vh,42px) clamp(24px,3.4vw,54px) 30px;animation:.42s cubic-bezier(.22,1,.36,1) both project-canvas-in}@keyframes project-canvas-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.project-hero{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:32px;display:grid}.project-hero__copy>code,.section-heading>code,.project-canvas__footer>code{color:rgba(var(--project-accent-rgb), .72);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:10px}.project-title-line{align-items:center;gap:16px;margin-top:13px;display:flex}.project-title-mark{border:1px solid rgba(var(--project-accent-rgb), .34);width:52px;height:52px;color:var(--project-accent);background:linear-gradient(145deg, rgba(var(--project-accent-rgb), .17), rgba(var(--project-accent-rgb), .03));border-radius:14px;flex:none;place-items:center;display:grid;box-shadow:0 12px 34px #0003,inset 0 1px #ffffff0b}.project-title-mark svg{width:30px;height:30px}.project-title-line h2{color:#f2eee5;letter-spacing:-.045em;margin:0;font-size:clamp(34px,4vw,54px);font-weight:580;line-height:.94}.project-title-line p{color:var(--project-accent);margin:8px 0 0;font-size:clamp(13px,1.3vw,16px);font-weight:520}.project-summary{color:#dae4dfab;max-width:670px;margin:21px 0 0;font-size:clamp(13px,1.2vw,15px);line-height:1.72}.runtime-badge{background:#9db9b90b;border:1px solid #b5d2d01a;border-radius:10px;min-width:156px;padding:12px 13px;box-shadow:inset 0 1px #ffffff06}.runtime-badge span{color:#cbddd891;align-items:center;gap:7px;font-size:10px;display:flex}.runtime-badge code{color:#d2e0dc61;margin-top:7px;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;display:block}.project-stack{flex-wrap:wrap;gap:7px;margin:24px 0 0;padding:0;list-style:none;display:flex}.project-stack li{color:#dae6e1ab;background:linear-gradient(#86a4a91c,#6f8a930e);border:1px solid #b1cccd21;border-radius:6px;padding:5px 9px;font-size:10px;box-shadow:inset 0 1px #ffffff09}.flow-section{border:1px solid rgba(var(--project-accent-rgb), .22);background:radial-gradient(circle at 0 0, rgba(var(--project-accent-rgb), .09), transparent 36%), #09121d94;border-radius:14px;margin-top:clamp(24px,3.2vh,34px);padding:18px 20px 17px;box-shadow:0 18px 50px #00000021,inset 0 1px #ffffff06}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.section-heading span{color:#bed2cf63;font-size:9px;display:block}.section-heading h3{color:#edeee6e6;margin:4px 0 0;font-size:15px;font-weight:580}.request-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:19px;margin:18px 0 0;padding:0;list-style:none;display:grid}.request-flow li{background:#adc9ca09;border:1px solid #b1cdcd17;border-radius:9px;min-width:0;padding:11px 10px;position:relative}.request-flow li:not(:last-child):after{content:"";background:linear-gradient(90deg, rgba(var(--project-accent-rgb), .55), transparent);width:9px;height:1px;position:absolute;top:50%;left:calc(100% + 5px)}.request-flow li span,.request-flow li strong{display:block}.request-flow li span{color:rgba(var(--project-accent-rgb), .58);font-family:SFMono-Regular,Consolas,monospace;font-size:8px}.request-flow li strong{color:#e4ebe6d1;text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:11px;font-weight:540;overflow:hidden}.flow-note{color:#c5d6d375;align-items:flex-start;gap:8px;margin:13px 0 0;font-size:10px;line-height:1.55;display:flex}.flow-note i{background:var(--project-secondary);width:14px;height:1px;box-shadow:0 0 7px rgba(var(--project-accent-rgb), .32);flex:none;margin-top:7px}.highlights-section{margin-top:clamp(23px,3vh,32px)}.section-heading--compact{align-items:center}.project-highlights{border-top:1px solid #b3cdcc1a;border-bottom:1px solid #b3cdcc1a;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px;display:grid}.project-highlight{grid-template-columns:34px minmax(0,1fr);gap:11px;min-width:0;padding:17px 16px 17px 0;display:grid}.project-highlight+.project-highlight{border-left:1px solid #b3cdcc1a;padding-left:16px}.highlight-icon{width:34px;height:34px;color:var(--project-accent);background:rgba(var(--project-accent-rgb), .1);border-radius:9px;place-items:center;display:grid}.highlight-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.35px;width:20px;height:20px}.project-highlight h4{color:#eaece5e6;margin:0;font-size:12px;font-weight:580}.project-highlight p{color:#c5d5d27a;margin:7px 0 0;font-size:10px;line-height:1.55}.project-canvas__footer{justify-content:space-between;align-items:center;gap:18px;margin-top:22px;display:flex}.project-canvas__footer>code{color:#bfd3cf52}.project-canvas__footer button{border:1px solid rgba(var(--project-accent-rgb), .15);color:#d5e2de6b;background:rgba(var(--project-accent-rgb), .035);font:inherit;border-radius:7px;align-items:center;gap:9px;padding:8px 10px;font-size:10px;display:flex}.project-canvas__footer button span{border-left:1px solid rgba(var(--project-accent-rgb), .14);color:rgba(var(--project-accent-rgb), .5);padding-left:9px;font-family:SFMono-Regular,Consolas,monospace;font-size:8px}.workspace-terminal{z-index:4;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#070e17cc;border-top:1px solid #b5cfcf1f;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;padding:0 17px;display:grid;position:relative;box-shadow:0 -10px 32px #0000001f}.terminal-tab{border-bottom:1px solid var(--project-accent);color:#e4ebe6c7;align-items:center;gap:7px;height:100%;padding:0 4px;font-size:10px;display:flex}.terminal-tab i{border:1px solid;border-radius:2px;width:9px;height:7px}.workspace-terminal code{color:#c3d6d266;text-overflow:ellipsis;white-space:nowrap;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;overflow:hidden}.workspace-terminal code span{color:var(--project-secondary)}.workspace-terminal code b{vertical-align:-2px;background:#d7e7e199;width:1px;height:10px;margin-left:5px;animation:1.35s step-end infinite terminal-caret;display:inline-block}.workspace-terminal small{color:#c2d5d24d;font-size:9px}@keyframes terminal-caret{0%,48%{opacity:1}49%,to{opacity:0}}@media (width<=1050px) and (width>=701px){.workspace-body{grid-template-columns:210px minmax(0,1fr)}.project-sidebar{padding-inline:12px}.runtime-badge{display:none}.project-canvas{padding-inline:28px}.project-highlight{grid-template-columns:30px minmax(0,1fr);gap:9px}.highlight-icon{width:30px;height:30px}}@media (width<=700px){.room{min-height:700px}.scene-still img{object-position:50% 50%}.scene-layer--light{background:linear-gradient(#070a118c 0,#0000 11% 82%,#07070a33 100%),radial-gradient(#0000 0 54%,#03050a42 100%);box-shadow:inset 0 0 12vw #04060a47}.topbar{grid-template-columns:1fr auto;height:78px;padding:0 20px}.brand{font-size:35px}.topbar nav,.room-index span,.room-index i{display:none}.room-index{display:flex}.room-index b{width:29px;height:29px}.interaction-map--desktop{display:none}.interaction-map--mobile{display:block}.notebook-map--desktop{display:none}.notebook-map--mobile{display:block}.research-notebook-map--desktop{display:none}.research-notebook-map--mobile{display:block}.about-map--desktop{display:none}.about-map--mobile{display:block}.phone-map--desktop{display:none}.phone-map--mobile{display:block}.blog-transition__back{top:18px;left:16px}.idea-startup--desktop{display:none}.idea-startup--mobile{display:block}.idea-startup--mobile .idea-title{letter-spacing:-2.8px;font-size:68px}.idea-startup--mobile .idea-edition{letter-spacing:3.2px;font-size:18px}.computer-hint{display:none}.project-workspace{grid-template-rows:44px minmax(0,1fr) 38px}.workspace-menubar{grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding:0 12px}.window-controls{gap:5px}.window-controls span{width:8px;height:8px}.workspace-path{justify-content:center;gap:5px;font-size:10px}.projects-back{padding:6px;font-size:10px}.projects-back svg{width:15px;height:15px}.workspace-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.project-sidebar{border-bottom:1px solid #b1cacc1a;border-right:0;padding:12px 12px 11px;display:block;box-shadow:0 14px 34px #0000001f}.sidebar-identity,.sidebar-runtime{display:none}.sidebar-heading{margin:0 3px 7px;font-size:9px}.project-switcher{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.project-switch{border-radius:9px;grid-template-columns:30px minmax(0,1fr) 4px;gap:7px;min-height:52px;padding:6px 7px}.project-switch[aria-selected=true]{transform:none}.project-switch__mark{border-radius:8px;width:30px;height:30px}.project-switch__mark svg{width:19px;height:19px}.project-switch__copy strong{font-size:11px}.project-switch__copy small{font-size:8px}.project-stage{overscroll-behavior:contain}.project-canvas{min-height:auto;padding:21px 17px 27px}.project-hero{grid-template-columns:minmax(0,1fr);gap:0}.runtime-badge{display:none}.project-title-line{gap:12px;margin-top:10px}.project-title-mark{border-radius:12px;width:43px;height:43px}.project-title-mark svg{width:25px;height:25px}.project-title-line h2{font-size:35px}.project-title-line p{margin-top:5px;font-size:12px}.project-summary{margin-top:15px;font-size:12px;line-height:1.62}.project-stack{gap:5px;margin-top:16px}.project-stack li{padding:4px 7px;font-size:9px}.flow-section{border-radius:12px;margin-top:19px;padding:15px}.section-heading>code{display:none}.request-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.request-flow li{padding:9px}.request-flow li:not(:last-child):after{display:none}.flow-note{font-size:9px}.highlights-section{margin-top:20px}.project-highlights{grid-template-columns:minmax(0,1fr);margin-top:13px}.project-highlight{padding:13px 0}.project-highlight+.project-highlight{border-top:1px solid #b3cdcc1a;border-left:0;padding-left:0}.project-highlight p{margin-top:5px}.project-canvas__footer{margin-top:17px}.project-canvas__footer>code{text-overflow:ellipsis;white-space:nowrap;max-width:46%;overflow:hidden}.workspace-terminal{grid-template-columns:auto minmax(0,1fr);gap:10px;padding:0 11px}.workspace-terminal small{display:none}.terminal-tab{font-size:9px}.workspace-terminal code{font-size:8px}}@media (height<=700px) and (width>=701px){.topbar{height:64px}.brand{font-size:33px}.project-sidebar{padding-top:18px}.sidebar-identity{padding-bottom:16px}.project-canvas{padding-top:21px}.project-summary{margin-top:14px}.project-stack{margin-top:15px}.flow-section,.highlights-section{margin-top:18px}}@media (width<=1100px) and (width>=701px){.blog-page{width:min(920px,100% - 64px)}.blog-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.blog-section-card{grid-template-columns:minmax(150px,.85fr) minmax(220px,1fr);display:grid}.blog-section-card__image{aspect-ratio:auto;border-bottom:0;border-right:1px solid #7e58372e;height:100%}.blog-section-card__body{min-height:280px}.blog-note-row__copy{display:block}.blog-note-row__copy small{display:none}}@media (width<=700px){.blog-header{padding:17px 18px 12px}.blog-brand{gap:8px}.blog-brand__mark{width:24px;height:30px}.blog-brand__copy strong{font-size:24px}.blog-brand__copy small,.blog-header__actions>i,.blog-header__actions button>span:not(.blog-header__back-arrow){display:none}.blog-header__actions{gap:5px}.blog-header__actions button{border:1px solid #0000;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;display:grid}.blog-header__back-arrow{font-size:24px}.blog-page{width:calc(100% - 36px)}.blog-hero{min-height:310px;padding:58px 8px 54px}.blog-hero h1{max-width:330px;font-size:clamp(43px,13.5vw,58px);line-height:1.03}.blog-hero>p{margin-top:13px;font-size:17px}.blog-hero>small{margin-top:9px;font-size:11px}.blog-hero__birds{display:none}.blog-section-heading{margin-bottom:17px;display:block}.blog-section-heading h2{letter-spacing:.04em;font-size:17px}.blog-section-heading p{display:none}.blog-section-grid{grid-template-columns:1fr;gap:12px}.blog-section-card{grid-template-columns:118px minmax(0,1fr);display:grid}.blog-section-card__image{aspect-ratio:auto;border-bottom:0;border-right:1px solid #7e58372e;height:100%;min-height:216px}.blog-section-card__image img{object-position:50% 60%}.blog-section-card__body{min-height:216px;padding:17px 15px}.blog-section-card__index{font-size:17px}.blog-section-card__body>strong{padding-right:15px;font-size:19px}.blog-section-card__count{margin-top:5px;font-size:12px}.blog-section-card__description{margin-top:10px;font-size:11px;line-height:1.55}.blog-section-card__keywords{padding-top:11px}.blog-section-card__keywords i:nth-child(n+3){display:none}.blog-section-card__action{width:30px;height:30px;bottom:12px;right:12px}.blog-selected{margin-top:46px}.blog-note-row,.blog-category__notes .blog-note-row{grid-template-columns:28px minmax(0,1fr) 17px;grid-template-areas:"index chip arrow""index copy arrow";gap:8px;min-height:68px;padding:9px 2px}.blog-note-row__index{grid-area:index}.blog-note-row .blog-chip{grid-area:chip;justify-self:start}.blog-note-row__copy{grid-area:copy}.blog-note-row__arrow{grid-area:arrow}.blog-note-row time,.blog-note-row__copy small{display:none}.blog-note-row__copy,.blog-category__notes .blog-note-row__copy{display:block}.blog-note-row__copy strong{white-space:normal;font-size:13px;line-height:1.35}.blog-chip{min-height:20px;padding:2px 6px;font-size:8px}.blog-category{padding-top:9px}.blog-category__hero{padding:30px 5px 38px}.blog-category__hero h1{font-size:clamp(37px,11vw,52px)}.blog-category__hero p{flex-wrap:wrap;justify-content:center;max-width:300px;font-size:11px;line-height:1.5}.blog-category__layout{grid-template-columns:1fr;gap:22px;padding-top:16px}.blog-directory-trail{scrollbar-width:none;border-left:0;border-right:0;border-radius:0;align-items:center;gap:10px;margin-inline:-18px;padding:8px 18px;display:flex;overflow-x:auto}.blog-directory-trail>p{flex:none;margin:0 5px 0 0}.blog-directory-trail ol{gap:5px;display:flex}.blog-directory-trail li+li{padding-left:0}.blog-directory-trail li+li:before{display:none}.blog-directory-trail::-webkit-scrollbar{display:none}.blog-directory-trail button,.blog-directory-trail button.is-current{white-space:nowrap;border:0;border-radius:7px;min-height:34px;margin:0;padding:5px 10px;font-size:11px}.blog-directory-trail small{display:none}.blog-directory{gap:32px}.blog-folder-row{grid-template-columns:28px 30px minmax(0,1fr) 17px;gap:8px;min-height:68px;padding:9px 2px}.blog-folder-row__mark{width:22px;height:16px}.blog-folder-row__copy strong{white-space:normal;font-size:13px;line-height:1.35}.blog-search-layer{align-items:start;padding:82px 12px 18px}.blog-search__field{grid-template-columns:21px minmax(0,1fr) auto auto;gap:7px;padding:12px}.blog-search input{font-size:16px}.blog-search__clear{padding-inline:3px;font-size:11px}.blog-search__results{max-height:58vh;padding-inline:12px}.blog-search__results>button{grid-template-columns:58px minmax(0,1fr) 16px;gap:7px}.blog-search__results>button small{display:none}.blog-search__results strong{white-space:normal;line-height:1.35}.blog-graph{width:calc(100% - 24px);padding-top:7px}.blog-graph__heading{padding:28px 5px 19px;display:block}.blog-graph__heading h1{font-size:clamp(38px,12vw,50px)}.blog-graph__heading>p{margin-top:12px;padding:0}.blog-graph__frame{border-radius:9px;min-height:570px;margin-top:14px}.blog-graph__canvas{height:max(570px,68svh)}.blog-graph__toolbar{grid-template-columns:minmax(0,1fr) auto;width:calc(100% - 20px);max-width:none;display:grid;top:10px;left:10px}.blog-graph__search{grid-column:1/-1}.blog-graph__search input{width:100%;font-size:16px}.blog-graph__filter select{width:100%;max-width:none}.blog-graph__results{width:calc(100% - 20px);top:98px;left:10px}.blog-graph__selection{width:calc(100% - 20px);top:100px;right:10px}.blog-graph__legend{gap:7px 11px;max-width:calc(100% - 20px);bottom:10px;left:10px}.blog-graph__instructions{display:none}}@media (prefers-reduced-motion:reduce){.about-portrait__effects{display:none}*,:before,:after{scroll-behavior:auto!important}.scene-world{transition:none!important;transform:none!important}.room[data-phase^=notebook]:not([data-phase=notebook-exiting]) .scene-world,.room[data-phase=blog] .scene-world,.room[data-phase^=research]:not([data-phase=research-exiting]) .scene-world{transform:translate3d(var(--camera-x), var(--camera-y), 0) scale(var(--camera-scale))!important}.projects-view,.idea-startup,.idea-mesh path,.idea-brand-lockup,.idea-mark,.idea-studio,.idea-status,.idea-progress-fill,.project-workspace,.project-canvas,.projects-back,.project-switch,.topbar{transition-duration:1ms!important;transition-delay:0s!important;animation-duration:1ms!important}.workspace-terminal code b{animation:none}}.idea-tool-window-header small{color:#656b75;white-space:nowrap;font-size:8px}.idea-tree-files .idea-tree-file{width:max-content;min-width:calc(100% - 4px);padding-right:7px;padding-left:calc(5px + var(--tree-depth,0) * 12px);grid-template-columns:16px minmax(0,auto) auto}.idea-tree-files .idea-tree-file>span:nth-last-child(2),.idea-tree-files .idea-tree-file>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.idea-tree-folder{cursor:pointer;grid-template-columns:12px 16px minmax(0,auto)!important}.idea-tree-folder>svg:first-child{fill:none;stroke:#858b95;stroke-width:1.4px;width:11px;height:11px;transition:transform .13s}.idea-tree-folder>svg:first-child.is-expanded{transform:rotate(90deg)}.idea-tree-file.is-reference{color:#858b95;font-style:italic}.idea-tree-file small{color:#6f9bc8;font-size:8px;font-style:normal}.idea-file-icon--java{color:#f2f5f8;background:#4b82b8;font-size:9px}.idea-file-icon--xml{color:#ddb36d;background:0 0;font-size:8px}.idea-file-icon--lua{color:#a9c7f8;background:#273d72;font-size:7px}.idea-file-icon.is-linked{opacity:.55}button.idea-editor-tab{max-width:230px;font:inherit;cursor:pointer;border-top:0;border-bottom:0;border-left:0;flex:none}.idea-editor-tab>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.idea-editor-tab i[role=button]{border-radius:3px;place-items:center;width:15px;height:15px;display:grid}.idea-editor-tab i[role=button]:hover,.idea-editor-tab i[role=button]:focus-visible{color:#e3e6ea;background:#373b42;outline:none}.idea-source{color:#cbd0d7;background:#111317;min-width:max-content;min-height:100%}.idea-source-breadcrumb{z-index:2;color:#777d87;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#17191df5;border-bottom:1px solid #24272c;align-items:center;gap:6px;min-width:max-content;height:29px;padding:0 14px;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:8px;display:flex;position:sticky;top:0}.idea-source-breadcrumb i{color:#41464e;font-style:normal}.idea-source-code{tab-size:4;min-width:100%;margin:0;padding:10px 0 34px;font-family:SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:clamp(10px,.88vw,12px);line-height:1.58}.idea-code-line{grid-template-columns:51px minmax(max-content,1fr);min-height:1.58em;display:grid}.idea-code-line:hover{background:#ffffff05}.idea-line-number{color:#4f555e;text-align:right;-webkit-user-select:none;user-select:none;background:#111317;padding-right:12px;position:sticky;left:0;box-shadow:1px 0 #1e2126}.idea-line-content{white-space:pre;padding:0 28px 0 14px;display:block}.idea-source-code .keyword{color:#cf8cd8}.idea-source-code .string{color:#c5a66d}.idea-source-code .number{color:#699bc9}.idea-source-code .annotation{color:#d0b563}.idea-source-code .comment{color:#697269;font-style:italic}.idea-source-code .tag{color:#d19868}.idea-source-code .entity{color:#73a8c5}.idea-source-unavailable{color:#aeb4bd;grid-template-columns:auto minmax(0,520px);justify-content:center;gap:18px;padding:clamp(54px,12vh,110px) 26px;display:grid}.idea-source-unavailable__icon{color:#79a7d6;background:#1c2229;border:1px solid #3a4756;border-radius:5px;place-items:center;width:42px;height:42px;font-size:20px;display:grid}.idea-source-unavailable h2{color:#e0e3e7;margin:0 0 9px;font-size:18px}.idea-source-unavailable p{margin:0 0 16px;line-height:1.65}.idea-source-unavailable code{color:#c5a66d;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.idea-source-unavailable a{color:#78a9dc;text-underline-offset:3px}.idea-terminal-line.is-output{white-space:pre-wrap}@media (width<=700px){.idea-tool-window-header small{display:none}.idea-tree-files{margin-left:24px}.idea-tree-files .idea-tree-file{padding-left:calc(4px + var(--tree-depth,0) * 10px)}button.idea-editor-tab{max-width:160px}.idea-editor-tab small{display:none}.idea-source-code{font-size:9px}.idea-code-line{grid-template-columns:38px minmax(max-content,1fr)}.idea-line-number{padding-right:8px}.idea-line-content{padding-left:10px}.idea-source-unavailable{grid-template-columns:1fr;padding:34px 18px}}@media (width>=701px) and (hover:hover) and (pointer:fine){.interaction-map--desktop,.idea-startup--desktop{transform:scale(var(--scene-scale));transform-origin:50%}}@media (width>=701px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.notebook-map--desktop,.research-notebook-map--desktop,.about-map--desktop,.phone-map--desktop{transform:translate3d(var(--near-x), var(--near-y), 0) scale(var(--scene-scale));transform-origin:50%}}.projects-view{--idea-bg:#17191d;--idea-editor:#111317;--idea-panel:#202328;--idea-panel-deep:#1b1d21;--idea-line:#343840;--idea-line-soft:#b7bfcb1f;--idea-text:#d7d9de;--idea-muted:#8d929c;--idea-blue:#2f65a7;--idea-cyan:#67b8ce;--idea-amber:#c88a46;background:#101216}.room[data-phase=projects]{overflow:clip}.projects-view:before{display:none}.idea-window{z-index:1;min-width:0;min-height:0;color:var(--idea-text);background:var(--idea-bg);opacity:0;grid-template-rows:29px 43px minmax(0,1fr);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Segoe UI,sans-serif;font-size:12px;display:grid;position:absolute;inset:0;overflow:hidden}.room[data-phase=projects] .idea-window{opacity:1}.idea-macos-bar,.idea-toolbar,.idea-tool-window-header,.idea-editor-tabs,.idea-terminal-header,.idea-editor-status{-webkit-user-select:none;user-select:none}.idea-macos-bar{color:#eef0f4;background:linear-gradient(#121820,#0c1118);border-bottom:1px solid #000000ad;justify-content:space-between;align-items:center;min-width:0;padding:0 14px 0 16px;font-size:11px;display:flex;box-shadow:inset 0 -1px #ffffff06}.idea-macos-menu,.idea-system-status{white-space:nowrap;align-items:center;gap:clamp(12px,1.35vw,21px);min-width:0;display:flex}.idea-macos-menu strong{margin-right:2px;font-size:12px;font-weight:650}.idea-apple{fill:currentColor;flex:none;width:12px;height:14px}.idea-system-status{color:#eef0f4e6;gap:13px}.idea-system-status time{font-size:10px}.idea-toolbar{background:linear-gradient(#24272d,#1e2126);border-bottom:1px solid #0c0e11;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;padding:0 12px;display:grid;box-shadow:inset 0 1px #ffffff09}.idea-window-controls{align-items:center;gap:7px;display:flex}.idea-window-controls span,.idea-window-controls button{border:0;border-radius:50%;flex:none;width:10px;height:10px;padding:0;box-shadow:inset 0 0 0 .5px #00000057}.idea-window-controls button{cursor:pointer;background:#ef5f57;position:relative}.idea-window-controls button:before,.idea-window-controls button:after{content:"";opacity:0;background:#5b120eb8;border-radius:1px;width:6px;height:1px;transition:opacity .12s;position:absolute;top:4.5px;left:2px}.idea-window-controls button:before{transform:rotate(45deg)}.idea-window-controls button:after{transform:rotate(-45deg)}.idea-window-controls button:hover:before,.idea-window-controls button:hover:after,.idea-window-controls button:focus-visible:before,.idea-window-controls button:focus-visible:after{opacity:1}.idea-window-controls button:focus-visible{outline-offset:2px;outline:2px solid #ffffffd6}.idea-window-controls span:first-of-type{background:#e9ba3c}.idea-window-controls span:nth-of-type(2){background:#55c04f}.idea-project-context{color:#e4e6ea;align-items:center;gap:8px;min-width:0;display:flex}.idea-project-context strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:550;overflow:hidden}.idea-product-mark{color:#fff;background:linear-gradient(145deg,#0000 40%,#ef2775 41% 55%,#0000 56%),linear-gradient(35deg,#3686ff,#8f43e9 52%,#111 53%);border-radius:4px;flex:none;place-items:center;width:20px;height:20px;font-family:SFMono-Regular,Consolas,monospace;font-size:8px;font-weight:800;display:grid;box-shadow:inset 0 0 0 1px #ffffff40}.idea-project-context>svg{fill:none;stroke:#858b95;stroke-width:1.4px;width:11px;height:11px}.idea-project-context>svg.is-expanded{transform:rotate(90deg)}.idea-branch{color:#9da2ab;margin-left:13px;font-size:10px}.idea-toolbar-actions{color:#9ca2ac;white-space:nowrap;justify-content:flex-end;align-items:center;gap:13px;display:flex}.idea-toolbar-actions>span{font-size:16px;line-height:1}.idea-toolbar-actions>span:nth-of-type(3){color:#67a879}.idea-back-button{color:#c9ccd2;min-height:28px;font:inherit;cursor:pointer;background:#292c32;border:1px solid #3a3e46;border-radius:5px;align-items:center;gap:6px;margin-left:4px;padding:0 8px;font-size:10px;display:inline-flex;box-shadow:inset 0 1px #ffffff09}.idea-back-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4px;width:14px;height:14px}.idea-back-button:hover{color:#f0f1f3;background:#32363d;border-color:#4b505a}.idea-workbench{grid-template-columns:42px var(--idea-explorer-width,clamp(218px, 19vw, 276px)) minmax(0, 1fr);grid-template-rows:minmax(0, 1fr) var(--idea-terminal-height,clamp(148px, 22vh, 202px));background:var(--idea-editor);min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.idea-panel-resizer{z-index:8;touch-action:none;background:0 0;border:0;outline:0;padding:0;display:block;position:absolute}.idea-panel-resizer:after{content:"";opacity:0;background:#5d94d4;transition:opacity .1s;position:absolute}.idea-panel-resizer:hover:after,.idea-panel-resizer:focus-visible:after,.idea-workbench[data-resizing=explorer] .idea-panel-resizer--vertical:after,.idea-workbench[data-resizing=terminal] .idea-panel-resizer--horizontal:after{opacity:.74}.idea-panel-resizer--vertical{top:0;bottom:var(--idea-terminal-height,clamp(148px, 22vh, 202px));left:calc(42px + var(--idea-explorer-width,clamp(218px, 19vw, 276px)) - 3px);cursor:col-resize;width:7px}.idea-panel-resizer--vertical:after{width:1px;top:0;bottom:0;left:3px}.idea-panel-resizer--horizontal{right:0;bottom:calc(var(--idea-terminal-height,clamp(148px, 22vh, 202px)) - 3px);cursor:row-resize;height:7px;left:42px}.idea-panel-resizer--horizontal:after{height:1px;bottom:3px;left:0;right:0}.idea-workbench[data-resizing]{-webkit-user-select:none;user-select:none}.idea-workbench[data-resizing=explorer],.idea-workbench[data-resizing=explorer] *{cursor:col-resize!important}.idea-workbench[data-resizing=terminal],.idea-workbench[data-resizing=terminal] *{cursor:row-resize!important}.idea-tool-rail{background:#1b1e23;border-right:1px solid #101216;flex-direction:column;grid-area:1/1/3;align-items:center;min-width:0;padding:7px 0;display:flex}.idea-tool-rail button{color:#858b95;width:34px;height:34px;font:inherit;background:0 0;border:0;border-radius:4px;flex:none;place-items:center;padding:0;display:grid;position:relative}.idea-tool-rail button.is-active{color:#d7dae0;background:#30343a}.idea-tool-rail button.is-active:before{content:"";background:#4f8fd7;width:2px;position:absolute;top:4px;bottom:4px;left:-4px}.idea-tool-rail button b{color:#a8adb6;letter-spacing:.02em;writing-mode:vertical-rl;font-size:8px;font-weight:500;position:absolute;top:49px;left:8px}.idea-tool-rail i{flex:1}.idea-explorer{background:linear-gradient(#202329,#1c1f24);border-right:1px solid #0d0f12;grid-area:1/2;min-width:0;min-height:0;overflow:hidden}.idea-tool-window-header{color:#d2d4d9;background:#202329;border-bottom:1px solid #121418;grid-template-columns:auto auto 1fr auto;align-items:center;gap:7px;height:32px;padding:0 9px 0 10px;display:grid}.idea-tool-window-header strong{font-size:11px;font-weight:600}.idea-tool-window-header span{color:#90959f}.idea-tool-window-header button{color:#858a94;font:inherit;background:0 0;border:0;padding:2px}.idea-tree{color:#c9ccd2;scrollbar-color:#454a52 transparent;scrollbar-width:thin;height:calc(100% - 32px);padding:7px 5px 14px;overflow:auto}.idea-tree-root,.idea-tree-project-row,.idea-tree-file,.idea-tree-library{min-width:max-content}.idea-tree-root{grid-template-columns:14px 17px auto 1fr;align-items:center;gap:4px;min-height:24px;padding:0 5px;display:grid}.idea-tree-root>svg:first-child,.idea-tree-library>svg,.idea-tree-disclosure svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4px;width:12px;height:12px;transition:transform .13s}.idea-tree-root>svg:first-child,.idea-tree-disclosure svg.is-expanded{transform:rotate(90deg)}.idea-tree-root>svg:nth-child(2),.idea-tree-project-button>svg,.idea-tree-file>svg{fill:#74a9cd2e;stroke:#7ab0d2;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.1px;width:16px;height:14px}.idea-tree-root strong{font-size:11px;font-weight:550}.idea-tree-root small{color:#676d76;margin-left:4px;font-size:9px}.idea-tree-project-row{border-radius:3px;grid-template-columns:18px minmax(0,1fr);align-items:center;min-height:25px;margin:1px 0 1px 12px;display:grid}.idea-tree-project-row.is-selected{background:#29466e;box-shadow:inset 2px 0 #528bd1}.idea-tree-disclosure,.idea-tree-project-button,.idea-tree-file{color:inherit;font:inherit;background:0 0;border:0}.idea-tree-disclosure{color:#8d929c;cursor:pointer;place-items:center;width:18px;height:24px;padding:0;display:grid}.idea-tree-project-button{text-align:left;cursor:pointer;grid-template-columns:17px auto minmax(0,1fr);align-items:center;gap:5px;min-width:0;height:25px;padding:0 6px 0 0;display:grid}.idea-tree-project-button span{color:#e0e2e6;font-size:11px}.idea-tree-project-button small{color:#848a94;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.idea-tree-project-row.is-selected .idea-tree-project-button small{color:#afc3df}.idea-tree-files{margin-left:32px}.idea-tree-file{color:#bbc0c8;text-align:left;border-radius:3px;grid-template-columns:18px auto;align-items:center;gap:4px;width:calc(100% - 4px);min-height:23px;padding:0 6px;font-size:10px;display:grid}button.idea-tree-file{cursor:pointer}.idea-tree-file.is-open{color:#edf0f4;background:#46576b85}.idea-file-icon{border-radius:2px;flex:none;place-items:center;width:16px;height:15px;font-family:SFMono-Regular,Consolas,monospace;font-size:7px;font-weight:800;line-height:1;display:inline-grid}.idea-file-icon--markdown{color:#dff4fb;background:#2d8daf}.idea-file-icon--maven{color:#ff5353;background:0 0;font-size:15px}.idea-file-icon--config{color:#b4bac3;background:#31353c;font-size:12px}.idea-tree-library{color:#aeb3bc;grid-template-columns:14px 16px auto;align-items:center;gap:4px;min-height:24px;margin-left:6px;font-size:10px;display:grid}.idea-editor{background:var(--idea-editor);grid-area:1/3;grid-template-rows:33px minmax(0,1fr) 23px;min-width:0;min-height:0;display:grid;overflow:hidden}.idea-editor-tabs{background:#1c1f24;border-bottom:1px solid #0b0d10;align-items:stretch;min-width:0;display:flex;overflow:hidden}.idea-editor-tab{color:#cdd0d5;background:#17191d;border-right:1px solid #101216;align-items:center;gap:6px;min-width:0;padding:0 11px;font-size:10px;display:flex;position:relative}.idea-editor-tab.is-active:after{content:"";background:#4c8bd7;height:2px;position:absolute;bottom:0;left:0;right:0}.idea-editor-tab small{color:#747a84;text-overflow:ellipsis;max-width:90px;font-size:8px;overflow:hidden}.idea-editor-tab i{color:#727781;margin-left:5px;font-style:normal}.idea-editor-spacer{flex:1;min-width:20px}.idea-editor-tabs>span:not(.idea-editor-spacer){color:#747a84;place-items:center;width:28px;display:grid}.idea-editor-scroll{overscroll-behavior:contain;scrollbar-color:#444951 #1a1d21;scrollbar-width:thin;min-width:0;min-height:0;animation:.15s ease-out both idea-document-swap;overflow:auto}@keyframes idea-document-swap{0%{opacity:.35}to{opacity:1}}.idea-markdown{color:#cbd0d7;width:min(920px,100%);margin:0 auto;padding:clamp(27px,4vh,48px) clamp(28px,5vw,70px) 56px;font-size:clamp(12px,1.05vw,14px);line-height:1.75}.idea-readme-path{color:#656b75;align-items:center;gap:7px;margin-bottom:16px;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;display:flex}.idea-readme-path i{color:#464b53;font-style:normal}.idea-markdown h1{color:#eef0f3;letter-spacing:-.04em;margin:0;font-size:clamp(28px,3vw,42px);font-weight:650;line-height:1.14}.idea-readme-subtitle{font-size:clamp(14px,1.4vw,18px);color:#aab0b9!important;margin:6px 0 20px!important}.idea-markdown h2{color:#dce7ec;letter-spacing:-.02em;border-bottom:1px solid #30343b;margin:29px 0 11px;padding-bottom:7px;font-size:clamp(17px,1.6vw,22px);font-weight:620;line-height:1.35}.idea-markdown h2:before{content:"##";color:#73a8c5;margin-right:10px;font-family:SFMono-Regular,Consolas,monospace;font-size:.72em;font-weight:500}.idea-markdown h3{color:#d8dde3;margin:23px 0 8px;font-size:15px;font-weight:620}.idea-markdown h3:before{content:"###";color:#657f91;margin-right:8px;font-family:SFMono-Regular,Consolas,monospace;font-size:.68em}.idea-markdown p{color:#bfc4cc;max-width:78ch;margin:10px 0}.idea-markdown code{color:#d3a86e;background:#262930;border-radius:3px;padding:.13em .34em;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.89em}.idea-markdown blockquote{color:#aeb6c0;background:#48698017;border-left:3px solid #4b7e9b;margin:0 0 22px;padding:10px 14px}.idea-markdown ul{margin:10px 0 16px;padding-left:22px}.idea-markdown li{margin:6px 0;padding-left:3px}.idea-markdown li::marker{color:#6fbc79}.idea-markdown strong{color:#e2e4e8;font-weight:620}.idea-markdown-table-wrap{max-width:100%;margin:14px 0 20px;overflow-x:auto}.idea-markdown table{border-collapse:collapse;width:100%;min-width:470px;font-size:.9em}.idea-markdown th,.idea-markdown td{text-align:left;vertical-align:top;border:1px solid #343840;padding:8px 10px}.idea-markdown th{color:#d7dae0;background:#24272c;font-weight:600}.idea-markdown tr:nth-child(2n) td{background:#ffffff05}.idea-code-block{background:#191b20;border:1px solid #32363d;border-radius:4px;margin:14px 0 21px;position:relative;overflow:hidden;box-shadow:inset 3px 0 #3a647e}.idea-code-block>span{color:#606670;font-family:SFMono-Regular,Consolas,monospace;font-size:8px;position:absolute;top:7px;right:9px}.idea-code-block pre{margin:0;padding:15px 18px;overflow:auto}.idea-code-block pre code{color:#a9c5d2;background:0 0;padding:0;font-size:clamp(9px,.92vw,12px);line-height:1.7}.idea-readme-image{margin:18px 0}.idea-readme-image img{border:1px solid #343840;border-radius:4px;max-width:100%;display:block}.idea-readme-image figcaption{color:#737983;text-align:center;margin-top:6px;font-size:9px}.idea-editor-status{color:#8c919a;background:#1b1e22;border-top:1px solid #0d0f12;justify-content:flex-end;align-items:center;gap:13px;min-width:0;padding:0 10px;font-size:9px;display:flex}.idea-editor-status>span:first-child{text-overflow:ellipsis;white-space:nowrap;margin-right:auto;overflow:hidden}.idea-editor-status i{background:#5ca66e;border-radius:50%;width:6px;height:6px;box-shadow:0 0 5px #5ca66e66}.idea-terminal{background:#111419;border-top:1px solid #0b0d10;grid-area:2/2/auto/4;grid-template-rows:31px minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.idea-terminal-header{color:#a7acb5;background:#1c1f24;border-bottom:1px solid #20242a;align-items:center;gap:9px;min-width:0;padding:0 10px;display:flex}.idea-terminal-header strong,.idea-terminal-header button{color:#c9ccd2;height:100%;font:inherit;background:0 0;border:0;padding:0 5px;font-size:10px}.idea-terminal-header strong{align-items:center;margin-right:10px;font-weight:600;display:flex}.idea-terminal-header button.is-active{border-bottom:2px solid #4c8bd7}.idea-terminal-header i{flex:1}.idea-terminal-header small{color:#626872;font-size:8px}.idea-terminal-body{color:#c8ccd2;cursor:text;scrollbar-color:#3f444c transparent;scrollbar-width:thin;min-width:0;min-height:0;padding:8px 11px 13px;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(9px,.92vw,12px);line-height:1.55;overflow:auto}.idea-terminal-line{white-space:pre-wrap;overflow-wrap:anywhere;min-height:1.55em}.idea-terminal-line.is-system{color:#6f7782}.idea-terminal-line.is-output{color:#b8bdc5}.idea-terminal-line.is-error{color:#d98178}.idea-terminal-user{color:#7bc56b}.idea-terminal-path{color:#4da8d6}.idea-terminal-prompt{color:#d5d7dc}.idea-terminal-command{white-space:nowrap;align-items:baseline;gap:5px;min-width:0;display:flex}.idea-terminal-command input{color:#eef0f2;caret-color:#e8eaed;min-width:80px;font:inherit;background:0 0;border:0;outline:0;flex:1;padding:0}.idea-back-button:focus-visible,.idea-tree-disclosure:focus-visible,.idea-tree-project-button:focus-visible,.idea-tree-file:focus-visible,.idea-terminal-command input:focus-visible{outline-offset:-1px;outline:1px solid #5d94d4}@media (width<=1050px) and (width>=701px){.idea-macos-menu{gap:13px}.idea-macos-menu>span:nth-of-type(n+7){display:none}.idea-workbench{grid-template-columns:38px var(--idea-explorer-width,208px) minmax(0, 1fr)}.idea-panel-resizer--vertical{left:calc(38px + var(--idea-explorer-width,208px) - 3px)}.idea-panel-resizer--horizontal{left:38px}.idea-markdown{padding-inline:28px}.idea-toolbar-actions>span{display:none}}@media (width<=700px){.idea-window{grid-template-rows:24px 40px minmax(0,1fr)}.idea-macos-bar{padding-inline:10px}.idea-macos-menu{gap:8px}.idea-macos-menu>span,.idea-system-status>span{display:none}.idea-macos-menu strong{font-size:10px}.idea-system-status time{font-size:8px}.idea-toolbar{gap:8px;padding-inline:9px}.idea-window-controls{gap:4px}.idea-window-controls span,.idea-window-controls button{width:8px;height:8px}.idea-window-controls button:before,.idea-window-controls button:after{width:5px;top:3.5px;left:1.5px}.idea-product-mark{width:18px;height:18px}.idea-project-context{gap:5px}.idea-project-context strong{max-width:104px;font-size:9px}.idea-project-context>svg,.idea-branch,.idea-toolbar-actions>span{display:none}.idea-back-button{min-height:25px;padding-inline:6px;font-size:8px}.idea-back-button svg{width:12px;height:12px}.idea-workbench{grid-template-rows:53px minmax(0,1fr) 148px;grid-template-columns:minmax(0,1fr)}.idea-panel-resizer,.idea-tool-rail{display:none}.idea-explorer{border-bottom:1px solid #0c0e11;border-right:0;grid-area:1/1;overflow:hidden}.idea-tool-window-header,.idea-tree-root,.idea-tree-files,.idea-tree-library{display:none}.idea-tree{align-items:center;gap:6px;height:100%;padding:6px 8px;display:flex;overflow-x:auto}.idea-tree>div[role=group]{gap:6px;min-width:100%;display:flex}.idea-tree-project{flex:1;min-width:0}.idea-tree-project-row{background:#22252b;border:1px solid #33373e;border-radius:4px;min-width:0;min-height:39px;margin:0}.idea-tree-project-row.is-selected{background:#29466e;border-color:#416795;box-shadow:inset 2px 0 #528bd1}.idea-tree-disclosure{width:18px;height:37px}.idea-tree-project-button{grid-template-columns:16px minmax(0,1fr);gap:4px;height:37px}.idea-tree-project-button small{display:none}.idea-tree-project-button span{text-overflow:ellipsis;font-size:9px;overflow:hidden}.idea-editor{grid-area:2/1;grid-template-rows:31px minmax(0,1fr) 21px}.idea-editor-tab{padding-inline:8px;font-size:9px}.idea-editor-tab small{max-width:64px}.idea-markdown{padding:22px 16px 40px;font-size:11px;line-height:1.68}.idea-readme-path{margin-bottom:10px;font-size:8px}.idea-markdown h1{font-size:27px}.idea-readme-subtitle{font-size:13px;margin-bottom:15px!important}.idea-markdown h2{margin-top:23px;font-size:16px}.idea-markdown th,.idea-markdown td{padding:7px 8px}.idea-code-block pre{padding:13px 14px}.idea-code-block pre code{font-size:9px}.idea-editor-status{gap:8px;padding-inline:7px;font-size:7px}.idea-editor-status>span:first-child,.idea-editor-status i{display:none}.idea-terminal{grid-area:3/1;grid-template-rows:28px minmax(0,1fr)}.idea-terminal-header{padding-inline:7px}.idea-terminal-header strong{margin-right:4px}.idea-terminal-header small{display:none}.idea-terminal-body{padding:7px 8px 10px;font-size:8px;line-height:1.5}}@media (height<=700px) and (width>=701px){.idea-window{grid-template-rows:25px 39px minmax(0,1fr)}.idea-markdown{padding-top:26px}}@media (prefers-reduced-motion:reduce){.idea-window,.idea-editor-scroll,.idea-tree-root>svg:first-child,.idea-tree-disclosure svg,.notebook-hint,.research-workspace__back span,.about-workspace__back span,.blog-transition__back span{transition:none!important;animation:none!important}.blog-water,.blog-section-card,.blog-section-card img,.blog-arrow,.blog-note-row,.blog-note-row__arrow,.blog-header__back-arrow,.blog-reader__progress span,.blog-reader__back>span,.blog-reader-toc button,.blog-related>summary i{transition:none!important}.blog-reader__loading span{animation:none!important}}@media (width<=1100px) and (width>=701px){.blog-reader{width:min(960px,100% - 64px)}.blog-reader__layout{grid-template-columns:minmax(155px,190px) minmax(0,1fr);gap:34px}.blog-reader__paper{grid-column:2}}@media (width<=700px){.blog-reader{width:calc(100% - 24px);padding-top:7px}.blog-reader__back{margin-left:4px;font-size:13px}.blog-reader__hero{padding:34px 7px 42px}.blog-reader__breadcrumb{gap:5px 15px;margin-bottom:16px;font-size:10px}.blog-reader__breadcrumb span+span:before{left:-9px}.blog-reader__hero h1{font-size:clamp(34px,10.5vw,47px);line-height:1.12}.blog-reader__summary{margin-top:17px;font-size:14px;line-height:1.68}.blog-reader__meta{margin-top:18px;font-size:10px}.blog-reader-toc-mobile{border:1px solid var(--blog-line);background:#fff9ed59;border-radius:8px;margin:0 0 14px;display:block}.blog-reader-toc-mobile summary{cursor:pointer;font-family:var(--blog-serif);padding:12px 14px;font-size:13px}.blog-reader-toc-mobile[open] summary{border-bottom:1px solid var(--blog-line)}.blog-reader-toc-mobile .blog-reader-toc{padding:10px 14px 13px}.blog-reader-toc-mobile .blog-reader-toc>span{display:none}.blog-reader-toc-mobile .blog-reader-toc ol{max-height:44vh;overflow-y:auto}.blog-reader__layout{border-top:0;padding-top:0;display:block}.blog-reader__layout>aside{display:none}.blog-reader__paper{border-radius:9px}.blog-prose{padding:30px 20px 44px;font-size:16px;line-height:1.82}.blog-prose h1{font-size:28px}.blog-prose h2{margin-top:2.4em;font-size:24px}.blog-prose h3{font-size:20px}.blog-prose pre{margin-left:-8px;margin-right:-8px;padding:17px 16px}.blog-prose pre code{font-size:12px}.blog-prose__table{margin-left:-8px;margin-right:-8px}.blog-prose table{min-width:520px;font-size:12px}.blog-prose th,.blog-prose td{padding:9px 10px}.blog-prose img{margin-top:1.45em;margin-bottom:1.45em}.blog-reader__neighbors{grid-template-columns:1fr}.blog-reader__neighbors>button{min-height:88px;padding:15px 18px}.blog-reader__neighbors>button+button{border-top:1px solid var(--blog-line);border-left:0}.blog-reader__neighbors>span:empty{display:none}.blog-related>summary{grid-template-columns:minmax(0,1fr) 20px;min-height:82px;padding:16px 18px}.blog-related>summary>span:nth-child(2){display:none}.blog-related>summary strong{font-size:17px}.blog-related__content{padding:0 18px 22px}.blog-related__map{height:190px}.blog-related__map text{display:none}.blog-related__map text.is-current{display:block}.blog-related__list{grid-template-columns:1fr}.blog-related__list button,.blog-related__list button:nth-child(2n){border-right:0}}
