:root{--bg:#fff;--card:#fff;--sunken:#fafafa;--fg:#171717;--text:#262626;--muted:#737373;--faint:#a3a3a3;--line:#e5e5e5;--line-strong:#d4d4d4;--soft:#f5f5f5;--accent:#16a34a;--accent-soft:#dcfce7;--link:#171717;--radius:20px;--max:1200px;--ease:cubic-bezier(.2,.8,.2,1);--font:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",system-ui,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,monospace;--n-gray:#787774;--n-brown:#9f6b53;--n-orange:#d9730d;--n-yellow:#cb912f;--n-green:#448361;--n-blue:#337ea9;--n-purple:#9065b0;--n-pink:#c14c8a;--n-red:#d44c47;--nb-gray:#f1f1ef;--nb-brown:#f4eeee;--nb-orange:#fbecdd;--nb-yellow:#fbf3db;--nb-green:#edf3ec;--nb-blue:#e7f3f8;--nb-purple:#f6f3f9;--nb-pink:#faf1f5;--nb-red:#fdebec;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--bg:#0a0a0a;--card:#111;--sunken:#161616;--fg:#ededed;--text:#d4d4d4;--muted:#a3a3a3;--faint:#737373;--line:#262626;--line-strong:#3a3a3a;--soft:#1c1c1c;--accent:#4ade80;--accent-soft:#4ade801f;--link:#ededed;--n-gray:#9b9b9b;--n-brown:#ba856f;--n-orange:#c77d48;--n-yellow:#ca984d;--n-green:#529e72;--n-blue:#5e87c9;--n-purple:#9d68d3;--n-pink:#d15796;--n-red:#df5452;--nb-gray:#2f2f2f;--nb-brown:#4a3228;--nb-orange:#5c3b23;--nb-yellow:#564328;--nb-green:#243d30;--nb-blue:#143a4e;--nb-purple:#3c2d49;--nb-pink:#4e2c3c;--nb-red:#522e2a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}html,body{margin:0;padding:0}body{background:var(--bg);min-height:100vh;color:var(--fg);font-family:var(--font);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word;font-size:15px;line-height:1.6}body.no-scroll{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}img{max-width:100%}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--fg);outline-offset:2px;border-radius:6px}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.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}.l-en,html[data-lang=en] .l-ko{display:none}html[data-lang=en] .l-en{display:inline}.shell{width:min(var(--max),100% - 32px);margin:0 auto}main{padding:28px 0 72px}.topbar{z-index:50;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar-inner{align-items:center;gap:4px;height:56px;display:flex}.logo{align-items:center;gap:8px;margin-right:14px;font-size:15px;font-weight:600;display:flex}.logo-mark{background:var(--accent);border-radius:50%;width:9px;height:9px}.topnav{align-items:center;gap:2px;display:flex}.topnav a{color:var(--muted);border-radius:8px;padding:6px 10px;font-size:14px;transition:color .15s,background .15s}.topnav a:hover{color:var(--fg);background:var(--soft)}.topnav a[aria-current=page]{color:var(--fg);font-weight:600}.top-actions{align-items:center;gap:2px;margin-left:auto;display:flex}.icon-btn{min-width:34px;height:34px;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;padding:0 8px;transition:color .15s,background .15s;display:inline-flex}.icon-btn:hover{color:var(--fg);background:var(--soft)}.icon-btn svg{width:18px;height:18px}.lang-btn{font-size:12.5px;font-weight:600}.theme-sun{display:none}html[data-theme=dark] .theme-sun{display:block}html[data-theme=dark] .theme-moon{display:none}@media (max-width:640px){.logo{margin-right:6px}.topnav a{padding:6px 7px;font-size:13.5px}}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.span-2{grid-column:span 2}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);flex-direction:column;min-width:0;padding:20px;transition:border-color .15s,background .15s;display:flex}a.card:hover{border-color:var(--line-strong);background:var(--sunken)}.card-head{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;font-size:14px;display:flex}.card-head svg{width:17px;height:17px;color:var(--faint);flex:none}.card-head a{color:var(--muted);font-size:13px}.card-head a:hover{color:var(--fg)}.value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1.15}.card-foot{color:var(--muted);margin-top:auto;padding-top:16px;font-size:13px}@media (max-width:820px){.grid{grid-template-columns:1fr}.span-2{grid-column:auto}}.profile{align-items:center;gap:12px;margin-bottom:14px;display:flex}.avatar{width:44px;height:44px;color:var(--muted);background:var(--soft);border:1px solid var(--line);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.profile-name{letter-spacing:-.02em;font-size:19px;font-weight:600}.profile-role{color:var(--muted);font-size:13px}.intro{color:var(--text);margin:0;font-size:16.5px;line-height:1.7}.intro+.intro{color:var(--muted);margin-top:6px;font-size:14.5px}.inline-links{flex-wrap:wrap;gap:16px;margin-top:auto;padding-top:16px;font-size:14px;display:flex}.inline-links a{color:var(--fg);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:.25em}.inline-links a:hover{-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}.list{margin:0;padding:0;list-style:none}.list li+li{border-top:1px solid var(--line)}.item{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:14px;padding:11px 0;display:grid}a.item:hover .item-title{text-underline-offset:.22em;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.list li:first-child .item{padding-top:0}.list li:last-child .item{padding-bottom:0}.item-title{min-width:0;color:var(--fg);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;overflow:hidden}.item-sub{color:var(--muted);white-space:normal;margin-top:1px;font-size:13px;font-weight:400;display:block}.item-meta{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.pills{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.pill{border:1px solid var(--line);color:var(--text);background:var(--card);border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:13px;display:inline-flex}a.pill:hover{border-color:var(--line-strong)}.pill b{color:var(--faint);font-variant-numeric:tabular-nums;font-weight:500}.ask-box{border:1px solid var(--line);color:var(--faint);background:var(--sunken);border-radius:12px;align-items:center;gap:8px;padding:11px 14px;font-size:14px;display:flex}.ask-box svg{flex:none;width:16px;height:16px}a.card:hover .ask-box{border-color:var(--line-strong)}.bars{align-items:flex-end;gap:5px;height:56px;margin-top:16px;display:flex}.bars i{background:var(--soft);border-radius:3px;flex:1;min-height:3px}.bars i.on{background:var(--accent)}.bars-months{color:var(--faint);justify-content:space-between;margin-top:6px;font-size:11.5px;display:flex}.nums{gap:22px;display:flex}.nums b{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;display:block}.nums small{color:var(--muted);font-size:12.5px}.empty-note{color:var(--faint);font-size:14px}.topnav a{align-items:center;gap:6px;display:inline-flex}.topnav a svg{width:16px;height:16px;color:var(--faint);transition:color .15s}.topnav a:hover svg,.topnav a[aria-current=page] svg{color:var(--fg)}.search-btn{gap:7px}.search-btn .kbd{font-family:var(--font);background:var(--soft);color:var(--muted);border-color:#0000;padding:1px 6px;font-size:11px;font-weight:500}.topnav a{white-space:nowrap}@media (max-width:640px){.topnav a svg,.search-btn .kbd,.logo-text,.top-actions .ask-btn{display:none}.topnav{scrollbar-width:none;min-width:0;overflow-x:auto}.topnav::-webkit-scrollbar{display:none}.topnav a{padding:6px}}.stage-shell{width:min(var(--max),100% - 32px)}.stage{grid-template:"res now now now days cats"176px"notes notes name name arch arch"150px"notes notes name name arch arch"150px"ints ask ask heat heat qr"176px"card card contact contact mini qr"190px/1fr 1fr 1.15fr 1.15fr 1fr 1fr;gap:12px;display:grid}.box{border:1px solid var(--line);background:var(--card);min-width:0;transition:border-color .25s,transform .45s var(--ease),box-shadow .45s var(--ease);border-radius:24px;flex-direction:column;padding:18px;display:flex;position:relative;overflow:hidden}a.box:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 16px 36px #00000012}a.box:active{transform:translateY(-1px)scale(.99)}.box:not(a):hover{border-color:var(--line-strong)}.box-center{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;min-height:0;display:flex}.box-label{text-align:center;color:var(--fg);margin-top:10px;font-size:14px;font-weight:600}.box-num{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:44px;font-weight:600;line-height:1}.box-num.small{letter-spacing:-.02em;font-size:26px}.box-sub{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.box-title{letter-spacing:-.02em;max-width:22em;font-size:17px;font-weight:500;line-height:1.45}a.box-title:hover{text-underline-offset:.25em;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.pulse{background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px;animation:2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}.split-ch{animation:split-in .8s var(--ease) both;animation-delay:calc(var(--d,0s) + var(--i) * 70ms);display:inline-block}@keyframes split-in{0%{opacity:0;filter:blur(8px);transform:translateY(.5em)rotate(8deg)scale(.9)}}.box-name{text-align:center;grid-area:name;justify-content:center;align-items:center;padding:32px}.name-big{letter-spacing:-.05em;margin:0;font-size:clamp(64px,8vw,112px);font-weight:600;line-height:1}html[data-lang=en] .name-big{font-size:clamp(48px,5.6vw,80px)}.name-role{color:var(--muted);margin:16px 0 0;font-size:14px;font-weight:500}.name-line{color:var(--text);margin:8px 0 0;font-size:16px;line-height:1.6}.box-res{grid-area:res}.box-now{grid-area:now}.box-days{grid-area:days}.box-notes{grid-area:notes}.box-arch{grid-area:arch}.box-ints{grid-area:ints}.box-ask{grid-area:ask}.box-mini{grid-area:mini}.box-cats{grid-area:cats}.box-heat{grid-area:heat}.box-qr{grid-area:qr}.box-card{grid-area:card}.box-contact{grid-area:contact}.box-bars{flex-direction:column;flex:1;justify-content:center;gap:9px;margin:0;padding:0;list-style:none;display:flex}.box-bars li{justify-content:space-between;gap:8px;padding-bottom:5px;font-size:13px;display:flex;position:relative}.box-bars b{font-variant-numeric:tabular-nums;font-weight:600}.box-bars i{height:3px;width:var(--w);background:var(--accent);transform-origin:0;animation:bar-grow 1s var(--ease) both;animation-delay:calc(.6s + var(--i) * .12s);border-radius:3px;position:absolute;bottom:0;left:0}@keyframes bar-grow{0%{transform:scaleX(0)}}.box-row{padding:9px 6px;font-size:14.5px;font-weight:500;line-height:1.45;display:block}.box-row small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:400;display:block}.box-list li{animation:list-in .6s var(--ease) both;animation-delay:calc(.5s + var(--i) * 90ms)}@keyframes list-in{0%{opacity:0;transform:translate(-14px)}}.mini-heat{grid-auto-flow:column;gap:3px;display:grid}.mini-heat div{grid-template-rows:repeat(7,1fr);gap:3px;display:grid}.mini-heat i{background:var(--soft);width:9px;height:9px;animation:cell-in .4s var(--ease) both;animation-delay:calc(var(--i) * 6ms + .4s);border-radius:2px}.mini-heat i.on{background:var(--accent);animation:cell-in .4s var(--ease) both,cell-glow 2.4s ease-in-out 2s infinite;animation-delay:calc(var(--i) * 6ms + .4s),calc(var(--i) * 6ms + 2s)}.mini-heat i.is-future{background:0 0;animation:none}@keyframes cell-in{0%{opacity:0;transform:scale(.2)}}@keyframes cell-glow{50%{box-shadow:0 0 0 3px var(--accent-soft)}}.box-qr-img{border:1px solid var(--line);width:min(120px,80%);height:auto;transition:transform .5s var(--ease);background:#fff;border-radius:14px;padding:8px}a.box-qr:hover .box-qr-img{transform:scale(1.06)rotate(-2deg)}.box-card{justify-content:space-between}.box-biz{border:1px solid var(--line);background:var(--sunken);color:var(--muted);border-radius:14px;gap:1px;padding:10px 14px;font-size:13px;display:grid}.box-biz b{color:var(--fg);letter-spacing:-.02em;font-size:17px;font-weight:600}.box-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px;display:flex}.box-actions .btn{height:34px;padding:0 14px;font-size:13px}.box-actions .btn svg{width:14px;height:14px}.box-contact .box-title{font-size:16px}.box-list{flex-direction:column;flex:1;justify-content:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.box-list a{border-radius:12px;padding:9px 6px;font-size:14.5px;font-weight:500;line-height:1.45;transition:background .15s;display:block}.box-list a:hover{background:var(--soft)}.box-list small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:400;display:block}.box-ints .words span{color:var(--muted);font-size:13px}.box-ints .words strong{letter-spacing:-.02em;font-size:20px;font-weight:600}.ask-field{border:1px solid var(--line);width:min(100%,420px);color:var(--faint);background:var(--sunken);text-align:left;border-radius:999px;align-items:center;gap:10px;padding:13px 18px;font-size:15px;display:flex}a.box:hover .ask-field{border-color:var(--line-strong)}@media (max-width:900px){.stage{grid-template-rows:none;grid-template-columns:1fr 1fr;grid-template-areas:"name name""now now""res days""ask ask""notes notes""cats ints""heat heat""arch arch""card card""qr mini""contact contact";grid-auto-rows:minmax(160px,auto)}.box-name{min-height:300px}}.page-head{padding:12px 0 26px}.page-head h1{letter-spacing:-.03em;margin:0;font-size:30px;font-weight:600;line-height:1.2}.page-head p{max-width:40em;color:var(--muted);margin:8px 0 0;font-size:15.5px}.cat-nav{flex-wrap:wrap;gap:6px;margin:0 0 22px;display:flex}.cat-section{scroll-margin-top:72px}.cat-section+.cat-section{margin-top:14px}.status{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.status i{background:var(--faint);border-radius:50%;width:7px;height:7px}.status.is-live i{background:var(--accent)}.status.is-done i{background:var(--fg)}.doc-layout{grid-template-columns:minmax(0,720px);justify-content:center;gap:40px;display:grid}.doc-col{min-width:0}.doc-back{color:var(--muted);align-items:center;gap:6px;font-size:14px;display:inline-flex}.doc-back:hover{color:var(--fg)}.doc-back svg{width:16px;height:16px}.doc-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:26px;font-size:13.5px;display:flex}.doc-title{letter-spacing:-.035em;margin:10px 0 0;font-size:clamp(28px,4vw,38px);font-weight:600;line-height:1.25}.doc-lead{color:var(--muted);margin:14px 0 0;font-size:16.5px;line-height:1.75}.doc-body{border-top:1px solid var(--line);margin-top:30px;padding-top:30px}.doc-nav{grid-template-columns:1fr 1fr;gap:12px;margin-top:48px;display:grid}.doc-nav-item{border:1px solid var(--line);border-radius:16px;gap:4px;padding:16px 18px;transition:border-color .15s;display:grid}.doc-nav-item:hover{border-color:var(--line-strong)}.doc-nav-item small{color:var(--muted);font-size:12.5px}.doc-nav-item span{font-size:15px;font-weight:500;line-height:1.4}.doc-nav-item.is-next{text-align:right;grid-column:2}@media (max-width:600px){.doc-nav{grid-template-columns:1fr}.doc-nav-item.is-next{grid-column:1}}.doc-toc{display:none}.doc-toc-label{color:var(--fg);margin-bottom:8px;font-size:13px;font-weight:600}.doc-toc-list{border-left:1px solid var(--line);margin:0;padding:0;list-style:none}.doc-toc-list a{color:var(--muted);border-left:1px solid #0000;margin-left:-1px;padding:5px 0 5px 14px;font-size:13.5px;line-height:1.45;display:block}.doc-toc-list li.is-sub a{padding-left:26px;font-size:13px}.doc-toc-list a:hover{color:var(--fg)}.doc-toc-list a[aria-current=location]{color:var(--fg);border-left-color:var(--fg)}.doc-toc-top{color:var(--faint);margin-top:12px;font-size:13px}.doc-toc-top:hover{color:var(--fg)}.doc-toc-inline{border:1px solid var(--line);border-radius:14px;margin-top:22px;padding:0 16px}.doc-toc-inline summary{cursor:pointer;align-items:center;gap:8px;padding:12px 0;font-size:14px;font-weight:600;list-style:none;display:flex}.doc-toc-inline summary::-webkit-details-marker{display:none}.doc-toc-inline summary span{color:var(--muted);font-size:12.5px;font-weight:400}.doc-toc-inline summary:after{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:7px;height:7px;margin-left:auto;transition:transform .2s;transform:rotate(45deg)translateY(-2px)}.doc-toc-inline[open] summary:after{transform:rotate(225deg)translateY(-2px)}.doc-toc-inline .doc-toc-list{margin-bottom:12px}@media (min-width:1120px){.doc-layout.has-toc{grid-template-columns:minmax(0,720px) 200px}.doc-toc{align-self:start;max-height:calc(100vh - 110px);padding-top:56px;display:block;position:sticky;top:84px;overflow:auto}.doc-toc-inline{display:none}}.prose{color:var(--text);font-size:16.5px;line-height:1.85}.prose :where(p,ul,ol,figure,blockquote,pre,h2,h3,h4,h5,hr,table,aside,nav,details){margin:0}.prose>*+*{margin-top:1.05em}.prose p,.prose li,.prose summary,.prose td,.prose th,.n-caption{white-space:pre-wrap}.prose strong{color:var(--fg);font-weight:700}.prose u{text-underline-offset:.2em;text-decoration-thickness:1px}.prose s{color:var(--muted)}.prose [id^=h-]{scroll-margin-top:80px}.prose>:first-child{margin-top:0}.n-h1,.n-h2,.n-h3,.n-h4{color:var(--fg);margin:0;font-weight:700}.prose .n-h1{letter-spacing:-.04em;margin-top:2.2em;font-size:clamp(25px,3vw,30px);line-height:1.25}.prose .n-h2{letter-spacing:-.035em;margin-top:1.9em;font-size:clamp(20px,2.3vw,23px);line-height:1.35}.prose .n-h3{letter-spacing:-.025em;margin-top:1.6em;font-size:18px;font-weight:600;line-height:1.45}.prose .n-h4{color:var(--muted);margin-top:1.6em;font-size:15px;font-weight:600;line-height:1.5}.n-link{color:var(--fg);text-underline-offset:.22em;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.n-link:hover{-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}.n-mention{color:var(--fg);text-underline-offset:.22em;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);font-weight:500}.n-mention.is-off{color:var(--text);font-weight:400}.n-date{color:var(--muted);font-size:.92em}.n-code{font:.86em var(--mono);color:var(--fg);background:var(--soft);border-radius:6px;padding:.12em .4em}.n-emoji{vertical-align:-.16em;width:1.1em;height:1.1em}.n-c-gray{color:var(--n-gray)}.n-c-brown{color:var(--n-brown)}.n-c-orange{color:var(--n-orange)}.n-c-yellow{color:var(--n-yellow)}.n-c-green{color:var(--n-green)}.n-c-blue{color:var(--n-blue)}.n-c-purple{color:var(--n-purple)}.n-c-pink{color:var(--n-pink)}.n-c-red{color:var(--n-red)}[class*=_background]{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:4px;padding:.06em .28em}.n-c-default_background{background:0 0}.n-c-gray_background{background:var(--nb-gray)}.n-c-brown_background{background:var(--nb-brown)}.n-c-orange_background{background:var(--nb-orange)}.n-c-yellow_background{background:var(--nb-yellow)}.n-c-green_background{background:var(--nb-green)}.n-c-blue_background{background:var(--nb-blue)}.n-c-purple_background{background:var(--nb-purple)}.n-c-pink_background{background:var(--nb-pink)}.n-c-red_background{background:var(--nb-red)}p.n-bg,li[class*=_background]{border-radius:10px;padding:.55em .85em}.n-ul,.n-ol,.n-todo{margin:0;padding-left:1.4em}.n-ul>li,.n-ol>li{margin:.32em 0;padding-left:.25em}.n-ul{list-style:outside}.n-ul .n-ul{list-style:circle}.n-ul>li::marker{color:var(--faint)}.n-ol>li::marker{color:var(--faint)}.n-todo{padding-left:0;list-style:none}.n-todo>li{grid-template-columns:26px 1fr;margin:.45em 0;display:grid}.n-check{border:1.5px solid var(--line-strong);border-radius:5px;width:16px;height:16px;margin-top:.4em;position:relative}.n-todo .is-done .n-check{background:var(--accent);border-color:var(--accent)}.n-todo .is-done .n-check:after{content:"";border:1.8px solid #fff;border-width:0 1.8px 1.8px 0;width:4px;height:8px;position:absolute;top:1.5px;left:4.5px;transform:rotate(45deg)}.n-todo .is-done .n-todo-text{color:var(--muted);text-decoration:line-through}.n-todo-children{grid-column:2;margin-top:.3em}.prose .n-quote{border-left:3px solid var(--line-strong);color:var(--fg);padding:.1em 0 .1em 1.1em;font-size:1.08em}.n-quote>*+*{margin-top:.6em}.prose .n-callout{border:1px solid var(--line);background:var(--sunken);border-radius:14px;grid-template-columns:auto 1fr;gap:12px;padding:14px 16px;display:grid}.n-callout-icon{font-size:1.15em;line-height:1.6}.n-callout-icon img{border-radius:4px;width:1.3em;height:1.3em;margin-top:.2em}.n-callout-body>*+*{margin-top:.6em}.prose .n-callout-gray_background{background:var(--nb-gray)}.prose .n-callout-brown_background{background:var(--nb-brown)}.prose .n-callout-orange_background{background:var(--nb-orange)}.prose .n-callout-yellow_background{background:var(--nb-yellow)}.prose .n-callout-green_background{background:var(--nb-green)}.prose .n-callout-blue_background{background:var(--nb-blue)}.prose .n-callout-purple_background{background:var(--nb-purple)}.prose .n-callout-pink_background{background:var(--nb-pink)}.prose .n-callout-red_background{background:var(--nb-red)}.n-toggle>summary{cursor:pointer;color:var(--fg);align-items:baseline;gap:10px;list-style:none;display:flex}.n-toggle>summary::-webkit-details-marker{display:none}.n-toggle>summary:before{content:"";border-left:6px solid var(--muted);width:0;height:0;transition:transform .3s var(--ease);border-top:4.5px solid #0000;border-bottom:4.5px solid #0000;flex:none;transform:translateY(-.1em)}.n-toggle[open]>summary:before{transform:translateY(-.1em)rotate(90deg)}.n-toggle-heading>summary>*{margin:0}.prose .n-toggle-heading{margin-top:1.8em}.n-toggle-body{margin:.5em 0 0 2px;padding-left:1.2em}.n-toggle-body>*+*{margin-top:.85em}.prose .n-hr{background:var(--line);border:0;height:1px;margin:2.2em 0}.prose .n-codeblock{border:1px solid var(--line);background:var(--sunken);border-radius:12px;overflow:hidden}.n-codeblock-lang{color:var(--muted);border-bottom:1px solid var(--line);padding:8px 14px;font-size:12px}.n-codeblock pre{font:13.5px/1.7 var(--mono);color:var(--text);tab-size:2;margin:0;padding:14px;overflow-x:auto}.n-codeblock .n-caption{border-top:1px solid var(--line);margin:0;padding:8px 14px}.prose .n-math-block{color:var(--fg);padding:.3em 0;overflow:auto hidden}.n-math-block .katex-display{margin:0}.prose .n-table-wrap{box-shadow:inset 0 0 0 1px var(--line);border-radius:14px;overflow-x:auto}.n-table{border-collapse:collapse;width:100%;font-size:14.5px;line-height:1.6}.n-table th,.n-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:11px 14px}.n-table th+th,.n-table td+td,.n-table th+td{border-left:1px solid var(--line)}.n-table tbody tr:last-child>*{border-bottom:0}.n-table thead th{color:var(--muted);background:var(--soft);font-size:12.5px;font-weight:600}.n-table tbody th{color:var(--fg);font-weight:600}.prose .n-figure{margin:1.8em 0}.n-figure img,.n-video{border:1px solid var(--line);background:var(--soft);border-radius:12px;width:100%;height:auto;display:block}.n-frame{aspect-ratio:16/9;border:1px solid var(--line);background:var(--soft);border-radius:12px;position:relative;overflow:hidden}.n-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.n-audio audio{width:100%;display:block}.n-caption{color:var(--muted);text-align:center;margin-top:10px;font-size:13px}.prose .n-card{border:1px solid var(--line);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;transition:border-color .15s;display:grid}.n-card:hover{border-color:var(--line-strong)}.n-card-label{text-overflow:ellipsis;white-space:nowrap;max-width:14ch;color:var(--muted);font-size:12px;overflow:hidden}.n-card-title{text-overflow:ellipsis;white-space:nowrap;color:var(--fg);font-size:15px;overflow:hidden}.n-card-arrow{color:var(--faint)}.prose .n-columns{grid-template-columns:var(--cols);gap:28px;display:grid}.n-column>*+*{margin-top:.85em}.prose .n-tabs{box-shadow:inset 0 0 0 1px var(--line);border-radius:16px;overflow:hidden}.n-tablist{border-bottom:1px solid var(--line);gap:4px;padding:6px;display:flex;overflow-x:auto}.n-tab{color:var(--muted);border-radius:10px;padding:7px 14px;font-size:13.5px}.n-tab:hover{color:var(--fg)}.n-tab[aria-selected=true]{color:var(--fg);background:var(--soft)}.n-tabpanel{padding:16px 18px}.n-tabpanel>*+*{margin-top:.85em}.n-gap{height:.4em}.n-indent{padding-left:1.4em}.n-indent>*+*{margin-top:.85em}@media (max-width:700px){.prose{font-size:16px}.prose .n-columns{grid-template-columns:1fr;gap:1em}}.resume{gap:14px;display:grid}.resume-section h2{color:var(--muted);margin:0;font-size:14px;font-weight:500}.resume-item{grid-template-columns:minmax(0,1fr) auto;gap:4px 18px;padding:12px 0;display:grid}.list li:first-child .resume-item{padding-top:0}.list li:last-child .resume-item{padding-bottom:0}.resume-name{font-size:15.5px;font-weight:500}.resume-org{color:var(--muted);font-size:13.5px}.resume-when{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;font-size:13.5px}.resume-desc{color:var(--muted);grid-column:1/-1;margin:2px 0 0;font-size:14px;line-height:1.65}@media (max-width:600px){.resume-item{grid-template-columns:1fr}.resume-when{text-align:left;order:-1}}.ask{gap:14px;max-width:720px;display:grid}.chat{gap:12px;display:grid}.msg{white-space:pre-wrap;border-radius:16px;max-width:88%;padding:11px 15px;font-size:15.5px;line-height:1.7}.msg.user{background:var(--fg);color:var(--bg);justify-self:end}.msg.bot{border:1px solid var(--line);background:var(--card);color:var(--text);white-space:normal;justify-self:start}.msg.bot p{margin:0}.msg.bot p+p,.msg.bot ul{margin-top:.6em}.msg.bot ul{margin-bottom:0;padding-left:1.2em}.msg.bot a{text-underline-offset:.2em;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.msg-sources{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.msg-sources a{border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:12.5px;color:var(--muted)!important;text-decoration:none!important}.msg.error{color:var(--muted);border:0;justify-self:start;padding-left:0;font-size:14px}.typing{gap:4px;display:inline-flex}.typing i{background:var(--faint);border-radius:50%;width:5px;height:5px;animation:1.2s infinite blink}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.3}40%{opacity:1}}.suggest{flex-wrap:wrap;gap:6px;display:flex}.suggest button{border:1px solid var(--line);color:var(--text);border-radius:999px;padding:7px 13px;font-size:13.5px}.suggest button:hover:not(:disabled){border-color:var(--line-strong)}.suggest button:disabled{color:var(--faint);cursor:default}.composer{border:1px solid var(--line-strong);background:var(--card);border-radius:16px;align-items:flex-end;gap:8px;padding:6px;display:flex;position:sticky;bottom:16px}.composer textarea{resize:none;background:0 0;border:0;outline:0;flex:1;max-height:160px;padding:8px 10px;font-size:15.5px;line-height:1.5}.send{width:36px;height:36px;color:var(--bg);background:var(--fg);border-radius:10px;place-items:center;display:grid}.send:disabled{opacity:.25;cursor:default}.send svg{width:17px;height:17px}.ask-note{color:var(--faint);font-size:13px}.palette-back{z-index:200;background:#0003;place-items:start center;padding:12vh 16px 16px;display:grid;position:fixed;inset:0}html[data-theme=dark] .palette-back{background:#0000008c}.palette{border:1px solid var(--line);background:var(--card);border-radius:16px;flex-direction:column;width:min(600px,100%);max-height:70vh;display:flex;overflow:hidden;box-shadow:0 16px 48px #00000024}.palette-input{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px;display:flex}.palette-input svg{width:18px;height:18px;color:var(--faint);flex:none}.palette-input input{background:0 0;border:0;outline:0;flex:1;font-size:16px}.kbd{border:1px solid var(--line);color:var(--faint);border-radius:5px;padding:2px 6px;font-size:11px}.palette-list{margin:0;padding:6px;list-style:none;overflow:auto}.palette-group{color:var(--faint);padding:10px 10px 4px;font-size:12px}.palette-item{text-align:left;border-radius:10px;align-items:center;gap:12px;width:100%;padding:9px 10px;display:flex}.palette-item[aria-selected=true]{background:var(--soft)}.pi-icon{width:18px;height:18px;color:var(--muted);flex:none;place-items:center;display:grid}.pi-icon svg{width:17px;height:17px}.pi-text{flex:1;min-width:0}.pi-title{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;display:block;overflow:hidden}.pi-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;display:block;overflow:hidden}.pi-go{width:15px;height:15px;color:var(--faint);flex:none}.palette-empty{text-align:center;color:var(--faint);padding:28px;font-size:14px}.palette-foot{border-top:1px solid var(--line);color:var(--faint);gap:14px;padding:9px 16px;font-size:12px;display:flex}.dev{gap:14px;max-width:760px;display:grid}.card h2{letter-spacing:-.02em;margin:0;font-size:16px;font-weight:600}.card p{color:var(--muted);margin:6px 0 0;font-size:14.5px}.card ul:not(.list):not(.pills):not(.tool-chips){color:var(--text);margin:10px 0 0;padding-left:1.15em;font-size:14.5px}.card ul:not(.list):not(.pills):not(.tool-chips) li+li{margin-top:6px}.code{border:1px solid var(--line);background:var(--sunken);color:var(--text);font:13px/1.7 var(--mono);white-space:pre;border-radius:12px;margin:12px 0 0;padding:13px 15px;position:relative;overflow-x:auto}.copy-btn{border:1px solid var(--line);font:12px var(--font);color:var(--muted);background:var(--card);border-radius:7px;padding:3px 9px;position:absolute;top:8px;right:8px}.copy-btn:hover{color:var(--fg)}.mono{font-family:var(--mono);font-size:13.5px}.mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.mini-grid .card{gap:14px}.mini-grid .card p{margin:0}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.field{color:var(--muted);gap:5px;font-size:13px;display:grid}.field input,.field select{border:1px solid var(--line);background:var(--card);border-radius:10px;outline:0;width:100%;padding:9px 11px;font-size:15px}.field input:focus,.field select:focus{border-color:var(--fg)}.result{background:var(--sunken);border-radius:12px;padding:12px 14px}.result b{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;display:block}.result small{color:var(--muted);font-size:13px}@media (max-width:720px){.mini-grid{grid-template-columns:1fr}}.btn{border:1px solid var(--line-strong);height:38px;color:var(--fg);background:var(--card);border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:500;transition:border-color .15s,background .15s;display:inline-flex}.btn:hover{border-color:var(--fg)}.btn.primary{border-color:var(--fg);background:var(--fg);color:var(--bg)}.btn.primary:hover{opacity:.88}.btn:disabled{opacity:.5;cursor:default}.qr{flex-direction:column;align-items:center;gap:12px;display:flex}.qr-box{border:1px solid var(--line);background:#fff;border-radius:12px;padding:6px;display:block}.qr-empty{background:var(--sunken)}.qr-actions{align-items:center;gap:8px;display:flex}.qr-actions .btn{height:32px;padding:0 12px;font-size:13px}.qr-hint{color:var(--muted);font-size:12.5px}.form-error{color:#d93025;margin:0;font-size:14px}html[data-theme=dark] .form-error{color:#ff8a80}.link-maker{gap:14px;max-width:640px;display:grid}.link-maker form{gap:14px;display:grid}.link-maker .btn.primary{justify-self:start}.short-prefix{border:1px solid var(--line);background:var(--card);border-radius:10px;align-items:center;display:flex;overflow:hidden}.short-prefix span{color:var(--muted);white-space:nowrap;padding:0 0 0 11px;font-size:14px}.short-prefix input{border:0!important;padding-left:2px!important}.short-prefix:focus-within{border-color:var(--fg)}.link-result{justify-items:start;gap:14px;display:grid}.link-result .code{width:100%}@media (max-width:600px){.link-maker .field-row{grid-template-columns:1fr}}.card-page{justify-items:center;gap:22px;max-width:440px;margin:24px auto 0;display:grid}.biz-card{aspect-ratio:1.7;border:1px solid var(--line);background:var(--card);border-radius:22px;flex-direction:column;justify-content:space-between;width:100%;padding:26px 28px;display:flex}.biz-name{letter-spacing:-.03em;font-size:30px;font-weight:600;line-height:1.1}.biz-role{color:var(--muted);margin-top:6px;font-size:14px}.biz-info{grid-template-columns:auto 1fr;gap:4px 14px;margin:0;font-size:14.5px;display:grid}.biz-info dt{color:var(--muted)}.biz-info dd{margin:0}.biz-info a:hover{text-underline-offset:.2em;text-decoration:underline}.card-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.card-qr{text-align:center;justify-items:center;gap:8px;display:grid}.card-qr p{color:var(--muted);margin:0;font-size:13.5px}.mini-card-biz{flex-direction:column;gap:14px;display:flex}.mini-biz{border:1px solid var(--line);background:var(--sunken);color:var(--muted);border-radius:16px;gap:2px;padding:16px 18px;font-size:13.5px;display:grid}.mini-biz b{color:var(--fg);letter-spacing:-.02em;font-size:19px;font-weight:600}.mini-card-biz .card-actions{justify-content:flex-start}.mini-grid .link-maker{max-width:none}.mini-grid .link-maker form h2{letter-spacing:-.02em;margin:0;font-size:16px;font-weight:600}.mini-grid .link-maker form p{margin:-6px 0 0}.ai{grid-template-columns:minmax(0,380px) minmax(0,1fr);align-items:start;gap:48px;padding-top:12px;display:grid}.ai-side{gap:18px;display:grid;position:sticky;top:80px}.ai-title{letter-spacing:-.045em;flex-wrap:wrap;margin:0;font-size:clamp(40px,5vw,56px);font-weight:700;line-height:1.05;display:flex}.ai-title span{animation:ai-letter .7s var(--ease) both;animation-delay:calc(var(--i) * 60ms);display:inline-block}@keyframes ai-letter{0%{opacity:0;filter:blur(6px);transform:translateY(.45em)rotate(6deg)}}.ai-intro{color:var(--muted);animation:ai-fade .8s var(--ease) .45s both;margin:0;font-size:15.5px;line-height:1.7}@keyframes ai-fade{0%{opacity:0;transform:translateY(10px)}}.ai-cards{gap:8px;display:grid}.ai-card{border:1px solid var(--line);background:var(--card);text-align:left;transition:transform .35s var(--ease),border-color .2s,box-shadow .35s var(--ease),background .2s;animation:ai-card-in .65s var(--ease) both;animation-delay:calc(.55s + var(--i) * 90ms);border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;padding:14px 16px;display:grid;position:relative}@keyframes ai-card-in{0%{opacity:0;transform:translate(-24px)scale(.97)}}.ai-card>small{color:var(--accent);letter-spacing:.02em;grid-column:1;font-size:11.5px;font-weight:600}.ai-card>span{color:var(--fg);grid-column:1;font-size:14.5px;font-weight:500;line-height:1.45}.ai-card svg{width:16px;height:16px;color:var(--faint);transition:transform .35s var(--ease),color .2s;grid-area:1/2/span 2}.ai-card:hover:not(:disabled){border-color:var(--accent);transform:translateY(-3px);box-shadow:0 10px 24px #0000000f}.ai-card:hover:not(:disabled) svg{color:var(--accent);transform:translate(4px)}.ai-card:active:not(:disabled){transform:scale(.98)}.ai-card:disabled{opacity:.55;cursor:default}.ai-agent{border:1px dashed var(--line-strong);text-align:left;width:100%;animation:ai-fade .7s var(--ease) 1s both;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;transition:border-color .2s,background .2s;display:flex}.ai-agent>span{gap:1px;font-size:14.5px;font-weight:500;display:grid}.ai-agent>span>small{color:var(--muted);font-size:12.5px;font-weight:400}.ai-agent i{color:var(--muted);transition:transform .3s var(--ease);font-size:20px;font-style:normal;line-height:1}.ai-agent:hover{border-color:var(--fg)}.ai-agent.is-on{border-style:solid;border-color:var(--fg)}.ai-agent.is-on i{transform:rotate(180deg)}.agent-panel{border:1px solid var(--line);background:var(--card);animation:ai-open .45s var(--ease) both;transform-origin:top;border-radius:16px;gap:12px;padding:16px 18px;display:grid}@keyframes ai-open{0%{opacity:0;transform:translateY(-8px)scaleY(.96)}}.agent-panel b{font-size:14.5px;font-weight:600}.agent-panel ol{color:var(--text);margin:0;padding-left:1.2em;font-size:13.5px;line-height:1.7}.agent-prompt{background:var(--sunken);max-height:200px;font:12px/1.7 var(--font);white-space:pre-wrap;color:var(--text);border-radius:12px;margin:0;padding:12px 14px;overflow:auto}.agent-panel .btn{justify-self:start}.ai-contact{animation:ai-fade .7s var(--ease) 1.1s both;flex-wrap:wrap;align-items:baseline;gap:6px 14px;font-size:14px;display:flex}.ai-contact small{width:100%;color:var(--muted);font-size:12px}.ai-contact a{text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:.25em}.ai-contact a:hover{-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}.ai-thread{flex-direction:column;min-width:0;min-height:calc(100svh - 200px);display:flex}.ai-empty{animation:ai-fade .9s var(--ease) .3s both;flex:1;align-content:center;gap:10px;padding:40px 0;display:grid}.ai-empty-q{letter-spacing:-.035em;margin:0;font-size:clamp(30px,3.6vw,44px);font-weight:600;line-height:1.15}.ai-empty-hint{color:var(--muted);margin:0;font-size:16px}.typewriter{color:var(--fg)}.typewriter i{vertical-align:-.15em;background:var(--accent);width:2px;height:1.05em;margin-left:2px;animation:1s step-end infinite ai-caret;display:inline-block}@keyframes ai-caret{50%{opacity:0}}.ai-log{gap:26px;padding:8px 0 24px;display:grid}.ai-q{animation:ai-q-in .55s var(--ease) both;gap:4px;display:grid}@keyframes ai-q-in{0%{opacity:0;transform:translateY(18px)scale(.98)}}.ai-q small,.ai-a small{color:var(--muted);align-items:center;gap:7px;font-size:12px;font-weight:600;display:inline-flex}.ai-q p{letter-spacing:-.02em;white-space:pre-wrap;margin:0;font-size:19px;font-weight:600;line-height:1.45}.ai-a{animation:ai-fade .5s var(--ease) both;gap:8px;padding-left:20px;display:grid;position:relative}.ai-a:before{content:"";background:var(--accent);transform-origin:top;width:2px;animation:ai-line .8s var(--ease) both;border-radius:2px;position:absolute;top:2px;bottom:2px;left:0}@keyframes ai-line{0%{transform:scaleY(0)}}.ai-a.is-error:before{background:#d93025}.ai-a.is-error p{color:var(--muted);margin:0}.ai-dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.ai-a.is-writing .ai-dot{animation:1s ease-in-out infinite ai-pulse}@keyframes ai-pulse{50%{opacity:.4;transform:scale(1.6)}}.ai-thinking{color:var(--muted);align-items:center;gap:10px;margin:0;font-size:14.5px;display:inline-flex}.ai-bounce{gap:4px;display:inline-flex}.ai-bounce i{background:var(--accent);width:6px;height:6px;animation:ai-bounce 1s var(--ease) infinite;border-radius:50%}.ai-bounce i:nth-child(2){animation-delay:.15s}.ai-bounce i:nth-child(3){animation-delay:.3s}@keyframes ai-bounce{0%,80%,to{opacity:.5;transform:translateY(0)}40%{opacity:1;transform:translateY(-6px)}}.ai-text{color:var(--text);font-size:16px;line-height:1.8}.ai-text p{margin:0}.ai-text p+p,.ai-text ul{margin-top:.7em}.ai-text ul{margin-bottom:0;padding-left:1.2em}.ai-text a{color:var(--fg);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.22em;text-decoration-thickness:2px}.ai-sources{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.ai-sources small{width:100%}.ai-sources a{border:1px solid var(--line);background:var(--card);transition:border-color .2s,transform .3s var(--ease);animation:ai-pop .5s var(--ease) both;animation-delay:calc(var(--i) * 80ms);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}@keyframes ai-pop{0%{opacity:0;transform:scale(.8)translateY(6px)}}.ai-sources a svg{width:12px;height:12px;color:var(--faint)}.ai-sources a:hover{border-color:var(--accent);transform:translateY(-2px)}.ai-composer{border:1px solid var(--line-strong);background:var(--card);animation:ai-fade .8s var(--ease) .7s both;border-radius:20px;align-items:flex-end;gap:10px;padding:10px 10px 10px 18px;transition:border-color .2s,box-shadow .3s;display:flex;position:sticky;bottom:16px;box-shadow:0 12px 32px #00000014}.ai-composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft),0 12px 32px #00000014}.ai-composer textarea{resize:none;background:0 0;border:0;outline:0;flex:1;max-height:180px;padding:8px 0;font-size:16px;line-height:1.5}.ai-send{height:40px;color:var(--bg);background:var(--fg);transition:transform .25s var(--ease),opacity .2s;border-radius:14px;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.ai-send svg{width:15px;height:15px;transition:transform .3s var(--ease)}.ai-send:hover:not(:disabled) svg{transform:translate(3px)}.ai-send:active:not(:disabled){transform:scale(.96)}.ai-send:disabled{opacity:.3;cursor:default}.ai-note{color:var(--faint);margin:10px 0 0;font-size:12.5px}@media (max-width:900px){.ai{grid-template-columns:minmax(0,1fr);gap:18px}.ai-side{display:contents}.ai-title{order:1}.ai-intro{order:2}.ai-cards{order:3}.ai-thread{order:4}.ai-agent{order:5}.agent-panel{order:6}.ai-contact{order:7}.ai-cards{scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-columns:minmax(240px,78%);grid-auto-flow:column;padding-bottom:4px;overflow-x:auto}.ai-cards::-webkit-scrollbar{display:none}.ai-card{scroll-snap-align:start}.ai-thread{min-height:0}.ai-empty{padding:8px 0 4px}}.ask-open-btn{gap:6px}.ask-open-label{font-size:13px;font-weight:500}.ask-open-btn{border:1px solid var(--line);color:var(--fg);border-radius:999px;padding:0 12px 0 10px}.ask-open-btn:hover{border-color:var(--accent);color:var(--fg)}.ask-open-btn svg{color:var(--accent)}html.ask-open .ask-open-btn{border-color:var(--accent);background:var(--accent-soft)}@media (max-width:640px){.ask-open-label{display:none}.ask-open-btn{border:0;padding:0 8px}}.ask-panel{z-index:120;background:var(--bg);border-left:1px solid var(--line);visibility:hidden;width:min(420px,100%);transition:transform .5s var(--ease),visibility 0s linear .5s;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(104%);box-shadow:-18px 0 48px #00000014}.ask-panel.is-open{visibility:visible;transition:transform .5s var(--ease),visibility 0s;transform:none}@media (min-width:1100px){body{transition:padding-right .5s var(--ease)}html.ask-open body{padding-right:420px}}.ask-panel-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 16px;display:flex}.ask-panel-head div{flex:1;min-width:0;display:grid}.ask-panel-head b{font-size:15px;font-weight:600}.ask-panel-head small{color:var(--muted);font-size:12.5px}.ask-panel-mark{width:34px;height:34px;color:var(--accent);background:var(--accent-soft);border-radius:50%;place-items:center;display:grid}.ask-panel-mark svg{width:18px;height:18px}.ask-panel.is-open .ask-panel-mark{animation:mark-pop .6s var(--ease) .15s both}@keyframes mark-pop{0%{opacity:0;transform:scale(.4)rotate(-30deg)}}.ask-panel-close{width:32px;height:32px;color:var(--muted);transition:background .2s,color .2s,transform .3s var(--ease);border-radius:8px;font-size:22px;line-height:1}.ask-panel-close:hover{background:var(--soft);color:var(--fg);transform:rotate(90deg)}.ask-context{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:12px;gap:2px;margin:12px 16px 0;padding:10px 12px;display:grid}.ask-context>small{color:var(--accent);font-size:11.5px;font-weight:600}.ask-context>span{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13.5px;font-weight:500;line-height:1.4;display:-webkit-box;overflow:hidden}.ask-panel.is-open .ask-context{animation:ai-fade .5s var(--ease) .2s both}.ask-panel-body{flex-direction:column;flex:1;gap:20px;padding:18px 16px;display:flex;overflow-y:auto}.ask-panel-suggest{gap:8px;margin-top:auto;display:grid}.ask-panel-suggest button{border:1px solid var(--line);text-align:left;background:var(--card);transition:border-color .2s,transform .35s var(--ease);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-size:14px;display:flex}.ask-panel-suggest button svg{width:15px;height:15px;color:var(--faint);transition:transform .35s var(--ease),color .2s}.ask-panel-suggest button:hover:not(:disabled){border-color:var(--accent);transform:translate(-3px)}.ask-panel-suggest button:hover:not(:disabled) svg{color:var(--accent);transform:translate(3px)}.ask-panel.is-open .ask-panel-suggest button{animation:ai-card-in .55s var(--ease) both;animation-delay:calc(.25s + var(--i) * 80ms)}.ask-panel .ai-q p{font-size:16px}.ask-panel .ai-text{font-size:15px;line-height:1.75}.ask-panel-form{border:1px solid var(--line-strong);background:var(--card);border-radius:16px;align-items:flex-end;gap:8px;margin:0 12px;padding:8px 8px 8px 14px;transition:border-color .2s,box-shadow .3s;display:flex}.ask-panel-form:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.ask-panel-form textarea{resize:none;background:0 0;border:0;outline:0;flex:1;max-height:140px;padding:7px 0;font-size:15px;line-height:1.5}.ask-panel-send{width:36px;height:36px;color:var(--bg);background:var(--fg);transition:transform .25s var(--ease),opacity .2s;border-radius:11px;flex:none;place-items:center;display:grid}.ask-panel-send svg{width:16px;height:16px;transform:rotate(-90deg)}.ask-panel-send:active:not(:disabled){transform:scale(.92)}.ask-panel-send:disabled{opacity:.3;cursor:default}.ask-panel-note{color:var(--faint);justify-content:space-between;align-items:center;gap:8px;margin:8px 16px 12px;font-size:11.5px;display:flex}.check{gap:18px;margin-top:24px;display:grid}.check-title{color:var(--muted);margin:0 0 6px;font-size:13px}.check ul{margin:0;padding:0;list-style:none}.check li{gap:10px;padding:5px 0;font-size:14.5px;display:flex}.check li small{color:var(--muted);font-size:12.5px;display:block}.check-mark{flex:none;width:16px}.check-ok .check-mark{color:var(--accent)}.check-bad .check-mark{color:#e5484d}.footer{border-top:1px solid var(--line);color:var(--faint);padding:28px 0 44px;font-size:13px}.footer .shell{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.footer-links{flex-wrap:wrap;gap:16px;display:flex}.footer a{color:var(--muted)}.footer a:hover{color:var(--fg)}.empty{color:var(--muted);padding:32px 0}.page-enter{animation:.45s ease-out backwards page-in}@keyframes page-in{0%{opacity:0}}.rise-wait{opacity:0}.rise-in{animation:rise .85s var(--ease) both}@keyframes rise{0%{opacity:0;filter:blur(6px);transform:translateY(28px)scale(.97)}}.rise-in.is-row{animation-name:row-in;animation-duration:.6s}@keyframes row-in{0%{opacity:0;transform:translate(-18px)}}.topnav a{position:relative}.topnav a:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform .35s var(--ease);border-radius:2px;position:absolute;bottom:2px;left:10px;right:10px;transform:scaleX(0)}.topnav a:hover:after,.topnav a[aria-current=page]:after{transform:scaleX(1)}.topbar{animation:bar-down .6s var(--ease) both}@keyframes bar-down{0%{opacity:0;transform:translateY(-100%)}}.btn{transition:border-color .2s,background .2s,transform .3s var(--ease),box-shadow .3s var(--ease)}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #00000014}.btn:active:not(:disabled){transform:scale(.96)}.pill{transition:border-color .2s,transform .3s var(--ease)}.pill:hover{border-color:var(--accent);transform:translateY(-2px)}.card{transition:border-color .25s,transform .45s var(--ease),box-shadow .45s var(--ease)}.card:hover{border-color:var(--line-strong);box-shadow:0 14px 32px #0000000d}a.card:hover{border-color:var(--accent);transform:translateY(-3px)}a.item{transition:padding-left .35s var(--ease),background .2s}a.item:hover{padding-left:6px}.page-head h1{animation:split-in .8s var(--ease) both}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.card .ask-box{margin-top:16px}a.ask-box:hover{border-color:var(--line-strong);color:var(--muted)}:root{--tile:#f5f5f7;--tile-strong:#fff}html[data-theme=dark]{--tile:#161617;--tile-strong:#232325}.bento{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-areas:"hero hero hero ask ask now""hero hero hero res arch now""recent recent intr intr mini dev""recent recent intr intr days days""study study study chart chart chart";grid-auto-rows:minmax(168px,auto);gap:14px;display:grid}.tile{background:var(--tile);min-width:0;transition:transform .35s var(--ease);border-radius:28px;flex-direction:column;padding:20px;display:flex;position:relative;overflow:hidden}a.tile:hover{transform:scale(1.012)}.tile-label{text-align:center;letter-spacing:-.02em;color:var(--fg);margin-top:auto;padding-top:12px;font-size:14px;font-weight:600}.tile-sub{text-align:center;color:var(--muted);margin-top:2px;font-size:12.5px}.tile-center{text-align:center;flex:1;place-items:center;display:grid}.count{text-align:center;color:var(--muted);margin-top:1px;font-size:12px}.tile-hero{background:#dfeee8;grid-area:hero;min-height:352px}html[data-theme=dark] .tile-hero{background:#14211c}.hero-body{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:20px;display:flex}.hero-name{letter-spacing:-.05em;color:var(--fg);margin:0;font-size:clamp(60px,8.5vw,104px);font-weight:700;line-height:1}html[data-lang=en] .hero-name{font-size:clamp(46px,5.8vw,76px)}.hero-role{color:var(--text);font-size:14px;font-weight:600}.hero-line{max-width:30em;color:var(--muted);margin:10px 0 0;font-size:15px;line-height:1.6}.hero-foot{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.hero-chip{color:var(--text);background:var(--tile-strong);border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:500}.tile-ask{grid-area:ask}.ask-title{letter-spacing:-.04em;font-size:clamp(28px,3.2vw,36px);font-weight:700;line-height:1.1}.ask-field{background:var(--tile-strong);width:100%;max-width:290px;color:var(--faint);border-radius:999px;align-items:center;gap:8px;margin:14px auto 0;padding:10px 14px;font-size:13.5px;display:flex}.ask-field svg{flex:none;width:15px;height:15px}.tile-res{grid-area:res}.tile-arch{grid-area:arch}.tile-mini{grid-area:mini}.tile-dev{grid-area:dev}.app-icon{color:#fff;border-radius:20px;place-items:center;width:72px;height:72px;display:grid}.app-icon svg{width:36px;height:36px}.app-icon.research{background:#f05a3c}.app-icon.resume{background:#22a861}.app-icon.mini{background:#7c5cf0}.app-icon.dev{background:#1d1d1f}html[data-theme=dark] .app-icon.dev{background:#3a3a3c}.tile-now{grid-area:now}.now-list{flex:1;align-content:center;gap:8px;margin:6px 0 0;padding:0;list-style:none;display:grid}.now-pill{background:var(--tile-strong);border-radius:14px;padding:9px 12px;display:block}.now-pill small{color:var(--muted);font-size:11.5px;display:block}.now-pill span{color:var(--fg);font-size:13.5px;font-weight:500;line-height:1.4;display:block}a.now-pill:hover span{text-underline-offset:.2em;text-decoration:underline}.tile-recent{grid-area:recent}.stack{flex:1;align-content:center;gap:8px;display:grid}.note-card{background:var(--tile-strong);transition:transform .3s var(--ease);border-radius:16px;padding:12px 14px;display:block}a.note-card:hover{transform:translate(3px)}.note-card time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px;display:block}.note-card strong{margin-top:2px;font-size:14.5px;font-weight:600;line-height:1.4;display:block}.tile-intr{grid-area:intr}.words{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.words span{color:var(--faint);font-size:13px}.words span:nth-child(2n){color:var(--muted);font-size:15px}.words .big{letter-spacing:-.04em;color:var(--fg);font-size:clamp(26px,3vw,34px);font-weight:700;line-height:1.25}.tile-days{grid-area:days}.big-number{letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:clamp(40px,5vw,54px);font-weight:700;line-height:1}.tile-study{grid-area:study}.study-feature{flex-direction:column;flex:1;justify-content:center;gap:10px;display:flex}.study-feature h3{letter-spacing:-.035em;margin:0;font-size:clamp(22px,2.4vw,27px);line-height:1.25}.study-feature p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.tile-chart{grid-area:chart}.chart-nums{justify-content:space-around;gap:10px;display:flex}.chart-nums div{text-align:center}.chart-nums b{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;display:block}.chart-nums small{color:var(--muted);font-size:12px}.tile-chart .bars i{background:var(--tile-strong)}.tile-chart .bars i.on{background:var(--accent)}@media (max-width:900px){.bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"hero hero""ask ask""res arch""now now""mini dev""days days""recent recent""intr intr""study study""chart chart";grid-auto-rows:minmax(150px,auto)}.tile-hero{min-height:300px}}
