/* v2: windowed sharing, full Chinese coverage, and an author layer. */
@font-face{font-family:WenKaiComplete;src:url('./fonts/LXGWWenKai-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--font-reading:WenKaiComplete,'Microsoft YaHei',serif;--font-body:WenKaiComplete,'Microsoft YaHei',serif;--font-label:DMSans,'Microsoft YaHei',sans-serif;--font-display:RetroSong,WenKaiComplete,serif;--game-on:#efb657;--game-off:#173b7d;--window-accent:#ed623b}
body[data-theme=dark]{--paper:#001e60;--paper-light:#102f72;--cream:#102f72;--field:#21488c;--shadow:#000e3c66;--window-accent:#ffb583;--game-on:#f0c66c;--game-off:#173b7d}
body{font-family:var(--font-body)}.hero-lead{font-family:var(--font-reading);font-synthesis:none;line-height:1.75}.hero-credentials{font:16px/1.7 var(--font-label);margin:22px 0 18px;letter-spacing:0}.hero-copy h1{margin-bottom:0}.signature{display:flex;align-items:center;gap:16px}.signature>span{top:0}.signature-pine{height:38px;width:29px;stroke:var(--orange);fill:none;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.signature-underline{display:none}.home-extras{gap:28px;margin-top:32px}.notice-panel,.music-panel{border:2px solid var(--line);padding:0;border-radius:10px;background:var(--paper-light);box-shadow:6px 7px 0 var(--window-accent);overflow:hidden;align-self:start}.extra-heading{padding:14px 18px;margin:0;border-bottom:1px solid var(--line);min-height:72px;background:var(--field);color:var(--field-ink)}.extra-heading h2{font:20px/1.4 var(--font-label);display:flex;gap:10px;align-items:center}.extra-heading h2:before{content:'✦';font-size:20px;color:var(--field-hot)}.extra-heading>span{color:var(--field-ink);font-size:13px}.extra-heading #dismissNotice{background:transparent;color:var(--field-ink);border-color:var(--field-ink);padding:5px 10px;min-height:36px}#noticeContent,#musicPlayer{padding:22px}#restoreNotice{margin:20px}.extra-empty{margin:0;padding:22px;font-family:var(--font-reading)}#noticeContent .extra-empty{padding:0}#noticeTitle,#noticeBody{font-family:var(--font-reading)}.track-info{margin-bottom:16px}.music-transport{margin-top:10px}.breadline{flex-wrap:wrap;font-family:var(--font-label);font-size:15px;gap:12px}.breadline a{text-decoration:underline;text-underline-offset:5px;padding-block:8px}.breadline [aria-current]{overflow-wrap:anywhere}.breadline a:hover{color:var(--orange)}
#detailTitle{font:400 clamp(44px,6vw,80px)/1.35 var(--font-display);overflow-wrap:anywhere;margin-bottom:24px}
.signature{flex-direction:row;justify-content:flex-start;align-items:center;height:auto;min-height:58px}.signature>span{position:static;display:block}.signature-pine{display:block}
.explore-overlay{overflow:auto;background:var(--paper);color:var(--ink)}.explore-header{color:var(--ink);border-color:var(--line)}.explore-close{background:var(--paper-light);color:var(--ink);border:1px solid var(--line);border-radius:5px}.binary-game{max-width:590px;margin:24px auto;padding:0 24px 32px;font-family:var(--font-label)}#gameInstruction{font:19px/1.7 var(--font-reading);margin-bottom:20px}.game-meta{display:flex;justify-content:space-between;gap:20px;font-size:15px;margin-bottom:16px}.game-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.game-board button{aspect-ratio:1;border:2px solid var(--line);border-radius:7px;background:var(--game-off);color:var(--field-ink);font:400 clamp(30px,7vw,52px)/1 var(--font-label);min-width:0;min-height:44px;transition:transform .12s ease}.game-board button[data-bit="1"]{background:var(--game-on);color:var(--paper)}body[data-theme=light] .game-board button[data-bit="1"]{color:var(--ink)}.game-board button[data-hint=true]{outline:4px dashed var(--orange);outline-offset:2px}.game-board button:active{transform:scale(.96)}#gameStatus{min-height:56px;font:17px/1.6 var(--font-reading);padding:16px 0}.game-actions{display:flex;flex-wrap:wrap;gap:12px}.game-actions button{min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:5px;background:var(--paper-light);font:16px/1.4 var(--font-label)}.game-actions #gameNext{margin-left:auto;background:var(--tile-yellow);color:var(--button-ink)}
.research-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.research-choice{border:2px solid var(--line);border-radius:8px;padding:28px;background:var(--paper-light);box-shadow:5px 5px 0 var(--shadow)}.research-choice strong{font:36px/1.4 var(--font-reading);display:block;margin:18px 0 8px}.research-choice small{font:17px/1.7 var(--font-reading)}.research-choice .research-mark{font:14px/1.5 var(--font-label);color:var(--muted)}.project-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project-library h1,.research-log-page h1{grid-column:1/-1}.project-card{border:2px solid var(--line);border-radius:8px;padding:26px;background:var(--paper-light);box-shadow:5px 5px 0 var(--shadow)}.project-card h2{font:32px/1.4 var(--font-reading);margin:14px 0}.project-card p{font:19px/1.7 var(--font-reading)}.project-status{font:14px/1.5 var(--font-label);border:1px solid var(--line);border-radius:3px;display:inline-block;padding:4px 10px}.project-workspace{display:grid;grid-template-columns:250px minmax(0,1fr);gap:36px;align-items:start}.project-workspace.timeline-hidden{grid-template-columns:1fr}.project-timeline{border-right:1px solid var(--line);padding:4px 22px 24px 0;position:sticky;top:20px;max-height:75vh;overflow:auto}.project-timeline h2{font:22px/1.4 var(--font-reading);margin-bottom:20px}.timeline-entries{list-style:none;margin:0;padding:0 0 0 16px;border-left:2px solid var(--line)}.timeline-entries li{position:relative;padding:0 0 20px 12px}.timeline-entries li:before{content:'';position:absolute;width:10px;height:10px;left:-22px;top:7px;border:2px solid var(--line);background:var(--orange);border-radius:50%}.timeline-entries a{display:block;font:16px/1.5 var(--font-label);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.timeline-entries time{font:13px/1.5 var(--font-label);display:block;color:var(--muted);margin-bottom:5px}.timeline-entries p{font:16px/1.6 var(--font-reading);margin-top:6px;white-space:pre-wrap;overflow-wrap:anywhere}.timeline-entries a[aria-current]{color:var(--blue);font-weight:600}.project-main{min-width:0}.project-tools{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px;align-items:center}.project-tools button,.project-tools select{max-width:100%;min-height:44px;border:1px solid var(--line);padding:8px 12px;background:var(--paper-light);color:var(--ink);border-radius:5px;font:15px/1.5 var(--font-label)}.project-main h1{margin:14px 0}.project-summary{font:21px/1.8 var(--font-reading)}.project-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:20px}.project-links a{padding:10px 15px;border:1px solid var(--line);border-radius:4px;font:16px/1.5 var(--font-label);text-decoration:underline;text-underline-offset:4px}.version-banner{padding:14px 18px;border:1px solid var(--line);background:var(--tile-yellow);color:var(--button-ink);font:15px/1.7 var(--font-label);margin-bottom:24px}.version-banner a{text-decoration:underline}.research-log-entry{border-top:1px solid var(--line);padding:24px 0}.research-log-entry h2{font:26px/1.5 var(--font-reading);margin:10px 0}.research-log-entry p{font:20px/1.8 var(--font-reading);white-space:pre-wrap}.research-log-entry time{font:14px/1.5 var(--font-label);color:var(--muted)}.research-log-entry a{text-decoration:underline;text-underline-offset:5px}
@media(max-width:960px){.project-workspace{grid-template-columns:205px minmax(0,1fr);gap:24px}.signature{gap:10px}.signature-pine{height:30px;width:23px}}
@media(max-width:650px){.signature{gap:7px;min-width:0}.signature-pine{height:27px;width:20px}.signature>span{font-size:36px}.hero-credentials{font-size:14px;line-height:1.8;margin:14px 0}.hero-copy h1{margin-bottom:0}.hero-lead{font-size:19px}.home-extras{gap:24px}.extra-heading{padding:12px 15px;min-height:64px}.extra-heading>span{font-size:12px}#noticeContent,#musicPlayer{padding:18px}.project-workspace{grid-template-columns:1fr}.project-timeline{position:static;border-right:0;border-bottom:1px solid var(--line);max-height:300px;padding:0 0 18px}.project-library,.research-choices{grid-template-columns:1fr}.research-choice{padding:22px}.binary-game{margin-top:16px;padding-inline:18px}.game-board{gap:8px}.game-actions{gap:8px}.game-actions button{font-size:14px;padding:9px 12px}.breadline{gap:8px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.game-board button{transition:none}.game-board button:active{transform:none}}
.post-format-content{margin:20px 0}.social-body{font:21px/1.8 var(--font-reading);white-space:pre-wrap;overflow-wrap:anywhere;max-width:40em;margin:0 0 20px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:760px}.photo-grid[data-count="1"]{grid-template-columns:minmax(0,1fr);max-width:520px}.photo-grid[data-count="2"],.photo-grid[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-cell{display:block;min-width:0;aspect-ratio:1;border:1px solid var(--line);padding:0;background:var(--paper-light);border-radius:5px;overflow:hidden}.photo-cell img{width:100%;height:100%;object-fit:cover;display:block}.photo-grid[data-count="1"] .photo-cell{aspect-ratio:4/3}.podcast-audio{display:block;width:min(100%,650px);margin:20px 0;color-scheme:inherit}.review-work{padding:18px 22px;border-left:4px solid var(--orange);background:var(--paper-light);margin-bottom:20px}.review-work>span{font:14px/1.5 var(--font-label)}.review-work h2{font:28px/1.5 var(--font-reading);margin:8px 0}.review-work p{font:17px/1.5 var(--font-reading)}.photo-lightbox{width:min(1100px,94vw);max-height:92vh;padding:18px;border:2px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}.photo-lightbox::backdrop{background:#000b}.photo-lightbox>img{display:block;width:100%;max-height:72vh;object-fit:contain}.photo-lightbox-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px;font:15px/1.6 var(--font-label)}.photo-lightbox-controls p{flex:1;overflow-wrap:anywhere}.photo-lightbox-controls button{min-height:44px;padding:8px 14px;background:var(--paper-light);color:var(--ink);border:1px solid var(--line);border-radius:4px}.media-error{font:15px/1.6 var(--font-label);color:var(--muted)}
