:root{--ink:#17324d;--paper:#fffdf8;--line:#d9d5cc;--muted:#667386;--wash:#edf3f6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f2f4f6;color:#27323e;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;line-height:1.9}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;z-index:100;background:#fff;padding:10px 14px;border:2px solid var(--ink)}a{color:#23547b}.reader-header{background:#fff;border-bottom:1px solid #dfe3e7}.reader-header-inner{width:min(980px,calc(100% - 32px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:70px}.reader-brand{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:700;font-size:1.16rem;color:var(--ink);text-decoration:none}.reader-header nav{display:flex;gap:9px;align-items:center;font-size:.85rem;color:var(--muted)}.reader-shell{width:min(900px,calc(100% - 28px));margin:34px auto}.reader-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 36px rgba(31,48,67,.08);overflow:hidden}.work-heading{padding:clamp(24px,5vw,54px);border-bottom:1px solid var(--line);background:linear-gradient(140deg,#fffdf8 0%,#f7f3e9 100%)}.work-heading h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:var(--ink);font-size:clamp(1.7rem,5vw,2.7rem);line-height:1.45;margin:.45em 0 .85em}.work-number{display:inline-block;background:var(--ink);color:#fff;border-radius:999px;padding:2px 9px;margin-right:10px;font-size:.76rem}.work-date{color:var(--muted);font-size:.86rem}.work-meta{display:flex;flex-wrap:wrap;gap:10px 30px;margin:0}.work-meta div{display:grid;grid-template-columns:auto auto;gap:8px}.work-meta dt{color:var(--muted);font-size:.8rem}.work-meta dd{margin:0;font-weight:700;font-size:.9rem}.synopsis,.script,.reader-notice{margin:clamp(22px,4vw,42px)}.synopsis{padding:20px 22px;background:var(--wash);border-radius:12px}.synopsis h2,.script h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:var(--ink);font-size:1.25rem;margin:0 0 10px}.synopsis p{white-space:pre-line;margin:0}.script{border-top:1px solid var(--line);padding-top:32px}.script-text{white-space:pre-wrap;overflow-wrap:anywhere;font-family:"Yu Gothic",Meiryo,sans-serif;font-size:1rem;line-height:2.05}.reader-notice{padding:18px 20px;border-left:4px solid #c88634;background:#fff4df;border-radius:4px 10px 10px 4px}.reader-notice p{margin:.4em 0 0}.back-link{margin:22px 4px}.back-link a{font-weight:700;text-decoration:none}footer{text-align:center;color:var(--muted);font-size:.85rem;padding:12px 0 38px}@media(max-width:620px){.reader-header-inner{display:block;padding:12px 0}.reader-header nav{margin-top:4px}.reader-shell{width:min(100% - 16px,900px);margin:12px auto}.reader-card{border-radius:12px}.work-heading{padding:22px 18px}.work-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.work-meta div{display:block}.synopsis,.script,.reader-notice{margin:20px 16px}.script-text{font-size:1rem;line-height:1.95}}

/* ver1.3 mobile line-break safeguard */
.script-text{white-space:pre-wrap!important;overflow-wrap:break-word!important;word-break:normal!important;-webkit-text-size-adjust:100%}
@media(max-width:620px){.script-text{font-size:16px!important;line-height:2!important}.reader-shell{width:calc(100% - 12px)}}


/* ver1.5: full navigation, explicit afterword, TXT links and mobile return controls */
.reader-header-inner{min-height:70px}
.reader-site-nav{display:flex;gap:3px;align-items:center;overflow-x:auto;-webkit-overflow-scrolling:touch}
.reader-site-nav a{color:#425265;padding:8px 10px;border-radius:8px;font-size:.84rem;text-decoration:none;white-space:nowrap;min-height:40px;display:inline-flex;align-items:center}
.reader-site-nav a[aria-current="page"]{color:var(--ink);background:#edf3f6;font-weight:700}
.reader-back-top{width:min(900px,calc(100% - 28px));margin:14px auto 8px}
.reader-back-top a,.back-link a{display:inline-flex;align-items:center;min-height:44px;padding:7px 10px;border-radius:8px;text-decoration:none;font-weight:700}
.reader-tools{margin:clamp(20px,4vw,34px);padding:14px 18px;background:#eef6fb;border:1px solid #cbdce8;border-radius:10px}
.txt-download{display:inline-flex;align-items:center;min-height:44px;padding:8px 13px;border-radius:8px;background:#17324d;color:#fff;text-decoration:none;font-weight:700}
.afterword{margin:clamp(22px,4vw,42px);padding:24px 22px;background:#f7f3e9;border:1px solid var(--line);border-radius:12px}
.afterword h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:var(--ink);font-size:1.25rem;margin:0 0 12px}
.afterword-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}
@media(max-width:620px){
 .reader-header-inner{display:block!important;padding:10px 0!important}
 .reader-site-nav{margin-top:6px;gap:0}
 .reader-site-nav a{font-size:.79rem;padding:7px 9px;min-height:44px}
 .reader-back-top{width:calc(100% - 16px);margin:8px auto 4px}
 .reader-tools,.afterword{margin:18px 14px}
 .txt-download{width:100%;justify-content:center}
}

/* ver1.5: new-script maker output */
.characters{margin:clamp(22px,4vw,42px);padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:12px}.characters h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:var(--ink);font-size:1.25rem;margin:0 0 12px}.character{padding:8px 0;border-bottom:1px solid #ece8df}.character:last-child{border-bottom:0}.character h3{font-size:1rem;margin:0}.character p{margin:2px 0 0;color:#4b5968}@media(max-width:620px){.characters{margin:18px 14px;padding:18px 16px}}

.related-material-badge{display:inline-block;background:#f1e9df;color:#6f5a48;border-radius:999px;padding:2px 9px;margin-right:10px;font-size:.76rem;font-weight:700}
