/*
Theme Name: MISAKA Lab
Description: 工业制图风个人作品集，搭配独立项目档案与博客。页面正文使用 WordPress 区块编辑器。
Version: 1.2.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: misaka-lab
*/
:root{--paper:#efeee8;--ink:#222621;--muted:#62665d;--line:#b9bcb0;--soft:#d9dbd1;--orange:#c94718;--mono:Consolas,'Courier New',monospace;--sans:Arial,'Microsoft YaHei',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:var(--orange)}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:5px}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.2}p{color:var(--muted)}.mono{font-family:var(--mono);font-size:12px;letter-spacing:.05em}.site-shell{max-width:1512px;margin:auto;padding:0 54px;border-left:1px solid var(--line);border-right:1px solid var(--line)}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0;border-bottom:2px solid var(--ink)}.brand{display:flex;align-items:center;gap:14px;font-weight:800;font-size:21px;line-height:1.25}.brand small{display:block;font-size:10px;margin-top:7px;font-weight:400;color:var(--muted)}.brand-mark{font-family:Arial,sans-serif;font-size:37px;letter-spacing:-5px;border:2px solid var(--ink);padding:0 10px 0 5px;line-height:1.1;position:relative}.brand-mark>span{position:absolute;right:-8px;top:-12px;color:var(--orange);background:var(--paper);font-size:23px;letter-spacing:0}.site-header nav{display:flex;gap:27px}.site-header nav a{display:inline-flex;gap:8px;align-items:center;font-size:14px;padding:10px 0;border-bottom:2px solid transparent}.site-header nav a[aria-current]{border-color:var(--orange)}.nav-no{font:10px var(--mono);color:var(--muted)}.custom-menu{list-style:none;display:flex;gap:24px;padding:0;margin:0}.sheet-top,.sheet-bottom{display:flex;justify-content:space-between;gap:15px;padding:13px 0;color:var(--muted)}.sheet-top{border-bottom:1px solid var(--line)}.hero{display:grid;grid-template-columns:1.12fr 1fr;border-bottom:1px solid var(--ink)}.hero-copy{padding:47px 40px 0 0;min-width:0}.eyebrow{display:block;color:var(--muted);font-size:12px;letter-spacing:.09em}.eyebrow i{display:inline-block;width:7px;height:7px;background:var(--orange);margin-right:8px}.hero h1{font-size:clamp(78px,8.7vw,130px);font-weight:900;letter-spacing:-.065em;line-height:.92;margin:30px 0 27px}.hero-second{display:block;position:relative}.orange-dot{color:var(--orange)}.title-plus{position:absolute;right:12px;top:10px;font-size:60px;font-weight:300;color:var(--orange)}.hero-description{max-width:430px;font-size:17px;line-height:1.85}.hero-description p{margin-bottom:0;color:var(--ink)}.hero-actions{display:flex;align-items:center;gap:30px;margin:27px 0 38px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:44px;padding:13px 21px;background:var(--ink);color:#fff;font-size:14px;border:1px solid var(--ink)}.button:hover{background:var(--orange);color:#fff;border-color:var(--orange)}.text-link{font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:5px;white-space:nowrap}.hero-foot{display:flex;justify-content:space-between;border-top:1px dashed var(--line);padding:14px 0;color:var(--muted);font-size:11px}.drawing{border-left:1px solid var(--line);padding:18px 22px 0;display:flex;flex-direction:column;background-image:linear-gradient(#90998912 1px,transparent 1px),linear-gradient(90deg,#90998912 1px,transparent 1px);background-size:24px 24px;position:relative;overflow:hidden}.draw-top{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.dimension{display:flex;justify-content:space-between;align-items:center;color:var(--muted)}.dim-top{margin:29px 20px 0;border-top:1px solid var(--line);position:relative;line-height:1}.dim-top span{background:var(--paper);padding:0 12px;transform:translateY(-50%);font-size:10px}.plot{position:relative;aspect-ratio:1.2;flex:1;min-height:270px;margin:5px 9px 0}.axis{position:absolute;background:var(--line)}.axis-x{height:1px;width:100%;top:50%}.axis-y{width:1px;height:100%;left:50%}.orbit{position:absolute;left:50%;top:50%;border:1px solid var(--ink);border-radius:50%;width:66%;aspect-ratio:1;transform:translate(-50%,-50%)}.orbit-a{width:78%;border-color:#7c8175;border-style:dashed}.orbit-b{transform:translate(-50%,-50%) rotate(-38deg);width:88%;height:33%;border-color:var(--orange);border-width:2px}.orbit-c{width:55%;border-color:#a8aea0}.plot-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:80px;font-weight:900;line-height:1;letter-spacing:-8px}.plot-core span{font-size:32px;position:absolute;color:var(--orange);top:-8px;right:-23px;letter-spacing:0}.plot-point{position:absolute;width:9px;height:9px;background:var(--orange);outline:5px solid var(--paper);border-radius:50%}.point-a{left:22%;top:67%}.point-b{right:20%;top:30%}.plot-label{position:absolute;font-size:10px;background:var(--paper);padding:3px 6px;border-bottom:1px solid var(--line)}.label-a{left:0;top:78%}.label-b{right:0;top:10%}.plot-origin{position:absolute;left:52%;bottom:5%;font-size:10px}.draw-scale{display:flex;justify-content:space-between;color:var(--muted);padding:0 0 12px}.draw-table{display:grid;grid-template-columns:1fr 1.5fr .8fr;border-top:1px solid var(--ink);margin:0 -22px;font-size:10px;background:var(--paper)}.draw-table>span{padding:12px 16px;border-right:1px solid var(--line)}.draw-table>span:last-child{border:0}.draw-table b{font-family:var(--sans);font-size:12px;font-weight:400;color:var(--ink);display:inline-block;margin-top:4px}.discipline-strip{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--ink);padding:14px 0;font-size:11px}.discipline-strip>span:first-child{color:var(--orange)}.section{padding:55px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.section-heading h2,.journal-intro h2{font-size:34px;margin:11px 0 0;letter-spacing:-.03em}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.project-card{min-width:0;position:relative}.project-art{aspect-ratio:1.48;border:1px solid var(--ink);position:relative;overflow:hidden;background-color:#e1e3d9;background-image:linear-gradient(#92988721 1px,transparent 1px),linear-gradient(90deg,#92988721 1px,transparent 1px);background-size:20px 20px}.project-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.project-link:hover img{transform:scale(1.03)}.art-top{position:absolute;top:13px;left:15px;font-size:10px}.art-code{font-family:Arial,sans-serif;font-size:clamp(70px,8vw,110px);font-weight:900;letter-spacing:-.08em;position:absolute;left:24px;top:50%;transform:translateY(-48%);line-height:1;color:#30372c}.art-cross{position:absolute;right:18px;top:28%;font-family:var(--mono);font-size:50px;font-weight:300;color:var(--orange)}.art-bottom{position:absolute;left:15px;right:15px;bottom:12px;display:flex;justify-content:space-between;font-size:10px;border-top:1px solid #7a8174;padding-top:8px}.art-1{background-color:#282e29;color:#e9eee2;background-image:linear-gradient(#b9cfb316 1px,transparent 1px),linear-gradient(90deg,#b9cfb316 1px,transparent 1px)}.art-1 .art-code{color:#e1e5d9}.art-1 .art-cross{color:#ed703f}.art-2{background-color:#d6d8cb;background-size:40px 40px}.art-2 .art-code{color:transparent;-webkit-text-stroke:1px var(--ink)}.card-meta{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted);margin:16px 0 10px}.project-card h3{font-size:20px;display:flex;justify-content:space-between;gap:15px;margin:0 0 10px}.project-card h3 span{font-weight:400}.project-card p{font-size:14px;line-height:1.8;margin:0}.journal-section{border-top:1px solid var(--ink);display:grid;grid-template-columns:1fr 2fr;gap:45px}.journal-intro p{margin:20px 0 24px;font-size:14px}.note-row{display:grid;grid-template-columns:105px 1fr 25px;gap:20px;padding:23px 0;border-bottom:1px solid var(--line);align-items:center}.note-row:first-child{border-top:1px solid var(--line)}.note-row time{font-size:11px;color:var(--muted)}.note-category{font-size:10px;color:var(--muted)}.note-row h3{font-size:18px;margin:6px 0 0}.note-row h2{font-size:23px;margin:0 0 10px}.note-arrow{font-size:23px}.site-footer{border-top:2px solid var(--ink);border-bottom:1px solid var(--ink);display:flex;justify-content:space-between;gap:24px;padding:30px 0}.footer-name{font-size:25px;font-weight:800;letter-spacing:-.04em}.site-footer p{font-size:13px;margin:8px 0 0}.footer-drawing{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);font-size:10px;align-self:center}.footer-drawing>*{padding:10px 16px}.footer-drawing>*:nth-child(odd){border-right:1px solid var(--line)}.footer-drawing>*:nth-child(-n+2){border-bottom:1px solid var(--line)}.sheet-bottom{font-size:10px}.skip-link{position:fixed;top:-100px;left:20px;background:var(--ink);color:#fff;padding:12px;z-index:99999}.skip-link:focus{top:15px;color:#fff}.inner-main{min-height:60vh;padding-bottom:70px}.page-heading{padding:54px 0 36px;max-width:1000px}.page-heading h1{font-size:clamp(36px,5.2vw,66px);letter-spacing:-.04em;margin:16px 0 22px;overflow-wrap:anywhere}.page-heading p{font-size:17px;max-width:760px}.filter-nav{display:flex;flex-wrap:wrap;gap:0;margin-bottom:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.filter-nav a{padding:12px 24px;font-size:14px;border-right:1px solid var(--line)}.filter-nav a[aria-current]{background:var(--ink);color:var(--paper)}.archive-grid{row-gap:42px}.blog-list{max-width:1000px}.blog-list .note-row{padding:29px 0}.blog-list p{font-size:15px;margin:0}.article-layout{display:grid;grid-template-columns:210px minmax(0,760px);gap:60px;border-top:1px solid var(--ink);padding-top:38px}.article-aside{font-size:12px;color:var(--muted)}.article-aside dl{border-top:1px solid var(--line);margin-top:20px;padding-top:10px}.article-aside dt{font-family:var(--sans);margin-top:17px}.article-aside dd{margin:4px 0;color:var(--ink);overflow-wrap:anywhere}.prose{font-size:17px;line-height:1.95;min-width:0;overflow-wrap:anywhere}.prose p{color:var(--ink);margin-bottom:24px}.prose h2{font-size:27px;margin:38px 0 20px;padding-bottom:12px;border-bottom:1px solid var(--line)}.prose h3{font-size:21px;margin-top:30px}.prose a{color:#a9340d;text-decoration:underline;text-underline-offset:4px}.prose blockquote{margin:25px 0;padding:4px 0 4px 22px;border-left:3px solid var(--orange)}.prose blockquote p{margin:0;color:var(--muted)}.prose pre{overflow:auto;padding:22px;background:#252b26;color:#edf0e6;font:14px/1.8 var(--mono)}.prose code{font-family:var(--mono);font-size:.9em}.prose table{border-collapse:collapse;width:100%;font-size:15px}.prose td,.prose th{border:1px solid var(--line);padding:12px;text-align:left}.prose .wp-block-table{overflow-x:auto}.detail-cover{width:100%;margin-bottom:25px}.page-prose{max-width:760px;border-top:1px solid var(--ink);padding-top:25px}.navigation.pagination{margin-top:35px}.page-numbers{display:inline-block;padding:8px 14px;border:1px solid var(--line)}.page-numbers.current{background:var(--ink);color:var(--paper)}
@media(min-width:1600px){.site-shell{margin:25px auto;border:1px solid var(--line)}}
@media(max-width:1050px){.site-shell{padding:0 30px}.site-header nav{gap:17px}.hero h1{font-size:88px}.hero-copy{padding-right:25px}.drawing{padding-left:15px;padding-right:15px}.draw-table{margin:0 -15px}.title-plus{font-size:40px;right:0}.hero-foot{font-size:9px}.hero-description{font-size:16px}.project-grid{gap:18px}.project-card h3{font-size:18px}.journal-section{gap:25px}.article-layout{grid-template-columns:170px minmax(0,1fr);gap:30px}}
@media(max-width:760px){.site-shell{padding:0 20px;border:0}.site-header{align-items:flex-start;flex-direction:column;gap:17px;padding:23px 0 12px}.site-header nav{width:100%;justify-content:space-between;gap:12px}.brand{font-size:20px}.brand small{font-size:10px}.nav-no{font-size:10px}.site-header nav a{font-size:14px}.sheet-top{font-size:10px}.top-rev{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:32px 0 0}.hero h1{font-size:clamp(78px,19vw,130px);margin:25px 0}.title-plus{right:15px;font-size:55px}.hero-description{max-width:520px}.hero-foot{font-size:10px}.drawing{border-left:0;border-top:1px solid var(--line);min-height:340px}.plot{min-height:250px;max-height:340px;aspect-ratio:auto;flex:auto;width:min(100%,430px);margin:0 auto}.orbit{width:52%}.orbit-a{width:62%}.orbit-b{width:75%;height:33%}.orbit-c{width:40%}.draw-top{font-size:10px}.dim-top{margin-top:20px}.draw-table{margin-top:0}.discipline-strip{font-size:10px;flex-wrap:wrap;gap:9px 16px}.discipline-strip>span:last-child{display:none}.section{padding:38px 0}.section-heading{align-items:center;gap:15px}.section-heading h2,.journal-intro h2{font-size:29px}.project-grid{grid-template-columns:1fr;gap:30px}.project-art{aspect-ratio:1.75}.art-code{font-size:110px}.project-card h3{font-size:22px}.project-card p{font-size:15px}.card-meta,.art-top,.art-bottom{font-size:12px}.journal-section{grid-template-columns:1fr;gap:25px}.note-row{grid-template-columns:78px 1fr 20px;gap:12px}.note-row time{font-size:10px}.note-row h3{font-size:17px}.site-footer{flex-direction:column}.footer-drawing{align-self:stretch;font-size:10px}.page-heading{padding-top:35px}.page-heading h1{font-size:38px}.article-layout{grid-template-columns:1fr;gap:24px;padding-top:20px}.article-aside dl{display:flex;flex-wrap:wrap;gap:8px 14px;margin:8px 0 0;padding:10px 0}.article-aside dt,.article-aside dd{margin:0}.prose{font-size:16px}.note-row h2{font-size:20px}.blog-list .note-row{grid-template-columns:1fr 22px}.blog-list .note-row time{grid-column:1/-1}.filter-nav a{padding:10px 17px}.footer-drawing>*{padding:10px}.custom-menu{gap:18px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Typography: fonts are served by the theme for consistent cross-device rendering. */
:root{--paper:#101615;--ink:#e3eae7;--muted:#a0b1ac;--line:#394843;--soft:#202c29;--accent:#39c5bb;--orange:var(--accent);--link:#39c5bb;--sans:'Lab Noto','Noto Sans SC',sans-serif;--display:'Lab Novecento','Arial Black',var(--sans);color-scheme:dark}
:root[data-theme=light]{--paper:#edf2ef;--ink:#182823;--muted:#50675e;--line:#b1c3ba;--soft:#dbe6e0;--accent:#39c5bb;--link:#08756d;color-scheme:light}
body{background:var(--paper);color:var(--ink)}a:hover{color:var(--link)}.site-header{flex-wrap:wrap;gap:20px}.brand{margin-right:auto}.site-controls{display:flex;align-items:center;gap:0;border:1px solid var(--line)}.site-controls>a,.site-controls>button{font-family:var(--sans);font-size:12px;line-height:1.5;min-height:40px;display:flex;align-items:center;gap:9px;padding:8px 13px;color:var(--ink);background:transparent;border:0;cursor:pointer;white-space:nowrap}.site-controls>a{border-left:1px solid var(--line)}.site-controls>a:hover,.site-controls>button:hover{background:var(--soft);color:var(--link)}.theme-icon{font-size:18px;line-height:1}.hero{display:block;position:relative}.hero-copy{padding:66px 0 0}.hero h1{font-family:var(--display);font-weight:700;font-size:clamp(80px,12.9vw,187px);line-height:1.08;letter-spacing:.015em;margin:38px 0 36px;max-width:100%}.hero-second{display:inline;margin-left:.23em;position:static}.hero-description{max-width:660px;font-size:17px}.hero-actions{margin:26px 0 54px}.hero-foot{font-size:12px;justify-content:flex-start;gap:48px;padding:18px 0}.hero .eyebrow{font-size:12px}.discipline-strip{display:none}.brand-mark,.art-code{font-family:var(--display);font-weight:700}.orange-dot{color:var(--accent)}.hero .orange-dot{margin-left:.035em}.section-heading h2,.journal-intro h2{font-family:var(--display);font-weight:700}.button{background:var(--accent);border-color:var(--accent);color:#102320}.button:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.text-link:hover{border-color:var(--link)}.brand-mark>span{background:var(--paper)}.project-art,.art-1,.art-2{background-color:var(--soft);color:var(--ink);background-image:linear-gradient(color-mix(in srgb,var(--line) 36%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 36%,transparent) 1px,transparent 1px)}.art-code,.art-1 .art-code{color:var(--ink);letter-spacing:-.025em}.art-2 .art-code{color:transparent;-webkit-text-stroke:1px var(--ink)}.art-cross,.art-1 .art-cross{color:var(--accent)}.art-bottom{border-color:var(--line)}.prose a{color:var(--link)}.prose pre{background:var(--soft);color:var(--ink);border:1px solid var(--line)}.translation-note{padding:12px 16px;background:var(--soft);border-left:2px solid var(--accent);font-size:14px}.footer-drawing{color:var(--muted)}.note-category{color:var(--link)}html[lang=en] .page-heading h1,html[lang=en] .project-card h3,html[lang=en] .note-row h2,html[lang=en] .note-row h3{font-family:var(--display);font-weight:700;letter-spacing:0}.site-header nav a{white-space:nowrap}.page-heading h1{line-height:1.25}
@media(max-width:1100px){.site-header nav{gap:15px}.brand small{display:none}.site-controls>a,.site-controls>button{padding:8px 10px}.hero h1{font-size:12.3vw}}
@media(max-width:760px){.site-header{flex-direction:row;align-items:center;gap:18px}.site-header nav{order:3;width:100%;justify-content:space-between}.site-controls{margin-left:auto}.brand{font-size:17px;margin:0}.brand-mark{font-size:30px}.hero-copy{padding-top:44px}.hero h1{font-size:clamp(64px,16.9vw,122px);margin:30px 0;line-height:1.16}.hero-second{display:block;margin-left:0}.hero-description{font-size:16px}.hero-actions{margin-bottom:36px}.hero-foot{gap:0;justify-content:space-between;font-size:10px}.site-controls>a,.site-controls>button{font-size:11px;padding:7px 9px}.section-heading h2,.journal-intro h2{font-size:27px}.project-art{aspect-ratio:1.9}.hero .eyebrow{font-size:10px;letter-spacing:.025em}.footer-drawing{font-size:10px}}
@media(max-width:370px){.brand{font-size:15px;gap:9px}.site-controls>a,.site-controls>button{padding:7px}.theme-icon{display:none}.nav-no{display:none}}
/* Brief color-only transition; honor reduced motion. */
@media(prefers-reduced-motion:no-preference){body,.site-shell,.site-header,.site-footer,.project-art,.brand-mark>span,.space-panel,.space-nav a,.theme-toggle,.language-toggle,.button,.prose pre{transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease}h1,h2,h3,p,a,span{transition:color 180ms ease}}
.space-intro{padding:55px 0 42px;border-bottom:1px solid var(--line)}.space-intro h1{font-family:var(--sans);font-size:clamp(28px,3.6vw,48px);line-height:1.55;max-width:1050px;margin:24px 0 18px}.quote-footer{display:flex;gap:25px;align-items:center;color:var(--muted);font-size:14px}.small-button{font:13px var(--sans);background:transparent;color:var(--ink);border:1px solid var(--line);padding:9px 14px;cursor:pointer}.small-button:hover{border-color:var(--accent);color:var(--link)}.space-nav{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid var(--ink);padding:14px 0}.space-nav a{padding:7px 22px 7px 0;font-size:14px}.space-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;padding:32px 0}.space-panel{border:1px solid var(--line);padding:27px;min-width:0;scroll-margin-top:25px}.space-panel h2{font-size:23px;margin:8px 0 22px}.space-wide{grid-column:1/-1}.space-kicker{font:11px var(--mono);letter-spacing:.08em;color:var(--muted)}.space-empty{padding:24px 0;color:var(--muted);font-size:15px;border-top:1px dashed var(--line)}.space-panel audio{width:100%;margin:15px 0}.track-list{display:grid;gap:0}.track{width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:14px var(--sans);padding:13px 0;cursor:pointer}.track[aria-pressed=true]{color:var(--link)}.space-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.space-card{border-top:1px solid var(--line);padding-top:18px}.space-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.space-card h3{font:700 19px/1.5 var(--sans);margin:12px 0}.space-card p{font-size:14px;margin:8px 0}.space-progress{font:13px var(--mono);color:var(--link)}.fortune-result{font-size:24px;color:var(--ink);margin:20px 0 12px}.fortune-note{font-size:15px;min-height:48px}.fortune-caption{font-size:12px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.gallery-item{border:0;padding:0;background:none;color:var(--ink);cursor:zoom-in;text-align:left;font:14px var(--sans)}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;margin-bottom:10px}.gallery-dialog{padding:16px;background:var(--paper);color:var(--ink);border:1px solid var(--line);max-width:90vw;max-height:90vh}.gallery-dialog::backdrop{background:#000b}.gallery-dialog img{display:block;max-height:70vh;max-width:80vw;object-fit:contain;margin:12px auto}.space-panel .note-row{grid-template-columns:100px 1fr 25px}.space-status{font-size:13px;color:var(--link)}
@media(max-width:760px){.space-grid{grid-template-columns:1fr}.space-panel{padding:20px}.space-wide{grid-column:auto}.space-cards{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-footer{flex-wrap:wrap}.space-panel .note-row{grid-template-columns:1fr 20px}.space-panel .note-row time{grid-column:1/-1}.space-intro{padding-top:35px}.space-nav a{padding-right:18px}}
.site-controls>.language-toggle{border-left:1px solid var(--line)}.netease-search label{display:block;font-size:13px;margin-bottom:9px}.netease-search>div{display:flex;gap:10px}.netease-search input{min-width:0;flex:1;background:var(--paper);border:1px solid var(--line);padding:10px;color:var(--ink);font:14px var(--sans)}#netease-status{font-size:13px;margin:15px 0}#netease-player iframe{border:0;display:block;background:#fff}#netease-player>a{display:inline-block;font-size:12px;color:var(--link);margin:8px 0 16px}

.space-grid{align-items:start}#music{height:410px;display:flex;flex-direction:column}#music h2{margin-bottom:12px}.music-tabs{display:flex;border-bottom:1px solid var(--line);gap:20px}.music-tabs button{padding:9px 0;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font:13px var(--sans);cursor:pointer}.music-tabs button[aria-pressed=true]{border-bottom-color:var(--accent);color:var(--ink)}#music-count{font:11px var(--mono);margin-left:5px}.music-body{height:155px;min-height:155px;margin:16px 0 10px;overflow:hidden}#music-now{height:100%;overflow:auto}#music-title{font:700 21px/1.4 var(--sans);margin:12px 0 7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}#music-artist{font-size:13px;margin:0 0 8px}#music-source{font-size:11px}#music-list{height:100%;display:flex;flex-direction:column}#music-list[hidden],#music-now[hidden]{display:none}#music-search{display:flex;gap:8px;margin-bottom:8px}#music-query{min-width:0;flex:1;background:var(--paper);border:1px solid var(--line);color:var(--ink);padding:7px;font:12px var(--sans)}#music-search button{padding:6px 10px;font-size:12px}#music-results{overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1}#music-results .track{font-size:12px;padding:9px 0}.music-seek{display:flex;align-items:center;gap:10px;font:11px var(--mono)}.music-seek input{flex:1;min-width:0;accent-color:var(--accent)}.music-controls{display:flex;gap:10px;align-items:center;margin:12px 0 0}.music-controls button{border:1px solid var(--line);background:transparent;color:var(--ink);font:13px var(--sans);padding:8px 11px;cursor:pointer}.music-controls button:disabled{opacity:.35;cursor:default}#music-play{background:var(--accent);color:#102320;border-color:var(--accent);min-width:86px}.music-volume{margin-left:auto;display:flex;gap:8px;align-items:center;font-size:11px;color:var(--muted)}.music-volume input{width:65px;accent-color:var(--accent)}#music-status{font-size:11px;line-height:1.4;margin:10px 0 0;min-height:16px;color:var(--muted)}@media(max-width:450px){#music{height:425px}.music-controls{gap:6px}.music-controls button{padding:7px 9px}.music-volume{gap:4px}.music-volume input{width:45px}}
/* Instrument controls and equal-height companion cards. */
:root{--scroll-thumb:#536f66;--scroll-track:#19231f}
:root[data-theme=light]{--scroll-thumb:#8fa79c;--scroll-track:#e4ece7}
*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}
::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--scroll-track)}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--accent)}::-webkit-scrollbar-button{display:none;width:0;height:0}::-webkit-scrollbar-corner{background:var(--paper)}
.space-grid{--companion-height:410px}#music,#fortune{height:var(--companion-height);min-height:var(--companion-height)}#fortune{display:flex;flex-direction:column;overflow:auto}#fortune h2{margin-bottom:15px}#fortune-result{margin:auto 0 12px;font-size:clamp(24px,2.5vw,34px);line-height:1.4}#fortune-note{min-height:0;margin:0 0 auto;padding-bottom:20px}#fortune-draw{align-self:flex-start}#fortune .fortune-caption{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line)}
.music-body{position:relative}#music-now{scrollbar-width:none}#music-now::-webkit-scrollbar{display:none}#music-results{scrollbar-gutter:stable;padding-right:8px}.music-tabs button{position:relative;border-bottom-color:transparent!important}.music-tabs button::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 180ms ease}.music-tabs button[aria-pressed=true]::after{transform:scaleX(1)}
.music-controls button{height:36px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-color:var(--line);padding:0 10px;transition:background-color 140ms ease,border-color 140ms ease,transform 140ms ease}.music-controls button:hover:not(:disabled){border-color:var(--accent);background:var(--soft)}.music-controls button:active:not(:disabled){transform:translateY(1px)}#music-play{min-width:92px;background:var(--accent);color:#102320}#music-play:hover:not(:disabled){background:var(--accent);filter:brightness(1.08)}.player-icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:miter;stroke-linecap:square;flex-shrink:0}.play-shape{fill:currentColor;stroke:none}.pause-shape{stroke-width:3;display:none}#music-play[data-playing=true] .pause-shape{display:block}#music-play[data-playing=true] .play-shape{display:none}
#music input[type=range]{--range-fill:0%;appearance:none;-webkit-appearance:none;height:24px;cursor:pointer;outline:none;background:transparent;padding:0;margin:0;border:0;border-radius:0}#music input[type=range]::-webkit-slider-runnable-track{height:3px;background:linear-gradient(to right,var(--accent) var(--range-fill),var(--line) var(--range-fill));border:0;border-radius:0}#music input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:6px;height:13px;margin-top:-5px;border:1px solid var(--paper);border-radius:0;background:var(--accent);box-shadow:0 0 0 1px var(--accent)}#music input[type=range]::-moz-range-track{height:3px;background:var(--line);border-radius:0}#music input[type=range]::-moz-range-progress{height:3px;background:var(--accent)}#music input[type=range]::-moz-range-thumb{width:5px;height:12px;border:1px solid var(--paper);border-radius:0;background:var(--accent);box-shadow:0 0 0 1px var(--accent)}#music input[type=range]:focus-visible{outline:1px solid var(--accent);outline-offset:3px}#music input[type=range]:disabled{opacity:.4;cursor:default}.music-seek{gap:13px}.music-seek>span{font-variant-numeric:tabular-nums}.music-volume input{width:64px}
@media(max-width:760px){#fortune{height:auto;min-height:320px}#fortune-result{margin:20px 0 12px}#fortune-note{margin-bottom:24px}}@media(max-width:450px){.space-grid{--companion-height:425px}.music-volume input{width:44px}}
@media(prefers-reduced-motion:reduce){.music-tabs button::after,.music-controls button{transition:none}.music-controls button:active:not(:disabled){transform:none}}
@supports selector(::-webkit-scrollbar){*{scrollbar-width:auto;scrollbar-color:auto}#music-now::-webkit-scrollbar{display:none}::-webkit-scrollbar-button:single-button{display:none;height:0;width:0}}

/* Instrument deck: rotary gain, machined transport, staged track changes. */
.space-grid{--companion-height:460px}#music{position:relative;isolation:isolate;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 4%,var(--paper)),var(--paper) 55%)}#music::before{content:'';position:absolute;inset:8px;pointer-events:none;border:1px solid color-mix(in srgb,var(--line) 40%,transparent);z-index:-1}#music::after{content:var(--copy-a979ef10cc6f,'+');position:absolute;right:12px;top:7px;color:var(--muted);font:14px var(--mono)}.music-body{height:158px;min-height:158px}.track-heading{display:flex;align-items:center;justify-content:space-between}.track-number{font:700 25px/1 var(--display);color:var(--link);letter-spacing:.05em}#music-now{position:relative;padding:1px 0 6px}.track-sweep{position:absolute;left:0;right:0;bottom:1px;height:1px;background:var(--accent);box-shadow:0 0 12px var(--accent);opacity:0;transform-origin:left;pointer-events:none}#music-title{margin-top:14px;letter-spacing:-.02em}#music-artist{letter-spacing:.04em}.music-seek{padding-top:6px;border-top:1px solid var(--line)}
.transport-deck{position:relative;margin-top:12px;padding:10px 0 2px;gap:12px;min-height:86px;align-items:center}.transport-deck::before{content:'';position:absolute;top:50%;left:0;right:110px;border-top:1px dashed var(--line);z-index:-1}.music-controls #music-prev,.music-controls #music-next{position:relative;width:43px;height:48px;padding:0;background:var(--paper);border:1px solid var(--line);box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 5px color-mix(in srgb,var(--line) 45%,transparent);clip-path:polygon(0 7px,7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%)}.music-controls #music-prev::after,.music-controls #music-next::after{position:absolute;bottom:6px;font:8px var(--mono);letter-spacing:.12em;color:var(--muted)}#music-prev::after{content:var(--copy-920f46b048fd,'REV')}#music-next::after{content:var(--copy-5201d3a8e7cc,'FWD')}.music-controls #music-prev .player-icon,.music-controls #music-next .player-icon{transform:translateY(-4px);width:19px;height:19px}.music-controls #music-prev:hover:not(:disabled),.music-controls #music-next:hover:not(:disabled){background:var(--soft);color:var(--link);box-shadow:inset 0 0 0 1px var(--accent)}
.music-controls #music-play{position:relative;overflow:visible;width:111px;min-width:111px;height:58px;background:var(--ink);color:var(--paper);border:1px solid var(--accent);box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 5px var(--line),0 3px 0 var(--line);letter-spacing:.06em}.music-controls #music-play .player-icon{color:var(--accent);width:19px;height:19px;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent) 50%,transparent))}#music-play-label{font-size:12px;position:relative;z-index:1}.play-orbit{position:absolute;inset:-5px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);clip-path:polygon(0 0,22% 0,22% 8%,78% 8%,78% 0,100% 0,100% 100%,78% 100%,78% 92%,22% 92%,22% 100%,0 100%);pointer-events:none;transition:inset 220ms ease,border-color 220ms ease}.music-controls #music-play:hover:not(:disabled){background:var(--ink);filter:none;box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 5px var(--accent),0 3px 0 var(--accent),0 0 20px color-mix(in srgb,var(--accent) 18%,transparent)}#music-play:hover .play-orbit{inset:-8px;border-color:var(--accent)}#music-play[data-playing=true]{box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 5px var(--accent),0 0 18px color-mix(in srgb,var(--accent) 20%,transparent)}.music-controls #music-play:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 5px var(--accent)}
.rotary-volume{margin-left:auto;display:flex;align-items:center;gap:10px;padding-left:13px;border-left:1px solid var(--line)}.volume-dial{--dial-angle:54deg;--dial-sweep:189deg;position:relative;width:66px;height:66px;touch-action:none;user-select:none;cursor:ns-resize;flex-shrink:0}.dial-scale{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(from 225deg,var(--muted) 0deg 1.5deg,transparent 1.5deg 15deg);mask:radial-gradient(transparent 58%,#000 60%,#000 68%,transparent 70%)}.volume-dial::before{content:'';position:absolute;inset:6px;border-radius:50%;background:conic-gradient(from 225deg,var(--accent) 0deg var(--dial-sweep),var(--line) var(--dial-sweep) 270deg,transparent 270deg);mask:radial-gradient(transparent 61%,#000 64%);filter:drop-shadow(0 0 2px var(--accent))}.dial-rotor{position:absolute;inset:12px;border-radius:50%;background:linear-gradient(145deg,var(--soft),var(--paper));border:1px solid var(--line);box-shadow:inset 0 0 0 3px var(--paper),0 3px 5px #0002;transform:rotate(var(--dial-angle));transition:transform 80ms linear}.dial-rotor::after{content:'';position:absolute;inset:9px;border:1px solid var(--line);border-radius:50%}.dial-rotor>span{position:absolute;width:3px;height:10px;background:var(--accent);left:calc(50% - 1.5px);top:3px;box-shadow:0 0 6px color-mix(in srgb,var(--accent) 60%,transparent)}.volume-dial:hover .dial-rotor,.volume-dial:focus-within .dial-rotor{border-color:var(--accent)}.volume-dial:focus-within{outline:1px dashed var(--accent);outline-offset:4px;border-radius:50%}.volume-dial.dragging .dial-rotor{transition:none}.dial-readout{display:flex;flex-direction:column;align-items:center;min-width:22px;font:9px var(--mono);color:var(--muted);gap:4px}.dial-readout output{font:18px var(--mono);font-variant-numeric:tabular-nums;color:var(--link)}#music #music-volume{position:absolute;width:1px;height:1px;left:50%;top:50%;opacity:0;pointer-events:none}.music-controls{margin-bottom:0}#music-status{margin-top:7px}
@media(max-width:1050px) and (min-width:761px){.transport-deck{gap:9px}.rotary-volume{padding-left:8px;gap:3px}.volume-dial{width:56px;height:56px}.music-controls #music-play{width:91px;min-width:91px}.music-controls #music-prev,.music-controls #music-next{width:35px}}@media(max-width:450px){.space-grid{--companion-height:460px}.transport-deck{gap:9px}.music-controls #music-play{width:90px;min-width:90px}.music-controls #music-prev,.music-controls #music-next{width:34px}.rotary-volume{gap:3px;padding-left:8px}.volume-dial{width:56px;height:56px}.dial-readout output{font-size:15px}}
@media(prefers-reduced-motion:reduce){.dial-rotor,.play-orbit{transition:none}.music-controls #music-play:active:not(:disabled){transform:none}}
.space-grid{--companion-height:480px}

/* Calibrated spacing and flat panel detailing. */
#music::before{inset:10px;border:0;background:linear-gradient(var(--line),var(--line)) left top/15px 1px no-repeat,linear-gradient(var(--line),var(--line)) left top/1px 15px no-repeat,linear-gradient(var(--line),var(--line)) right bottom/15px 1px no-repeat,linear-gradient(var(--line),var(--line)) right bottom/1px 15px no-repeat}#music::after{content:var(--copy-f9ca9b958139,'A / 01');top:14px;right:16px;font:9px var(--mono);letter-spacing:.1em;color:var(--muted)}#music{background:var(--paper)}#music>.space-kicker{padding-right:45px}.track-heading{padding-bottom:8px;border-bottom:1px dashed var(--line)}.track-number{font-variant-numeric:tabular-nums}#music-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:clip;-webkit-line-clamp:unset;line-height:1.45;min-height:1.45em;margin-top:14px;max-width:100%;mask-image:linear-gradient(90deg,#000 0%,#000 95%,transparent 100%)}.track-title-line{display:inline-block;white-space:nowrap;will-change:transform}#music-now{overflow:hidden}#music-artist{margin-top:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-seek{margin-top:auto!important;padding-top:12px;position:relative}.music-seek::before{content:'';position:absolute;top:-5px;left:0;right:0;height:4px;background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 12px);opacity:.55}.transport-deck{margin-top:10px;padding-bottom:4px;flex-shrink:0}#music-status{margin:9px 0 0;flex-shrink:0}
.rotary-volume{flex-shrink:0;gap:12px;padding-left:12px}.dial-readout{width:36px;min-width:36px;flex:0 0 36px;align-items:center}.dial-readout output{display:block;width:3ch;text-align:center;line-height:1;font-variant-numeric:tabular-nums}.volume-dial:focus-within{outline:none}.volume-dial:focus-within .dial-rotor{border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--paper),0 0 0 1px var(--accent)}.dial-rotor{background:var(--soft);box-shadow:inset 0 0 0 3px var(--paper);border-color:var(--muted)}.dial-rotor::after{inset:9px;border-color:var(--line)}.dial-scale{opacity:.8}
.music-controls #music-play{box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 5px var(--line)}.play-orbit{inset:auto -8px;top:50%;height:36px;transform:translateY(-50%);border:0;border-left:1px solid var(--accent);border-right:1px solid var(--accent);clip-path:none;background:linear-gradient(var(--accent),var(--accent)) left top/5px 1px no-repeat,linear-gradient(var(--accent),var(--accent)) left bottom/5px 1px no-repeat,linear-gradient(var(--accent),var(--accent)) right top/5px 1px no-repeat,linear-gradient(var(--accent),var(--accent)) right bottom/5px 1px no-repeat;opacity:.6;transition:opacity 180ms ease,height 180ms ease}#music-play:hover .play-orbit{inset:auto -8px;top:50%;height:44px;opacity:1}.music-controls #music-play:hover:not(:disabled),.music-controls #music-play[data-playing=true]{box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 5px var(--accent)}.transport-deck::before{border-top-style:solid;opacity:.45}.music-controls #music-prev,.music-controls #music-next{border-color:var(--muted)}
@media(max-width:1050px) and (min-width:761px){.rotary-volume{gap:9px;padding-left:9px}.dial-readout{width:32px;min-width:32px;flex-basis:32px}.transport-deck{gap:11px}.volume-dial{width:52px;height:52px}}@media(max-width:450px){.rotary-volume{gap:8px;padding-left:8px}.dial-readout{width:30px;min-width:30px;flex-basis:30px}.volume-dial{width:52px;height:52px}.transport-deck{gap:10px}.music-controls #music-play{width:84px;min-width:84px}}@media(max-width:360px){.rotary-volume{padding-left:5px;gap:5px}.music-controls #music-play{width:72px;min-width:72px}.music-controls #music-prev,.music-controls #music-next{width:30px}.volume-dial{width:46px;height:46px}.transport-deck{gap:8px}}
@media(prefers-reduced-motion:reduce){.track-title-line{will-change:auto}#music-title{mask-image:none;text-overflow:ellipsis}.play-orbit{transition:none}}/* Compact VFD meter and cassette transport. */
.music-heading-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;margin:5px 0 13px}.music-heading-row h2{margin:0!important}.tape-mechanism{display:flex;align-items:center;gap:15px;position:relative;flex-shrink:0;padding:0 2px}.tape-mechanism::before{content:'';position:absolute;left:23px;right:23px;top:50%;border-top:1px solid var(--line)}.tape-reel{width:43px;height:43px;overflow:visible;position:relative;background:var(--paper);border-radius:50%;color:var(--muted);animation:tape-turn 5s linear infinite;animation-play-state:paused}.tape-reel circle{fill:var(--paper);stroke:currentColor;stroke-width:2}.tape-reel path{fill:currentColor}.tape-reel .reel-hub{fill:var(--accent);stroke:none}.tape-reel:nth-child(2){animation-delay:-1.8s}#music[data-spinning=true] .tape-reel{animation-play-state:running;color:var(--link)}@keyframes tape-turn{to{transform:rotate(360deg)}}
#music .music-body{height:132px;min-height:132px;flex-shrink:0}#music-title{margin-top:9px;margin-bottom:6px}#music-artist{margin-top:5px;margin-bottom:7px}.vfd-display{margin-top:auto;margin-bottom:10px;padding:7px 10px 5px;background:#101e1c;border-top:1px solid #39c5bb44;border-bottom:1px solid #39c5bb33;flex-shrink:0}.vfd-caption{display:flex;justify-content:space-between;gap:8px;color:#88b5ac;font:8px/1.3 var(--mono);letter-spacing:.06em;margin-bottom:5px}#music-spectrum{display:block;width:100%;height:45px}.music-seek{margin-top:0!important;padding-top:7px;border-top:0}.music-seek::before{display:none}.transport-deck{min-height:74px;margin-top:5px;padding-top:4px;gap:10px}.transport-deck::before{display:none}.music-controls #music-prev,.music-controls #music-next{width:39px;height:42px;clip-path:none;border:1px solid var(--line);box-shadow:none;background:transparent}.music-controls #music-prev::after,.music-controls #music-next::after{display:none}.music-controls #music-prev .player-icon,.music-controls #music-next .player-icon{transform:none}.music-controls #music-play,.music-controls #music-play:hover:not(:disabled),.music-controls #music-play[data-playing=true],.music-controls #music-play:active:not(:disabled){height:44px;min-width:92px;width:92px;border:1px solid var(--ink);box-shadow:none;background:var(--ink);clip-path:none}.music-controls #music-play .player-icon{filter:none}.music-controls #music-prev:hover:not(:disabled),.music-controls #music-next:hover:not(:disabled){box-shadow:none;border-color:var(--accent)}.music-controls #music-play:hover:not(:disabled){border-color:var(--accent)}#music-status{margin-top:5px;font-size:10px}
@media(max-width:450px){.music-heading-row{gap:10px}.tape-reel{width:35px;height:35px}.tape-mechanism{gap:10px}.music-controls #music-play{min-width:76px;width:76px}.music-controls #music-prev,.music-controls #music-next{width:32px}.transport-deck{gap:8px}.vfd-caption{font-size:7px}}
@media(prefers-reduced-motion:reduce){.tape-reel{animation:none}}
.space-grid{--companion-height:550px}#music{min-height:550px}.music-heading-row{flex-shrink:0}.music-controls #music-play:hover:not(:disabled),.music-controls #music-play[data-playing=true]{width:92px;min-width:92px}@media(max-width:450px){.music-controls #music-play,.music-controls #music-play:hover:not(:disabled),.music-controls #music-play[data-playing=true]{width:76px;min-width:76px}}

/* Optical centering: balance visible top/bottom space, including status reserve. */
#music{padding-top:43px;padding-bottom:11px}@media(max-width:760px){#music{padding-top:36px;padding-bottom:4px}}
/* Shared archive-card frame and quieter hierarchy. */
.space-grid>.space-panel{position:relative;isolation:isolate;padding:43px 27px 20px;border:1px solid var(--line);background:var(--paper)}
.space-grid>.space-panel::before{content:'';position:absolute;inset:10px;border:0;background:linear-gradient(var(--line),var(--line)) left top/15px 1px no-repeat,linear-gradient(var(--line),var(--line)) left top/1px 15px no-repeat,linear-gradient(var(--line),var(--line)) right bottom/15px 1px no-repeat,linear-gradient(var(--line),var(--line)) right bottom/1px 15px no-repeat;pointer-events:none;z-index:-1}
.space-grid>.space-panel>.space-kicker{position:absolute;left:12px;top:15px;margin:0;padding:0 7px;background:var(--paper);font:9px/1.3 var(--mono);letter-spacing:.08em}
.space-grid>.space-panel::after{position:absolute;right:16px;top:14px;font:9px var(--mono);letter-spacing:.1em;color:var(--muted);pointer-events:none}
#music::after{content:var(--copy-f9ca9b958139,'A / 01')}#fortune::after{content:var(--copy-7484130f7e44,'A / 02')}#games::after{content:var(--copy-f266c18df15b,'A / 03')}#gallery::after{content:var(--copy-7fb60694fe2c,'A / 04')}#anime::after{content:var(--copy-3eb55c349aa9,'A / 05')}#notes::after{content:var(--copy-3a78ac02dd97,'A / 06')}
.space-grid>.space-panel>h2,.space-grid>.space-panel>.section-heading h2{margin:5px 0 22px;min-height:48px;display:flex;align-items:center;font-size:23px}.space-grid>.space-panel>.section-heading{margin-bottom:0;align-items:center}.music-heading-row{margin:5px 0 13px}
#music .track-heading{border-bottom:0;padding-bottom:4px}#music .track-heading>.space-kicker{font-size:9px;letter-spacing:.1em}#music .track-number{font-size:21px}
.space-grid>#music{padding-bottom:11px}
#fortune{overflow:visible}#fortune>h2{margin-bottom:0}.fortune-instrument{flex:1;min-height:118px;max-height:185px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:2px 0 6px}.fortune-instrument svg{width:130px;height:130px;max-height:145px;overflow:visible;flex-shrink:1}.fortune-ticks{stroke:var(--muted);stroke-width:1;opacity:.65}.fortune-ring{fill:none;stroke:var(--line);stroke-width:1}.fortune-ring.inner{stroke-dasharray:2 5;opacity:.7}.fortune-pointer{fill:var(--accent);opacity:.65}.fortune-pivot{fill:var(--paper);stroke:var(--accent);stroke-width:1.5}.fortune-instrument text{fill:var(--muted);text-anchor:middle;font:7px var(--mono);letter-spacing:1px}.fortune-instrument>span{font:8px var(--mono);letter-spacing:.13em;color:var(--muted);margin-top:1px}#fortune-result{margin:10px 0 12px}#fortune-note{margin:0 0 auto;padding-bottom:15px}#fortune .fortune-caption{border-top:0;margin-top:12px;padding-top:0}
@media(max-width:760px){.space-grid>.space-panel{padding:43px 20px 20px}.space-grid>#music{padding-bottom:4px}#fortune{height:auto;min-height:490px}.fortune-instrument{min-height:150px}#fortune-note{margin-bottom:22px}}.music-library-tabs{display:flex;gap:15px;margin-bottom:9px;flex-shrink:0}.music-library-tabs button{padding:1px 0 3px;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--muted);font:11px var(--sans);cursor:pointer}.music-library-tabs button[aria-pressed=true]{color:var(--link);border-color:var(--accent)}#music-search[hidden]{display:none}.music-empty{font-size:12px;margin:8px 0;line-height:1.7}/* Flat capsule vending mechanism. */
.gacha-machine{width:min(240px,100%);margin:7px auto 12px;flex-shrink:0}.gacha-window{height:102px;border:1px solid var(--line);border-radius:46px 46px 3px 3px;position:relative;overflow:hidden;background:color-mix(in srgb,var(--accent) 4%,var(--paper))}.gacha-window>span,.gacha-capsule{position:absolute;width:30px;height:30px;border:1px solid var(--accent);border-radius:50%;background:linear-gradient(145deg,var(--accent) 0 49%,var(--paper) 50%);opacity:.8}.gacha-window>span:nth-child(1){left:25px;top:49px;transform:rotate(20deg)}.gacha-window>span:nth-child(2){left:57px;top:58px;transform:rotate(90deg)}.gacha-window>span:nth-child(3){left:89px;top:47px;transform:rotate(-20deg)}.gacha-window>span:nth-child(4){left:124px;top:58px;transform:rotate(30deg)}.gacha-window>span:nth-child(5){left:155px;top:44px;transform:rotate(120deg)}.gacha-window>span:nth-child(6){left:72px;top:23px;transform:rotate(60deg)}.gacha-window i{position:absolute;top:8px;left:0;right:0;text-align:center;font:7px var(--mono);letter-spacing:.08em;color:var(--muted)}.gacha-console{display:flex;align-items:center;justify-content:space-around;border:1px solid var(--line);border-top:0;padding:10px 14px;background:var(--paper)}#fortune #fortune-draw{--turn:0deg;width:58px;height:58px;flex-shrink:0;border:1px solid var(--muted);border-radius:50%;background:var(--soft);padding:0;position:relative;cursor:grab;touch-action:none;outline-offset:4px}#fortune-draw:active{cursor:grabbing}.gacha-grip{position:absolute;inset:6px;border-radius:50%;border:1px solid var(--line);transform:rotate(var(--turn));transition:transform .25s ease}.gacha-grip::before{content:'';position:absolute;left:calc(50% - 5px);top:0;bottom:0;width:10px;border:1px solid var(--muted);background:var(--paper);border-radius:2px}.gacha-grip::after{content:'';position:absolute;top:4px;left:calc(50% - 2px);width:4px;height:5px;background:var(--accent)}.gacha-outlet{position:relative;width:80px;height:40px;border:1px solid var(--line);border-top:3px solid var(--muted);background:color-mix(in srgb,var(--ink) 8%,var(--paper));overflow:hidden}.gacha-capsule{width:27px;height:27px;left:25px;top:6px;transform:translateY(-40px);opacity:0;transition:transform .45s cubic-bezier(.2,.9,.3,1.3),opacity .2s}.opened .gacha-capsule{transform:translateY(0) rotate(25deg);opacity:1}#gacha-hint{text-align:center;font:10px/1.5 var(--sans);margin:8px 0 0;color:var(--muted)}.dispensing .gacha-window>span{animation:capsule-rattle .22s ease-in-out 3 alternate}@keyframes capsule-rattle{to{translate:5px -5px}}#fortune-result{font-size:29px;margin:3px 0 10px}#fortune-note{font-size:13px;line-height:1.75;margin:0 0 auto;padding-bottom:9px}#fortune .fortune-caption{font-size:10px;margin-top:10px}#fortune>h2{flex-shrink:0}#quote-status{font-size:12px;color:var(--muted)}.space-grid>.space-panel>.space-kicker{max-width:calc(100% - 92px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){#fortune{min-height:550px}.gacha-machine{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.gacha-grip,.gacha-capsule{transition:none}.dispensing .gacha-window>span{animation:none}}

/* Featured images sit behind the shared project drawing and captions. */
.project-art.has-cover{isolation:isolate}
.project-art.has-cover .project-cover{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover}
.project-art.has-cover::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--paper) 70%,transparent),color-mix(in srgb,var(--paper) 70%,transparent)),linear-gradient(color-mix(in srgb,var(--ink) 18%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--ink) 18%,transparent) 1px,transparent 1px);background-size:100% 100%,20px 20px,20px 20px}
.project-art.has-cover>.art-top,.project-art.has-cover>.art-code,.project-art.has-cover>.art-cross,.project-art.has-cover>.art-bottom{z-index:2}
/* A daily card dossier, using the personal-space panel frame. */
.daily-card-layout{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(0,1.65fr);gap:36px;margin:22px 0 28px}
.daily-card-layout[hidden],.daily-card [hidden]{display:none}
.daily-card-identity{padding:22px;background:var(--soft);border-left:3px solid var(--accent);align-self:start;overflow-wrap:anywhere}
.daily-card-identity>.mono{font-size:11px;color:var(--muted)}
.daily-card-identity h3{font-size:clamp(24px,3vw,36px);margin:25px 0 12px;line-height:1.3;color:var(--ink)}
.daily-card-identity p{margin-bottom:15px}.daily-card-identity p:last-child{margin:12px 0 0}
.daily-card-body{min-width:0}.daily-card-body h4{color:var(--muted);font-size:12px;font-weight:500;letter-spacing:.08em;margin:0 0 12px}
.daily-card-body p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);font-size:15px;line-height:1.85;margin:0 0 24px}
.daily-card-body p:last-child{margin-bottom:0}.daily-card-footer{display:flex;gap:16px;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);flex-wrap:wrap}
#daily-card-status:empty{display:none}
@media(max-width:760px){.daily-card-layout{grid-template-columns:1fr;gap:24px}.daily-card-identity{padding:18px}.daily-card-identity h3{margin-top:16px}}
