html{overflow-x:hidden}body{color:var(--color-ink);background:var(--color-paper);font-family:var(--font-body);font-size:16px;line-height:1.85;overflow-wrap:anywhere}a{color:inherit}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{border-bottom:1px solid var(--color-line);background:var(--color-paper)}.header-inner{max-width:var(--content);margin:auto;padding:var(--space-3) var(--space-2);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.brand{text-decoration:none;color:var(--color-ink)}.brand-en{font-family:var(--font-heading);font-size:1.5rem;letter-spacing:.08em;border-bottom:2px solid var(--color-gold)}.brand-ja{display:block;font-size:.72rem;letter-spacing:.2em}.header-note{color:var(--color-muted);font-size:.78rem}
.hero{max-width:var(--content);margin:auto;padding:var(--space-6) var(--space-2) var(--space-5);text-align:center}.eyebrow,.voice-label{font-size:.75rem;color:var(--color-green);letter-spacing:.16em}.hero h1{font-family:var(--font-heading);font-size:clamp(2rem,6vw,3.5rem);font-weight:500;letter-spacing:.08em}.hero p:last-child{max-width:42rem;margin:var(--space-2) auto 0;color:var(--color-muted)}.demo-note{max-width:var(--reading);margin:0 auto var(--space-5);padding:var(--space-2);background:var(--color-note);border-left:3px solid var(--color-gold);font-size:.88rem}
.voices{max-width:var(--content);margin:auto;padding:0 var(--space-2) var(--space-7);display:grid;gap:var(--space-5)}.voice-card{border-top:1px solid var(--color-line);padding-top:var(--space-4)}.voice-card h2{font-family:var(--font-heading);font-size:clamp(1.3rem,3vw,1.75rem);font-weight:500;line-height:1.45;margin-top:var(--space-1);text-wrap:balance}.keep-word{white-space:nowrap}.excerpt{margin-top:var(--space-2);color:var(--color-muted)}.excerpt-flow::after{content:"";display:block;clear:both}.transcription-note{margin-top:var(--space-1);font-size:.78rem;color:var(--color-muted)}
.read-more,.back-link,.image-link{display:inline-flex;min-height:44px;align-items:center;gap:.55rem;margin-top:var(--space-2);color:var(--color-green-dark);font-weight:600;text-underline-offset:5px}.read-more:hover,.back-link:hover,.image-link:hover{text-decoration-thickness:2px}.read-more:focus-visible,.back-link:focus-visible,.image-link:focus-visible,.scan a:focus-visible,.original-panel a:focus-visible,.lightbox-close:focus-visible{outline:3px solid var(--color-ink);outline-offset:4px}.scan{width:128px;background:var(--color-soft);padding:8px;margin-top:var(--space-2)}.scan a{display:block}.scan img{width:100%;aspect-ratio:723/1024;object-fit:contain;background:var(--color-paper)}.scan figcaption{font-size:.72rem;color:var(--color-muted);margin-top:.35rem;text-align:center}.site-footer{background:var(--color-green);color:var(--color-paper);padding:var(--space-5) var(--space-2);text-align:center}.site-footer p{font-size:.82rem}
.detail-main{max-width:var(--content);margin:auto;padding:var(--space-4) var(--space-2) var(--space-7)}.breadcrumb{font-size:.85rem;color:var(--color-muted)}.detail-header{max-width:var(--reading);margin:var(--space-5) auto var(--space-4);text-align:center}.detail-header h1{font-family:var(--font-heading);font-size:clamp(1.7rem,5vw,2.65rem);font-weight:500;line-height:1.45;margin-top:var(--space-1);text-wrap:balance}.detail-layout{display:grid;gap:var(--space-5);max-width:980px;margin:auto;border-top:1px solid var(--color-line);padding-top:var(--space-4)}.voice-full{max-width:var(--reading)}.voice-full p{white-space:pre-line}.detail-note{margin-bottom:var(--space-2);padding:var(--space-2);background:var(--color-note);border-left:3px solid var(--color-gold);font-size:.84rem}.original-panel{max-width:280px;justify-self:center;background:var(--color-soft);padding:var(--space-2)}.original-panel a{display:block;cursor:zoom-in}.original-panel img{width:100%;height:auto;background:var(--color-paper)}.original-panel figcaption{font-size:.78rem;color:var(--color-muted);margin-top:var(--space-1);text-align:center}.detail-actions{max-width:980px;margin:var(--space-4) auto 0;border-top:1px solid var(--color-line);padding-top:var(--space-2)}.lightbox{width:calc(100% - 24px);height:calc(100% - 24px);max-width:none;max-height:none;margin:auto;padding:clamp(12px,3vw,36px);border:0;background:transparent;color:#fff;overflow:auto}.lightbox::backdrop{background:rgba(18,27,23,.92)}.lightbox-shell{min-height:100%;display:grid;place-items:center;gap:var(--space-1)}.lightbox-image{display:block;max-width:100%;max-height:calc(100vh - 108px);max-height:calc(100dvh - 108px);width:auto;height:auto;object-fit:contain;background:var(--color-paper);box-shadow:0 14px 50px rgba(0,0,0,.35)}.lightbox-original{color:#fff;text-underline-offset:4px}.lightbox-close{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:2;width:46px;height:46px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:var(--color-paper);color:var(--color-ink);font-size:1.7rem;line-height:1;cursor:pointer}
@media(min-width:700px){.hero{padding-top:var(--space-7)}.voice-copy{position:relative;padding:var(--space-1) 190px var(--space-1) 0;min-height:245px}.excerpt-flow .scan{position:absolute;right:0;top:0;width:150px;margin:0}.excerpt-flow .read-more{display:inline-flex}.detail-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start}.original-panel{position:sticky;top:var(--space-3)}}
@media(max-width:699px){.header-note{display:none}.hero{padding-top:var(--space-5)}.voice-card h2{font-size:clamp(1.22rem,5.4vw,1.48rem);text-wrap:pretty}.excerpt-flow{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,min(31vw,118px));grid-template-rows:auto auto;column-gap:var(--space-2);align-items:end}.excerpt-flow .excerpt-rest{grid-column:1;grid-row:1;margin-top:var(--space-2)}.excerpt-flow .scan{grid-column:2;grid-row:1;align-self:end;width:100%;margin:var(--space-2) 0 0}.excerpt-flow .read-more{grid-column:2;grid-row:2;justify-self:center;align-self:start;margin-top:.45rem;font-size:.82rem;white-space:nowrap}.transcription-note{clear:both}}@media(max-width:349px){.excerpt-flow{grid-template-columns:minmax(0,1fr) 96px;column-gap:var(--space-1)}.excerpt-flow .read-more{font-size:.76rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
