*{box-sizing:border-box}html{--focus-ring:#717977;scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#f7f9fc;color:#182b49;font:15px/1.7 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}:focus-visible{outline:1px solid var(--focus-ring,#717977);outline-offset:2px}header{height:100px;display:flex;align-items:center;gap:44px;max-width:1360px;padding:0 48px;margin:auto;border-bottom:1px solid #dce3ec}.brand{font-weight:700;font-size:22px;line-height:1.1;white-space:nowrap}.brand span{display:block;letter-spacing:2.6px;font-size:9px;margin-top:9px;font-weight:500}nav{display:flex;gap:28px;margin-left:auto;font-size:14px}nav a:hover{color:#4271dc}.quiet{border:0;background:none;color:#536780;padding:8px}.quiet:hover{color:#1b51c6}kbd{font-size:11px;border:1px solid #d1d9e4;padding:1px 5px;border-radius:4px;margin-left:10px}.skip{position:fixed;top:-100px;z-index:99;background:white;padding:12px}.skip:focus{top:0}main{max-width:1360px;margin:auto;padding:0 48px}.hero{min-height:650px;display:grid;grid-template-columns:1fr 1fr;align-items:center;position:relative;gap:32px;padding-top:40px;padding-bottom:100px}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:600;color:#6a7e99;margin:0 0 17px}.hero h1{font-family:'WenKai Reading','Songti SC',serif;font-size:clamp(65px,calc(7.6 * var(--site-vw,1vw)),110px);letter-spacing:-4px;line-height:1.2;margin:22px 0 26px;font-weight:500}.name-dot{color:#4479dc}.intro{font-size:22px;letter-spacing:.3px}.subintro{max-width:385px;font-size:14px;color:#6a7890;line-height:2;margin:15px 0 30px}.text-link{font-size:13px;font-weight:600;display:inline-flex;gap:36px;align-items:center}.text-link span{font-size:23px}.hero-foot{position:absolute;bottom:26px;left:0;right:0;display:flex;justify-content:space-between;border-bottom:1px solid #dce3ec;padding-bottom:22px;color:#75859b;font-size:11px}.view-label{color:#2d5699}.space-art{position:relative;height:470px;perspective:900px}.orbit{position:absolute;border:1px solid #d2deee;border-radius:50%;width:470px;height:340px;left:4%;top:80px;transform:rotate(-25deg)}.o2{width:380px;height:430px;top:15px;left:12%;transform:rotate(38deg)}.art-label{position:absolute;right:4%;top:38px;font-size:9px;letter-spacing:3px;color:#8192a9}.book-object{position:absolute;left:12%;top:135px;width:150px;height:230px;background:#3466bf;transform:rotate(-14deg) skewY(4deg);border-radius:4px 12px 12px 4px;box-shadow:10px 12px 0 #d5e1f5,15px 18px 0 #214c93,30px 50px 60px #2c4f8320;color:#f4f7ff;border-left:12px solid #244d94}.book-object:after{content:'';position:absolute;right:19px;top:20px;bottom:20px;border-right:1px solid #90b1ed}.book-object span{font-family:'WenKai Reading',serif;font-size:36px;position:absolute;left:25px;top:40px;line-height:1.5}.note-object{position:absolute;background:#e9f05b;left:45%;top:55px;padding:27px 35px 42px;font-size:27px;line-height:1.3;transform:rotate(11deg);box-shadow:9px 12px 0 #dbe340,15px 25px 35px #24456816}.note-object small{font-size:8px;letter-spacing:2px}.disc-object{position:absolute;width:180px;height:180px;border-radius:50%;right:7%;bottom:72px;background:repeating-radial-gradient(circle,#263e62 0 2px,#1a3051 3px 5px);box-shadow:15px 25px 40px #16335620;transform:rotate(-20deg)}.disc-object:before{content:'JB';position:absolute;inset:58px;border-radius:50%;background:#e1eafa;color:#3466bf;font:20px/64px 'WenKai Reading';text-align:center}.cursor-object{position:absolute;right:1%;top:160px;font-size:100px;color:#90b7f2;transform:rotate(8deg);text-shadow:5px 5px 0 #5986ce}.art-bottom{position:absolute;bottom:10px;left:42%;color:#7b8eaa;font-size:10px;letter-spacing:5px}.section{padding:70px 0;scroll-margin-top:15px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px;gap:24px}.section-head .eyebrow{margin-bottom:7px}h2{font-family:'WenKai Reading','Songti SC',serif;font-size:36px;line-height:1.3;font-weight:500;margin:0}.section-head>p{font-size:12px;color:#7b889b;margin:0}.knowledge-banner{display:flex;justify-content:space-between;align-items:center;min-height:330px;background:#e8eff9;border-radius:18px;padding:40px 54px;overflow:hidden}.small-label{font-size:11px;color:#6f829b;letter-spacing:.6px}.knowledge-banner h3{font-family:'WenKai Reading',serif;font-size:37px;line-height:1.4;font-weight:500;margin:18px 0}.knowledge-banner p{font-size:13px;color:#6f829b}.shelf{display:flex;align-items:end;position:relative;gap:9px;width:46%;height:220px;padding-bottom:22px;border-bottom:10px solid #bacce5;transform:rotate(-4deg)}.shelf i{display:block;width:42px;height:155px;background:#3e6cae;border-radius:3px;box-shadow:inset 6px 0 #ffffff20}.shelf i:nth-child(2){height:180px;background:#9cb6d8}.shelf i:nth-child(3){height:135px;background:#ecef7a}.shelf i:nth-child(4){height:170px;background:#fafcff;transform:rotate(-8deg);margin:0 10px}.shelf i:nth-child(5){height:147px;background:#5278ad}.shelf i:nth-child(6){height:190px;background:#c7d8ed}.shelf span{writing-mode:vertical-rl;position:absolute;right:8px;top:35px;font:20px 'WenKai Reading';color:#46688f}.filter{display:flex;gap:6px;flex-wrap:wrap}.filter button{border:0;background:none;color:#8592a4;padding:7px 13px;font-size:12px;border-radius:20px}.filter .selected{background:#e4ecf8;color:#234a88}.blog-grid{columns:3;column-gap:24px}.post{break-inside:avoid;margin:0 0 24px;display:block;border:0;width:100%;text-align:left;background:white;border-radius:14px;padding:0;overflow:hidden;box-shadow:0 4px 25px #243b5e05;color:inherit}.post img{width:100%;display:block}.post-copy{padding:22px}.post h3{font-size:17px;line-height:1.6;margin:0 0 12px}.post p{color:#7a889c;font-size:13px;margin:0 0 20px}.post-meta{display:flex;justify-content:space-between;font-size:10px;color:#8290a4}.empty{padding:44px 32px;border:1px dashed #ccd8e8;border-radius:14px;color:#7e8da3;width:100%;font-size:13px}.empty h3{font:22px 'WenKai Reading';color:#314f79;margin:0 0 12px}.blog-grid>.empty{column-span:all}.works-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:38px 28px}.project-cover{height:290px;border-radius:14px;overflow:hidden;position:relative;display:grid;place-items:center}.project-cover>img{width:100%;height:100%;object-fit:cover}.project-cover.nuwa{background:#ede9f5}.project-cover.nuwa>img{width:140px;height:140px;object-fit:contain;border-radius:28px}.project h3{font-size:20px;margin:17px 0 7px}.project-text{display:flex;justify-content:space-between;align-items:center}.project-text span{font-size:11px;color:#7e8da3}.project p{font-size:13px;color:#73829a;margin:0;max-width:90%}.map{background:#dbe9e6}.map-lines{position:absolute;inset:-70px;background:repeating-linear-gradient(25deg,transparent 0 50px,#faffff 51px 62px,transparent 63px 110px),repeating-linear-gradient(115deg,transparent 0 85px,#faffff 86px 99px,transparent 100px 170px);transform:rotate(-10deg)}.map-pin{z-index:1;background:#417879;color:white;width:65px;height:65px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:-10px 16px 20px #37626330;display:grid;place-items:center}.map-pin span{transform:rotate(45deg);font-size:25px}.cover-word{position:absolute;bottom:22px;left:25px;font-size:10px;letter-spacing:3px;color:#375e69}.paper{background:#dae4f2}.paper-sheet{background:#fcfdff;transform:rotate(-8deg);width:55%;padding:25px;height:230px;box-shadow:16px 20px #acbfdc70}.paper-sheet b{display:block;font:30px 'WenKai Reading';border-bottom:2px solid #203957;padding-bottom:10px}.paper-sheet i{display:block;margin-top:14px;height:56px;background:repeating-linear-gradient(#aab7c8 0 1px,transparent 1px 8px)}.school{background:#e8edd9}.school-card{background:#fbfdf4;border:1px solid #bbc7a0;border-radius:10px;padding:35px;width:65%;transform:rotate(5deg);box-shadow:12px 13px #b9c89c50}.school-card b{font:30px 'WenKai Reading'}.school-card p{margin-top:20px;font-size:11px;color:#778664}.music{border-top:1px solid #dce3ec;border-bottom:1px solid #dce3ec}.music-body{display:grid;grid-template-columns:1fr 1.5fr;gap:75px;align-items:center}.record{padding:22px;text-align:center;background:#e8eef8;border-radius:14px}.vinyl{width:230px;height:230px;margin:10px auto;border-radius:50%;background:repeating-radial-gradient(circle,#1f314d 0 2px,#2d425e 3px 4px);display:grid;place-items:center;box-shadow:10px 15px 25px #1c355b22}.vinyl span{display:grid;place-content:center;border-radius:50%;width:80px;height:80px;background:#d5e4fa;font:24px/1.1 'WenKai Reading'}.vinyl small{font:8px sans-serif;letter-spacing:2px;margin-top:8px}.record p{font-size:11px;letter-spacing:2px;color:#7a8ea9}.track{display:flex;width:100%;align-items:center;gap:17px;border:0;border-bottom:1px solid #dee5ee;background:none;padding:20px 0;color:inherit;text-align:left}.track>span:first-child{font:20px 'WenKai Reading';color:#7c99be}.track div{flex:1}.track strong{display:block;font-size:15px;font-weight:500}.track small{color:#8996a8;font-size:11px}.track:hover{color:#4271dc}#player{margin-top:28px;display:flex;gap:25px;align-items:center;padding:20px;background:white;border-radius:12px}#player[hidden]{display:none}#player>div{flex:1}#playing-artist{display:block;font-size:11px;color:#7e8da3}audio{max-width:100%}.playing{animation:spin 12s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.game-section{display:flex;justify-content:space-between;align-items:center;min-height:360px}.game-section p{margin:22px 0 6px;color:#6d819c;font-size:14px}.game-art{width:45%;display:flex;justify-content:center;align-items:center;gap:25px}.game-device{background:#d9e3f5;padding:25px;border-radius:22px 22px 45px 22px;transform:rotate(9deg);box-shadow:9px 12px #b4c5e2;width:180px;height:245px}.game-device>div{background:#283f62;color:#c2d6a5;font:20px/1.3 monospace;border:7px solid #8498b8;padding:12px;height:112px}.game-device i{font-style:normal;display:inline-block;font-size:40px;margin-top:15px}.game-device b{float:right;color:#628bc9;font-size:18px;margin-top:34px}.pixel-star{font-size:75px;color:#d0da64}.closing{text-align:center;padding:80px 0 100px}.closing p,.closing span{font-size:12px;color:#8796ac}.closing h2{font-size:28px;margin:18px 0 22px}footer{border-top:1px solid #dce3ec;max-width:1264px;margin:auto;padding:38px 0;display:flex;align-items:center;justify-content:space-between}footer p{font-size:12px;color:#8594a9}dialog{border:0;border-radius:18px;box-shadow:0 30px 100px #10203b40;padding:36px;max-width:760px;width:calc(100% - 32px);color:inherit;background:#fafcff;max-height:calc(90 * var(--site-vh,1vh));overflow:auto}dialog::backdrop{background:#162b4966;backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.dialog-top h2{font-size:24px}.dialog-close{float:right;border:0;background:none;font-size:28px;color:#65768d}#reader-content h2{font-size:30px;margin:25px 0}#reader-content img{max-width:100%;border-radius:10px}#reader-content .body{white-space:pre-wrap;line-height:2;font-size:15px}input,textarea,select{display:block;width:100%;padding:12px;border:1px solid #d1dceb;border-radius:7px;background:white;color:inherit;margin-top:8px}label{display:block;margin:18px 0;font-size:12px;color:#6a7e99}.primary{background:#2c60b8;border:0;border-radius:7px;color:white;padding:10px 20px}.editor-tabs{display:flex;gap:6px;flex-wrap:wrap}.editor-tabs button{border:0;border-radius:6px;padding:7px 10px;background:#e9eff8;color:#3a5a88}.editor-tabs .selected{background:#2c60b8;color:white}.editor-actions{display:flex;gap:20px}.manage-item{display:flex;gap:12px;border-bottom:1px solid #dce3ec;padding:10px 0;font-size:12px}.manage-item span{flex:1}.manage-item button{border:0;background:none;color:#436697}#owner-status{font-size:12px;color:#285dae;white-space:pre-wrap}.search-hit{display:block;width:100%;padding:18px 0;border:0;border-bottom:1px solid #dce3ec;text-align:left;background:none;color:inherit}.search-hit small{display:block;color:#7f91a8}.extra-area{border-top:1px solid #dce3ec}.extra-area p{color:#7286a1;white-space:pre-wrap}.extra-area img{max-width:100%;max-height:300px;border-radius:12px}.extra-area .text-link{margin-top:15px}[hidden]{display:none!important}
@media(max-width:900px){header{padding:0 24px;gap:20px;height:85px}nav{gap:16px;font-size:12px}main{padding:0 24px}.hero{min-height:560px}.space-art{transform:scale(.8);transform-origin:center;height:390px}.orbit{width:370px}.knowledge-banner{padding:35px}.shelf{width:45%;gap:5px}.shelf i{width:29px}.music-body{gap:30px}footer{margin:0 24px}.project-cover{height:240px}}
@media(max-width:650px){header{height:auto;min-height:92px;flex-wrap:wrap;padding:20px;gap:20px}header nav{order:3;width:100%;justify-content:space-between;gap:6px;margin:0}header>#search-open{margin-left:auto}.brand{font-size:19px}main{padding:0 20px}.hero{grid-template-columns:1fr;gap:0;padding-top:50px;padding-bottom:90px}.hero h1{font-size:74px}.intro{font-size:18px}.space-art{height:320px;transform:scale(.7);margin:-35px -35px -30px;transform-origin:center}.hero-foot{font-size:9px}.hero-foot>span:first-child{display:none}.section{padding:45px 0}h2{font-size:30px}.section-head{align-items:start;flex-direction:column;gap:18px}.section-head>p{display:none}.knowledge-banner{padding:28px;min-height:360px;position:relative}.knowledge-banner h3{font-size:30px}.knowledge-banner>div:first-child{z-index:1}.shelf{position:absolute;right:-30px;opacity:.28;width:60%;transform:rotate(-12deg)}.blog-grid{columns:2;column-gap:14px}.post-copy{padding:16px}.post h3{font-size:15px}.works-grid{grid-template-columns:1fr;gap:26px}.project-cover{height:260px}.music-body{grid-template-columns:1fr;gap:24px}.record{padding:18px}.vinyl{width:180px;height:180px}.game-section{gap:12px}.game-art{width:40%;transform:scale(.75);transform-origin:right}.pixel-star{display:none}.game-section h2{font-size:28px}.game-section p{font-size:12px}.closing h2{font-size:23px}.closing{padding:50px 0 65px}footer{padding:30px 0;gap:20px}footer p{display:none}dialog{padding:24px}.filter button{padding:6px 12px}#player{flex-wrap:wrap}#player audio{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.playing{animation:none}}
@media(max-width:650px){.hero{overflow:hidden}.game-section{overflow:hidden}.space-art{margin-left:-20px;margin-right:-20px}.disc-object{width:145px;height:145px;right:3%;bottom:25px}.disc-object:before{inset:47px;font-size:16px;line-height:51px}.note-object{left:52%;top:30px}.game-art{flex-shrink:0}.game-section>div:first-child{min-width:0}}
/* 1D record navigation: the disc is centered on the left viewport edge. */
.disc-layout{--cd-size:calc(96 * var(--site-vh,1vh));--cd-preferred-radius:calc(48 * var(--site-vh,1vh));--cd-radius:var(--cd-preferred-radius);--cd-y:calc(52 * var(--site-vh,1vh));--disc-turn:0deg;background:#e9edf2;overflow:hidden;height:calc(100 * var(--site-vh,1dvh))}.disc-stage{position:fixed;inset:0 auto 0 0;width:44%;z-index:2;isolation:isolate;pointer-events:none}.cd-body,.cd-rotor,.disc-shadow{position:absolute;width:var(--cd-size);height:var(--cd-size);left:calc(var(--cd-radius)*-1);top:calc(var(--cd-y) - var(--cd-radius));border-radius:50%}.disc-shadow{transform:translate(14px,18px);background:#28374636;filter:blur(24px);z-index:-1}.cd-body{background:linear-gradient(130deg,#faffff,#667582 38%,#f9fcff 53%,#52606d 84%);box-shadow:4px 6px 0 #72808d,6px 9px 0 #3d4b58,9px 14px 15px #17253720,inset -3px -3px 4px #ffffffb0}.cd-rim{position:absolute;inset:2px;border-radius:50%;border:2px solid #eef5fc;box-shadow:inset 0 0 0 1px #7e8e9c}.cd-face{position:absolute;inset:7px;border-radius:50%;overflow:hidden;background:conic-gradient(from -25deg,#e4edf4 0deg,#c3cdd7 32deg,#faffff 48deg,#85929f 60deg,#dce8f0 80deg,#bac8d0 102deg,#f8fcff 130deg,#7e8b9a 156deg,#c2d2db 180deg,#fbffff 204deg,#a2b0bd 226deg,#e3edf4 256deg,#8597a6 280deg,#f6fbff 310deg,#b5c2cc 330deg,#e4edf4 360deg);box-shadow:inset 0 0 24px #ffffffb0}.cd-spectrum{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 22deg,transparent 0 8%,#87aef14d 12%,#9f9bdf45 14%,#d9bbde5c 16%,#ffffed7d 18%,transparent 22% 47%,#91cfe74a 49%,#abc1945c 52%,#f4d1844d 54%,transparent 58% 79%,#b7c7ee5c 82%,transparent 88%);mix-blend-mode:multiply;transform:rotate(var(--disc-turn));transition:transform 850ms cubic-bezier(.2,.8,.2,1)}.cd-grooves{position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(circle at center,transparent 0 1.4px,#fafcff42 1.5px 2px,#4b67702a 2.1px 2.6px,transparent 2.8px 4px);mask-image:radial-gradient(circle,transparent 0 20%,#000 21% 95%,transparent 97%)}.cd-inner-ring{position:absolute;inset:32%;border:1px solid #8999a980;border-radius:50%;background:radial-gradient(circle,#d6e1ec00 60%,#faffffb3 66%,#76889560 68%,#fcffff80 70%,transparent 72%);box-shadow:0 0 0 8px #ebf5ff55,0 0 0 10px #8b9da83b,inset 0 0 35px #adbdc83d}.cd-hub{position:absolute;inset:43%;border-radius:50%;background:#e9edf2;box-shadow:inset 3px 5px 6px #23374c57,0 0 0 2px #e8f6ff,0 0 0 8px #aab9c691,0 0 0 10px #effaff80}.cd-rotor{z-index:4;transform:rotate(var(--disc-turn));transition:transform 850ms cubic-bezier(.2,.8,.2,1);pointer-events:none}.cd-track{position:absolute;left:50%;top:50%;width:40%;height:44px;transform-origin:0 50%;transform:translateY(-50%) rotate(var(--track-angle));background:none;border:0;text-align:right;padding:0 28px 0 0;display:flex;justify-content:end;align-items:center;gap:15px;color:#526576;cursor:pointer;pointer-events:auto;white-space:nowrap}.cd-track .track-title{font-size:16px;letter-spacing:3px;font-weight:500;text-shadow:0 1px 0 #ffffffbd}.cd-track .track-index{font-size:9px;letter-spacing:2px;color:#748997}.cd-track:after{content:'';width:7px;height:7px;border:1px solid #8299aa;border-radius:50%;box-shadow:0 1px 0 #ffffffb3}.cd-track[aria-selected=true]{color:#123858}.cd-track[aria-selected=true]:after{background:#1f5876;border-color:#1f5876;box-shadow:0 0 0 4px #ffffff75}.cd-track:hover .track-title{color:#173c62}.metal-probe{position:absolute;left:calc(var(--cd-radius)*.819 - 18px);top:0;width:42px;height:calc(var(--cd-y) - var(--cd-radius)*.574);z-index:6;filter:drop-shadow(7px 8px 4px #27374830)}.probe-mount{position:absolute;width:42px;height:54px;left:0;top:-12px;border-radius:0 0 12px 12px;background:linear-gradient(90deg,#4e5b67,#cbd5df 12%,#fbfdff 35%,#8a98a5 70%,#3f4e5e);box-shadow:inset 0 -2px 3px #ffffff90,0 0 0 1px #687c8d}.probe-shaft{position:absolute;top:30px;bottom:36px;left:12px;width:15px;border-radius:4px;background:linear-gradient(90deg,#566575,#aebfcc 18%,#fcffff 38%,#d4e0e8 51%,#778a9a 80%,#364e65);box-shadow:inset 0 0 0 1px #354e6570}.probe-joint{position:absolute;bottom:32px;left:7px;width:25px;height:35px;border-radius:7px;background:linear-gradient(90deg,#3e5366,#f6fcff 38%,#93a9bb 74%,#334d63);border:1px solid #5d7387}.probe-head{position:absolute;bottom:7px;left:0;width:38px;height:39px;border-radius:5px 5px 9px 9px;background:linear-gradient(110deg,#708999,#f5fcff 27%,#adbfcd 44%,#425e73 85%);transform:rotate(-12deg);box-shadow:inset 0 -5px 0 #244459,inset 1px 1px 0 #e9f5ff}.probe-head:after{content:'';position:absolute;width:8px;height:8px;border-radius:50%;top:9px;left:14px;background:radial-gradient(circle,#dfe9ee 20%,#586f7c 25% 55%,#a3b5c4 60%);box-shadow:0 0 0 1px #6c8191}.probe-needle{position:absolute;bottom:-5px;left:17px;width:3px;height:17px;background:linear-gradient(90deg,#28475a,#e5f6fc);transform:rotate(-15deg);transform-origin:top}.disc-caption{position:absolute;left:35px;bottom:29px;pointer-events:auto;color:#647c91}.disc-caption>span{font-size:8px;letter-spacing:2.5px}.disc-caption p{font:12px 'WenKai Reading';letter-spacing:2px;margin:10px 0 18px}.disc-caption>div{display:flex;align-items:center;gap:8px}.disc-caption button{border:1px solid #becbd6;background:#f9fcffb0;color:#4c6e88;width:32px;height:32px;border-radius:50%}.disc-caption small{font-size:9px;color:#8294a5;margin-left:6px}.disc-layout header{position:fixed;top:0;left:46%;right:4%;height:105px;padding:0;border:0;gap:20px;z-index:7}.disc-layout header nav{display:none}.disc-layout #search-open{margin-left:auto}.disc-layout main{position:fixed;left:46%;right:4%;top:173px;bottom:88px;max-width:none;margin:0;padding:0 12px 30px 0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#bfccd8 transparent}.disc-layout main>section{display:none;padding:5px 0 35px;margin:0;min-height:0}.disc-layout main>section.active-module{display:block;animation:module-in .5s ease both}.disc-layout #extra-areas{display:none}.disc-layout #extra-areas.active-module{display:block}.disc-layout .extra-area{display:none;border:0;padding:5px 0 35px}.disc-layout .extra-area.active-module{display:block}.disc-layout .hero{overflow:visible;min-height:0;position:relative;display:none;grid-template-columns:1fr;padding:28px 0}.disc-layout .hero.active-module{display:block}.disc-layout .hero .space-art,.disc-layout .hero-foot{display:none}.disc-layout .hero h1{font-size:clamp(60px,calc(7 * var(--site-vw,1vw)),100px);margin:25px 0;letter-spacing:0}.disc-layout .hero-copy>.eyebrow{color:#8093a4}.disc-layout .hero .intro{font-size:19px}.disc-layout .hero .subintro{max-width:440px}.disc-layout footer{position:fixed;bottom:22px;left:46%;right:4%;padding:0;margin:0;border:0;font-size:10px;height:40px}.disc-layout footer .brand{display:none}.disc-layout footer p{font-size:10px}.module-status{position:fixed;top:120px;left:46%;right:4%;display:flex;align-items:center;gap:13px;color:#8296a7;font-size:9px;letter-spacing:1.8px}.module-status #module-name{color:#405e79;font-size:11px;letter-spacing:1px}.module-status i{height:1px;background:#c9d4de;flex:1}.disc-layout .section-head{margin-bottom:24px}.disc-layout h2{font-size:32px}.disc-layout .section-head>p{display:none}.disc-layout .knowledge-banner{padding:30px;min-height:340px;background:#dfe7ef;border:1px solid #cfdbe6;border-radius:8px}.disc-layout .knowledge-banner h3{font-size:31px}.disc-layout .shelf{width:40%;gap:5px;opacity:.7}.disc-layout .shelf i{width:25px}.disc-layout .works-grid{gap:27px 20px}.disc-layout .project-cover{height:180px;border-radius:8px}.disc-layout .project h3{font-size:16px;margin-top:12px}.disc-layout .project p{font-size:12px}.disc-layout .paper-sheet{padding:17px;width:68%;height:165px}.disc-layout .paper-sheet b{font-size:22px}.disc-layout .paper-sheet i{height:30px;margin-top:8px}.disc-layout .school-card{padding:20px;width:75%}.disc-layout .project-cover.nuwa>img{width:100px;height:100px}.disc-layout .music{border:0}.disc-layout .music-body{grid-template-columns:1fr;gap:25px}.disc-layout .record{background:#dfe7ef}.disc-layout .vinyl{width:180px;height:180px}.disc-layout .record p{margin-bottom:0}.disc-layout .track-list .empty{padding:25px}.disc-layout .game-section.active-module{display:flex;gap:15px;min-height:340px}.disc-layout .game-art{transform:scale(.85);transform-origin:right}.disc-layout .blog-grid{columns:2;column-gap:16px}.disc-layout .empty{background:#ffffff40;border-color:#bdcbd8}.disc-layout .closing{display:none}.disc-layout header .brand{font-size:19px}.disc-layout dialog{z-index:20}@keyframes module-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.disc-layout{--cd-size:calc(104 * var(--site-vh,1vh));--cd-preferred-radius:calc(52 * var(--site-vh,1vh));--cd-radius:var(--cd-preferred-radius)}.disc-layout main,.disc-layout header,.disc-layout footer,.module-status{left:44%;right:7%}.disc-layout .project-cover{height:245px}}
@media(max-width:760px){.disc-layout{--cd-size:calc(76 * var(--site-vh,1vh));--cd-preferred-radius:calc(38 * var(--site-vh,1vh));--cd-radius:var(--cd-preferred-radius);--cd-y:calc(52 * var(--site-vh,1vh))}.disc-stage{width:29%;overflow:visible}.cd-body,.cd-rotor,.disc-shadow{left:calc(var(--cd-radius)*-1 - calc(23 * var(--site-vh,1vh)))}.metal-probe{left:calc(var(--cd-radius)*.819 - calc(23 * var(--site-vh,1vh)) - 18px)}.disc-layout header{left:32%;right:5%;height:85px;min-height:0;flex-wrap:nowrap;padding:0;gap:7px}.disc-layout header .brand{font-size:17px}.disc-layout header #search-open{font-size:11px;padding:4px}.disc-layout header kbd{display:none}.disc-layout main{left:32%;right:4%;top:150px;bottom:95px;padding-right:4px}.module-status{left:32%;right:5%;top:112px;font-size:7px;gap:7px}.module-status>span:last-child{display:none}.disc-layout .hero h1{font-size:45px}.disc-layout .hero .intro{font-size:15px}.disc-layout .hero .subintro{font-size:12px}.disc-layout .hero .eyebrow{font-size:8px;letter-spacing:1px}.disc-layout h2{font-size:25px}.disc-layout .knowledge-banner{padding:20px;min-height:350px}.disc-layout .knowledge-banner h3{font-size:25px}.disc-layout .knowledge-banner p{font-size:12px}.disc-layout .shelf{display:none}.disc-layout .works-grid{grid-template-columns:1fr}.disc-layout .project-cover{height:180px}.disc-layout .section-head{gap:15px}.disc-layout .filter{gap:0}.disc-layout .filter button{font-size:10px;padding:5px 9px}.disc-layout .blog-grid{columns:1}.disc-layout .empty{padding:25px 18px}.disc-layout .empty h3{font-size:18px}.disc-layout .record{padding:10px}.disc-layout .vinyl{width:145px;height:145px}.disc-layout .game-section.active-module{display:block}.disc-layout .game-art{width:100%;transform:scale(.7);transform-origin:center}.disc-layout .game-device{margin-top:15px}.disc-layout footer{left:32%;right:4%;bottom:24px}.disc-layout footer p{display:none}.disc-caption{left:10px;bottom:25px}.disc-caption>span,.disc-caption p,.disc-caption small{display:none}.disc-caption>div{flex-direction:column}.cd-track{height:36px;padding-right:20px;gap:9px}.cd-track .track-title{font-size:13px;letter-spacing:2px}.cd-track .track-index{display:none}}
@media(prefers-reduced-motion:reduce){.cd-rotor,.cd-spectrum{transition:none}.disc-layout main>section.active-module{animation:none}}
/* Black vinyl: pressed grooves, soft studio reflection, photographic center label. */
.cd-body{background:linear-gradient(135deg,#333b45,#0a0e14 40%,#4a5360 62%,#05080d);box-shadow:3px 5px 0 #131820,5px 8px 0 #080b11,9px 15px 20px #0b152944,inset -2px -2px 3px #65728460}.cd-rim{border-color:#424e5a;box-shadow:inset 0 0 0 1px #090e16}.cd-face{background:conic-gradient(from -25deg,#151c26,#080c12 30deg,#3b4651 49deg,#151d26 66deg,#080c12 112deg,#232d37 145deg,#10151d 178deg,#060a10 208deg,#34404c 235deg,#111821 252deg,#080b11 300deg,#27333d 328deg,#151c26);box-shadow:inset 0 0 16px #000b}.cd-spectrum{background:conic-gradient(from 20deg,transparent 0 7%,#718c9b18 12%,#dbe7ec14 17%,transparent 22% 45%,#77929b16 50%,#d7e3e718 54%,transparent 59% 79%,#7691a51a 83%,transparent 88%);mix-blend-mode:screen}.cd-grooves{background:repeating-radial-gradient(circle,#0000 0 1px,#9cabb21e 1.15px 1.5px,#0009 1.65px 2.2px,#0000 2.3px 3.2px);mask-image:radial-gradient(circle,transparent 0 26%,#000 27% 96%,transparent 97%)}.cd-inner-ring{inset:32%;background:radial-gradient(circle,transparent 60%,#0b121d 66%,#71859440 68%,#111824 70%,transparent 72%);border-color:#8a9ead30;box-shadow:0 0 0 6px #0006,0 0 0 7px #8a9daa25,inset 0 0 35px #0005}.cd-hub{inset:36%;background:#283242;overflow:hidden;box-shadow:0 0 0 2px #0b1119,0 0 0 4px #71809045,0 0 0 8px #0007;transform:rotate(var(--disc-turn));transition:transform 850ms cubic-bezier(.2,.8,.2,1)}.cd-hub img{width:100%;height:100%;object-fit:cover;object-position:24% 40%;transform:scale(1.65);transform-origin:24% 40%;filter:saturate(.8)}.cd-hub:after{content:'';position:absolute;inset:0;border-radius:50%;background:linear-gradient(130deg,#ffffff15,transparent 45%,#0002);box-shadow:inset 0 0 0 1px #d9e1e436}.spindle{position:absolute;width:9%;height:9%;left:45.5%;top:45.5%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f2f5f7,#a7b2bd 38%,#172331 60%,#070c14 76%);box-shadow:0 0 0 2px #a6b6bd66;z-index:1}.cd-track{color:#bbc7d1}.cd-track .track-title{text-shadow:0 1px 2px #000;letter-spacing:2px}.cd-track .track-index{color:#8999a8}.cd-track:after{border-color:#778c9f;box-shadow:0 1px 2px #0009}.cd-track[aria-selected=true]{color:#f4e2b9}.cd-track[aria-selected=true]:after{background:#ead0a0;border-color:#f1dcba;box-shadow:0 0 0 3px #efddae20,0 0 9px #efddae35}.cd-track:hover .track-title{color:#fff4da}.disc-caption{color:#647c91}.disc-caption>span,.disc-caption p{text-shadow:0 1px 0 #ffffff99}
@media(prefers-reduced-motion:reduce){.cd-hub{transition:none}}
.cd-hub img{transform:translateX(44%) scale(1.65);transform-origin:24% 40%}
/* A cartridge and headshell at the end of a slim tonearm, sitting on the grooves. */
.metal-probe{left:calc(var(--cd-radius)*.69 - 18px);height:calc(var(--cd-y) - var(--cd-radius)*.483);width:48px;transform:rotate(-7deg);transform-origin:50% 0;filter:drop-shadow(5px 6px 3px #101b2945)}.probe-mount{width:32px;height:46px;left:6px;border-radius:0 0 16px 16px;background:linear-gradient(90deg,#333f4b,#cbd4db 20%,#fff 38%,#8898a6 68%,#3c4a57)}.probe-shaft{width:10px;left:17px;top:30px;bottom:61px;background:linear-gradient(90deg,#5b6d7c,#f1f5f7 30%,#9bacb8 65%,#344b5c);border-radius:3px}.probe-joint{bottom:53px;left:15px;width:14px;height:19px;border-radius:3px;background:linear-gradient(90deg,#394f60,#d6e0e7 36%,#5b7284);border:1px solid #4b5f70}.probe-head{bottom:12px;left:4px;width:39px;height:51px;border-radius:3px 3px 5px 5px;transform:rotate(-16deg);background:linear-gradient(100deg,#1b2530,#4a5663 35%,#17212c 80%);box-shadow:inset 0 1px 0 #8f9ba6,inset -2px -3px 0 #0a111a,3px 4px 3px #0004}.probe-head:before{content:'';position:absolute;top:8px;left:8px;right:8px;height:18px;background:repeating-linear-gradient(0deg,#0b1520 0 3px,#64717b 4px 5px);border-radius:2px}.probe-head:after{top:3px;left:5px;width:4px;height:4px;box-shadow:23px 0 0 #a1aab1;background:#cbd3d8}.probe-needle{width:15px;height:15px;left:21px;bottom:4px;border-radius:2px;background:linear-gradient(130deg,#a99158,#dbc990 35%,#745d32);transform:rotate(-16deg);box-shadow:0 2px 2px #0007}.probe-needle:after{content:'';position:absolute;width:2px;height:9px;left:7px;top:12px;background:linear-gradient(#d8e4ed,#445864);transform:rotate(-18deg)}.probe-shadow{position:absolute;bottom:-6px;left:25px;width:8px;height:3px;background:#02081070;border-radius:50%;filter:blur(1px)}
.cd-track .track-title{font-family:'WenKai Reading','Songti SC','STSong',serif;font-weight:500;font-size:17px;letter-spacing:2px}.cd-track .track-index{font-family:'Courier New',monospace;font-size:9px;letter-spacing:1px}.cd-track[aria-hidden=true]{pointer-events:none}.disc-caption>span{font-family:'Courier New',monospace;letter-spacing:2px}
@media(max-width:760px){.metal-probe{left:calc(var(--cd-radius)*.69 - calc(23 * var(--site-vh,1vh)) - 18px)}.cd-track .track-title{font-size:14px;letter-spacing:1px}}
/* A wall of personal fragments: textured board, irregular paper, small shadows. */
.disc-layout main>section.tag-wall-section{padding:0 0 20px}.wall-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.wall-heading .eyebrow{margin-bottom:7px}.wall-heading h2{font-size:31px}.wall-heading button{font-size:11px;white-space:nowrap}.wall-note{font-size:12px;color:#7d8894;margin:12px 0 22px}.tag-wall{position:relative;display:flex;flex-wrap:wrap;align-content:start;align-items:center;justify-content:center;gap:21px 11px;padding:34px 20px 40px;border-radius:5px;background-color:#dad4c8;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.14' filter='url(%23n)'/%3E%3C/svg%3E"),linear-gradient(125deg,#efeae1bb,#c8c1b455 60%,#eee8de80);box-shadow:inset 0 1px 1px #fff9,inset 1px 0 2px #fff7,inset 0 -2px 3px #9c928e40,0 3px 9px #32383e10;border:1px solid #c7c1b8;isolation:isolate}.tag-wall:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,#fff3,transparent 48%,#403b3410);border-radius:inherit;z-index:-1}.wall-tag{position:relative;display:inline-block;padding:10px calc(var(--inset) + 9px);margin:0 3px;transform:translateY(var(--lift)) rotate(var(--tilt));font-family:'Songti SC','STSong','WenKai Reading',serif;font-size:15px;line-height:1.45;letter-spacing:.6px;color:#403e39;background:#faf6e8;box-shadow:1px 3px 4px #40393224,0 1px 1px #76665113,inset 0 1px 0 #ffffffe0;border:1px solid #9c8c661c;border-radius:1px 3px 2px 1px;animation:paper-in .4s ease both;animation-delay:var(--delay)}.wall-tag:before{content:'';position:absolute;width:27px;height:11px;top:-6px;left:calc(50% - 13px);transform:rotate(-7deg);background:#ffffff6b;border:1px solid #ded5b14a;box-shadow:0 1px 1px #51492e0a}.wall-tag:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(145deg,#fff5,transparent 55%,#877e620a)}.wall-tag.paper-1{background:#e4e9df;color:#455040;font-family:-apple-system,'PingFang SC',sans-serif;font-size:13px}.wall-tag.paper-2{background:#e6e9f0;color:#475469;border-radius:3px;font-family:'WenKai Reading','Songti SC',serif}.wall-tag.paper-3{background:#eeded5;color:#745343;font-family:'Kaiti SC','STKaiti',serif;font-size:17px}.wall-tag.paper-4{background:#f0e7be;color:#665c39;font-family:'Courier New','PingFang SC',monospace;font-size:13px}.wall-tag:nth-child(9n){padding-top:14px;padding-bottom:14px}.wall-tag:nth-child(7n):before{left:12%;transform:rotate(12deg)}@keyframes paper-in{from{opacity:0}to{opacity:1}}
@media(max-width:760px){.wall-heading{align-items:start;flex-direction:column;gap:9px}.wall-heading h2{font-size:25px}.wall-heading button{padding:0}.wall-note{font-size:11px;margin-bottom:18px}.tag-wall{padding:28px 10px 30px;gap:19px 5px}.wall-tag{font-size:13px;padding:8px 10px;letter-spacing:0;margin:0 2px}.wall-tag.paper-1,.wall-tag.paper-4{font-size:12px}.wall-tag.paper-3{font-size:15px}}
@media(prefers-reduced-motion:reduce){.wall-tag{animation:none}}
/* Larger physical notes with overlap confined mostly to their blank paper margins. */
.tag-wall{padding:45px 32px 55px;gap:13px 0;background-color:#c4b395;background-image:linear-gradient(120deg,#fff2,transparent 45%,#44332415),url('/static/cork-board.png');background-size:100% 100%,620px 620px;box-shadow:inset 0 0 0 7px #99856f2b,inset 2px 3px 8px #5e4a3540,0 4px 12px #1b233119;border:9px solid #b5a58e;border-image:linear-gradient(120deg,#e5d8c2,#b7a58c,#d5c5ae,#8d7e68) 1;border-radius:2px;overflow:hidden}.wall-tag{padding:19px calc(var(--inset) + 14px);font-size:21px;line-height:1.35;letter-spacing:.6px;margin:0 -5px -5px;z-index:var(--layer);color:#403a30;background-color:#f8f1df;background-image:linear-gradient(100deg,#fff5,transparent 30%,#6d5b2710 96%,#3e311322),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='130' height='130'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.84' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='.08'/%3E%3C/svg%3E");border:1px solid #796a411f;border-radius:1px 2px 6px 2px;box-shadow:1px 2px 2px #2e24142b,3px 7px 7px #33251a29,0 1px 0 #ffffffc9,inset 0 -1px 1px #c5bda580}.wall-tag:before{width:42px;height:17px;top:-8px;left:calc(50% - 21px);transform:rotate(var(--tape-angle));background:linear-gradient(90deg,#d8ceaa66,#fff3d088 45%,#e6d8ac70);border:1px solid #dbd1b56b;box-shadow:0 1px 2px #34271d12,inset 0 1px 0 #ffffef70;clip-path:polygon(0 4%,9% 0,16% 7%,25% 0,33% 6%,43% 0,54% 5%,66% 0,78% 7%,89% 0,100% 4%,98% 95%,89% 100%,77% 93%,66% 100%,52% 94%,41% 100%,31% 95%,18% 100%,8% 94%,0 100%)}.wall-tag:after{inset:auto 0 0 auto;width:22px;height:19px;background:linear-gradient(135deg,transparent 0 50%,#e3d9c3 52%,#fffff4 74%,#b8a883 100%);border-radius:0 0 6px 0;opacity:.55}.tag-words{position:relative;z-index:1;text-shadow:0 .3px .3px #44392635;white-space:nowrap}.wall-tag.paper-1{background-color:#dfe7d7;color:#3f4a36;font-size:18px}.wall-tag.paper-2{background-color:#e4e8ef;color:#3e4f62;font-size:20px}.wall-tag.paper-3{background-color:#efddd0;color:#604539;font-size:23px}.wall-tag.paper-4{background-color:#ece0a9;color:#554927;font-size:18px}.wall-tag:nth-child(9n){padding-top:22px;padding-bottom:22px}.wall-tag:nth-child(7n){border-radius:2px 6px 1px 3px}.wall-tag:nth-child(7n):before{left:16%;transform:rotate(var(--tape-angle))}.wall-tag:nth-child(11n){margin-left:15px;margin-right:8px}
@media(max-width:760px){.tag-wall{padding:30px 13px 40px;border-width:5px;gap:13px 0;background-size:100% 100%,400px 400px}.wall-tag{padding:16px 12px;font-size:17px;margin:0 -3px -4px}.wall-tag.paper-1,.wall-tag.paper-4{font-size:16px}.wall-tag.paper-2{font-size:17px}.wall-tag.paper-3{font-size:19px}.tag-words{white-space:normal;overflow-wrap:anywhere}.wall-tag:nth-child(11n){margin-left:4px;margin-right:0}}
.wall-tag:hover{z-index:8;box-shadow:2px 5px 5px #2e241438,5px 9px 12px #33251a26,inset 0 1px 0 #ffffffe0}
@font-face{font-family:'Wall Handwriting';src:url('/static/wall-handwriting.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}.tag-wall .wall-tag,.tag-wall .tag-words{font-family:'Zhi Mang Wall','Wall Handwriting','Kaiti SC','STKaiti',cursive;font-weight:400;font-synthesis:none}.tag-wall .wall-tag.paper-1,.tag-wall .wall-tag.paper-4{font-size:21px}.tag-wall .wall-tag.paper-2{font-size:22px}@media(max-width:760px){.tag-wall .wall-tag.paper-1,.tag-wall .wall-tag.paper-4{font-size:17px}.tag-wall .wall-tag.paper-2{font-size:18px}}

@font-face{font-family:'Zhi Mang Wall';src:url('/static/wall-zhimangxing.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}

/* Larger handwritten labels with tighter paper edges. */
.tag-wall .wall-tag{padding:12px calc(var(--inset) * .45 + 7px);font-size:27px;line-height:1.25}
.tag-wall .wall-tag.paper-1,.tag-wall .wall-tag.paper-4{font-size:26px}
.tag-wall .wall-tag.paper-2{font-size:27px}
.tag-wall .wall-tag.paper-3{font-size:29px}
.tag-wall .wall-tag:nth-child(9n){padding-top:15px;padding-bottom:15px}
@media(max-width:760px){.tag-wall .wall-tag{padding:11px 9px;font-size:22px}.tag-wall .wall-tag.paper-1,.tag-wall .wall-tag.paper-4{font-size:21px}.tag-wall .wall-tag.paper-2{font-size:22px}.tag-wall .wall-tag.paper-3{font-size:24px}.tag-wall .wall-tag:nth-child(9n){padding-top:13px;padding-bottom:13px}}

@font-face{font-family:'Iansui Wall';src:url('/static/wall-iansui.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.tag-wall .wall-tag,.tag-wall .tag-words{font-family:'Iansui Wall','Wall Handwriting','Kaiti SC',cursive;font-weight:700;font-synthesis:weight}

@font-face{font-family:'Youran Wall';src:url('/static/wall-youran-full.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.tag-wall .wall-tag,.tag-wall .tag-words{font-family:'Youran Wall','Wall Handwriting','Kaiti SC',cursive;font-weight:400;font-synthesis:none}

.tag-wall .wall-tag{font-size:31px}.tag-wall .wall-tag.paper-1,.tag-wall .wall-tag.paper-4{font-size:30px}.tag-wall .wall-tag.paper-2{font-size:31px}.tag-wall .wall-tag.paper-3{font-size:33px}
@media(max-width:760px){.tag-wall .wall-tag{font-size:25px}.tag-wall .wall-tag.paper-1,.tag-wall .wall-tag.paper-4{font-size:24px}.tag-wall .wall-tag.paper-2{font-size:25px}.tag-wall .wall-tag.paper-3{font-size:27px}}

/* A recessed walnut shelf and four tactile bound volumes. */
.real-bookshelf{position:relative;isolation:isolate;height:440px;padding:50px 28px 70px;perspective:1100px;background:repeating-linear-gradient(3deg,#23180f22 0 1px,transparent 2px 9px),linear-gradient(90deg,#392419,#775137 8%,#3c291d 10%,#483326 90%,#8d6140 92%,#362317);border:13px solid #65452f;border-top-width:17px;border-bottom-width:18px;box-shadow:inset 0 18px 22px #0009,inset 15px 0 18px #0005,inset -12px 0 20px #0007,0 16px 25px #1d130b35,0 2px 3px #22150c; border-radius:3px}
.shelf-back{position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(91deg,#0000 0 13px,#bb885409 14px 16px,#0000 17px 48px),repeating-linear-gradient(2deg,#1b100c22 0 2px,transparent 3px 15px),radial-gradient(ellipse at 30% 0,#cda37540,transparent 65%),linear-gradient(#513925,#291d15);box-shadow:inset 0 0 65px #0007}
.books-row{height:100%;display:flex;gap:13px;align-items:flex-end;justify-content:center;transform-style:preserve-3d}
.shelf-book{position:relative;display:block;flex:0 1 100px;max-width:108px;height:282px;padding:0;border:0;border-radius:5px 2px 2px 5px;background:none;color:#e7d5ab;transform:rotate(-2deg);transform-origin:50% 100%;transition:transform .35s,filter .35s;filter:drop-shadow(9px 4px 4px #0007);cursor:pointer;text-decoration:none}
.book-spine{position:absolute;inset:0;display:flex;align-items:center;flex-direction:column;padding:36px 8px 17px;border-radius:7px 3px 3px 7px;background:repeating-linear-gradient(0deg,#fff2 0 .5px,transparent 1px 3px),repeating-linear-gradient(90deg,#0001 0 .5px,transparent 1px 3px),linear-gradient(90deg,#0007,#fff1 9%,transparent 25%,#fff1 75%,#0007),var(--book-color);box-shadow:inset 2px 0 2px #fff3,inset -3px 0 3px #0008,inset 0 1px 1px #fff3;border:1px solid #0006}
.book-spine:before,.book-spine:after{content:'';position:absolute;left:9px;right:9px;height:4px;border-top:1px solid #d6b86b99;border-bottom:1px solid #d6b86b66;box-shadow:0 1px 2px #0005}.book-spine:before{top:22px}.book-spine:after{bottom:50px}
.book-title{font-family:'WenKai Reading','Songti SC',serif;writing-mode:vertical-rl;font-size:25px;letter-spacing:6px;line-height:1.2;text-shadow:0 1px 1px #000c,0 -1px 0 #e8ca7b60;color:#e8d49c;white-space:nowrap}
.book-subtitle{font-size:9px;letter-spacing:1px;margin-top:auto;color:#e0d4bb99}.book-mark{font-family:'WenKai Reading',serif;font-size:13px;border:1px solid #d0b67570;width:21px;height:24px;line-height:22px;margin-top:13px;color:#d0b675}
.book-pages{position:absolute;top:4px;bottom:4px;left:8px;right:-8px;border-radius:1px;background:repeating-linear-gradient(#c2b597 0 1px,#e9dfc6 1px 3px);transform:skewY(-4deg);box-shadow:2px 0 2px #0007}
.book-tools{--book-color:#244f49;height:296px;transform:rotate(-5deg)}.book-code{--book-color:#24384d;height:277px}.book-wisdom{--book-color:#713e30;height:303px;transform:rotate(1deg)}.book-life{--book-color:#84704a;height:270px;transform:rotate(4deg)}
.book-wisdom .book-spine{background-image:radial-gradient(#ffffff16 .6px,transparent .9px),linear-gradient(90deg,#0008,#fff1 12%,transparent 35%,#0006);background-size:3px 3px,100% 100%;background-color:var(--book-color)}
.shelf-book:hover,.shelf-book:focus-visible{transform:translateY(-15px) translateZ(25px) rotate(0);filter:drop-shadow(12px 18px 8px #0008)}
.shelf-plank{position:absolute;left:-5px;right:-5px;bottom:48px;height:24px;background:repeating-linear-gradient(1deg,#23140b33 0 1px,transparent 2px 6px),linear-gradient(#aa7e51,#805831 25%,#482e1c 30%,#6a4528 90%,#322013);box-shadow:0 17px 19px #0009,inset 0 2px 1px #d9b68c66;z-index:2}
.shelf-nameplate{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:2px;white-space:nowrap;color:#c6ac7b;padding:5px 16px;background:linear-gradient(120deg,#55422a,#89704c,#4c3d28);border:1px solid #b6975866;box-shadow:0 2px 4px #0006,inset 0 1px 0 #fff2}
.bookshelf-hint{font-size:12px;color:#7d8894;text-align:center;margin-top:21px}.notebook-dialog{padding:38px;max-width:420px;width:calc(100% - 40px);border:1px solid #b4a88d;background:#faf5e9;box-shadow:0 25px 70px #0004}.notebook-dialog::backdrop{background:#17212c80;backdrop-filter:blur(4px)}.notebook-close{float:right}.notebook-dialog h3{font-family:'WenKai Reading',serif;font-size:28px;margin:20px 0}.notebook-dialog>p:last-child{color:#798078}
@media(max-width:760px){.real-bookshelf{height:360px;padding:35px 10px 70px;border-width:9px}.books-row{gap:8px}.shelf-book{flex-basis:68px;height:225px}.book-tools{height:234px}.book-wisdom{height:242px}.book-life{height:219px}.book-title{font-size:21px;letter-spacing:4px}.book-spine{padding:32px 4px 12px}.book-subtitle{font-size:7px;letter-spacing:0}.book-mark{margin-top:9px}.shelf-nameplate{font-size:9px}}
@media(prefers-reduced-motion:reduce){.shelf-book{transition:none}}

/* Photographic material replaces the procedural shelf. */
.real-bookshelf{height:auto;aspect-ratio:3/2;padding:0;border:0;border-radius:2px;background:url('/static/bookshelf-real.png') center/100% 100% no-repeat;box-shadow:0 14px 32px #1c130b3d;perspective:none;container-type:inline-size}
.real-bookshelf .shelf-back,.real-bookshelf .shelf-plank,.real-bookshelf .shelf-nameplate,.real-bookshelf .book-pages,.real-bookshelf .book-subtitle,.real-bookshelf .book-mark{display:none}
.real-bookshelf .books-row{position:absolute;inset:0;display:block;transform-style:flat}
.real-bookshelf .shelf-book{position:absolute;bottom:17%;top:12%;left:25.5%;width:11%;height:auto;max-width:none;transform:none;filter:none;border-radius:5px;background:none}
.real-bookshelf .book-code{left:37.5%;top:16.5%;width:11.5%}.real-bookshelf .book-wisdom{left:49.5%;top:17.5%;width:11%}.real-bookshelf .book-life{left:61.5%;top:20.5%;width:12%}
.real-bookshelf .book-spine{background:none;border:0;box-shadow:none;padding:0;justify-content:center;border-radius:0}
.real-bookshelf .book-spine:before,.real-bookshelf .book-spine:after{display:none}
.real-bookshelf .book-title{font-size:clamp(16px,3.7cqw,32px);letter-spacing:.18em;line-height:1.1;color:#ddc38b;text-shadow:0 -1px 1px #281b13,0 1px 1px #fff6;mix-blend-mode:screen;transform:translateY(-6%)}
.real-bookshelf .shelf-book:hover{transform:none;filter:brightness(1.18);outline:0;background:#e2bb5410;box-shadow:inset 0 0 20px #f3d59c18}
.real-bookshelf .shelf-book:focus-visible{transform:none;filter:none;outline:1px solid var(--focus-ring,#717977);outline-offset:2px}
@media(max-width:760px){.real-bookshelf{height:auto;padding:0;border:0}.real-bookshelf .book-title{font-size:clamp(13px,3.7cqw,22px)}}

.real-bookshelf{background-image:url('/static/bookshelf-named.png')}
.real-bookshelf .book-spine{display:none}
.real-bookshelf .book-tools{left:25.39062%;top:11.52344%;width:11.71875%;height:71.87500%;bottom:auto;background:url('/static/book-tools-real.png') center/100% 100% no-repeat}
.real-bookshelf .book-code{left:37.43490%;top:15.91797%;width:11.65365%;height:67.48047%;bottom:auto;background:url('/static/book-code-real.png') center/100% 100% no-repeat}
.real-bookshelf .book-wisdom{left:49.41406%;top:16.99219%;width:11.58854%;height:66.40625%;bottom:auto;background:url('/static/book-wisdom-real.png') center/100% 100% no-repeat}
.real-bookshelf .book-life{left:61.32812%;top:19.92188%;width:12.69531%;height:63.47656%;bottom:auto;background:url('/static/book-life-real.png') center/100% 100% no-repeat}
.real-bookshelf .shelf-book:hover{background-color:transparent;filter:brightness(1.08);box-shadow:none}
.notebook-dialog{max-width:1400px;width:calc(94 * var(--site-vw,1vw));height:calc(94 * var(--site-vh,1dvh));max-height:calc(94 * var(--site-vh,1dvh));padding:18px 22px;overflow:hidden;border:0;background:#302820;box-shadow:0 30px 100px #0008;color:#eee1ca}.notebook-toolbar,.notebook-navigation{display:flex;align-items:center;justify-content:space-between;gap:14px;height:42px}.notebook-toolbar>div{margin-right:auto}.notebook-toolbar small{margin-left:15px;opacity:.6;font-size:11px}.notebook-toolbar button,.notebook-navigation button{color:#eee1ca;border-color:#bba38655}.open-notebook{position:relative;width:100%;height:calc(100% - 94px);margin:6px 0;perspective:1800px;transform-style:preserve-3d}.notebook-spread{height:100%;display:grid;grid-template-columns:1fr 1fr;gap:5%;padding:5% 5.5%;background:url('/static/notebook-paper.png') center/100% 100%;box-shadow:0 14px 20px #0006;border-radius:10px;transform-origin:center;transition:transform .75s,opacity .5s}.notebook-page{overflow-y:auto;overflow-x:hidden;color:#38342a;font-family:'Youran Wall','Wall Handwriting',serif;font-size:20px;line-height:1.8;scrollbar-width:thin;scrollbar-color:#b9a88966 transparent}.notebook-page h2{font-family:'WenKai Reading',serif;font-size:28px;line-height:1.4;margin:0 0 20px}.notebook-page h3{font-size:23px;margin:20px 0 8px}.notebook-page p{margin:10px 0}.notebook-page ul,.notebook-page ol{padding-left:22px}.notebook-page a{color:#376967;text-decoration:underline}.notebook-page table{display:block;overflow-x:auto;font-family:system-ui;font-size:12px;border-collapse:collapse}.notebook-page td,.notebook-page th{padding:8px;border:1px solid #ab9d7b77}.notebook-page .note-number{font-family:system-ui;font-size:11px;letter-spacing:1px;margin-bottom:16px;color:#8a7654}.notebook-page .blank-note{color:#9c917c;margin-top:30px}.notebook-cover{position:absolute;inset:0 50% 0 0;background:linear-gradient(90deg,#1b3830,#315b4a);border-radius:8px 0 0 8px;box-shadow:5px 5px 15px #0006;transform-origin:right;backface-visibility:hidden;transform:rotateY(180deg);transition:transform .75s;pointer-events:none}.open-notebook:not(.book-open) .notebook-cover{transform:rotateY(0deg)}.open-notebook:not(.book-open) .notebook-spread{transform:scale(.85);opacity:.1}.turning-leaf{display:none;position:absolute;top:0;left:50%;width:50%;height:100%;padding:10% 11%;overflow:hidden;background:url('/static/notebook-paper.png') right center/200% 100%;color:#38342a;font-family:'Youran Wall',serif;box-shadow:-8px 2px 15px #0003;transform-origin:left;backface-visibility:hidden;pointer-events:none}.turn-forward .turning-leaf{display:block;animation:page-forward .7s ease-in-out}.turn-back .turning-leaf{display:block;left:0;transform-origin:right;background-position:left;animation:page-back .7s ease-in-out}.notebook-navigation span{font-size:12px;color:#d6c5a8}.notebook-index-panel{position:absolute;inset:70px 24px 72px;z-index:5;overflow:auto;background:#f4ecd9;color:#403a31;padding:24px;border-radius:4px;box-shadow:0 8px 40px #0008}.notebook-index-panel input{background:#fffbf1}.notebook-index-panel button{display:block;width:100%;text-align:left;padding:12px;border:0;border-bottom:1px solid #bba78355;background:transparent;color:#403a31}.notebook-index-panel button span{float:right;font-size:11px;color:#8a7654}.notebook-index-panel small{margin-right:10px;color:#88765b}@keyframes page-forward{from{transform:rotateY(0)}to{transform:rotateY(-180deg)}}@keyframes page-back{from{transform:rotateY(0)}to{transform:rotateY(180deg)}}
@media(max-width:760px){.notebook-dialog{width:calc(100 * var(--site-vw,1vw));height:calc(100 * var(--site-vh,1dvh));max-height:calc(100 * var(--site-vh,1dvh));padding:10px}.notebook-toolbar small{display:none}.notebook-spread{gap:5%;padding:6% 5.5%}.notebook-page{font-size:15px;line-height:1.7}.notebook-page h2{font-size:19px}.notebook-page h3{font-size:17px}.notebook-index-panel{inset:62px 10px 60px}.notebook-index-panel button span{display:none}}
@media(prefers-reduced-motion:reduce){.notebook-spread,.notebook-cover{transition:none}.turning-leaf{animation:none!important}}
/* Image-led personal journal, responsive masonry and a two-panel reader. */
.disc-layout main:has(#blog[aria-hidden="false"]){left:34%;right:3%}.blog-grid{columns:3 180px;column-gap:18px}.rednote-card{break-inside:avoid;margin-bottom:22px;background:transparent}.rednote-card .post{display:block;width:100%;padding:0;border:0;text-align:left;background:transparent;color:#333;box-shadow:none;overflow:visible}.rednote-cover{position:relative;border-radius:16px;overflow:hidden;background:#eee}.rednote-cover>img{display:block;width:100%;height:auto;max-height:none;object-fit:cover}.multi-photo{position:absolute;right:10px;top:10px;border-radius:50%;background:#0005;color:#fff;padding:4px 7px}.rednote-card .post-copy{padding:11px 2px 7px}.rednote-card h3{font-family:system-ui,sans-serif;font-size:15px;line-height:1.5;font-weight:600;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rednote-meta{display:flex;justify-content:space-between;align-items:center;padding:0 2px;font-size:12px;color:#777}.rednote-meta>span{display:flex;align-items:center;gap:6px}.rednote-meta img{width:21px;height:21px;object-fit:cover;border-radius:50%;object-position:25% 40%}.save-note{border:0;background:transparent;padding:0 4px;font-size:23px;line-height:1;color:#777}.save-note[aria-pressed=true]{color:#e64150}.rednote-text-cover{aspect-ratio:3/4;padding:25px 18px;display:flex;flex-direction:column;justify-content:center;gap:14px;background:#e9dfc9;border-radius:16px;color:#40392e}.rednote-text-cover>strong{font-family:'Youran Wall',serif;font-size:27px;line-height:1.5}.rednote-text-cover>span{font-size:12px;opacity:.5}.rednote-text-cover>p{font-size:13px;line-height:1.8}.blog-grid>.empty{column-span:all}.filter button{border-radius:24px;padding:8px 17px}.filter .selected{background:#efefef;color:#333}
#reader{max-width:1200px;width:calc(92 * var(--site-vw,1vw));padding:0;border:0;border-radius:20px;background:#fff;overflow:hidden}#reader-content{display:grid;grid-template-columns:58% 42%;height:calc(80 * var(--site-vh,1dvh))}.rednote-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;background:#f5f5f5;height:100%}.rednote-gallery>img{width:100%;height:100%;object-fit:contain;flex:0 0 100%;scroll-snap-align:start}.rednote-gallery>.rednote-text-cover{width:100%;height:100%;border-radius:0}.rednote-body{padding:35px 30px;overflow-y:auto}.rednote-author{display:flex;align-items:center;gap:11px;margin-bottom:35px}.rednote-author img{width:42px;height:42px;object-fit:cover;border-radius:50%;object-position:25% 40%}.rednote-author span{font-size:14px}.rednote-author small{display:block;font-size:11px;color:#999;margin-top:3px}.rednote-body h2{font-family:system-ui;font-size:21px;line-height:1.5}.rednote-body .body{font-size:15px;line-height:1.9;white-space:pre-wrap}.rednote-category{color:#366786;font-size:14px}.rednote-body time{font-size:12px;color:#aaa}
@media(min-width:1800px){.blog-grid{columns:4 180px}}@media(max-width:760px){.blog-grid{columns:2;column-gap:11px}.rednote-cover{border-radius:12px}.rednote-card h3{font-size:13px}.rednote-meta{font-size:10px}.rednote-text-cover{padding:18px 12px}.rednote-text-cover>strong{font-size:21px}#reader{width:calc(96 * var(--site-vw,1vw));border-radius:14px}#reader-content{display:block;height:calc(90 * var(--site-vh,1dvh));overflow-y:auto}.rednote-gallery{height:calc(52 * var(--site-vh,1dvh))}.rednote-body{padding:22px;height:auto}.rednote-author{margin-bottom:18px}}
.disc-layout main:has(#blog.active-module){left:34%;right:3%}#account{max-width:480px;background:#fffcf5;padding:30px}.auth-tabs{display:flex;gap:12px;margin-bottom:24px}.auth-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;padding:8px 4px;color:#777}.auth-tabs .selected{color:#333;border-color:#333}.auth-login-type{display:flex;gap:20px;margin:15px 0}.auth-login-type label{display:flex;gap:6px;align-items:center;font-size:13px}.auth-login-type input{width:auto}.code-row{display:flex;gap:10px}.code-row input{min-width:0;flex:1}.code-row button{white-space:nowrap}#account-help,#account-status{font-size:12px;line-height:1.7;color:#7d7669}#account-submit{width:100%;margin:14px 0}#account-form label{margin-bottom:15px}#guest-continue{width:100%;margin-top:15px}@media(max-width:760px){.disc-layout main:has(#blog.active-module){left:32%;right:4%}}

@font-face{font-family:'Notebook Hand';src:url('/static/font-preview/演示悠然小楷.ttf') format('truetype');font-weight:400;font-display:swap}.notebook-page,.turning-leaf{font-family:'Notebook Hand','Kaiti SC',serif}.notebook-page{font-size:19px}
@media(max-width:760px){.notebook-spread{display:block;padding:9% 9%;background-size:200% 100%;background-position:left center}.notebook-page{height:100%;font-size:18px}.notebook-page h2{font-size:24px}.notebook-page h3{font-size:20px}.right-page{display:none}.turning-leaf{left:0;width:100%;padding:9%;transform-origin:left;background-position:left}.notebook-dialog .notebook-page .blank-note{font-size:18px}}
.disc-layout .blog-grid{columns:3 190px;column-gap:18px}@media(min-width:1800px){.disc-layout .blog-grid{columns:4 190px}}@media(max-width:760px){.disc-layout .blog-grid{columns:2;column-gap:11px}}
#reader-content{position:relative}.gallery-buttons{position:absolute;left:0;top:50%;width:58%;display:flex;justify-content:space-between;padding:0 12px;pointer-events:none}.gallery-buttons button{pointer-events:auto;border:0;border-radius:50%;background:#0004;color:white;width:30px;height:30px;font-size:24px;padding:0;line-height:1}@media(max-width:760px){.gallery-buttons{width:100%;top:calc(25 * var(--site-vh,1dvh))}}
.notebook-page{font-size:26px;line-height:1.4}.notebook-page ul,.notebook-page ol{margin:10px 0}@media(max-width:760px){.notebook-page{font-size:24px;line-height:1.5}}
/* Reuse Xianma's QQ-inspired account entry hierarchy and restrained full-page layout. */
#account.account-flow{max-width:none;max-height:none;width:calc(100 * var(--site-vw,1vw));height:calc(100 * var(--site-vh,1dvh));padding:0;border:0;border-radius:0;background:#f8fafc;color:#26313e;box-shadow:none;font-family:system-ui,-apple-system,sans-serif}#account.account-flow::backdrop{background:#f8fafc}.account-shell{min-height:100%;display:flex;flex-direction:column;padding:24px}.account-header{width:min(100%,960px);margin:0 auto;display:flex;justify-content:space-between;align-items:center;min-height:44px}.account-brand{font-size:18px;font-weight:650;color:#273748}.account-brand span{font-size:12px;font-weight:400;color:#89939f;margin-left:12px}.account-task{width:min(100%,420px);margin:clamp(28px,calc(8 * var(--site-vh,1vh)),72px) auto 32px}.account-task h2{font-family:system-ui,sans-serif;font-size:28px;font-weight:650;line-height:1.3;letter-spacing:-.025em;margin:0 0 10px;color:#202b38}#account-description{font-size:14px;line-height:1.65;color:#8a929b;margin:0 0 24px}.account-back{border:0;background:none;padding:0;min-height:44px;font-size:14px;color:#3881df;margin:0 0 12px}.account-task #account-form{display:flex;flex-direction:column;gap:18px}.account-task #account-form[hidden]{display:none}.account-task label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;margin:0!important;color:#404b59}.account-task input{height:48px;font-size:16px;padding:0 14px;border:1px solid #dce1e8;background:#fff;border-radius:8px;color:#283341}.account-task input:focus{border-color:var(--focus-ring);outline:none}.account-task .primary{height:48px;margin:0!important;background:#3c86ed;color:#fff;font-size:16px;font-weight:600;border-radius:8px;border:0;width:100%}.account-task .primary:hover{background:#2775df}.account-task .primary:disabled{opacity:.6;cursor:wait}.account-task #account-help,.account-task #account-status{margin:0;font-size:12px;line-height:1.7;color:#8a929b}.account-task #account-status:not(:empty){color:#be4949}.account-task #account-status:empty,.account-task #account-help:empty{display:none}#account-welcome{display:grid;gap:12px;margin-top:28px}.account-secondary{display:block;width:100%;height:48px;border:1px solid #dce1e8;background:#fff;color:#386daa;border-radius:8px;font-size:16px;font-weight:600}.account-links{display:flex;justify-content:space-between;gap:10px}.account-links button{background:none;border:0;padding:0;min-height:36px;color:#3881df;font-size:14px}.password-field{position:relative}.password-field input{padding-right:45px;width:100%}.password-eye{position:absolute;right:8px;top:0;bottom:0;border:0;background:none;color:#a0a9b6;width:30px;padding:0;cursor:pointer;font-size:17px}.account-task .code-row{gap:8px}.account-task .code-row button{height:48px;border:1px solid #dce1e8;background:#fff;border-radius:8px;min-width:104px;font-size:12px;color:#4080d0}.account-footer{width:min(100%,420px);margin:auto auto 0;text-align:center;padding-top:12px}.account-footer button{color:#758697;font-size:13px;min-height:44px;border:0}.account-footer p{color:#a5adb7;font-size:12px;margin:0}.account-task #account-signed-in{display:grid;gap:14px}.account-task #account-signed-in[hidden]{display:none}.account-task [hidden]{display:none!important}@media(max-width:600px){.account-shell{padding:16px 24px 20px}.account-task{margin-top:35px}.account-brand{font-size:17px}.account-task h2{font-size:26px}}@media(max-width:600px) and (max-height:700px){.account-task{margin-top:12px;margin-bottom:16px}.account-task #account-form{gap:12px}.account-back{margin-bottom:8px}}
.rednote-cover>video{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;background:#171c22}.video-cover-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#0006;border:1px solid #fff9;color:white;font-size:28px;padding-left:3px}.example-label{position:absolute;left:9px;top:9px;font-size:10px;border-radius:5px;padding:3px 6px;background:#fff9;color:#666}.file-cover-label{display:block;border-top:1px solid #ad9b7d66;padding-top:12px;font-size:11px;overflow-wrap:anywhere}.gallery-slide{flex:0 0 100%;width:100%;height:100%;scroll-snap-align:start;display:grid;place-items:center;overflow:hidden}.gallery-slide>img,.gallery-slide>video{display:block;width:100%;height:100%;object-fit:contain;background:#f2f2f2}.gallery-slide>.rednote-text-cover{border-radius:0;width:100%;height:100%;padding:8%}.gallery-slide .rednote-text-cover>p{font-size:17px}.gallery-position{position:absolute;left:calc(29% - 28px);bottom:20px;min-width:56px;text-align:center;background:#0005;color:#fff;padding:4px 9px;border-radius:20px;font-size:12px;pointer-events:none}.post-attachments{margin-top:25px;display:grid;gap:10px}.post-file{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid #e8e8e8;border-radius:12px;background:#fafafa;color:#333;min-width:0}.post-file>span:nth-child(2){flex:1;min-width:0}.post-file strong{display:block;font-size:13px;font-weight:500;overflow-wrap:anywhere}.post-file small{display:block;font-size:11px;color:#999;margin-top:5px}.file-icon{display:grid;place-items:center;width:39px;height:45px;flex-shrink:0;border-radius:5px;background:#e9eff7;color:#5f7ca3;font-size:10px;font-weight:600}.attachment-cover-icon{font-size:54px;opacity:.25}.rednote-text-cover>p{overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical}@media(max-width:760px){.gallery-position{left:calc(50% - 28px);bottom:auto;top:calc(calc(52 * var(--site-vh,1dvh)) - 35px)}.gallery-slide .rednote-text-cover>p{font-size:14px}}
.account-task input{font-weight:400}.account-task input::placeholder{color:#a1a9b4;font-weight:400}.account-links[hidden]{display:none!important}

.real-bookshelf{background-image:url('/static/bookshelf-five.png')}
.real-bookshelf .book-tools{left:22.78646%;top:11.52344%;width:11.71875%;height:71.87500%;bottom:auto;background:url('/static/book-tools-five.png') center/100% 100% no-repeat}
.real-bookshelf .book-code{left:34.57031%;top:15.82031%;width:11.26302%;height:67.57812%;bottom:auto;background:url('/static/book-code-five.png') center/100% 100% no-repeat}
.real-bookshelf .book-wisdom{left:45.89844%;top:16.99219%;width:11.13281%;height:66.40625%;bottom:auto;background:url('/static/book-wisdom-five.png') center/100% 100% no-repeat}
.real-bookshelf .book-life{left:57.09635%;top:18.55469%;width:11.13281%;height:64.84375%;bottom:auto;background:url('/static/book-life-five.png') center/100% 100% no-repeat}
.real-bookshelf .book-wudong{left:68.29427%;top:10.35156%;width:10.48177%;height:73.04688%;bottom:auto;background:url('/static/book-wudong-five.png') center/100% 100% no-repeat}
.reading-novel .notebook-page{font-family:'Songti SC','STSong',serif;font-size:20px;line-height:1.85}.reading-novel .notebook-page p:not(.note-number){text-indent:2em;margin:0 0 12px}.reading-novel .notebook-page p.continued-paragraph{text-indent:0}@media(max-width:760px){.reading-novel .notebook-page{font-size:18px;line-height:1.8}}

/* Shared horizontal geometry: every module reserves room for the same record,
   including tall desktop windows where its radius exceeds 34% of the width. */
.disc-layout{--content-left:max(34%,calc(var(--cd-radius) + 18px));--content-right:3%;--content-inset:12px;--cd-radius:min(var(--cd-preferred-radius),calc(44 * var(--site-vw,1vw)));--cd-size:calc(var(--cd-radius)*2);--cd-y:min(calc(52 * var(--site-vh,1vh)),calc(var(--cd-radius)*13/12))}
/* Keep the rim at least 32px from the content. Percentage offsets share the
   stage containing block, so the record and tonearm move together when the
   navigation lane is tighter than the record's radius. */
.disc-stage{width:var(--content-left);--disc-recess:max(0px,calc(var(--cd-radius) - 100% + 32px))}
.cd-body,.cd-rotor,.disc-shadow{left:calc(var(--cd-radius)*-1 - var(--disc-recess))}
.disc-layout>header,.disc-layout>.module-status,.disc-layout>footer{left:var(--content-left);right:calc(var(--content-right) + var(--content-inset) + var(--content-scrollbar,0px));max-width:none;margin-left:0;margin-right:0}
.disc-layout main,.disc-layout main:has(#blog.active-module),.disc-layout main:has(#blog[aria-hidden="false"]){left:var(--content-left);right:var(--content-right);padding-right:var(--content-inset);scrollbar-gutter:stable}
@media(max-width:760px){.disc-layout,.disc-layout:has(#blog.active-module){--content-left:32%;--content-right:4%;--content-inset:4px}}
@font-face{font-family:'WenKai Reading';src:url('/static/wenkai-full.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
.rednote-text-cover,.rednote-text-cover>strong,.rednote-text-cover>p,.rednote-body .body,#blog .section-head h2{font-family:'WenKai Reading','PingFang SC',sans-serif;font-weight:400;font-synthesis:none}
.rednote-body .body{font-size:19px}.rednote-text-cover>p{font-size:15px;line-height:1.75}@media(max-width:760px){.rednote-body .body{font-size:18px}.rednote-text-cover>p{font-size:13px}}

/* Chapter reader: calm single column, persistent tools and unbroken paragraphs. */
#notebook-dialog{--reader-bg:#edece8;--reader-paper:#faf9f6;--reader-ink:#333630;--reader-muted:#8a8d86;--reader-line:#deded7;--reading-size:22px;--reading-line:1.9;width:calc(100 * var(--site-vw,1vw));max-width:none;height:calc(100 * var(--site-vh,1dvh));max-height:none;margin:0;padding:0;border:0;border-radius:0;background:var(--reader-bg);color:var(--reader-ink);box-shadow:none;overflow:hidden;font-family:system-ui,sans-serif}
#notebook-dialog::backdrop{background:#edece8;backdrop-filter:none}#notebook-dialog[data-theme=green]{--reader-bg:#dce5d9;--reader-paper:#e8efe3;--reader-ink:#304036;--reader-muted:#768675;--reader-line:#cbd7c6}#notebook-dialog[data-theme=night]{--reader-bg:#191c20;--reader-paper:#22262b;--reader-ink:#c7c8c6;--reader-muted:#81868a;--reader-line:#353a40}
#notebook-dialog .notebook-toolbar{height:72px;padding:0 max(24px,calc((calc(100 * var(--site-vw,1vw)) - 1080px)/2));border-bottom:1px solid var(--reader-line);background:var(--reader-bg);gap:18px}#notebook-dialog .notebook-toolbar>div{font-size:15px;font-weight:600}#notebook-dialog .notebook-toolbar small{display:inline;font-weight:400;color:var(--reader-muted);opacity:1}#notebook-dialog .quiet{color:var(--reader-ink);font-size:13px;padding:10px;white-space:nowrap}#notebook-dialog .quiet:hover{background:var(--reader-line);border-radius:6px}
#notebook-dialog .open-notebook{height:calc(calc(100 * var(--site-vh,1dvh)) - 132px);width:min(100%,900px);margin:0 auto;perspective:none;transform:none}#notebook-dialog .notebook-spread{display:block;height:100%;padding:0;background:var(--reader-paper);border-radius:0;box-shadow:none;transform:none;opacity:1;transition:none}#notebook-dialog .right-page,#notebook-dialog .notebook-cover,#notebook-dialog .turning-leaf{display:none!important}
#notebook-dialog .left-page{height:100%;padding:54px 76px 48px;font-size:var(--reading-size);line-height:var(--reading-line);font-family:'Songti SC','STSong',serif;color:var(--reader-ink);overflow-y:auto;scrollbar-gutter:stable;scrollbar-color:var(--reader-line) transparent;scroll-behavior:auto;animation:reader-arrive .2s ease-out}#notebook-dialog[data-font=sans] .left-page{font-family:'PingFang SC',system-ui,sans-serif}#notebook-dialog[data-font=wenkai] .left-page{font-family:'WenKai Reading','Songti SC',serif}#notebook-dialog .left-page h2{font-family:inherit;font-size:1.35em;font-weight:600;line-height:1.5;margin:12px 0 32px;color:var(--reader-ink)}#notebook-dialog .left-page h3{font-size:1.1em;margin:28px 0 12px}#notebook-dialog .left-page p{margin:0 0 1.05em}#notebook-dialog.reading-novel .reader-copy p{text-indent:2em}#notebook-dialog .reader-kicker{font:12px/1.6 system-ui,sans-serif;color:var(--reader-muted);letter-spacing:.3px}#notebook-dialog .reader-copy img{max-width:100%;height:auto}#notebook-dialog .reader-copy pre{overflow:auto;font-size:14px;background:var(--reader-bg);padding:18px}#notebook-dialog .reader-copy a{color:#617e9b}#notebook-dialog .reader-message{padding:80px 0;text-align:center;color:var(--reader-muted)}#notebook-dialog .reader-message h2{color:var(--reader-ink)}#notebook-dialog .reader-message p{font-size:16px}
#notebook-dialog .notebook-navigation{height:60px;padding:0 max(24px,calc((calc(100 * var(--site-vw,1vw)) - 900px)/2));border-top:1px solid var(--reader-line);background:var(--reader-bg)}#notebook-dialog .notebook-navigation span{color:var(--reader-muted);font-size:12px}#notebook-dialog .notebook-navigation button{color:var(--reader-ink)}#notebook-dialog .reader-chapter-end{margin-top:48px;border-top:1px solid var(--reader-line);padding:26px 0;display:grid;justify-items:center;gap:18px;font:12px system-ui;color:var(--reader-muted)}#notebook-dialog .reader-continue{border:1px solid var(--reader-line);padding:14px 36px;background:var(--reader-bg);color:var(--reader-ink);border-radius:6px;font:15px system-ui}
#notebook-dialog .notebook-index-panel{position:absolute;inset:72px auto 60px 0;width:min(380px,calc(90 * var(--site-vw,1vw)));padding:22px 20px;background:var(--reader-paper);color:var(--reader-ink);border-right:1px solid var(--reader-line);border-radius:0;box-shadow:12px 0 32px #0001;overflow:auto;z-index:8}#notebook-dialog .notebook-index-panel input{position:sticky;top:0;width:100%;height:44px;margin-bottom:12px;background:var(--reader-bg);border-color:var(--reader-line);color:var(--reader-ink)}#notebook-dialog .notebook-index-panel button{display:flex;align-items:baseline;gap:12px;padding:14px 8px;font-size:14px;color:var(--reader-ink);border-color:var(--reader-line)}#notebook-dialog .notebook-index-panel button span{float:none;font-size:14px;color:inherit;line-height:1.6}#notebook-dialog .notebook-index-panel button[aria-current=true]{background:var(--reader-bg);font-weight:600}#notebook-dialog .notebook-index-panel small{font-size:11px;color:var(--reader-muted);margin:0}
#reading-settings-panel{position:absolute;right:max(24px,calc((calc(100 * var(--site-vw,1vw)) - 1080px)/2));top:80px;width:300px;padding:24px;background:var(--reader-paper);color:var(--reader-ink);border:1px solid var(--reader-line);border-radius:10px;box-shadow:0 12px 40px #0002;z-index:9;font-size:14px}#reading-settings-panel[hidden]{display:none}#reading-settings-panel label,.reading-setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 22px}.reading-setting-row>span{margin-right:auto}#reading-settings-panel select{width:145px;padding:7px;border:1px solid var(--reader-line);background:var(--reader-bg);color:var(--reader-ink);border-radius:5px}#reading-settings-panel button{border:1px solid var(--reader-line);background:var(--reader-bg);color:var(--reader-ink);border-radius:5px;padding:8px 12px;font-size:13px}.reading-themes{display:flex;gap:9px}#reading-settings-panel button[aria-pressed=true]{box-shadow:inset 0 -1px var(--reader-ink)}
@keyframes reader-arrive{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){#notebook-dialog .left-page{animation:none}}
@media(max-width:760px){#notebook-dialog .notebook-toolbar{height:62px;padding:0 12px;gap:3px}#notebook-dialog .notebook-toolbar small{display:none}#notebook-dialog .notebook-toolbar>div{font-size:14px}#notebook-dialog .quiet{padding:9px 7px;font-size:12px}#notebook-dialog .open-notebook{height:calc(calc(100 * var(--site-vh,1dvh)) - 120px)}#notebook-dialog .left-page{padding:30px 22px 32px}#notebook-dialog .notebook-navigation{height:58px;padding:0 12px}#notebook-dialog .notebook-navigation span{font-size:10px}#notebook-dialog .notebook-index-panel{top:62px;bottom:58px}#reading-settings-panel{top:70px;right:12px;width:min(300px,calc(calc(100 * var(--site-vw,1vw)) - 24px))}}

/* Mobile reading conventions: fixed paper, corner curl, center-tap chrome. */
#notebook-dialog{--reading-brightness:1}#notebook-dialog .open-notebook,#reading-flip-stage{filter:brightness(var(--reading-brightness))}#notebook-dialog .open-notebook[hidden],#reading-flip-stage[hidden]{display:none!important}
#reading-flip-stage{position:relative;width:min(900px,calc(100 * var(--site-vw,1vw)));height:calc(calc(100 * var(--site-vh,1dvh)) - 132px);margin:auto;overflow:hidden;background:var(--reader-paper);touch-action:none;isolation:isolate}
.reader-flip-host{width:100%;height:100%;position:relative}.reader-leaf{background:var(--reader-paper);color:var(--reader-ink);padding:45px 64px 42px;overflow:hidden;font-family:'Songti SC','STSong',serif;font-size:var(--reading-size);line-height:var(--reading-line);box-sizing:border-box}.reader-leaf-content{height:100%;overflow:hidden}.reader-leaf h2{font:600 1.35em/1.5 inherit;margin:12px 0 28px}.reader-leaf h3{font-size:1.1em;line-height:1.6;margin:20px 0 10px}.reader-leaf p{margin:0 0 1em}.reading-novel .reader-leaf p{text-indent:2em}.reading-novel .reader-leaf p.continued-paragraph{text-indent:0}.reader-leaf a{color:#617e9b;text-decoration:underline}.reader-leaf img{max-width:100%;height:auto}.reader-leaf table{font-size:14px;max-width:100%;border-collapse:collapse}.reader-leaf td,.reader-leaf th{padding:5px;border:1px solid var(--reader-line)}.reader-leaf pre{overflow:auto;font:14px/1.6 monospace}.reader-leaf ul,.reader-leaf ol{padding-left:1.2em}.reader-leaf-footer{position:absolute;left:64px;right:64px;bottom:13px;display:flex;justify-content:space-between;color:var(--reader-muted);font:11px/1.5 system-ui,sans-serif}.reader-measure{position:absolute;visibility:hidden;inset:0;z-index:-1}.reader-oversized{height:100%;overflow:auto;touch-action:pan-y}.reader-slide{position:absolute;inset:0}
#notebook-dialog[data-font=sans] .reader-leaf{font-family:'PingFang SC',system-ui,sans-serif}#notebook-dialog[data-font=wenkai] .reader-leaf{font-family:'WenKai Reading','Songti SC',serif}
#notebook-dialog .notebook-toolbar,#notebook-dialog .notebook-navigation{transition:opacity .2s,transform .2s;position:relative;z-index:10}#notebook-dialog.reader-menu-hidden .notebook-toolbar{opacity:0;transform:translateY(-100%);pointer-events:none}#notebook-dialog.reader-menu-hidden .notebook-navigation{opacity:0;transform:translateY(100%);pointer-events:none}
.reading-progress{display:flex;align-items:center;flex-direction:column;gap:5px;max-width:45%;width:260px}.reading-progress input{width:100%;height:5px;padding:0;accent-color:#576e88;cursor:pointer}.reading-index-tabs{display:flex;position:sticky;top:56px;background:var(--reader-paper);gap:15px;padding-bottom:12px}#notebook-dialog .reading-index-tabs button{width:auto;font-weight:600;border:0;padding:8px}#reading-settings-panel{max-height:calc(calc(100 * var(--site-vh,1dvh)) - 165px);overflow:auto}#reading-settings-panel input[type=range]{width:145px;height:8px;padding:0;accent-color:#576e88}
@media(max-width:760px){#reading-flip-stage{height:calc(calc(100 * var(--site-vh,1dvh)) - 120px)}.reader-leaf{padding:26px 24px 36px}.reader-leaf-footer{left:24px;right:24px;bottom:12px}#notebook-dialog .notebook-toolbar>div{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#notebook-dialog .notebook-toolbar{gap:0}#notebook-dialog .notebook-toolbar .quiet{padding:10px 5px;font-size:12px}.reading-progress{max-width:46%}.reader-leaf h2{font-size:1.2em}}
@media(prefers-reduced-motion:reduce){#notebook-dialog .notebook-toolbar,#notebook-dialog .notebook-navigation{transition:none}}
.reader-flip-host>.stf__wrapper,.reader-flip-host .stf__block{width:100%!important;height:100%!important;padding-bottom:0!important}.reader-leaf h2{font-family:inherit;font-size:1.35em;font-weight:600;line-height:1.5}
#notebook-dialog .notebook-index-panel button span{display:inline!important}
.reader-entry-cover{position:absolute;z-index:15;top:72px;bottom:60px;left:max(0px,calc((calc(100 * var(--site-vw,1vw)) - 900px)/2));width:min(900px,calc(100 * var(--site-vw,1vw)));transform-origin:left center;backface-visibility:hidden;pointer-events:none;padding:60px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#dfc487;background:linear-gradient(90deg,#112e28 0,#274c3f 2%,#1c3d33 5%,#234939 100%);box-shadow:inset 0 0 0 12px #162d25,inset 0 0 0 14px #a58b5155,8px 0 30px #0003;border-radius:2px 8px 8px 2px}.reader-entry-cover strong{font-family:'Songti SC',serif;font-weight:400;font-size:clamp(32px,calc(5 * var(--site-vw,1vw)),66px);letter-spacing:5px;margin:40px 0}.reader-entry-cover span,.reader-entry-cover small{font-size:12px;letter-spacing:3px;opacity:.6}
@media(max-width:760px){.reader-entry-cover{top:62px;bottom:58px;padding:24px}#reading-settings-panel{position:absolute;top:auto;bottom:58px;left:0;right:0;width:100%;border-radius:18px 18px 0 0;max-height:calc(70 * var(--site-vh,1dvh));padding:26px 24px}.reader-entry-cover strong{letter-spacing:2px}}
#notebook-dialog[data-layout=double]:not([data-mode=scroll]) #reading-flip-stage{width:min(1400px,calc(100 * var(--site-vw,1vw)))}#notebook-dialog[data-layout=double] .reader-leaf{padding-left:36px;padding-right:36px}#notebook-dialog[data-layout=double] .reader-leaf-footer{left:36px;right:36px}#notebook-dialog[data-layout=double] .reader-leaf{box-shadow:inset 1px 0 0 var(--reader-line)}#notebook-dialog[data-layout=double] .reader-slide+.reader-slide{border-left:1px solid var(--reader-line)}
@media(max-width:760px){#notebook-dialog[data-layout=double] .reader-leaf{padding-left:14px;padding-right:14px}#notebook-dialog[data-layout=double] .reader-leaf-footer{left:14px;right:14px;font-size:9px}}
/* Inline bookshelf reader; no modal, backdrop, viewport takeover or cover transition. */
#knowledge.book-reading>.real-bookshelf,#knowledge.book-reading>.bookshelf-hint{display:none}
#notebook-dialog{position:relative;inset:auto;width:100%;max-width:100%;height:auto;max-height:none;margin:0;padding:0;overflow:visible;background:transparent;border:0;box-shadow:none;--reader-muted:#62685f}
#notebook-dialog .notebook-toolbar{position:relative;height:auto;min-height:54px;padding:10px 0;flex-wrap:wrap;gap:5px;transform:none;opacity:1;pointer-events:auto;background:transparent}
#notebook-dialog .notebook-toolbar>div{flex:1 1 100%;max-width:none;overflow:visible;font-size:15px;padding-bottom:8px}
#notebook-dialog .notebook-toolbar small{font-size:11px}
#notebook-dialog .notebook-toolbar .quiet{font-size:12px;padding:8px 9px}
#notebook-dialog .notebook-close{margin-left:auto;float:none}
#notebook-dialog .open-notebook{height:auto;width:100%;margin:0;perspective:none}
#notebook-dialog .notebook-spread{height:auto;background:transparent}
#notebook-dialog .left-page{height:auto;padding:28px 8px 24px;overflow:visible;scrollbar-gutter:auto;background:var(--reader-paper);font-size:var(--reading-size)}
#notebook-dialog .left-page h2{font-size:1.25em;overflow-wrap:anywhere}
#notebook-dialog .notebook-navigation{position:relative;height:auto;min-height:60px;padding:12px 0;gap:6px;transform:none;opacity:1;pointer-events:auto;background:transparent}
#notebook-dialog .notebook-navigation .quiet{padding:8px 4px;font-size:12px}
#notebook-dialog .reading-progress{min-width:0;max-width:48%}
#notebook-dialog .notebook-index-panel,#notebook-dialog #reading-settings-panel{position:relative;inset:auto;width:100%;max-width:100%;max-height:340px;overflow:auto;padding:18px 12px;background:var(--reader-paper);border:0;border-bottom:1px solid var(--reader-line);border-radius:0;box-shadow:none;margin:0 0 16px}
#notebook-dialog .notebook-index-panel input{position:static}
#notebook-dialog .reading-index-tabs{position:static}
#notebook-dialog #reading-settings-panel select{max-width:60%;width:145px}
#notebook-dialog .reader-entry-cover{display:none}
#notebook-dialog #reading-flip-stage{width:100%;height:clamp(360px,calc(60 * var(--site-vh,1vh)),700px)}
#notebook-dialog .reader-leaf{padding:26px 24px 36px}
#notebook-dialog button:focus-visible{outline:1px solid var(--focus-ring,#717977);outline-offset:2px}
#notebook-dialog[data-theme=green]{background:var(--reader-bg)}
#notebook-dialog[data-theme=night]{background:var(--reader-bg)}
@media(max-width:760px){#notebook-dialog .left-page{font-size:18px;padding:22px 12px}#notebook-dialog .notebook-toolbar>div{max-width:none}#notebook-dialog .notebook-toolbar small{display:block;margin:6px 0 0}#notebook-dialog .notebook-close{margin-left:0}#notebook-dialog .notebook-navigation{flex-wrap:wrap}#notebook-dialog .reading-progress{order:3;flex:1 1 100%;max-width:100%;width:100%}#notebook-dialog .notebook-navigation button:last-child{margin-left:auto}#notebook-dialog #reading-settings-panel{padding:16px 10px}#notebook-dialog .reader-leaf{padding:22px 12px 36px}}

/* Header actions match the record's ink and silver palette. */
header .header-action{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:0 18px;border-radius:24px;font-size:13px;font-weight:600;line-height:1;white-space:nowrap;transition:background .18s ease,color .18s ease,box-shadow .18s ease}
header .header-action svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
header .account-action{border:0;background:#243248;color:#fff;box-shadow:0 4px 10px #182b4918}
header .account-action:hover{background:#344c6e;box-shadow:0 5px 14px #182b4926}
header .search-action,header .notification-action{border:1px solid #c4cdd9;background:#f7f9fc;color:#35465d}
header .search-action:hover,header .notification-action:hover{background:#e1e8f2;border-color:#9baec5}
header .header-action:active{background:#182b49;color:#fff;box-shadow:none}
header .header-action:focus-visible{outline:1px solid var(--focus-ring,#717977);outline-offset:2px}
header .search-action kbd{display:inline-flex;align-items:center;justify-content:center;width:21px;height:22px;margin:0 0 0 8px;padding:0;border:1px solid #c4cdd9;background:#eaf0f6;color:#52637a;border-radius:5px;font-size:12px;font-weight:400}
.disc-layout header #search-open{padding:0 15px;font-size:13px}
@media(max-width:600px){.disc-layout header{flex-wrap:wrap;align-content:center;gap:8px;height:104px}.disc-layout header .brand{flex-basis:100%;font-size:17px}.disc-layout header .brand span{margin-top:5px}.disc-layout header .header-action{min-height:40px;padding:0 12px;gap:7px;font-size:11px}.disc-layout header #search-open{padding:0 12px;font-size:11px;margin-left:0}.disc-layout header .header-action svg{width:15px;height:15px}.disc-layout header .search-action kbd{display:none}}
@media(prefers-reduced-motion:reduce){header .header-action{transition:none}}
#notebook-dialog:not([data-mode=scroll]) #reading-flip-stage{width:100%;max-width:100%;height:clamp(440px,calc(calc(100 * var(--site-vh,1dvh)) - 330px),850px)}

header .header-action[hidden]{display:none!important}
@media(max-width:600px){.disc-layout header:has(#owner-open:not([hidden])){gap:6px}.disc-layout header:has(#owner-open:not([hidden])) .header-action{padding:0 10px}.disc-layout header:has(#owner-open:not([hidden])) #account-open-label{max-width:65px;overflow:hidden;text-overflow:ellipsis}.disc-layout header .owner-action{width:40px;padding:0}.disc-layout header .owner-action span{display:none}}
/* One document scroll surface. The right column never owns a scroll view. */
html{overflow-y:auto;scrollbar-gutter:stable}
body.disc-layout{height:auto;min-height:calc(100 * var(--site-vh,1dvh));overflow:visible}
.disc-layout main,.disc-layout main:has(#blog.active-module),.disc-layout main:has(#blog[aria-hidden="false"]){position:relative;inset:auto;margin:0 0 0 var(--content-left);width:calc(100% - var(--content-left) - var(--content-right));max-width:none;min-height:calc(calc(100 * var(--site-vh,1dvh)) - 90px);height:auto;padding:173px var(--content-inset) 32px 0;overflow:visible;scrollbar-gutter:auto}
.disc-layout>footer{position:relative;inset:auto;margin:0 calc(var(--content-right) + var(--content-inset)) 0 var(--content-left);width:auto;height:auto;min-height:60px;padding:18px 0}
.disc-layout>header{background:#e9edf2}
#notebook-dialog .notebook-index-panel,#notebook-dialog #reading-settings-panel{max-height:none;overflow:visible}
#notebook-dialog .reader-copy{max-width:72ch;margin:0 auto}
#notebook-dialog .left-page{padding-left:clamp(12px,calc(3 * var(--site-vw,1vw)),48px);padding-right:clamp(12px,calc(3 * var(--site-vw,1vw)),48px)}
#notebook-dialog .reader-copy pre,#notebook-dialog .reader-copy table,#notebook-dialog .reader-leaf pre{max-width:100%;white-space:pre-wrap;overflow:visible;overflow-wrap:anywhere;word-break:break-word}
#notebook-dialog .reader-oversized{height:auto;overflow:visible}
@media(max-width:760px){.disc-layout main,.disc-layout main:has(#blog.active-module),.disc-layout main:has(#blog[aria-hidden="false"]){padding-top:150px}.disc-layout>footer{margin-left:var(--content-left);margin-right:var(--content-right)}#notebook-dialog .reader-copy{width:100%;max-width:100%}}

/* Bookshelf is a contained app; only its reading surface scrolls. */
.disc-layout main:has(#knowledge.active-module){position:fixed;inset:157px var(--content-right) max(32px,env(safe-area-inset-bottom)) var(--content-left);width:auto;height:auto;min-height:0;margin:0;padding:0 var(--content-inset) 0 0;overflow:hidden}
.disc-layout:has(#knowledge.active-module)>footer{display:none}
#knowledge.active-module{height:100%;min-height:0;display:flex;flex-direction:column;padding:0;overflow:hidden;container-type:inline-size}
#knowledge>.section-head{flex:none;margin:0 0 18px;align-items:center}
#knowledge>.section-head .eyebrow{display:none}
#knowledge>.section-head h2{font-size:30px}
#knowledge .library-nav{display:flex;flex:none;flex-wrap:wrap;gap:6px;margin:0 0 16px;padding:0 0 14px;border-bottom:1px solid #d2dae5;font-size:12px}
.library-nav button{border:0;border-radius:8px;padding:9px 12px;min-height:38px;background:transparent;color:#35465d;white-space:nowrap}
.library-nav button:hover{background:#dce5ef}
.library-nav button[aria-current=true]{background:#243248;color:#fff;font-weight:600}
#knowledge>.real-bookshelf{flex:none;width:100%;max-width:850px;max-height:calc(100% - 150px);aspect-ratio:3/2;margin:auto;box-shadow:none}
#knowledge>.bookshelf-hint{flex:none;margin:16px 0 0;text-align:center;color:#52637a;font-size:12px}
#knowledge.book-reading>.real-bookshelf,#knowledge.book-reading>.bookshelf-hint{display:none}
#knowledge #notebook-dialog:not([hidden]){display:flex;flex-direction:column;flex:1;min-height:0;height:auto;overflow:hidden;border-radius:12px;background:var(--reader-paper);position:relative}
#knowledge #notebook-dialog[hidden]{display:none!important}
#knowledge #notebook-dialog .notebook-toolbar{flex:none;min-height:58px;padding:10px 16px;gap:4px;border-bottom:1px solid var(--reader-line);background:var(--reader-bg)}
#knowledge #notebook-dialog .notebook-toolbar>div{flex:1 1 130px;padding:0;min-width:0;font-size:14px}
#knowledge #notebook-dialog .notebook-toolbar small{font-size:10px;display:block}
#knowledge #notebook-dialog .notebook-close{display:none}
#knowledge #notebook-dialog .open-notebook{flex:1;min-height:0;height:auto;overflow:hidden}
#knowledge #notebook-dialog .notebook-spread{height:100%;min-height:0}
#knowledge #notebook-dialog .left-page{height:100%;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:28px clamp(16px,4cqw,48px);scrollbar-width:thin;scrollbar-color:#97a4b3 transparent}
#knowledge #notebook-dialog .reader-message{padding:40px 0}
#knowledge #notebook-dialog .notebook-navigation{flex:none;min-height:64px;padding:10px 16px;border-top:1px solid var(--reader-line);background:var(--reader-bg);gap:8px}
#knowledge #notebook-dialog .notebook-index-panel,#knowledge #notebook-dialog #reading-settings-panel{position:absolute;inset:64px auto 70px 0;width:min(360px,100%);height:auto;max-height:none;overflow:auto;overscroll-behavior:contain;margin:0;padding:16px;background:var(--reader-paper);z-index:20;box-shadow:8px 10px 24px #182b491c}
#knowledge #notebook-dialog #reading-settings-panel{left:auto;right:0}
#knowledge #notebook-dialog:not([data-mode=scroll]) #reading-flip-stage{flex:1;min-height:0;height:auto;width:100%;overflow:hidden}
#knowledge #notebook-dialog .reader-oversized{height:100%;overflow:auto;overscroll-behavior:contain}
#knowledge #notebook-dialog.reader-menu-hidden .notebook-toolbar,#knowledge #notebook-dialog.reader-menu-hidden .notebook-navigation{opacity:1;transform:none;pointer-events:auto}
@container(max-width:620px){#knowledge>.section-head>p{display:none}#knowledge .library-nav{gap:4px;margin-bottom:10px;padding-bottom:10px}.library-nav button{padding:8px 9px;font-size:11px}#knowledge #notebook-dialog .notebook-toolbar{padding:8px;min-height:78px}#knowledge #notebook-dialog .notebook-toolbar>div{flex:1 1 100%}#knowledge #notebook-dialog .notebook-toolbar .quiet{padding:7px 9px;min-height:34px}#knowledge #notebook-dialog .left-page{padding:20px 16px;font-size:var(--reading-size)}#knowledge #notebook-dialog .notebook-navigation{padding:8px;gap:4px}#knowledge #notebook-dialog .notebook-index-panel,#knowledge #notebook-dialog #reading-settings-panel{top:86px;bottom:96px}}
@media(max-width:760px){.disc-layout main:has(#knowledge.active-module){inset:150px var(--content-right) max(28px,env(safe-area-inset-bottom)) var(--content-left);padding:0 var(--content-inset) 0 0}#knowledge>.section-head{margin-bottom:12px}#knowledge>.section-head h2{font-size:25px}}
#knowledge #notebook-dialog .reader-copy{overflow-wrap:anywhere;min-width:0}
#knowledge #notebook-dialog .reader-copy table{display:block;width:100%;overflow-x:auto;white-space:normal}
#knowledge #notebook-dialog .reader-copy pre{overflow-x:auto;white-space:pre-wrap}
#knowledge #notebook-dialog .left-page ul,#knowledge #notebook-dialog .left-page ol{padding-left:1.4em}

/* Enlarge the shelf artwork and matching book hit targets together. */
#knowledge>.real-bookshelf{max-width:none;max-height:calc(100% - 130px);margin:12px auto auto;background-size:125% 125%;overflow:hidden}
#knowledge>.real-bookshelf .books-row{transform:scale(1.25);transform-origin:center}
.project-cover.has-screenshot{height:auto;aspect-ratio:16/9;background:#f2f4f7;border:1px solid #d5dde6;border-radius:10px}.project-cover.has-screenshot>img{width:100%;height:100%;object-fit:contain;border-radius:0}.project a:hover .project-cover{box-shadow:0 8px 24px #152b4914}.project a:focus-visible{display:block}

.disc-layout .project-cover.has-screenshot>img{width:100%;height:100%;object-fit:contain;border-radius:0}
/* Each portfolio preview is a miniature desktop window. */
.project-window-bar{position:absolute;left:0;right:0;top:0;height:28px;z-index:1;display:flex;align-items:center;padding:0 11px;background:#f3f5f7;border-bottom:1px solid #dce1e7;pointer-events:none}.project-window-dots{display:flex;gap:6px}.project-window-dots i{display:block;width:9px;height:9px;border-radius:50%;background:#ff5f57;border:1px solid #e34a43;box-shadow:inset 0 1px 1px #ffffff45}.project-window-dots i:nth-child(2){background:#febc2e;border-color:#dfa123}.project-window-dots i:nth-child(3){background:#28c840;border-color:#1dac32}.disc-layout .project-cover.has-screenshot{padding-top:28px;aspect-ratio:auto}.disc-layout .project-cover.has-screenshot>img{aspect-ratio:16/9;display:block;object-fit:contain}
/* A complete Chinese face for every module heading and record label. */
:root{--site-display-font:'WenKai Reading','PingFang SC',sans-serif}
.disc-layout .cd-track .track-title,.disc-layout main>section>.section-head h2,.wall-heading h2,.hero h1,.knowledge-banner h3,.closing h2{font-family:var(--site-display-font);font-weight:400;font-synthesis:none}
/* Compact portfolio rhythm keeps the four projects within desktop viewports. */
.disc-layout #works{padding-bottom:12px}
.disc-layout #works .section-head{margin-bottom:16px}
.disc-layout #works .works-grid{gap:18px 24px}
.disc-layout #works .project-cover,.disc-layout #works .project-cover.has-screenshot{height:clamp(170px,calc(30 * var(--site-vh,1dvh)),420px);aspect-ratio:auto;padding-top:22px}
.disc-layout #works .project-window-bar{height:22px;padding:0 9px}
.disc-layout #works .project-window-dots{gap:5px}
.disc-layout #works .project-window-dots i{width:7px;height:7px}
.disc-layout #works .project-cover.has-screenshot>img{height:100%;aspect-ratio:auto;object-fit:contain}
.disc-layout #works .project-text{margin-top:8px;align-items:center}
.disc-layout #works .project h3{margin:0;font-size:16px;line-height:1.4}
.disc-layout #works .project p{margin:5px 0 0;font-size:12px;line-height:1.6}
@media(max-width:760px){.disc-layout #works .works-grid{gap:20px}.disc-layout #works .project-cover,.disc-layout #works .project-cover.has-screenshot{height:auto;aspect-ratio:auto}.disc-layout #works .project-cover.has-screenshot>img{height:auto;aspect-ratio:16/9}.disc-layout #works .project h3{font-size:15px}}

.real-bookshelf .book-meditations{left:79%;top:15%;width:10%;height:68%;bottom:auto;background:linear-gradient(90deg,#172e2b,#36534b 18%,#29443d 75%,#142d27);border:1px solid #786a43;border-radius:3px;box-shadow:inset 3px 0 4px #0005,2px 3px 4px #0005;color:#e7cf98;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:8px 0}
.real-bookshelf .book-meditations>span{writing-mode:vertical-rl;font-family:var(--site-display-font);font-size:clamp(14px,3cqw,28px);letter-spacing:.2em}
.real-bookshelf .book-meditations>small{writing-mode:vertical-rl;font:7px Georgia,serif;letter-spacing:1px;max-height:25%;overflow:hidden}
#knowledge>.zoned-bookshelf{aspect-ratio:3/2;background-size:100% 100%;margin:12px auto auto;overflow:hidden}
#knowledge>.zoned-bookshelf .books-row{transform:none}
.zoned-bookshelf .shelf-zone-labels{position:absolute;inset:3% 0 auto;display:grid;grid-template-columns:1fr 1fr;pointer-events:none;color:#eed7a8;text-shadow:0 1px 3px #20140b;font-family:var(--site-display-font);font-size:clamp(12px,2cqw,23px);text-align:center;letter-spacing:.15em;z-index:2}
#knowledge .zoned-bookshelf .shelf-book{top:14%;bottom:auto;height:72%;left:8%;width:9%;background:none;border:0;box-shadow:none;border-radius:2px;padding:0;display:block}
#knowledge .zoned-bookshelf .book-code{left:18%}
#knowledge .zoned-bookshelf .book-wisdom{left:28%}
#knowledge .zoned-bookshelf .book-life{left:38%}
#knowledge .zoned-bookshelf .book-wudong{left:59%;width:13%}
#knowledge .zoned-bookshelf .book-meditations{left:74%;width:13%}
#knowledge .zoned-bookshelf .shelf-book:hover{background:#f8dfab0d;filter:none;box-shadow:inset 0 0 20px #f8dfab1c}
#knowledge .zoned-bookshelf .shelf-book:focus-visible{outline:1px solid var(--focus-ring,#717977);outline-offset:2px}
#knowledge>.zoned-bookshelf{background-image:url('/static/bookshelf-zoned.png')}
#knowledge .zoned-bookshelf .book-tools{left:11.2%;top:19%;width:8.7%;height:64%}
#knowledge .zoned-bookshelf .book-code{left:20.2%;top:22%;width:8.6%;height:61%}
#knowledge .zoned-bookshelf .book-wisdom{left:29%;top:22%;width:8.6%;height:61%}
#knowledge .zoned-bookshelf .book-life{left:38%;top:23.2%;width:8%;height:60%}
#knowledge .zoned-bookshelf .book-wudong{left:63%;top:17.5%;width:11.4%;height:65.5%}
#knowledge .zoned-bookshelf .book-meditations{left:75.5%;top:17.5%;width:11%;height:65.5%}
.zoned-bookshelf .shelf-zone-labels{top:8%}
/* Zone names are engraved into the front face of each wooden shelf plank. */
.zoned-bookshelf .shelf-zone-labels{top:85%;height:9%;align-items:center;color:#39200f;font-family:var(--site-display-font);font-weight:600;font-size:clamp(11px,1.8cqw,24px);letter-spacing:.18em;text-shadow:0 1px 0 #d9a56b99,0 -1px 1px #160b06cc;mix-blend-mode:multiply}
.zoned-bookshelf .shelf-zone-labels span:first-child{padding-right:3%}
.zoned-bookshelf .shelf-zone-labels span:last-child{padding-left:4%}
#knowledge>.zoned-bookshelf{background-image:url('/static/bookshelf-zoned-carved.png')}
.zoned-bookshelf .shelf-zone-labels{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* Reusable shelf: books are data-backed objects rather than baked artwork. */
#knowledge>.reusable-bookshelf{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;margin:8px 0 0;background:none;overflow:auto;padding:0 0 4px;box-shadow:none}
#knowledge.book-reading>.reusable-bookshelf{display:none}
.library-zone{display:flex;flex-direction:column;min-width:0;min-height:260px;max-height:560px;background:#3e2618 url('/static/bookshelf-zoned-carved.png') 15% 0/250% 650%;border:10px solid #65442d;border-radius:3px;box-shadow:inset 0 5px 20px #000a;overflow:hidden}
.library-book-row{display:flex;align-items:flex-end;justify-content:center;gap:2px;flex:1;min-height:0;padding:24px 8px 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#b59164 #3e2618}
.library-book{position:relative;flex:0 0 clamp(48px,6cqw,106px);height:var(--book-height);max-height:430px;min-height:180px;background:transparent url('/static/book-spine-template.png') center/100% 100% no-repeat;border:0;border-radius:5px;padding:0;filter:hue-rotate(var(--book-hue));color:#e5c78c;box-shadow:3px 3px 6px #100a075c;transition:transform .2s}
.library-book>span{position:absolute;inset:21% 10% 16%;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;font-family:var(--site-display-font);font-size:clamp(17px,2.7cqw,32px);line-height:1.15;letter-spacing:.14em;text-shadow:0 -1px 1px #3b2814,0 1px 1px #fff3;overflow-wrap:anywhere}
.library-book:hover{transform:translateY(-7px)}
.library-book:focus-visible{outline:1px solid var(--focus-ring,#717977);outline-offset:2px}
.library-zone>h3{flex:none;margin:0;padding:10px 4px 12px;text-align:center;background:#815333;color:#38200f;text-shadow:0 1px 0 #c4976399,0 -1px 1px #1d100bcc;font-family:var(--site-display-font);font-size:clamp(15px,2cqw,24px);letter-spacing:.16em;border-top:3px solid #b28551;box-shadow:inset 0 3px 5px #21100666}
@container(max-width:620px){#knowledge>.reusable-bookshelf{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(240px,1fr));gap:16px}.library-zone{border-width:7px}.library-book{flex-basis:23%;min-height:150px}.library-book>span{font-size:20px}.library-book-row{padding-top:16px}}
.library-book{background-size:294% 102%}
.library-book{background:none;filter:none;box-shadow:none}
.library-book::before{content:"";position:absolute;inset:0;background:url('/static/book-spine-template.png') center/294% 102% no-repeat;filter:hue-rotate(var(--book-hue));pointer-events:none}
.library-book>span{z-index:1;color:#e5c78c}
.library-zone>h3{height:48px;padding:0;border:0;background-image:url('/static/bookshelf-zoned-carved.png');background-size:210% 1111%;background-position:0 94%;color:transparent;text-shadow:none;box-shadow:none}
.library-zone:last-child>h3{background-position:100% 94%}
#knowledge>.reusable-bookshelf{flex:1;height:auto;grid-template-rows:minmax(0,1fr)}
.library-zone{min-height:0;background-size:250% 1200%}
@container(max-width:620px){#knowledge>.reusable-bookshelf{grid-template-rows:repeat(2,minmax(240px,1fr))}}
/* Keep scrolling content below the fixed SIDE / TRACK masthead. */
.disc-layout>.module-status{z-index:6;isolation:isolate}
.disc-layout>.module-status::before{content:'';position:absolute;left:-2px;right:-2px;top:-150px;bottom:-18px;background:#e9edf2;z-index:-1;pointer-events:none}
/* Paginated shelves keep physical book sizes usable up to 100 volumes. */
.library-picker,.library-search{height:38px;min-width:0;max-width:220px;border:1px solid #c4cdd9;border-radius:8px;background:#f7f9fc;color:#35465d;padding:0 10px;font-size:12px}
.library-search{width:160px}
.library-book-row{display:grid;grid-template-columns:repeat(var(--shelf-columns),minmax(0,94px));grid-template-rows:repeat(var(--shelf-rows),minmax(0,1fr));justify-content:center;align-items:end;gap:10px 3px;padding:20px 10px 0;overflow:hidden}
.library-book{width:100%;min-width:0;min-height:100px;max-height:400px;justify-self:center}
.library-book::before{filter:hue-rotate(var(--book-hue)) saturate(var(--book-saturation,1)) brightness(var(--book-brightness,1))}
.library-book>span{font-size:clamp(14px,2.2cqw,26px);inset:20% 12% 15%;letter-spacing:.07em}
.library-book::after{content:"";position:absolute;inset:15% 14%;pointer-events:none;opacity:.65;border-radius:2px}
.library-book.spine-style-1::after{border:1px solid #dbc78b;inset:16% 13%}
.library-book.spine-style-2::after{inset:0 22% auto auto;width:7%;height:18%;background:#b58b48;clip-path:polygon(0 0,100% 0,100% 100%,50% 88%,0 100%)}
.library-book.spine-style-3::after{border-top:3px double #dbc78b;border-bottom:3px double #dbc78b;inset:27% 13%}
.library-book.spine-style-4::after{border:1px solid #dbc78b;background:#2c1e1526;inset:32% 12%}
.library-zone>h3{height:48px;background:none;position:relative;overflow:hidden}
.library-zone>h3 canvas{display:block;width:100%;height:100%}
.library-zone-pages{display:flex;align-items:center;justify-content:space-between;gap:5px;flex:none;padding:5px 8px;background:#543822;color:#edddc4;font-size:11px}
.library-zone-pages button{border:0;border-radius:4px;background:#ffffff12;color:inherit;padding:6px 8px;min-height:32px;font-size:11px}
.library-zone-pages button:disabled{opacity:.35;cursor:default}
.library-empty{grid-column:1/-1;color:#dfcba7;font-size:13px;text-align:center}
#book-upload-form[hidden],#content-form[hidden],#manage-list[hidden]{display:none!important}
#book-upload-form{display:grid;gap:16px;margin-top:20px}
#book-upload-form h3{margin:0}
.book-spine-options{border:1px solid #c4cdd9;border-radius:8px;padding:12px;min-width:0}
#book-spine-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;max-height:340px;overflow:auto;padding:4px}
#book-upload-form .book-spine-choice{display:flex;flex-direction:column;gap:7px;align-items:center;padding:8px;border:1px solid transparent;border-radius:8px;margin:0;font-size:11px;text-align:center;cursor:pointer}
.book-spine-choice:has(input:checked){background:#e4ecf8;border-color:#4271dc!important}
.book-spine-choice .library-book{display:block;width:42px;height:124px;min-height:0;max-height:none;pointer-events:none}
.book-spine-choice input{width:16px;height:16px;margin:0;accent-color:#4271dc}
#book-upload-summary{font-size:13px;margin:0}
@container(max-width:620px){.library-picker{max-width:145px}.library-search{width:100px;max-width:100%}#knowledge>.reusable-bookshelf{grid-template-rows:repeat(2,minmax(280px,1fr))}.library-book-row{grid-template-columns:repeat(var(--shelf-columns),minmax(0,80px));padding-top:12px}.library-book>span{font-size:clamp(13px,4cqw,19px)}.library-zone-pages{font-size:10px}}
/* Machined headshell, captive screws, finger lift and separate stylus assembly. */
.probe-shaft{bottom:70px}.probe-joint{bottom:61px;width:16px;left:14px;height:22px;border-radius:4px;background:repeating-linear-gradient(0deg,transparent 0 3px,#17273355 3px 4px),linear-gradient(90deg,#263441,#a5b0b8 32%,#e4ebee 44%,#586775 63%,#17232e);box-shadow:inset 0 1px 1px #fff8,1px 1px 2px #0005}
.probe-head{bottom:12px;left:0;width:47px;height:63px;border-radius:6px 6px 8px 8px;transform:rotate(-16deg);background:linear-gradient(100deg,#10171f 0,#46505a 9%,#252f39 17%,#303b46 49%,#131c26 84%,#59656e 92%,#111820);border:1px solid #111b24;box-shadow:inset 1px 1px 0 #a1abb577,inset -2px -3px 0 #080e16,2px 3px 2px #0006,4px 5px 6px #0003}
.probe-head:before{top:8px;left:8px;right:8px;height:28px;border-radius:3px;background:repeating-linear-gradient(0deg,#0c141c 0 4px,#3c4853 4px 5px,#7e8a9355 5px 6px);box-shadow:inset 0 1px 3px #0009}.probe-head:after{width:20px;height:2px;left:12px;top:41px;border-radius:1px;background:#b4bdc340;box-shadow:0 3px 0 #080f16}
.headshell-inlay{position:absolute;top:4px;left:20px;width:5px;height:34px;background:linear-gradient(90deg,#55616a,#c1c8ce55,#1c2630);border-radius:2px;opacity:.7}.headshell-screw{position:absolute;top:5px;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#f3f6f8,#9aa6af 45%,#3e4b56 70%);box-shadow:0 1px 2px #0009,inset 0 0 0 1px #8c969f}.headshell-screw:after{content:'';position:absolute;left:1px;right:1px;top:2px;height:1px;background:#26313d;transform:rotate(-30deg)}.screw-left{left:4px}.screw-right{right:4px}.headshell-lift{position:absolute;right:-12px;top:25px;width:14px;height:21px;border-right:3px solid #9eacb6;border-bottom:3px solid #c5d0d7;border-radius:0 5px 6px 0;transform:skewY(-22deg);box-shadow:2px 1px 1px #10182377;filter:drop-shadow(1px 1px 0 #26333e)}
.cartridge-body{position:absolute;bottom:-5px;left:10px;width:25px;height:19px;border-radius:2px 2px 4px 4px;background:linear-gradient(105deg,#8e7445,#d1bb81 19%,#f0dfac 36%,#ab915a 66%,#70582e);border:1px solid #6a583a;box-shadow:inset 0 1px 0 #f6e6bc,2px 2px 2px #0006}.cartridge-badge{position:absolute;left:5px;right:5px;top:5px;height:6px;background:#252b2c;border:1px solid #626157;border-radius:1px}.cartridge-badge:after{content:'';position:absolute;left:3px;right:3px;top:2px;height:1px;background:#c4b581}.probe-needle{width:12px;height:10px;left:22px;bottom:3px;background:linear-gradient(110deg,#3c464b,#d5dce0 35%,#5e6d76 60%,#202d38);border-radius:2px 2px 3px 3px;box-shadow:0 1px 1px #0008;transform:rotate(-16deg)}.probe-needle:after{width:1px;height:10px;top:7px;left:5px;background:linear-gradient(#d5e0e5,#8999a5 65%,#202b36);transform:rotate(-22deg);transform-origin:top;box-shadow:1px 0 0 #e4eaf144}.probe-needle:before{content:'';position:absolute;width:3px;height:3px;left:8px;top:15px;background:linear-gradient(135deg,#f5ccd9,#b0667d 50%,#4a273c);clip-path:polygon(50% 0,100% 45%,50% 100%,0 45%)}
/* One continuous cabinet, with a shared divider and restrained aged leather. */
#knowledge>.reusable-bookshelf{gap:0;padding:0;background:#5b3925;border:9px solid #65442d;border-radius:3px;box-shadow:inset 0 4px 12px #1b0e09aa;overflow:auto}
.library-zone{border:0;border-radius:0;box-shadow:inset 0 8px 18px #160b0799;max-height:none}
.library-zone+.library-zone{border-left:11px solid #765037;box-shadow:inset 4px 0 7px #1c100985,inset 0 8px 18px #160b0799}
.library-book::before{filter:hue-rotate(var(--book-hue)) saturate(.38) brightness(.76) contrast(1.08)}
.library-book>span{color:#c4a56a;text-shadow:0 -1px 1px #211309,0 1px 0 #e8cf8c25}
.library-book::after{opacity:.32}
.library-zone-pages{background:#553722;color:#d7c4a7}
@container(max-width:620px){#knowledge>.reusable-bookshelf{gap:0;border-width:7px}.library-zone+.library-zone{border-left:0;border-top:10px solid #765037}}
.library-book::before{filter:hue-rotate(var(--book-hue)) saturate(calc(var(--book-saturation,1)*.38)) brightness(calc(var(--book-brightness,1)*.82)) contrast(1.06)}
/* Macro photographic cartridge: retain the responsive tonearm anchor. */
.metal-probe{filter:drop-shadow(3px 5px 2px #08121d36)}.probe-shaft{bottom:105px;width:9px;left:18px;background:linear-gradient(90deg,#3a4b59 0,#a8b7c1 16%,#eaf1f5 29%,#aebcc5 43%,#687c8c 74%,#263d50 100%);box-shadow:inset 1px 0 0 #edf4f766,inset -1px 0 0 #283f5066}.probe-joint,.probe-needle,.probe-shadow{display:none}.probe-head{left:-15px;bottom:-12px;width:78px;height:135px;background:url('/static/tonearm-head-photoreal-v2.png') center/contain no-repeat;border:0;border-radius:0;box-shadow:none;transform:rotate(-16deg);transform-origin:47.3% 9%;filter:none}.probe-head:before,.probe-head:after,.probe-head>span{display:none}

.library-book::before{filter:hue-rotate(var(--book-hue)) saturate(calc(var(--book-saturation,1)*.6)) brightness(calc(var(--book-brightness,1)*.94)) contrast(1.04)}
.metal-probe{left:calc(var(--cd-radius)*.69 - var(--disc-recess) - 32px)}
.probe-head{transform:rotate(-10deg)}
/* The tonearm pivots onto the record only while audio is actually playing. */
.metal-probe{transform:rotate(-20deg);transition:transform 1.25s cubic-bezier(.4,0,.2,1),filter .8s ease;filter:drop-shadow(7px 11px 4px #08121d30);will-change:transform}.metal-probe .probe-head{transform:rotate(-10deg) translateY(-3px);transition:transform .65s ease}.tonearm-engaged .metal-probe{transform:rotate(-7deg);filter:drop-shadow(3px 5px 2px #08121d36)}.tonearm-engaged .metal-probe .probe-head{transform:rotate(-10deg) translateY(0)}@media(prefers-reduced-motion:reduce){.metal-probe,.metal-probe .probe-head{transition:none}}
/* Satin stainless tube: fine axial brushing, soft reflections and ferrules. */
.probe-shaft{width:9px;left:18px;border-radius:5px;background:repeating-linear-gradient(90deg,transparent 0 .65px,#ffffff12 .8px,#17283912 1px,transparent 1.3px),linear-gradient(90deg,#263a49 0%,#7f929f 8%,#c8d3db 18%,#f4f7f8 29%,#dce4e9 36%,#a5b5c0 51%,#6b808f 73%,#3c5364 90%,#223747 100%);box-shadow:inset .6px 0 0 #f5fbffb0,inset -.7px 0 0 #142a3b80,1px 0 1px #06152233}
.probe-shaft:before{content:'';position:absolute;inset:7px 2px 8px;border-radius:50%;background:linear-gradient(180deg,#fff0,#fff8 15%,#fff1 38%,#fff6 58%,#fff0 80%);opacity:.5;pointer-events:none}
.probe-shaft:after{content:'';position:absolute;left:-1.5px;right:-1.5px;bottom:-2px;height:12px;border-radius:2px 2px 4px 4px;background:repeating-linear-gradient(0deg,transparent 0 2px,#182b3a30 2px 2.8px),linear-gradient(90deg,#354a59,#bac7cf 22%,#f4f7f8 36%,#8d9eaa 64%,#273d4e);box-shadow:inset 0 1px 0 #eef5fa99,inset 0 -1px 0 #152c3c80,0 1px 1px #0004}
.probe-mount{background:linear-gradient(90deg,#293b48 0%,#748794 9%,#c1cdd6 22%,#edf2f5 36%,#c6d1d9 45%,#8194a2 70%,#344b5d 100%);box-shadow:inset 1px 0 0 #f4f8fc99,inset -1px 0 0 #19324588,inset 0 -2px 2px #405869,1px 2px 3px #0a1a2b33}
.probe-mount:after{content:'';position:absolute;bottom:2px;left:5px;right:5px;height:5px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#364c5d,#c0ced8 35%,#5a7183);border-top:1px solid #edf5fa77;box-shadow:0 1px 0 #182e3f55}
/* Guestbook shares the main document flow. */
#guestbook .section-head{align-items:center}#guestbook-count{font-size:12px;color:#66778d}#guestbook-form{display:grid;gap:14px;margin:24px 0 36px}#guestbook-form label{display:grid;gap:7px;font-size:13px}#guestbook-form input,#guestbook-form textarea{width:100%;border:1px solid #c6d0dd;border-radius:10px;padding:12px 14px;background:#ffffff66;color:inherit}#guestbook-form input{max-width:280px}#guestbook-form textarea{min-height:130px;resize:vertical}#guestbook-form button{justify-self:start}#guestbook-status{min-height:24px;margin:0;font-size:13px;color:#536780}#guestbook-list article{padding:24px 0;border-top:1px solid #cbd5e1}#guestbook-list article>div{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap}#guestbook-list time{font-size:12px;color:#66778d}#guestbook-list article p{white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0;line-height:1.9}#guestbook-list article button{padding-left:0;font-size:12px}.guestbook-empty{color:#66778d;padding:18px 0}

/* Account actions share the site’s slate theme. */
#account .primary{background:#243248}#account .primary:hover{background:#344760}#account .account-secondary{color:#243248;border-color:#c4cdd9;background:#f7f9fc}#account .account-secondary:hover{background:#e8edf3}#account .account-back,#account .account-links button,#account .code-row button{color:#35465d}#account input:focus{border-color:#536780;outline-color:var(--focus-ring)}

/* Primary actions follow the record shell's charcoal palette. */
.disc-layout .primary{background:#243248;color:#fff;border-color:#243248}
.disc-layout .primary:hover{background:#344760;border-color:#344760}
.disc-layout .primary:active{background:#1b2636}
.disc-layout .primary:focus-visible,#guestbook :focus-visible{outline:1px solid var(--focus-ring,#717977);outline-offset:2px}
#guestbook-form input:focus,#guestbook-form textarea:focus{border-color:#8a7653;outline-color:var(--focus-ring)}
#guestbook-list .quiet:hover{color:#243248}

#account .password-eye{display:flex;align-items:center;justify-content:center;color:#758397}#account .password-eye:hover{color:#243248}#account .password-eye svg{display:block;flex:none}
#guestbook-form select{width:min(280px,100%);padding:10px 12px;border:1px solid #c6d0dd;border-radius:8px;background:#ffffff66;color:inherit}.gb-recording{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;padding:18px 0;border-top:1px solid #cbd5e1}.gb-recording>label,.gb-recording>p,.gb-recording>small{flex-basis:100%;margin:0}.gb-recording>p,.gb-recording>small{font-size:12px;color:#536780}.gb-recording button{border:1px solid #a9b1ba;background:transparent;color:#243248;border-radius:8px;padding:9px 14px}.gb-recording input[type=file]{max-width:100%;padding:6px!important;border:0!important;background:none!important}.gb-recording audio,#guestbook-list audio{max-width:100%;height:40px}.gb-recording [hidden]{display:none}#guestbook-list article>small{color:#766240}
#guestbook-login-required{width:min(400px,calc(calc(100 * var(--site-vw,1vw)) - 32px));padding:28px;border:1px solid #c6cbd1;border-radius:14px;background:#e9edf2;color:#243248}#guestbook-login-required h2{font-size:25px}#guestbook-login-required p{margin:18px 0 24px}#guestbook-login-required::backdrop{background:#17212c66}

#account-profile-form{display:grid;gap:14px}#account-profile-status{font-size:13px;color:#536780;margin:0}#account-profile-status:empty{display:none}

.guestbook-phone{font-size:12px;color:#758397;font-variant-numeric:tabular-nums;margin-left:10px}

#guestbook-list .gb-author-reply{margin:16px 0 0 16px;padding:14px 18px;border-left:2px solid #bac6d5;background:#edf1f6;border-radius:0 8px 8px 0}#guestbook-list .gb-author-reply p{white-space:pre-wrap;margin:6px 0}#guestbook-list .gb-author-reply small{color:#758397;font-size:12px}#guestbook-list .gb-reply-form{display:grid;gap:12px;margin-top:12px}#guestbook-list .gb-reply-form[hidden]{display:none}#guestbook-list .gb-reply-form textarea{min-height:90px}#guestbook-list .gb-reply-form .primary{justify-self:start;background:#243248;color:white}
.account-task #account-sms-consent-label{flex-direction:row!important;align-items:flex-start;font-size:12px;font-weight:400;color:#75808e;line-height:1.7;gap:9px}.account-task #account-sms-consent{height:16px;width:16px;flex:none;margin:3px 0 0;padding:0;accent-color:#3c86ed}
/* Keep optional voice controls alongside visibility and publishing. */
#guestbook-form .gb-compose-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#guestbook-form .gb-compose-actions .gb-visibility{display:flex;align-items:center;gap:10px;min-height:40px;margin:0;white-space:nowrap}
.gb-compose-actions .gb-visibility>span{font-size:12px;line-height:20px;color:#536780}
#guestbook-form .gb-compose-actions select,#guestbook-form .gb-compose-actions button{box-sizing:border-box;height:40px;min-height:40px;margin:0;padding:0 14px;border:1px solid #aeb8c3;border-radius:8px;font:500 13px/20px -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;color:#243248;background:#f2f4f666;white-space:nowrap;vertical-align:middle}
#guestbook-form .gb-compose-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px}
#guestbook-form .gb-compose-actions button:hover{background:#dfe5eb;border-color:#8997a7}
#guestbook-form .gb-compose-actions button:disabled{cursor:default;opacity:.5}
#guestbook-form .gb-compose-actions>button.primary{margin-left:auto;background:#243248;color:#fff;border-color:#243248;padding-inline:18px}
#guestbook-form .gb-compose-actions>button.primary:hover{background:#344760;border-color:#344760}
.gb-verification-control{display:flex;align-items:center;gap:10px;min-height:40px;max-width:100%;flex-wrap:wrap}
.gb-verification-hint{font-size:11px;line-height:20px;color:#66778d;margin:0}
.gb-audio-previews{display:flex;align-items:flex-end;flex-wrap:nowrap;gap:20px}.gb-audio-previews:has(.gb-voice-message){padding-top:4px}.gb-audio-previews:not(:has(.gb-voice-message)){display:none}.gb-audio-previews audio{max-width:100%;height:36px}.gb-audio-previews audio[hidden]{display:none}
@media(max-width:760px){#guestbook-form .gb-compose-actions{gap:10px}#guestbook-form .gb-compose-actions>button.primary{margin-left:0}.gb-verification-control{gap:6px 10px}.gb-verification-hint{font-size:11px}}



/* Business inquiries inherit the collection's blue-gray palette and reading face. */
.business-intro{margin:-8px 0 36px;color:#536780;font-size:16px;line-height:1.8}
.business-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:48px;align-items:start}
.business-topics article{padding:22px 0 26px;border-top:1px solid #c6cfdb}
.business-topics article:first-child{padding-top:20px}
.business-section h3{font-family:'WenKai Reading','Songti SC',serif;font-size:24px;font-weight:500;line-height:1.5;margin:0 0 10px;overflow-wrap:anywhere}
.business-topics p{font-size:14px;line-height:1.9;color:#536780;max-width:65ch;margin:0 0 14px}
.business-topics a{display:inline-flex;align-items:center;gap:16px;min-height:44px;color:#244e87;font-size:13px;text-decoration:underline;text-underline-offset:5px}
.business-topics a:hover,.business-save:hover{color:#16345e}
.business-contact{padding:24px;background:#f7f9fc;border-radius:14px;scroll-margin-top:170px}
.business-contact h3{font-size:23px}.business-contact>p{font-size:13px;color:#536780;margin:0 0 18px}
.business-qr{display:block;background:white;border-radius:8px;overflow:hidden}.business-qr img{display:block;width:100%;height:auto}
.business-save{display:flex;justify-content:center;align-items:center;min-height:44px;margin-top:16px;color:#244e87;text-decoration:underline;text-underline-offset:5px;font-size:14px}
.business-contact small{display:block;font-size:12px;line-height:1.8;color:#536780;margin-top:8px;text-align:center}
.business-section ::selection{background:#c8d9ed;color:#182b49}
@media(max-width:1100px){.business-layout{grid-template-columns:minmax(0,1fr);gap:28px}.business-contact{width:min(100%,340px)}.business-intro{margin-bottom:24px}}
@media(max-width:760px){.business-section .section-head h2{font-size:28px}.business-intro{font-size:14px}.business-section h3{font-size:21px}.business-topics article{padding:20px 0}.business-contact{padding:16px}.business-contact small{text-align:left}}

.business-topic-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px;margin:0 0 20px}.business-topics article{padding-top:24px}.business-topics article:first-child{padding-top:0;border-top:0}

/* A compact portfolio-style overview of all four cooperation topics. */
.business-layout{grid-template-columns:minmax(0,1fr) 170px;gap:24px}
.business-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px;align-items:start}
.business-topics article,.business-topics article:first-child{min-width:0;padding:0;border:0}
.business-topic-image{width:100%;height:auto;max-height:none;aspect-ratio:3/2;object-fit:contain;border-radius:10px;margin:0 0 10px}
.business-topics h3{font-size:18px;line-height:1.5;margin:0 0 5px}
.business-topics p{font-size:12px;line-height:1.7;margin:0 0 4px}
.business-topics a{font-size:12px;min-height:34px;gap:10px}
.business-intro{font-size:14px;margin-bottom:22px}
.business-contact{width:100%;padding:14px}
.business-contact h3{font-size:20px;margin-bottom:6px}
.business-contact>p{font-size:12px;line-height:1.7;margin-bottom:12px}
.business-save{font-size:12px;margin-top:8px}
@media(max-width:1100px){.business-layout{grid-template-columns:minmax(0,1fr)}.business-contact{display:grid;grid-template-columns:1fr 110px;column-gap:18px;max-width:100%;align-items:center}.business-contact h3,.business-contact>p,.business-save{grid-column:1;margin:0;justify-content:flex-start}.business-qr{grid-column:2;grid-row:1/4}.business-topic-image{max-height:none}}
@media(max-width:760px){.business-topics{gap:20px 12px}.business-topics h3{font-size:16px}.business-topics p{font-size:12px}.business-topic-image{margin-bottom:8px}.business-intro{font-size:13px}.business-contact{grid-template-columns:1fr 100px}}
@media(max-width:480px){.business-topics{grid-template-columns:minmax(0,1fr)}.business-topic-image{max-height:none}.business-contact{column-gap:10px}}
/* Keep wide-screen artwork proportional while fitting the two-row overview. */
.business-topics{min-width:0}
.business-topic-image{width:auto;max-width:100%;height:auto;max-height:clamp(170px,calc((calc(100 * var(--site-vh,1dvh)) - 540px)/2),420px);aspect-ratio:3/2;margin-left:0;margin-right:0}
@media(max-width:1100px){.business-topic-image{width:100%;max-height:none}}

.business-layout{grid-template-columns:minmax(0,1fr)}


/* Guestbook: readable messages above a bottom composer, with safe-area clearance. */
.disc-layout main:has(#guestbook.active-module){position:fixed;inset:173px var(--content-right) max(28px,env(safe-area-inset-bottom)) var(--content-left);width:auto;height:auto;min-height:0;margin:0;padding:0 var(--content-inset) 0 0;overflow:hidden}
.disc-layout:has(#guestbook.active-module)>footer{display:none}
#guestbook.active-module{display:flex;flex-direction:column;height:100%;min-height:0;padding:0;overflow:hidden}
#guestbook>.section-head{flex:none;margin-bottom:18px}
#guestbook-list{flex:1;min-height:80px;overflow:auto;overscroll-behavior:contain;padding:0 8px 24px 0;scrollbar-color:#a6b4c5 transparent}
#guestbook-form{flex:none;margin:0;padding:18px 0 0;border-top:1px solid #c6cfdb;background:#e9edf2}
#guestbook-form>label{display:block;margin:0 0 12px;font-size:13px}
#guestbook-form textarea{display:block;width:100%;height:84px;min-height:64px;max-height:140px;resize:vertical;margin-top:6px}
#guestbook-form .gb-compose-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#guestbook-form .gb-compose-actions button{min-height:40px}
#guestbook-form .gb-compose-actions button[type=submit]{margin-left:auto}
#guestbook-status{margin:8px 0 0;font-size:12px}
#guestbook-status:empty{display:none}
#guestbook-form .gb-audio-previews:has(.gb-voice-message){margin-top:12px}
@media(max-width:760px){.disc-layout main:has(#guestbook.active-module){top:150px;bottom:max(20px,env(safe-area-inset-bottom))}#guestbook>.section-head{margin-bottom:12px}#guestbook-form{padding-top:12px}#guestbook-form textarea{height:76px}#guestbook-form .gb-compose-actions{gap:6px}#guestbook-form .gb-compose-actions button{font-size:12px;padding:7px 9px}#guestbook-form .gb-verification-hint{flex-basis:100%;order:2}#guestbook-form .gb-compose-actions button[type=submit]{margin-left:0}}
@media(max-height:650px){.disc-layout main:has(#guestbook.active-module){position:relative;inset:auto;margin-left:var(--content-left);width:calc(100% - var(--content-left) - var(--content-right));min-height:calc(calc(100 * var(--site-vh,1dvh)) - 90px);padding:150px var(--content-inset) 24px 0;overflow:visible}#guestbook.active-module{min-height:420px;height:auto;overflow:visible}#guestbook-list{overflow:visible;flex:1}#guestbook-form{margin-top:24px}}

/* Guestbook correspondence: airy paper, clear identities, readable messages. */
#guestbook-count{background:#dce4ee;color:#435975;padding:5px 12px;border-radius:20px;font-variant-numeric:tabular-nums}
#guestbook-list{padding:6px 12px 28px 0}
#guestbook-list>article{max-width:1040px;padding:26px 30px;margin:0 0 20px;background:#f9fafc;border:0;border-radius:14px;box-shadow:0 5px 20px #243b5e0b}
#guestbook-list article>.gb-message-header{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.gb-avatar{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;background:#dfe7ef;color:#385374;border-radius:50%;font-family:'WenKai Reading',serif;font-size:21px}
#guestbook-list .gb-message-header strong{font-size:15px;font-weight:600;color:#243b58}
#guestbook-list .gb-message-header time{margin-left:auto;font-size:12px;color:#5e7189;font-variant-numeric:tabular-nums}
#guestbook-list .gb-message-header .guestbook-phone{font-size:12px;color:#5e7189}
#guestbook-list>article>p{margin:18px 0 20px 52px;font-family:'WenKai Reading','PingFang SC',sans-serif;font-size:18px;line-height:1.9;max-width:65ch;color:#263c56}
#guestbook-list>article>button{min-height:34px;padding:5px 10px;margin-right:8px;border:0;border-radius:6px;background:#eaf0f6;color:#45617f;font-size:12px}
#guestbook-list>article>button:hover{background:#dae5ef;color:#243b58}
#guestbook-list>article>small{display:inline-block;background:#efe8d9;color:#6a5835;padding:3px 9px;border-radius:5px;margin:0 10px 12px 52px;font-size:11px}
#guestbook-list .gb-author-reply{display:block;margin:18px 0 8px 52px;padding:16px 20px;border:0;background:#eaf0f6;border-radius:10px}
#guestbook-list .gb-author-reply strong{font-size:13px;color:#375271}
#guestbook-list .gb-author-reply small{display:block;color:#566b83;margin-top:10px}
#guestbook-list .gb-reply-form{padding-top:16px;max-width:680px}
#guestbook-list .guestbook-empty{max-width:680px;margin:0;padding:28px 30px;color:#536780;background:#f4f7fa;border-radius:14px;font-family:'WenKai Reading',serif;font-size:17px}
@media(max-width:760px){#guestbook-list>article{padding:18px 16px;margin-bottom:14px}#guestbook-list article>.gb-message-header{gap:8px}.gb-avatar{width:32px;height:32px;flex-basis:32px;font-size:18px}#guestbook-list .gb-message-header time{flex-basis:100%;margin:0 0 0 40px;font-size:11px}#guestbook-list .gb-message-header .guestbook-phone{overflow-wrap:anywhere}#guestbook-list>article>p{margin:16px 0;font-size:16px}#guestbook-list .gb-author-reply{margin-left:0;padding:14px}#guestbook-list>article>small{margin-left:0}#guestbook-list .guestbook-empty{padding:20px 16px}}

#guestbook-list .gb-message-header strong{display:inline-flex;align-items:center;min-height:44px;padding:7px 16px;background:#dfe7ef;color:#304c6c;border-radius:12px;font-family:'WenKai Reading','PingFang SC',sans-serif;font-size:21px;font-weight:500;line-height:1.5;overflow-wrap:anywhere;max-width:100%}
#guestbook-list>article>p{margin-left:0}
#guestbook-list>article>small{margin-left:0}
#guestbook-list .gb-author-reply{margin-left:0}
@media(max-width:760px){#guestbook-list .gb-message-header strong{font-size:19px;padding:6px 12px;min-height:40px}#guestbook-list .gb-message-header time{margin-left:0}}

#post-tags-editor{border:1px solid #c6d0dd;border-radius:10px;padding:14px;margin:16px 0}#post-tags-editor[hidden]{display:none}#post-tag-options{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}#post-tag-options button{border:0;border-radius:18px;padding:7px 13px;background:#e8edf3;color:#435975}#post-tag-options button[aria-pressed=true]{background:#244e87;color:white}#post-tags-editor small{color:#536780;font-size:12px}.rednote-category span{display:inline-block;margin-right:10px}#blog-tag-filters{flex-wrap:wrap}

/* Author uploads share one accessible file target and a clear selection summary. */
#owner .music-editor[hidden]{display:none}
#owner .music-editor{display:grid;gap:14px;margin-top:18px}
#owner .music-editor h3{margin:0 0 2px;font-size:21px;font-weight:500;color:#243248}
#owner .music-editor label{margin:0;font-size:13px;color:#536780}
#owner .music-editor input:not([type=file]),#owner .music-editor select,#owner .music-editor textarea{margin:6px 0 0;width:100%;box-sizing:border-box;background:#f7f9fc;border-color:#c6cfdb;color:#243248;caret-color:#243248}
#owner .music-editor :focus-visible{outline:1px solid var(--focus-ring,#717977);outline-offset:2px}
#owner .music-editor .editor-upload:focus-within{outline-color:var(--focus-ring)}
#owner .music-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
#owner .music-editor .editor-upload-field{margin:0}
#owner .music-editor .editor-upload{min-height:74px;padding:12px;background:#edf0f3;color:#243248;border-color:#c6cfdb}
#owner .music-editor .editor-upload:hover{background:#e5e9ed;border-color:#97a3af}
#owner .music-editor .editor-upload-icon,#owner .music-editor .editor-upload-action{background:#dfe4e9;color:#46576a}
#owner .music-editor .editor-upload-copy strong{color:#243248}
#owner .music-editor .editor-upload-copy>span{white-space:normal;font-size:12px;color:#536780}
#owner .music-editor audio{width:100%;height:38px}
#owner .music-editor audio[hidden]{display:none}
#owner .music-cover-editor{display:flex;align-items:center;gap:14px}
#owner .music-cover-editor>.editor-upload-field{flex:1;min-width:0}
#owner .music-cover-preview{flex:none;text-align:center}
#owner .music-cover-preview[hidden]{display:none}
#owner .music-cover-preview img{display:block;width:76px;height:76px;border-radius:8px;object-fit:cover}
#owner .music-cover-preview button{font-size:12px;padding:5px 0;color:#536780}
#owner .music-lyrics-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:2px}
#owner .music-lyrics-picker{position:relative;display:inline-flex;align-items:center;min-height:36px;padding:0 10px;border-radius:6px;background:#e8ecf0;cursor:pointer}
#owner .music-lyrics-picker:focus-within{outline:1px solid var(--focus-ring,#717977);outline-offset:2px}
#owner .music-lyrics-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
#owner #music-lyrics{margin:0;min-height:100px;resize:vertical}
#owner #music-lyrics-help,#owner #music-upload-status{font-size:12px;line-height:1.7;color:#536780;margin:0}
#owner #music-upload-status:empty{display:none}
#owner .music-editor .primary,#owner .editor-tabs button[data-edit=tracks].selected{background:#243248;color:#fff}
#owner .music-editor .primary:hover{background:#344359}
#owner .music-manage{margin-top:8px;border-top:1px solid #c6cfdb;padding-top:14px}
#owner .music-manage summary{cursor:pointer;font-size:13px;color:#536780;min-height:32px}
#owner #music-manage-list{max-height:260px;overflow:auto;margin-top:12px;scrollbar-color:#a6b4c5 transparent}
#owner .music-manage .manage-item{gap:10px;font-size:13px}
#owner .music-manage .manage-item span{min-width:0;overflow-wrap:anywhere}
#owner .music-manage .manage-item button{color:#536780;min-height:36px;flex:none}
@media(max-width:520px){#owner .music-editor-grid{grid-template-columns:minmax(0,1fr)}#owner .music-cover-editor{flex-wrap:wrap}#owner .music-cover-editor>.editor-upload-field{flex-basis:100%}#owner .music-cover-preview{display:flex;align-items:center;gap:12px}#owner .music-editor .editor-upload-icon{display:none}}
#owner .editor-upload-field{margin:18px 0}
#owner .editor-upload-field[hidden]{display:none}
#owner .editor-field-title{display:block;margin-bottom:8px;font-size:13px;color:#536780}
#owner .editor-upload{position:relative;display:flex;align-items:center;gap:14px;min-height:86px;margin:0;padding:16px;border:1px solid #c6d1df;border-radius:12px;background:#f1f5fa;color:#243b58;cursor:pointer;transition:background-color .18s,border-color .18s}
#owner .editor-upload:hover{background:#eaf0f7;border-color:#8da4bf}
#owner .editor-upload:focus-within{outline:1px solid var(--focus-ring,#717977);outline-offset:2px}
#owner .editor-upload-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;color:#4e6c90;background:#e1e9f3;border-radius:10px}
#owner .editor-upload-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
#owner .editor-upload-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}
#owner .editor-upload-copy strong{font-size:14px;font-weight:600;line-height:1.5;color:#243b58}
#owner .editor-upload-copy>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.6;color:#536780}
#owner .editor-upload-action{flex:none;padding:9px 13px;border-radius:7px;background:#dfe8f3;color:#2c4c76;font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap}
#owner .editor-upload input[type=file]{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer;z-index:1}
#owner .editor-upload.is-selected{background:#edf3f9;border-color:#9db3cd}
#owner .editor-upload.has-error{background:#fff5f2;border-color:#c38976}
#owner .editor-upload.has-error .editor-upload-copy strong,#owner .editor-upload.has-error .editor-upload-copy>span{color:#913e2b}
#owner .editor-upload:has(input:disabled){opacity:.55;cursor:default}
@media(max-width:520px){#owner .editor-upload{gap:10px;padding:13px;min-height:80px}#owner .editor-upload-icon{flex-basis:32px;width:32px;height:36px;border-radius:8px}#owner .editor-upload-action{padding:8px 10px;font-size:12px}#owner .editor-upload-copy strong{font-size:13px}#owner .editor-upload-copy>span{font-size:11px}}
@media(prefers-reduced-motion:reduce){#owner .editor-upload{transition:none}}

#post-tags-editor{border:0;border-radius:0;padding:0;margin:18px 0 24px;min-width:0}
#post-tags-editor legend{padding:0;margin-bottom:10px;font-size:13px;color:#243b58}
#post-tag-options{gap:7px;margin:0 0 10px}
#post-tag-options:empty{display:none}
#post-tag-options button{padding:5px 12px;border-radius:7px;font-size:13px;line-height:1.6;background:#e8edf3;color:#435975;min-height:34px}
#post-tag-options button[aria-pressed=true]{background:#dce6f1;color:#244e87;box-shadow:inset 0 0 0 1px #b5c9df}
#post-tag-options button:hover{background:#ccdcec}
#post-tags-editor .post-tags-entry{margin:0;display:block}
#post-tags-editor .post-tags-entry>span{display:none}
#post-tags-editor input{margin:0;background:#fff9;border:1px solid #c6d0dd;border-radius:9px;padding:10px 12px;width:100%}
#post-tags-editor small{display:block;margin-top:7px;color:#5e7189;font-size:12px}

.post-tags-create-row{display:flex;align-items:stretch;gap:10px}#post-tags-editor .post-tags-create-row input{flex:1;min-width:0;width:auto}#post-tag-create{flex:none;white-space:nowrap;border:0;border-radius:9px;padding:9px 16px;background:#244e87;color:#fff;font-size:13px}#post-tag-create:hover{background:#183b6a}#post-tag-status{font-size:12px;color:#a33c31;margin:6px 0 0}#post-tag-status:empty{display:none}

.post-published{display:block;margin-top:8px;color:#5e7189;font-size:11px;line-height:1.5;font-variant-numeric:tabular-nums}

/* Reader controls and long text stay within their own columns. */
#reader>.dialog-close{position:absolute;top:16px;right:16px;left:auto;z-index:10;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:10px;background:#e9eef5;color:#435975;box-shadow:none;line-height:1}
#reader>.dialog-close:hover{background:#dbe5ef;color:#243b58}
#reader>.dialog-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
#reader-content{grid-template-columns:minmax(0,58fr) minmax(0,42fr);min-width:0}
#reader .rednote-gallery,#reader .gallery-slide,#reader .rednote-body{min-width:0;max-width:100%}
#reader .gallery-slide{box-sizing:border-box;flex-shrink:0}
#reader .rednote-text-cover{min-width:0;max-width:100%;box-sizing:border-box;aspect-ratio:auto}
#reader .rednote-text-cover>strong,#reader .rednote-text-cover>p,#reader .rednote-body h2,#reader .rednote-body .body{min-width:0;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}
#reader .rednote-text-cover>p{line-height:1.9}
#reader .rednote-author{padding-right:40px}
@media(max-width:760px){#reader>.dialog-close{top:12px;right:12px}#reader .rednote-body{overflow-wrap:anywhere}}

/* Keep inset account controls aligned with their input border boxes. */
#account .code-row{align-items:center}
#account .code-row input,#account .password-field input{margin:0}
#account .code-row button{display:inline-flex;align-items:center;justify-content:center;flex:none;margin:0;padding:0 12px;line-height:1}
#account .password-field{display:flex;min-width:0}
#account .password-field input{display:block;min-width:0;padding-right:52px}
#account .password-eye{inset:0 4px 0 auto;width:44px;height:auto;min-height:0;margin:0;padding:0;line-height:1;border-radius:6px}
#account .password-eye svg{width:20px;height:20px;pointer-events:none}
#account .password-eye:active{background:#e8edf3}
#account :where(button,input):focus-visible{outline:1px solid var(--focus-ring,#717977);outline-offset:2px}
#account #account-description,#account #account-help,#account #account-sms-consent-label,#account .account-footer p{color:#637083}
#account .account-footer button{color:#536780}
#account .account-task input::placeholder{color:#707b8a}

@media(forced-colors:active){:focus-visible{outline:1px solid Highlight;outline-offset:2px}}

/* Filing information stays visible at the bottom of the public homepage. */
.disc-layout>footer{flex-wrap:wrap;gap:12px}.site-filing{flex-basis:100%;text-align:center;font:12px/1.8 system-ui,sans-serif;color:#667074}.site-filing a{color:inherit;text-decoration:none}.site-filing a:hover{text-decoration:underline}.site-filing a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
