:root{color-scheme:dark;--navy:#071d31;--gold:#ddb25f;--muted:#b8c6d4}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 20% 0,#173955,var(--navy) 65%);color:#f7f4ed;font-family:Arial,sans-serif;font-size:16px;line-height:1.5}header{max-width:1500px;margin:auto;padding:28px 36px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px}h1{font-family:Georgia,serif;font-size:clamp(27px,3vw,40px);font-weight:normal;margin:4px 0}h1 em{color:var(--gold);font-style:normal}h2{font-family:Georgia,serif;font-weight:normal;font-size:24px;margin:9px 0}p{margin:8px 0}header p,.hint,.small{color:var(--muted)}.eyebrow{font-size:14px;letter-spacing:.13em;color:var(--gold)}nav,.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}button,a,select,input,textarea{font:inherit}button,nav a,.downloads a{display:inline-block;padding:10px 15px;border:1px solid #688094;background:#122f46;color:#fff;text-decoration:none;border-radius:6px;cursor:pointer}button:hover,nav a:hover,.downloads a:hover{border-color:var(--gold);background:#26465d}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}main{max-width:1500px;margin:auto;padding:0 36px 30px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px}.reader{min-width:0}.toolbar{justify-content:center;padding:14px;background:#06152688;border-radius:10px 10px 0 0;position:sticky;top:0;z-index:3}select{padding:7px;border:1px solid #688094;background:#122f46;color:white;border-radius:4px;max-width:100px}.paper{position:relative;max-width:770px;margin:18px auto;background:white;box-shadow:0 18px 45px #0008;overflow:hidden}.paper img{display:block;width:100%;height:auto;transition:opacity .15s,transform .22s;transform-origin:left center}.paper img.turn{opacity:.3;transform:perspective(900px) rotateY(-7deg)}.page-shadow{pointer-events:none;position:absolute;inset:0 auto 0 0;width:10px;background:linear-gradient(90deg,#0002,transparent)}.hint{text-align:center;font-size:14px}.transcript{max-width:770px;margin:15px auto;border:1px solid #496377;padding:12px}.transcript pre{font-family:Arial,sans-serif;white-space:pre-wrap;font-size:16px;line-height:1.6}aside>div{border-top:1px solid #526d80;padding:19px 0 24px}.gold{background:var(--gold);color:var(--navy);border-color:var(--gold);width:100%;font-weight:bold}.gold:hover{color:white}.small{font-size:14px}.youtube{display:block;color:var(--gold);margin-top:12px}.contents button{border:0;border-radius:0;background:none;display:block;text-align:left;width:100%;padding:8px 0;color:var(--muted);font-size:14px}.contents button.current{color:var(--gold);font-weight:bold}.downloads a{display:block;margin:10px 0;font-size:14px}#videoBox{margin-top:16px}#player{width:100%;min-height:200px}#videoBox iframe{width:100%;height:220px}.music-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.music-controls button{font-size:14px;padding:8px}.music-controls label{font-size:14px;display:flex;gap:10px;width:100%;align-items:center}.music-controls input{max-width:140px}footer{max-width:1500px;margin:auto;padding:20px 36px 35px;border-top:1px solid #496377;color:var(--muted);font-size:14px;display:flex;justify-content:space-between;gap:20px}footer a{color:var(--gold)}dialog{max-width:650px;width:90%;background:#102c44;color:white;border:1px solid var(--gold);border-radius:10px;padding:25px}dialog::backdrop{background:#0009}textarea{width:100%;min-height:140px;background:#071d31;color:#fff;border:1px solid #688094;padding:10px;font-size:14px}.dialog-actions{display:flex;gap:10px;margin-top:15px}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--gold);color:#071d31;padding:10px 20px;border-radius:5px;display:none;z-index:10}.enlarged .paper{max-width:none}.enlarged main{grid-template-columns:1fr}.enlarged aside{max-width:600px;margin:auto;width:100%}@media(max-width:850px){header{padding:20px;display:block}nav{margin-top:15px}main{padding:0 14px 20px;grid-template-columns:1fr}aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.music{grid-row:span 2}.toolbar{gap:7px;padding:10px 5px}.toolbar button{font-size:14px;padding:8px 10px}.paper{margin:12px auto}footer{padding:20px;display:block}}@media(max-width:560px){aside{display:block;padding:0 8px}h1{font-size:29px}.toolbar label{font-size:14px}#count{font-size:14px}.hint{font-size:14px}nav button,nav a{font-size:14px}#videoBox iframe{height:230px}}

.family{max-width:1000px;padding:30px 36px;margin:auto}.family a{color:#ddb25f}
