/* 余白 · 这一页的小 Sol。A quiet insert in the existing book. */
.margin-room{--margin-blue:#5d668e;--margin-blue-wash:#e9eaf3;position:relative;max-width:1100px;margin:0 auto 88px;padding:0 0 30px;border-bottom:1px solid var(--line)}
.margin-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:24px}
.margin-heading h2{font-size:16px;letter-spacing:.2em;color:var(--muted)}
.margin-heading p{font:italic 14px/1.6 Georgia,var(--serif);color:var(--muted)}
.margin-insert{position:relative;display:grid;grid-template-columns:225px minmax(0,1fr);background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 32px -18px var(--shadow),4px 5px 0 var(--paper-alt);isolation:isolate}
.margin-spine{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:38px 32px 31px;border-right:1px solid var(--line);background:linear-gradient(145deg,var(--paper-alt),var(--paper));overflow:hidden}
.margin-spine::after{content:"";position:absolute;inset:12px;border:1px solid var(--line);pointer-events:none;opacity:.55}
.margin-mark{display:block;font:500 83px/1.25 var(--serif);letter-spacing:.15em;color:var(--heading);writing-mode:vertical-rl;align-self:center;padding:20px 0 40px}
.margin-spine small{display:block;font:14px/1.9 var(--serif);color:var(--muted)}
.margin-spine small span{display:block;font:italic 14px/1.8 Georgia,var(--serif);margin-top:8px;color:var(--heading)}
.margin-reading{min-width:0;padding:34px 44px 28px;position:relative;transition:background .55s;}
.margin-topline{display:flex;justify-content:space-between;align-items:center;gap:15px;color:var(--muted);font:13px/1.8 var(--sans);letter-spacing:.08em;margin-bottom:27px}
.margin-light{min-height:44px;display:inline-flex;align-items:center;gap:9px;padding:7px 13px;border:1px solid var(--line);border-radius:30px;font:14px/1.5 var(--serif);letter-spacing:0;color:var(--heading);background:var(--paper-alt)}
.margin-light svg{width:17px;height:17px;stroke-width:1.3}
.margin-light:hover{border-color:var(--accent)}
.margin-sheet{min-height:300px;animation:margin-arrive .45s ease both}
.margin-sheet h3{font:500 clamp(26px,3vw,37px)/1.65 var(--serif);letter-spacing:.035em;margin-bottom:20px}
.margin-sheet .margin-prose{max-width:34em;font:16px/2.05 var(--serif)}
.margin-prose p+p{margin-top:13px}
.margin-note{max-width:34em;margin-top:23px;padding:13px 0 0 22px;border-left:1px solid var(--margin-blue);color:var(--margin-blue);font:16px/1.9 var(--serif);animation:margin-arrive .65s ease both}
.margin-note span{display:block;font:12px/1.8 var(--sans);letter-spacing:.14em;margin-bottom:4px}
.margin-note-space{min-height:105px}
.margin-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;border-top:1px solid var(--line);padding-top:17px;margin-top:10px}
.margin-tabs button{min-height:55px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;border-bottom:2px solid transparent;padding:4px 7px 9px;text-align:left;font:14px/1.6 var(--serif);color:var(--muted)}
.margin-tabs button span{font:italic 13px/1.2 Georgia,serif;letter-spacing:.1em}
.margin-tabs button:hover{color:var(--heading);background:var(--paper-alt)}
.margin-tabs button[aria-pressed=true]{color:var(--heading);border-bottom-color:var(--accent)}
.margin-room[data-lit=true] .margin-reading{background:linear-gradient(125deg,transparent 35%,var(--margin-blue-wash) 100%)}
.margin-room[data-lit=true] .margin-light{color:var(--margin-blue);border-color:var(--margin-blue);background:var(--paper)}
.margin-room[data-lit=true] .margin-spine{background:linear-gradient(145deg,var(--paper-alt),var(--margin-blue-wash))}
.margin-footnote{display:flex;justify-content:space-between;gap:20px;padding-top:17px;font:13px/1.9 var(--serif);color:var(--muted)}
.margin-footnote span:last-child{font-style:italic;font-family:Georgia,var(--serif)}
.margin-letter{margin-top:24px;max-width:775px;margin-left:auto}
.margin-letter summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;min-height:48px;font:16px/1.8 var(--serif);color:var(--heading);padding:10px 0;border-bottom:1px dashed var(--line)}
.margin-letter summary::-webkit-details-marker{display:none}
.margin-letter summary::before{content:"＋";display:inline-grid;place-items:center;width:27px;height:27px;border:1px solid var(--line);border-radius:50%;font:18px/1 var(--serif);flex-shrink:0}
.margin-letter[open] summary::before{content:"－"}
.margin-letter summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.margin-letter-body{padding:28px clamp(0px,3vw,28px) 10px;font:16px/2.1 var(--serif);color:var(--ink);animation:margin-arrive .45s ease both}
.margin-letter-body p+p{margin-top:18px}
.margin-letter-signature{text-align:right;color:var(--heading);padding-top:7px}
.margin-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
:root[data-theme=night] .margin-room{--margin-blue:#c1c7ed;--margin-blue-wash:#394052}
@keyframes margin-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.margin-insert{grid-template-columns:160px minmax(0,1fr)}.margin-spine{padding:30px 21px}.margin-mark{font-size:67px}.margin-reading{padding:27px 30px 23px}.margin-sheet{min-height:350px}}
@media(max-width:600px){.margin-room{margin-bottom:55px;padding-bottom:20px}.margin-heading{margin-bottom:17px;gap:9px}.margin-heading h2{font-size:14px;letter-spacing:.13em}.margin-heading p{font-size:12px}.margin-insert{grid-template-columns:1fr}.margin-spine{padding:16px 22px;flex-direction:row;align-items:center;gap:20px;border-right:0;border-bottom:1px solid var(--line)}.margin-spine::after{inset:7px}.margin-mark{writing-mode:horizontal-tb;font-size:39px;padding:0;letter-spacing:.18em;white-space:nowrap}.margin-spine small{text-align:right;font-size:12px;line-height:1.6}.margin-spine small span{font-size:12px;margin-top:3px}.margin-reading{padding:22px 23px 20px}.margin-topline{font-size:12px;margin-bottom:23px;gap:8px;letter-spacing:0}.margin-light{padding:7px 10px;font-size:14px}.margin-sheet{min-height:330px}.margin-sheet h3{font-size:27px;margin-bottom:16px;line-height:1.6}.margin-sheet .margin-prose{line-height:2.05}.margin-note-space{min-height:135px}.margin-note{padding-left:14px;margin-top:20px;font-size:16px}.margin-tabs{gap:1px;margin-top:5px;padding-top:13px}.margin-tabs button{font-size:14px;padding:4px 2px 8px;gap:6px}.margin-footnote{font-size:12px;gap:9px}.margin-letter{margin-top:17px}.margin-letter summary{font-size:15px}.margin-letter-body{padding-top:24px}}
@media(max-width:370px){.margin-reading{padding:20px 17px}.margin-topline{flex-wrap:wrap}.margin-sheet{min-height:350px}.margin-heading{align-items:flex-start;flex-direction:column;gap:2px}.margin-spine{padding-inline:18px}.margin-tabs button{font-size:13px}}
@media(prefers-reduced-motion:reduce){.margin-reading{transition:none}.margin-sheet,.margin-note,.margin-letter-body{animation:none}}
