/* V2 refinement: preserve the existing print palette and component language. */
@font-face{font-family:KalamHand;src:url('./fonts/Kalam-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--font-hand:KalamHand,'Segoe Print',cursive;--font-interface:DMSans,'Microsoft YaHei','PingFang SC',sans-serif;--font-reading:WenKai,RetroSong,'STSong',serif;--focus-ring:#91330f;--button-ink:#20221e;--panel-rule:#c8d8ea99;--field-hot:#ffb15d;--field-text:#fff0ca}
body[data-theme=dark]{--paper:#132666;--paper-light:#1b3477;--ink:#f1f1e9;--muted:#d4dfeb;--line:#b8cce1;--blue:#bdd3ff;--orange:#ffb583;--cream:#1b3477;--field:#254e98;--field-ink:#f5f0dd;--tile-blue:#385f9d;--tile-orange:#a65642;--tile-yellow:#74603a;--tile-mint:#3f685c;--tile-ink:#f1f1e9;--shadow:#0b1e514d;--focus-ring:#fff1af;--field-hot:#ffca88;--field-text:#f4f1df}
.hero-stop{display:inline-block;margin-left:.085em;letter-spacing:0}
html,body{overflow-x:clip}
h1[tabindex="-1"]:focus{outline:none}
body[data-theme=dark]{--button-ink:#f1f1e9}
body[data-theme=dark] .main-nav a:hover,body[data-theme=dark] .utility-btn:hover,body[data-theme=dark] .breadline a:hover,body[data-theme=dark] .detail-siblings a:hover,body[data-theme=dark] .search-results a:hover,body[data-theme=dark] .index-card-list a:hover,body[data-theme=dark] .section-card:hover{color:var(--ink)}
input::placeholder{color:var(--muted);opacity:1}
.signature>span{font-family:var(--font-hand);font-size:59px;letter-spacing:-.035em;transform:rotate(-4deg);top:4px;line-height:1.1;font-weight:400}
.signature:hover>span{transform:rotate(-2deg) translateY(-2px)}.signature-underline{width:165px;margin-top:-6px}
.field-bits{display:none}.motion-toggle{border:1px solid var(--field-ink);background:transparent;color:var(--field-ink);border-radius:4px;min-height:36px;padding:4px 12px;font:14px/1.4 var(--font-interface);margin-left:auto}.motion-toggle:disabled{opacity:.7;cursor:default}
.site-footer{font:400 16px/1.5 var(--font-interface);font-synthesis:none}.site-footer a{font-family:var(--font-interface);font-weight:400;font-synthesis:none}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}
button:active{transform:translateY(1px)}.language-btn{white-space:nowrap;min-width:46px;width:auto;padding-inline:8px}
.portal-desc{display:none}.avatar-caption{display:none}.section-heading p:empty{display:none}
body[data-theme=dark] .main-nav a.active{background:var(--blue);color:var(--paper)}
.content-view{margin-top:28px}.content-view h1{font-family:RetroBlock,serif;font-size:clamp(34px,4.6vw,62px);line-height:1.35;overflow-wrap:anywhere;margin-bottom:20px}.content-view h2{line-height:1.4;overflow-wrap:anywhere}.content-view a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}
.section-screen.content-section .section-header{grid-template-columns:1fr;margin-top:24px}.section-screen.content-section .section-heading h1{font-size:clamp(48px,6vw,80px)}
.honest-empty{font:22px/1.7 var(--font-reading);padding:32px 0;border-top:2px solid var(--line);min-height:180px}
.feed-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}.feed-filters button{border:2px solid var(--line);background:var(--paper-light);border-radius:5px;padding:8px 16px;min-height:44px;font:17px/1.5 var(--font-interface)}.feed-filters button[aria-pressed=true]{background:var(--blue);color:var(--paper-light)}body[data-theme=dark] .feed-filters button[aria-pressed=true]{color:var(--paper)}
.updates-feed{max-width:1000px}.feed-entry{padding:28px 0 32px;border-top:2px solid var(--line)}.feed-entry h2{font:400 clamp(26px,3vw,38px)/1.4 RetroSong,serif;margin:12px 0}.feed-entry h2 a:hover,.post-read:hover{color:var(--blue)}.feed-excerpt{font:20px/1.8 var(--font-reading);white-space:pre-line;margin-bottom:16px}.post-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:var(--muted);font:15px/1.5 var(--font-interface)}.post-category{padding:4px 10px;background:var(--tile-yellow);border:1px solid var(--line);border-radius:4px;color:var(--ink)}.post-read{display:inline-block;text-decoration:underline;text-underline-offset:5px;font-size:17px;min-height:36px}
.content-back{display:inline-flex;align-items:center;padding:8px 14px;border:2px solid var(--line);border-radius:5px;background:var(--paper-light);min-height:44px;margin-bottom:28px;font:17px/1.5 var(--font-interface)}.post-detail{max-width:960px}.reading-body{font:21px/1.9 var(--font-reading);max-width:38em;margin-top:24px;overflow-wrap:anywhere}.reading-body p{white-space:pre-wrap;margin:0 0 1.2em}.reading-body h2,.reading-body h3,.reading-body h4{font-family:RetroSong,serif;margin:1.7em 0 .6em;line-height:1.5}.reading-body a{text-decoration:underline;text-underline-offset:4px}.reading-body pre{overflow:auto;padding:20px;background:var(--paper-light);border:1px solid var(--line);font:16px/1.7 Consolas,monospace;white-space:pre}.reading-body ul{padding-left:1.4em;margin-bottom:1.2em}.note-path{font:14px/1.6 var(--font-interface);color:var(--muted);overflow-wrap:anywhere}
.repository-tree{list-style:none;padding:0;margin:0}.repository-tree>li{border-top:1px solid var(--line);padding:20px 0}.repository-tree h2{font:28px/1.5 RetroSong,serif;margin-bottom:12px}.repository-tree .repository-tree{margin-left:24px}.repository-tree a{display:inline-block;padding:8px 0;min-height:44px;font-size:21px;text-decoration:underline;text-underline-offset:5px}
.lang-en .portal strong{font-size:clamp(25px,2.5vw,39px);overflow-wrap:normal}.lang-en .section-heading h1{font-size:clamp(43px,6vw,88px);overflow-wrap:anywhere}.lang-en .content-view h1,.lang-en .feed-entry h2{font-family:Fraunces,serif}.lang-en .reading-body,.lang-en .feed-excerpt,.lang-en .honest-empty{font-family:var(--font-interface)}
@media(max-width:1270px){.signature>span{font-size:52px}.signature-underline{width:145px}.portal strong{overflow-wrap:normal}.signature{min-width:145px}}
@media(max-width:960px){.signature>span{font-size:47px}.signature-underline{width:135px}}
@media(max-width:600px){.signature{min-width:115px}.signature>span{font-size:41px}.signature-underline{width:112px;margin-top:-3px}.home-screen{display:flex;flex-direction:column}.hero-layout{display:contents}.hero-copy{order:0}.homepage-nav{order:1;margin-top:18px}.field-wrap{order:2;margin:28px auto 0}.hero-lower{margin-top:16px}.hero-copy h1{margin-bottom:16px}.hero-name{font-size:clamp(68px,18vw,92px)}.portal{min-height:145px}.lang-en .portal strong{font-size:clamp(21px,5vw,28px);line-height:1.25}.lang-en .hero-greeting{font-size:40px}.lang-en .hero-lead{font-size:18px}.lang-en .section-heading h1{font-size:clamp(40px,10vw,56px)}.field-bottom>span{font-size:12px}.section-screen.content-section .section-heading h1{font-size:46px}.reading-body,.feed-excerpt{font-size:18px}.honest-empty{font-size:20px}.post-meta{gap:10px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.signature>span,.signature:hover>span{transform:none}button:active{transform:none}}
.contact-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-left:8px;font:16px/1.5 var(--font-interface)}.contact-links a{display:inline-flex;align-items:center;gap:14px;border:1px solid var(--line);padding:9px 15px;border-radius:5px;background:var(--paper-light);min-height:44px}.contact-links a:hover{background:var(--tile-yellow);color:var(--button-ink)}
.home-extras{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:32px;order:3}.notice-panel,.music-panel{min-width:0;border-top:2px solid var(--line);padding:24px 4px 4px;font-family:var(--font-interface)}.extra-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.extra-heading h2{font:400 30px/1.3 RetroSong,serif}.extra-heading>span{font-size:14px;color:var(--muted)}.home-extras button{border:1px solid var(--line);border-radius:5px;padding:8px 13px;min-height:44px;font:15px/1.4 var(--font-interface);background:var(--paper-light);color:var(--ink)}.home-extras button:hover,.home-extras button[aria-pressed=true]{background:var(--tile-yellow);color:var(--button-ink)}.home-extras input[type=range]{accent-color:var(--blue);min-width:0;min-height:44px;width:100%;cursor:pointer}.extra-empty{font:19px/1.6 var(--font-reading);color:var(--muted);margin-bottom:16px}#noticeTitle{font:400 24px/1.5 var(--font-reading);overflow-wrap:anywhere;margin-bottom:10px}#noticeBody{font:20px/1.8 var(--font-reading);white-space:pre-wrap;overflow-wrap:anywhere}#noticeLink{display:inline-block;margin-top:16px;min-height:44px;text-decoration:underline;text-underline-offset:5px}#restoreNotice{margin-bottom:16px}.track-info{display:flex;align-items:center;gap:18px;margin-bottom:12px}.track-info>div{min-width:0}.record-mark{display:grid;place-items:center;width:64px;height:64px;flex-shrink:0;border:2px solid var(--line);border-radius:50%;font:32px/1 Georgia,serif;background:var(--tile-yellow);color:var(--button-ink)}#trackTitle{font:400 23px/1.4 var(--font-interface);overflow-wrap:anywhere}#trackArtist{font:16px/1.5 var(--font-interface);color:var(--muted);margin-top:4px}.music-transport{display:grid;grid-template-columns:48px auto minmax(40px,1fr) 44px;align-items:center;gap:12px}#musicPlay{background:var(--blue);color:var(--paper-light);font-size:20px;padding:4px}body[data-theme=dark] #musicPlay{color:var(--paper)}#musicTime{white-space:nowrap;font:13px/1.4 Consolas,monospace;font-variant-numeric:tabular-nums}.seek-label{display:flex;min-width:0}.music-volume{display:flex;align-items:center;gap:12px;font-size:13px;margin-top:8px}.music-volume input{max-width:120px}#musicStatus{min-height:22px;font-size:14px;line-height:1.5;color:var(--muted);margin-top:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.lang-en .extra-heading h2{font-family:Fraunces,serif}
@media(max-width:760px){.home-extras{grid-template-columns:1fr;gap:20px;margin-top:26px}.extra-heading h2{font-size:27px}.contact-links{gap:8px;margin-left:0}.contact-links a{padding:8px 12px}.music-transport{gap:9px}.hero-lower{gap:16px}}
.music-floating{position:fixed;bottom:22px;right:22px;z-index:30;max-width:min(380px,calc(100vw - 44px));min-height:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:12px 18px;background:var(--tile-yellow);color:var(--button-ink);border:2px solid var(--line);border-radius:6px;box-shadow:4px 4px 0 var(--shadow);font:16px/1.4 var(--font-interface)}
