.prose mark{background:linear-gradient(transparent 52%,#ffe49c 52%);color:inherit;font-weight:800;padding:0 .08em;box-decoration-break:clone;-webkit-box-decoration-break:clone}.prose strong{font-weight:800}.haru-voice{display:grid;grid-template-columns:90px 1fr;align-items:start;gap:22px;margin:36px 0}.voice-person{text-align:center;font-size:12px;line-height:1.4}.voice-person img{width:90px;height:90px;object-fit:contain;border-radius:50%;border:2px solid var(--ink);background:white}.voice-person b{display:block;margin-top:8px}.voice-bubble{border:2px solid var(--ink);padding:22px 26px;position:relative;background:white;border-radius:0 18px 18px 18px;box-shadow:5px 5px 0 #e8edf7}.voice-bubble:before{content:"";position:absolute;left:-12px;top:18px;width:18px;height:18px;background:white;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg)}.voice-bubble p{margin:0;font-size:16px;line-height:1.9}.reading-figure{margin:36px 0}.image-open{width:100%;padding:0;display:block;border:1px solid var(--line);background:var(--soft);text-align:center;cursor:zoom-in;color:var(--ink)}.image-open img{width:100%;height:auto}.image-open span{display:block;background:var(--ink);color:white;font-size:13px;padding:8px 12px;font-weight:700}.reading-figure figcaption{font-size:12px;color:var(--muted);margin-top:8px}.service-compare{display:grid;gap:15px;margin:28px 0}.service-compare section{padding:22px 26px;border:1px solid var(--line);border-left:6px solid var(--blue);background:#f8f9fb}.service-compare section>span{font-size:12px;color:var(--blue);font-weight:800}.service-compare section h3{margin:4px 0 12px!important;padding:0!important;border:none!important}.service-compare section p:last-child{margin-bottom:0}.service-compare section>b{font-size:13px}.scene-note{border-left:5px solid var(--orange);background:#fff8f2;padding:26px;margin:32px 0}.scene-note>span,.memo-label{display:block;font-size:12px;font-weight:800;letter-spacing:.07em;color:#a52d13;margin-bottom:12px}.scene-note h3{margin-top:0!important}.scene-note small,.field-memo small{font-size:12px;color:var(--muted);display:block;line-height:1.8}.field-memo{border:2px solid var(--ink);padding:28px;margin:36px 0;background:#fff;box-shadow:7px 7px 0 #e4e9f3}.field-memo h3{margin-top:0!important}.field-memo dl{margin:0 0 20px}.field-memo dt{font-size:13px;font-weight:900;color:var(--blue);margin-top:18px}.field-memo dd{margin:6px 0 0;padding-bottom:14px;border-bottom:1px dashed var(--line)}.decision-steps{display:grid;gap:16px;margin:30px 0}.decision-steps section{padding:22px;background:var(--soft);border-top:3px solid var(--blue)}.decision-steps section>b{font-size:30px;color:var(--blue)}.decision-steps h3{margin:8px 0!important}.decision-steps p{margin:0}.perspective-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:32px 0}.perspective-pair section{border:1px solid var(--line);padding:24px}.perspective-pair span{font-size:13px;color:var(--blue);font-weight:800}.perspective-pair h3{margin-top:12px!important}.perspective-pair li{font-size:15px}.dialogue-example{border-top:3px solid var(--ink);border-bottom:1px solid var(--line);padding:24px 0;margin:30px 0}.resident-line,.helper-line{padding:18px 22px;max-width:92%;margin:16px 0;border-radius:16px 16px 16px 0;background:#eef0f4}.helper-line{margin-left:auto;border-radius:16px 16px 0 16px;background:#eaf0ff}.dialogue-example b{font-size:12px}.dialogue-example p{margin:7px 0 0}.dialogue-example .dialogue-comment{font-size:13px;color:var(--muted);margin:20px 0 0}.avatar-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:60px}.avatar-gallery figure{margin:0;padding:20px;border:1px solid var(--line);text-align:center}.avatar-gallery img{width:200px;margin:auto}.avatar-gallery figcaption{font-weight:800;margin-top:10px}.image-viewer{width:min(1400px,96vw);max-width:96vw;height:92dvh;max-height:92dvh;padding:0;border:0;background:#111827;color:white;overflow:hidden}.image-viewer::backdrop{background:#080e19e8}.image-viewer[open]{display:flex;flex-direction:column}.viewer-toolbar{display:flex;align-items:center;gap:12px;padding:14px 18px;flex-shrink:0;border-bottom:1px solid #485161}.viewer-toolbar strong{margin-right:auto;font-size:15px}.viewer-toolbar button{border:1px solid #778398;color:white;background:#24334f;padding:9px 15px;font-size:14px;min-height:44px}.viewer-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px;touch-action:pan-x pan-y pinch-zoom}.viewer-scroll img{width:100%;max-width:1200px;margin:auto;object-fit:contain}.viewer-scroll img.is-zoomed{max-width:none;margin:0}.viewer-caption{padding:12px 18px;margin:0;flex-shrink:0;font-size:12px;background:#1b2435}.image-viewer :focus-visible{outline:3px solid #ffce65;outline-offset:2px}@media(max-width:700px){.haru-voice{grid-template-columns:64px 1fr;gap:14px;margin:28px 0}.voice-person img{width:64px;height:64px}.voice-bubble{padding:17px 16px}.voice-bubble p{font-size:15px}.voice-bubble:before{left:-9px;width:12px;height:12px}.field-memo,.scene-note{padding:21px 18px}.service-compare section{padding:20px}.perspective-pair{grid-template-columns:1fr}.avatar-gallery{gap:9px}.avatar-gallery figure{padding:10px}.avatar-gallery figcaption{font-size:12px}.image-viewer{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0}.viewer-toolbar{gap:8px;padding:10px}.viewer-toolbar strong{font-size:12px}.viewer-toolbar button{font-size:12px;padding:8px 11px}.viewer-scroll{padding:10px}.viewer-caption{padding:12px 14px}.prose .dialogue-example p{font-size:15px}}@media print{.image-open span{display:none}.image-viewer{display:none!important}.field-memo,.scene-note,.haru-voice{break-inside:avoid}}

.profile-intro{display:flex;align-items:center;gap:24px;margin-bottom:24px}.profile-intro img{flex-shrink:0;border-radius:50%;width:140px;height:140px;object-fit:contain}.profile-intro p:last-child{margin-bottom:0}@media(max-width:600px){.profile-intro{display:block}.profile-intro img{width:110px;height:110px;margin:0 0 20px}}
.side-toc{max-height:calc(100dvh - 145px);overflow-y:auto;scrollbar-width:thin;padding-right:12px}

.article-table-wrap{max-width:100%;overflow-x:auto;margin:28px 0;border:1px solid var(--line)}.article-table-wrap table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.85}.article-table-wrap th,.article-table-wrap td{padding:16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.article-table-wrap th{background:var(--ink);color:white}.article-table-wrap tr:nth-child(even){background:var(--soft)}.article-table-wrap th:first-child,.article-table-wrap td:first-child{width:31%;min-width:100px}@media(max-width:700px){.article-table-wrap table{font-size:14px}.article-table-wrap th,.article-table-wrap td{padding:12px}}

.article-card--image{padding-top:0;border-top:0;min-width:0}.article-card-image{aspect-ratio:1200/630;overflow:hidden;background:#f3f5f8;border:1px solid var(--line);margin-bottom:20px}.article-card-image img{width:100%;height:100%;object-fit:contain;transition:transform .2s ease}.article-card--image:hover .article-card-image img{transform:scale(1.015)}.article-card--image:focus-visible .article-card-image{outline:2px solid var(--blue);outline-offset:2px}@media(prefers-reduced-motion:reduce){.article-card-image img{transition:none}}

.reading-note{margin:36px 0;padding:25px 28px;border-left:5px solid var(--blue);background:#f3f5fc}.reading-note-label{font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--blue)}.prose .reading-note-title{font-size:21px;font-weight:900;line-height:1.6;margin:10px 0 16px}.prose .reading-note ul{list-style:none;margin:0;padding:0}.prose .reading-note li{position:relative;padding:10px 0 10px 27px;border-top:1px solid #dce1f0;margin:0;line-height:1.8}.reading-note li:before{content:'✓';position:absolute;left:0;color:var(--blue);font-weight:900}.affiliate-card{margin:36px 0;padding:28px;border:1px solid #cdd4e9;background:#fafbff}.affiliate-label{font-size:12px;color:var(--muted)}.prose .affiliate-title{font-size:22px;font-weight:900}.affiliate-conditions{font-size:14px}.affiliate-card .button{white-space:normal;max-width:100%;text-align:center}@media(max-width:700px){.reading-note{padding:20px 18px;margin:28px 0}.prose .reading-note-title{font-size:19px}.prose .reading-note li{font-size:15px}.affiliate-card{padding:20px}.affiliate-card .button{width:100%}}

/* Article-specific artwork: preserve the full illustration at every viewport. */
.article-card-image{aspect-ratio:16/9}.article-cover img,.family-prose .article-cover img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
