.novel-page,.atelier-novel-index,.season-story-page,.season-novel-template{--font-serif: "Noto Serif JP", Georgia, "Yu Mincho", "Hiragino Mincho ProN", serif;--font-sans: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", sans-serif}.novel-page{min-height:100vh;padding:clamp(1rem,3vw,2rem) 1rem 5.5rem}.season-story-eyebrow{margin:0 0 .55rem;color:#8b6048;font-size:.72rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.season-story-hub,.season-story-page{color:#243b34}.season-hub-hero,.season-story-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(17rem,.82fr);gap:clamp(2rem,6vw,5rem);align-items:center;overflow:hidden;margin:1rem auto clamp(2rem,6vw,4.5rem);padding:clamp(2rem,6vw,5rem);color:#f8f1e5;background:radial-gradient(circle at 85% 20%,rgba(214,174,108,.19),transparent 34%),linear-gradient(145deg,#193f37,#102b27 62%,#0c211e);border:1px solid rgba(219,197,158,.34);border-radius:28px;box-shadow:0 28px 75px #19322c33}.season-hub-hero>div:first-child,.season-story-hero__copy{position:relative;z-index:2}.season-hub-hero h1,.season-story-hero h1{max-width:13em;margin:0 0 1.1rem;color:#fff9ee;font-family:var(--font-serif);font-size:clamp(1.9rem,3.4vw,2.85rem);line-height:1.24;letter-spacing:.02em}.season-hub-hero h1 span{display:block}.season-hub-hero>div>p:not(.season-story-eyebrow),.season-story-hero__copy>p:not(.season-story-eyebrow,.season-story-hero__series){max-width:42rem;color:#fff9eed9;font-size:clamp(.98rem,2vw,1.1rem);line-height:2}.season-hub-hero blockquote{display:inline-block;margin:1rem 0 1.6rem;padding:.8rem 1rem;color:#f1d8a7;background:#ffffff0f;border:1px solid rgba(241,216,167,.34);border-radius:999px;font-family:var(--font-serif)}.season-hub-hero .atelier-comic-button,.season-story-hero .atelier-comic-button{color:#fffaf0;border-color:#ffffff57;background:#ffffff12}.season-hub-hero .atelier-comic-button--primary,.season-story-hero .atelier-comic-button--primary{color:#17342e;background:#f1d8a7;border-color:#f1d8a7}.season-hub-copies,.season-story-artifact{position:relative;min-height:24rem;perspective:900px}.season-hub-copies span,.season-story-artifact span{position:absolute;inset:50% auto auto 50%;width:clamp(9rem,14vw,13rem);aspect-ratio:.72;translate:-50% -50%;transform-origin:50% 92%;background:linear-gradient(90deg,rgba(92,65,36,.15),transparent 8%),#f3e7c9;border:1px solid rgba(91,65,39,.35);border-radius:4px 12px 12px 4px;box-shadow:0 18px 28px #0000004d}.season-hub-copies span:after,.season-story-artifact span:after{content:"";position:absolute;inset:14% 17%;background:repeating-linear-gradient(180deg,rgba(96,74,46,.24) 0 1px,transparent 1px 13px)}.season-hub-copies span:nth-child(1),.season-story-artifact span:nth-child(1){transform:rotate(-20deg) translate(-1.8rem)}.season-hub-copies span:nth-child(2),.season-story-artifact span:nth-child(2){transform:rotate(-10deg) translate(-.9rem)}.season-hub-copies span:nth-child(3),.season-story-artifact span:nth-child(3){transform:rotate(0)}.season-hub-copies span:nth-child(4),.season-story-artifact span:nth-child(4){transform:rotate(10deg) translate(.9rem)}.season-hub-copies span:nth-child(5),.season-story-artifact span:nth-child(5){transform:rotate(20deg) translate(1.8rem)}.season-hub-copies span.is-old,.season-story-artifact span.is-old{z-index:2;background:linear-gradient(90deg,rgba(69,48,29,.22),transparent 10%),#c9b384;border-color:#8e7045}.season-progress-card,.season-hub-premise,.season-episode-list,.season-four-tensions,.season-knowledge,.season-observation-note,.season-episode-pager{max-width:72rem;margin:clamp(2rem,6vw,4.5rem) auto}.season-progress-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem 1.25rem;align-items:center;margin-top:1rem;padding:1rem 1.2rem;background:#fbf7ee;border:1px solid #dbcbae;border-radius:14px}.season-progress-card p{margin:0}.season-progress-card__message{color:#29483f;font-weight:750;line-height:1.65}.season-progress-card h2,.season-hub-premise h2,.season-section-heading h2,.season-four-tensions h2,.season-knowledge h2,.season-observation-note h2{margin:0 0 .65rem;color:#1c443b;font-family:var(--font-serif);font-size:clamp(1.4rem,2.35vw,1.9rem);line-height:1.45}.season-progress-card__actions{display:flex;gap:.7rem;flex-wrap:wrap}.season-progress-list{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:0;padding:0;list-style:none}.season-progress-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;align-items:center;padding:.8rem;background:#ffffffb8;border:1px solid #ddd4c3;border-radius:12px}.season-progress-list li>span{color:#9b7657;font-family:var(--font-serif);font-size:1.2rem}.season-progress-list li small{color:#786e61}.season-progress-list li.is-complete small{color:#216853;font-weight:800}.season-progress-list li.is-started small{color:#9c633e;font-weight:800}.season-hub-premise{padding:clamp(1.5rem,4vw,2.5rem);background:#fff;border:1px solid #d8e0d9;border-radius:20px}.season-hub-premise>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.season-hub-premise>div p{display:grid;gap:.5rem;margin:0;padding:1.25rem;background:#f2f6f2;border:1px solid #d8e0d9;border-radius:14px;line-height:1.8}.season-hub-premise strong{color:#8a5e43;font-size:.75rem;letter-spacing:.06em}.season-section-heading{max-width:50rem;margin-bottom:1.5rem}.season-section-heading>p:last-child{color:#596a63;line-height:1.85}.season-episode-list ol{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.season-episode-list li a{display:grid;grid-template-columns:4rem minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.25rem 1.4rem;color:inherit;background:#fff;border:1px solid #d9dfd9;border-radius:16px;box-shadow:0 10px 24px #213b340f;text-decoration:none}.season-episode-list li>a>span{color:#9d7453;font-family:var(--font-serif);font-size:1.8rem}.season-episode-list h3{margin:0 0 .25rem;color:#1f4a40;font-family:var(--font-serif);font-size:1.3rem}.season-episode-list p{margin:0;color:#64726c;line-height:1.7}.season-episode-list a>strong{color:#8d5d3d;font-size:.8rem}.season-four-tensions{padding:clamp(1.6rem,5vw,3rem);background:#f5f0e7;border:1px solid #ded0ba;border-radius:24px}.season-four-tensions>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1.5rem 0}.season-four-tensions article{padding:1rem;background:#ffffffb8;border:1px solid #dfd4c3;border-radius:12px}.season-four-tensions h3{margin:0 0 .4rem;color:#214a40}.season-four-tensions article p{margin:0;color:#5f6a65;font-size:.88rem;line-height:1.75}.season-story-page{max-width:90rem;margin:0 auto;padding:0 clamp(1rem,3vw,2rem) 8rem}.season-story-hero{max-width:84rem}.season-story-hero__series{margin:0 0 .25rem;color:#edce95;font-family:var(--font-serif)}.season-story-hero__copy dl{display:flex;gap:1.25rem;flex-wrap:wrap;margin:1rem 0 1.5rem}.season-story-hero__copy dl div{display:flex;gap:.45rem}.season-story-hero__copy dt{color:#d5b983;font-size:.75rem;font-weight:800}.season-story-hero__copy dd{margin:0;color:#fff9ee;font-size:.8rem}.season-story-hero__visual{position:relative;z-index:1;overflow:hidden;margin:0;aspect-ratio:3 / 2;background:#18372f;border:1px solid rgba(255,249,238,.28);border-radius:20px;box-shadow:0 22px 48px #020f0c5c}.season-story-hero__visual:after{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 58%,rgba(9,28,23,.28));content:""}.season-story-hero__visual img{width:100%;height:100%;object-fit:cover}.season-prose-layout{display:grid;grid-template-columns:minmax(0,46rem) minmax(12rem,15rem);gap:clamp(2rem,5vw,4rem);justify-content:center;align-items:start}.season-prose{padding:clamp(1.4rem,4vw,3.2rem);background:#fffdfa;border:1px solid #ded8ca;border-radius:24px;box-shadow:0 24px 64px #2637311a;font-family:var(--font-serif);font-size:clamp(1rem,1.8vw,1.08rem);line-height:2.05}.season-prose h2{scroll-margin-top:5.5rem;margin:clamp(3.2rem,8vw,6rem) 0 1.8rem;padding:1.05rem 1.2rem;color:#f9f2e5;background:#244d43;border:1px solid #173f36;border-radius:14px;font-size:clamp(1.25rem,2.8vw,1.7rem);line-height:1.5}.season-prose h2:first-child{margin-top:0}.season-prose p{margin:0 0 1.25rem}.season-prose blockquote{margin:1.6rem 0;padding:1.1rem 1.3rem;color:#4a3829;background:#f6ead1;border:1px solid #d8c29a;border-radius:12px;font-size:1.08em}.season-prose blockquote p{margin:0}.season-prose ul,.season-prose ol{margin:1.2rem 0 1.6rem;padding:1.1rem 1.1rem 1.1rem 2.4rem;background:#f5f6f2;border:1px solid #daddd5;border-radius:12px}.season-prose code{padding:.15em .38em;background:#edf1ec;border:1px solid #d9dfd7;border-radius:4px;font-family:ui-monospace,monospace;font-size:.87em}.season-story-illustration{overflow:hidden;margin:1.4rem 0 2.2rem;aspect-ratio:3 / 2;background:#e8e0d2;border:1px solid #d5c9b6;border-radius:16px;box-shadow:0 16px 38px #2637311f}.season-story-illustration img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--story-image-position, 50% 50%)}.season-dialogue-speaker{width:fit-content;margin:1.65rem 0 .32rem!important;padding:.16rem .62rem;color:#fff;background:#315e52;border-radius:999px;font-family:var(--font-sans);font-size:.72rem;font-weight:800;letter-spacing:.06em;line-height:1.6}.season-dialogue-speaker+p{margin-bottom:1rem;padding:.82rem 1rem;background:#f7f3ea;border-radius:0 12px 12px 0;font-family:var(--font-sans);line-height:1.85;border:0}.season-dialogue-speaker--souma{background:#334e6a}.season-dialogue-speaker--mira{color:#173a3c;background:#9eced0}.season-dialogue-speaker--akito{background:#3f4148}.season-dialogue-speaker--unknown{background:#746a5b}.season-dialogue-speaker--guest{background:#7a6251}.season-dialogue{--dialogue-color: #315e52;--dialogue-soft: #eef5f1;--dialogue-bubble: #fffdf9;--dialogue-portrait-scale: 1.13;--dialogue-portrait-offset-y: .18rem;display:grid;grid-template-columns:4.8rem minmax(0,1fr);gap:.72rem;align-items:end;margin:1.7rem 0;font-family:var(--font-sans)}.season-dialogue--kotoha{--dialogue-color: #0d5d5f;--dialogue-soft: #e7f2ee}.season-dialogue--souma{--dialogue-color: #334e6a;--dialogue-soft: #e9eef5}.season-dialogue--mira{--dialogue-color: #247d81;--dialogue-soft: #e5f3f3;--dialogue-portrait-scale: .94;--dialogue-portrait-offset-y: .08rem}.season-dialogue--akito{--dialogue-color: #3f4148;--dialogue-soft: #ececed}.season-dialogue--unknown,.season-dialogue--guest{--dialogue-color: #746554;--dialogue-soft: #f0ebe2}.season-dialogue[data-dialogue-tone=warm]{--dialogue-bubble: #fff9ec}.season-dialogue[data-dialogue-tone=concerned]{--dialogue-bubble: #fcf7f2}.season-dialogue[data-dialogue-tone=reading]{--dialogue-bubble: #f5f8f6}.season-dialogue[data-dialogue-tone=firm]{--dialogue-bubble: #f7f7f5}.season-dialogue__portrait{position:relative;z-index:2;display:grid;place-items:end center;overflow:hidden;width:4.8rem;height:5.7rem;margin:0;background:radial-gradient(circle at 50% 75%,color-mix(in srgb,var(--dialogue-color) 18%,transparent),transparent 68%),linear-gradient(180deg,#fffdf9,var(--dialogue-soft));border:1px solid color-mix(in srgb,var(--dialogue-color) 24%,#d8d0c2);border-radius:1.25rem 1.25rem .78rem .78rem;box-shadow:0 10px 22px #25322d1f}.season-dialogue__portrait:after{position:absolute;inset:auto 0 0;height:.32rem;background:var(--dialogue-color);content:"";opacity:.82}.season-dialogue__portrait img{display:block;width:100%;height:100%;object-fit:contain;object-position:center top;filter:drop-shadow(0 .35rem .45rem rgba(37,50,45,.16));transform:scale(var(--dialogue-portrait-scale)) translateY(var(--dialogue-portrait-offset-y));transform-origin:center top}.season-dialogue__portrait-mark{display:grid;place-items:center;width:100%;height:100%;padding-bottom:.2rem;color:var(--dialogue-color);font-family:var(--font-serif);font-size:1.5rem;font-weight:700}.season-dialogue__bubble{position:relative;min-width:0;min-height:4.35rem;padding:.82rem 1rem .9rem;background:var(--dialogue-bubble);border:1px solid color-mix(in srgb,var(--dialogue-color) 24%,#d8d0c2);border-radius:1.15rem 1.15rem 1.15rem .38rem;box-shadow:0 12px 26px #25322d17}.season-dialogue__bubble:before{position:absolute;left:-.49rem;bottom:.92rem;width:.86rem;height:.86rem;background:var(--dialogue-bubble);border-bottom:1px solid color-mix(in srgb,var(--dialogue-color) 24%,#d8d0c2);border-left:1px solid color-mix(in srgb,var(--dialogue-color) 24%,#d8d0c2);content:"";transform:rotate(45deg)}.season-dialogue .season-dialogue-speaker{position:relative;z-index:1;width:auto;margin:0 0 .2rem!important;padding:0;color:var(--dialogue-color);background:transparent;border-radius:0;font-size:.73rem;letter-spacing:.05em;line-height:1.45}.season-dialogue .season-dialogue-speaker+.season-dialogue__line{position:relative;z-index:1;margin:0;padding:0;color:#263c35;background:transparent;border:0;border-radius:0;font-size:.98rem;line-height:1.8;overflow-wrap:anywhere}.season-companion-rail{position:sticky;top:6rem;display:grid;gap:.65rem;padding:1rem;background:#f4efe6;border:1px solid #ded3c1;border-radius:18px}.season-companion-rail>p{margin:0 0 .2rem;color:#8d684d;font-size:.66rem;font-weight:850;letter-spacing:.12em}.season-companion-rail a{display:grid;grid-template-columns:3.3rem minmax(0,1fr);gap:.65rem;align-items:center;padding:.6rem;color:inherit;background:#ffffffb8;border:1px solid #ded7ca;border-radius:12px;text-decoration:none}.season-companion-rail img{width:3.3rem;height:3.3rem;object-fit:contain}.season-companion-rail span{display:grid}.season-companion-rail strong{color:#244d43;font-size:.86rem}.season-companion-rail small{color:#756e64;font-size:.7rem}.season-story-end{display:flex;justify-content:center;margin:3.5rem auto 0;padding:1rem;color:#85644a;background:#f6eddc;border:1px solid #dcc8a8;border-radius:999px;font-size:.76rem;font-weight:800;letter-spacing:.08em}.season-knowledge{padding:clamp(1.5rem,4vw,2.6rem);background:#f4f7f3;border:1px solid #ccd9d0;border-radius:22px}.season-knowledge--episode-one{max-width:70rem}.season-knowledge__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.season-knowledge__grid>section{padding:1.2rem;background:#fff;border:1px solid #d7ded8;border-radius:14px}.season-knowledge__grid h3{margin:0 0 .8rem;color:#285548;font-size:1rem}.season-knowledge__grid ul{display:grid;gap:.65rem;margin:0;padding-left:1.3rem}.season-knowledge__grid li{line-height:1.75}.season-observation-note{padding:clamp(1.4rem,4vw,2.2rem);background:#fbf4e6;border:1px solid #dfcda8;border-radius:20px}.season-observation-note p{color:#62594e;line-height:1.8}.season-observation-note a{font-weight:800}.season-episode-pager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.season-episode-pager a{display:grid;grid-template-columns:minmax(6.5rem,8.5rem) minmax(0,1fr);gap:.9rem;align-items:center;overflow:hidden;padding:.65rem;color:inherit;background:#fff;border:1px solid #d8ddd8;border-radius:16px;box-shadow:0 8px 24px #213b340f;text-decoration:none}.season-episode-pager a:hover{border-color:#8eb4a2;box-shadow:0 12px 28px #2155441f}.season-episode-pager img{display:block;width:100%;aspect-ratio:3 / 2;object-fit:cover;border-radius:11px}.season-episode-pager a>span{display:grid;gap:.35rem;min-width:0}.season-episode-pager small{color:#89664c;font-size:.72rem;font-weight:800;letter-spacing:.06em}.season-episode-pager strong{color:#204b40;line-height:1.55}.season-drawer-open{overflow:hidden}.season-scene-drawer{position:fixed;z-index:120;inset:0;display:none;place-items:center;padding:1rem;background:#0b1b18b8}.season-scene-drawer.is-open{display:grid}.season-scene-drawer__panel{width:min(45rem,100%);max-height:min(84vh,48rem);overflow:auto;padding:1.25rem;background:#fffdf8;border:1px solid #dbcdb6;border-radius:20px;box-shadow:0 28px 70px #081a1552}.season-scene-drawer__header{display:flex;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1rem}.season-scene-drawer__header p{margin:0 0 .2rem;color:#7d715f;font-size:.68rem;font-weight:850;letter-spacing:.12em}.season-scene-drawer__header h2{margin:0;color:#204b40;font-family:var(--font-serif);font-size:1.4rem}.season-scene-drawer__header [data-season-drawer-close]{width:auto;padding:.62rem .9rem;color:#355f53;background:#f6f2e9;border:1px solid #d7cebf;border-radius:999px;text-align:center}.season-toc-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-bottom:1rem;padding:.3rem;background:#edf3ee;border-radius:13px}.season-toc-tabs button{width:100%;padding:.72rem .8rem;color:#52665f;background:transparent;border:0;border-radius:10px;font-weight:800;text-align:center}.season-toc-tabs button.is-active{color:#1f5f4e;background:#fff;box-shadow:0 5px 14px #2950441a}.season-toc-tabs button:focus-visible{outline:3px solid rgba(72,137,111,.28);outline-offset:1px}.season-toc-panel__title{margin:0 0 .75rem;color:#52655e;font-size:.82rem;font-weight:800}.season-toc-episodes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:0;padding:0;list-style:none}.season-toc-episodes a{display:grid;grid-template-columns:4rem minmax(0,1fr);gap:.65rem;align-items:center;padding:.78rem .85rem;color:#35524a;background:#f8f5ee;border:1px solid #e0d7c8;border-radius:11px;text-decoration:none}.season-toc-episodes a>span{color:#836a55;font-size:.7rem;font-weight:800}.season-toc-episodes a>strong{overflow:hidden;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.season-toc-episodes a.is-current,.season-toc-episodes a[aria-current=page]{color:#194f42;background:#e5f1e9;border-color:#8eb5a2}.season-scene-drawer [data-season-scene-list]{display:grid;gap:.5rem}.season-scene-drawer [data-season-scene-list] button{width:100%;padding:.8rem;color:#35524a;background:#f8f5ee;border:1px solid #e0d7c8;border-radius:10px;text-align:left}.season-scene-drawer [data-season-scene-list] button.is-current,.season-scene-drawer [data-season-scene-list] button[aria-current=location]{color:#194f42;background:#e5f1e9;border-color:#8eb5a2;font-weight:800}.season-scene-drawer__footer{margin-top:1rem;padding-top:1rem;border-top:1px solid #e1d8c9}.season-scene-drawer__footer a{display:flex;justify-content:center;width:100%;padding:.78rem 1rem;color:#265e50;background:#f2f7f3;border:1px solid #b8d0c2;border-radius:11px;font-weight:800;text-decoration:none}.season-scene-drawer__footer a:hover{background:#e7f1ea;border-color:#8eb5a2}.season-reading-nav{position:fixed;z-index:80;inset:auto 50% 1rem auto;display:grid;grid-template-columns:auto auto minmax(5.5rem,auto) auto;gap:.35rem;align-items:center;padding:.45rem;translate:50% 0;color:#f8f2e7;background:#15362ef2;border:1px solid rgba(255,255,255,.2);border-radius:999px;box-shadow:0 14px 36px #0d221d47;backdrop-filter:blur(12px)}.season-reading-nav button{min-height:2.7rem;padding:0 .8rem;color:inherit;background:transparent;border:1px solid rgba(255,255,255,.18);border-radius:999px}.season-reading-nav span{text-align:center;font-size:.78rem}@media(max-width:900px){.season-hub-hero,.season-story-hero{grid-template-columns:1fr}.season-hub-copies,.season-story-artifact{min-height:18rem}.season-progress-list{grid-template-columns:1fr}.season-four-tensions>div{grid-template-columns:repeat(2,minmax(0,1fr))}.season-prose-layout{grid-template-columns:minmax(0,46rem)}.season-companion-rail{position:static;grid-template-columns:repeat(4,minmax(0,1fr));grid-row:1}.season-companion-rail>p{grid-column:1 / -1}.season-companion-rail a{grid-template-columns:2.7rem minmax(0,1fr)}.season-companion-rail img{width:2.7rem;height:2.7rem}}@media(max-width:640px){.season-hub-hero,.season-story-hero{gap:1.1rem;padding:1.35rem;border-radius:18px}.season-hub-hero h1,.season-story-hero h1{max-width:none;font-size:clamp(1.7rem,7.2vw,2.15rem);line-height:1.3;overflow-wrap:anywhere}.season-progress-card h2,.season-hub-premise h2,.season-section-heading h2,.season-four-tensions h2,.season-observation-note h2{font-size:clamp(1.2rem,5.2vw,1.45rem);line-height:1.45}.season-hub-copies,.season-story-artifact{min-height:9rem}.season-story-hero__visual{border-radius:14px}.season-hub-copies span,.season-story-artifact span{width:clamp(6rem,27vw,8rem)}.season-progress-card{grid-template-columns:1fr}.season-progress-card__actions{align-items:stretch;flex-direction:column}.season-hub-premise>div,.season-knowledge__grid,.season-episode-pager{grid-template-columns:1fr}.season-episode-pager>span:empty{display:none}.season-scene-drawer{padding:.65rem}.season-scene-drawer__panel{max-height:calc(100svh - 1.3rem);padding:1rem;border-radius:16px}.season-toc-episodes{grid-template-columns:1fr}.season-episode-list li a{grid-template-columns:2.5rem minmax(0,1fr)}.season-episode-list a>strong{grid-column:2}.season-four-tensions>div{grid-template-columns:1fr}.season-companion-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.season-companion-rail a{display:flex}.season-prose{padding:1.05rem;border-radius:16px;font-size:.98rem;line-height:1.95}.season-prose h2{margin:2.5rem 0 1.25rem;padding:.82rem .9rem;font-size:clamp(1.05rem,4.8vw,1.25rem);line-height:1.5}.season-story-illustration{margin:1.1rem -1.05rem 1.8rem;border-right:0;border-left:0;border-radius:0}.season-dialogue{grid-template-columns:3.7rem minmax(0,1fr);gap:.5rem;margin:1.45rem 0}.season-dialogue__portrait{width:3.7rem;height:4.65rem;border-radius:1rem 1rem .65rem .65rem}.season-dialogue__bubble{min-height:3.8rem;padding:.7rem .78rem .78rem;border-radius:1rem 1rem 1rem .34rem}.season-dialogue .season-dialogue-speaker+.season-dialogue__line{font-size:.94rem;line-height:1.75}.season-dialogue-speaker+p{padding:.72rem .82rem}.season-reading-nav{inset:auto .75rem 6.25rem;grid-template-columns:auto auto minmax(4.5rem,1fr) auto;translate:0 0}.season-story-page{padding-bottom:7rem}.season-episode-pager a:last-child{text-align:left}}@media(prefers-reduced-motion:reduce){.season-hub-copies span,.season-story-artifact span,.season-reading-nav,.season-scene-drawer{scroll-behavior:auto;transition:none!important}}.novel-shell{width:min(100%,480px);margin:0 auto}.novel-shell--reader{width:min(100%,520px)}.novel-breadcrumb{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;color:var(--color-muted);font-size:.82rem;font-weight:600}.novel-breadcrumb a{color:var(--color-green)}.novel-breadcrumb a:after{margin-left:.35rem;color:var(--color-gold);content:">"}.novel-page-title,.novel-card,.novel-reader,.novel-unlock-card,.novel-complete-card,.my-novel-panel,.novel-album-card{border:1px solid rgba(185,137,62,.28);border-radius:var(--radius);background:linear-gradient(145deg,#fffdf8f7,#fffaf0eb),var(--color-paper);box-shadow:var(--shadow-soft)}.novel-page-title{display:grid;gap:.25rem;margin-bottom:1rem;padding:1.15rem}.novel-page-title p,.novel-reader__header p,.novel-complete-card>p,.novel-unlock-card>div>p:first-child{margin:0;color:var(--color-gold);font-size:.74rem;font-weight:600;text-transform:uppercase}.novel-page-title h1,.novel-complete-card h2,.novel-unlock-card h1{margin:0;font-family:var(--font-serif);font-size:clamp(1.55rem,7vw,2.1rem);line-height:1.35}.novel-page-title h1,.novel-unlock-card h1{font-size:clamp(1.24rem,5.6vw,1.68rem)}.novel-page-title span,.novel-unlock-card span,.novel-card p,.novel-reader__intro span,.my-novel-panel p{color:var(--color-muted);font-size:.92rem}.novel-shelf,.my-novel-shelf,.novel-album{display:grid;gap:1rem}.novel-shelf__stats,.my-novel-shelf__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.novel-shelf__stats article,.my-novel-shelf__stats article{padding:.7rem .45rem;text-align:center;border:1px solid rgba(185,137,62,.24);border-radius:var(--radius);background:#fffdf8cc}.novel-shelf__stats span,.my-novel-shelf__stats span{display:block;color:var(--color-muted);font-size:.68rem;font-weight:600}.novel-shelf__stats strong,.my-novel-shelf__stats strong{color:var(--color-green);font-size:1.1rem}.novel-shelf__stats small,.my-novel-shelf__stats small{margin-left:.1rem;font-size:.68rem}.novel-filter{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.15rem}.novel-filter button,.novel-card__meta button,.novel-scene__speaker button,.novel-controls button,.novel-log button,.novel-reactions button{min-height:2.2rem;padding:.42rem .68rem;color:var(--color-green);border:1px solid rgba(13,93,95,.18);border-radius:999px;background:#fffdf8db;cursor:pointer;font-size:.76rem;font-weight:600;white-space:nowrap}.novel-filter button.is-active,.novel-card__meta button.is-favorite,.novel-reactions button.is-selected{color:#fff;border-color:transparent;background:var(--color-green)}.novel-shelf__grid{display:grid;gap:1rem}.novel-card{overflow:hidden}.novel-card__image{position:relative;display:block;min-height:13.8rem;overflow:hidden;background:var(--color-bg-soft)}.novel-card__image img{width:100%;height:13.8rem;display:block;object-fit:cover}.novel-card--locked .novel-card__image img{filter:grayscale(.7) brightness(.62)}.novel-card__image span{position:absolute;right:.7rem;top:.7rem;padding:.3rem .55rem;color:#fff;border-radius:999px;background:#26312fc7;font-size:.7rem;font-weight:600}.novel-card__body{display:grid;gap:.65rem;padding:1rem}.novel-card__meta,.novel-card__action,.novel-scene__speaker{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.novel-card__meta span,.novel-card__action span,.novel-card__chips span{color:var(--color-gold);font-size:.74rem;font-weight:600}.novel-card h2{margin:0;font-family:var(--font-serif);font-size:1.36rem;line-height:1.4}.novel-card p{margin:0}.novel-card__question{padding:.65rem .75rem;color:var(--color-green);border-radius:var(--radius);background:#0d5d5f14;font-weight:700;line-height:1.65}.novel-card__appeal{color:#594b3c;font-weight:700;line-height:1.65}.novel-card__memory{display:grid;gap:.16rem;padding:.65rem .75rem;border:1px solid rgba(185,137,62,.22);border-radius:var(--radius);background:#b9893e12}.novel-card__memory span,.novel-card__memory strong{font-size:.82rem}.novel-card__memory span{color:var(--color-gold);font-weight:700}.novel-card__memory strong{color:var(--color-ink)}.novel-card__chips{display:flex;flex-wrap:wrap;gap:.35rem}.novel-card__chips span{padding:.2rem .48rem;color:var(--color-green);border-radius:999px;background:#0d5d5f14}.novel-unlock-card{overflow:hidden}.novel-unlock-card>img{width:100%;height:15rem;display:block;object-fit:cover;filter:brightness(.72)}.novel-unlock-card>div{display:grid;gap:.75rem;padding:1rem}.novel-unlock-card p{margin:0}.novel-unlock-card dl{display:grid;gap:.35rem;margin:0}.novel-unlock-card dl div{display:flex;justify-content:space-between;gap:1rem;padding:.45rem .6rem;border-radius:var(--radius);background:#0d5d5f0f}.novel-unlock-card dt,.novel-unlock-card dd{margin:0;font-size:.82rem;font-weight:600}.novel-unlock-card blockquote{margin:0;padding:.8rem;border-radius:var(--radius);background:#fffdf8e6;border:0}.novel-reader{position:relative;overflow:clip}.novel-reader__header{position:sticky;top:0;z-index:15;display:grid;grid-template-columns:auto 1fr auto;gap:.65rem;align-items:center;padding:.65rem;background:#fffdf8eb;backdrop-filter:blur(16px)}.novel-reader__header a,.novel-reader__header>span{min-height:2.15rem;display:inline-flex;align-items:center;justify-content:center;padding:.35rem .65rem;color:var(--color-green);border:1px solid rgba(13,93,95,.15);border-radius:999px;background:#edfaf7cc;font-size:.78rem;font-weight:600}.novel-reader__header h1{margin:0;overflow:hidden;font-size:.76rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.novel-progress{position:sticky;top:3.55rem;z-index:14;height:.28rem;overflow:hidden;background:#b9893e29}.novel-progress span{height:100%;display:block;background:linear-gradient(90deg,var(--color-green),var(--color-teal));transition:width .22s ease}.novel-reader__intro{display:grid;gap:.65rem;padding:.85rem}.novel-reader__intro img{width:100%;height:13rem;display:block;object-fit:cover;border-radius:var(--radius)}.novel-reader__intro p,.novel-reader__intro span,.novel-reader__intro strong{margin:0}.novel-reader__intro p{color:var(--color-gold);font-weight:600}.novel-reader__appeal{display:block;color:#594b3c;font-weight:700;line-height:1.7}.novel-reader__intro strong{display:block;margin-top:.45rem;color:var(--color-green);font-size:1rem;line-height:1.65}.novel-reader__memory{display:grid;gap:.14rem;margin-top:.6rem;padding:.7rem .8rem;border:1px solid rgba(185,137,62,.24);border-radius:var(--radius);background:#b9893e12}.novel-reader__memory span{color:var(--color-gold);font-size:.78rem;font-weight:700}.novel-reader__memory strong{margin:0;color:var(--color-ink);font-size:.94rem}.novel-reader__tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:.6rem 0}.novel-reader__tags span{padding:.22rem .52rem;color:var(--color-green);border-radius:999px;background:#0d5d5f14;font-size:.8rem}.novel-reader__scenes{display:grid;gap:1.2rem;padding:0 .85rem 1rem}.novel-scene{min-height:min(84vh,48rem);display:grid;align-content:center;gap:.75rem;scroll-margin:5rem;opacity:.76;transform:translateY(.8rem);transition:opacity .36s ease,transform .36s ease}.novel-scene.is-active{opacity:1;transform:translateY(0)}.novel-scene__image{position:relative;margin:0;overflow:hidden;border-radius:var(--radius);background:linear-gradient(135deg,#0d5d5f1f,#b9893e1f),var(--color-bg-soft);box-shadow:var(--shadow-soft)}.novel-scene__image img{width:100%;height:min(58vh,25rem);display:block;object-fit:cover}.novel-scene__image figcaption{position:absolute;left:.65rem;top:.65rem;padding:.25rem .48rem;color:#fff;border-radius:999px;background:#26312f9e;font-size:.7rem;font-weight:600}.novel-scene__body{display:grid;gap:.65rem}.novel-scene__narration,.novel-scene__dialogue{animation:novelFadeUp .52s ease both}.novel-scene__narration{margin:0;padding:.85rem .95rem;color:#3f3931;border:1px solid rgba(185,137,62,.24);border-radius:var(--radius);background:#fffdf8e6;font-family:var(--font-serif);line-height:1.9}.novel-scene__dialogue{display:grid;grid-template-columns:3.1rem 1fr;gap:.65rem;align-items:start}.novel-scene__dialogue>img{width:3.1rem;height:3.65rem;padding:.12rem .18rem 0;background:radial-gradient(circle at 50% 76%,rgba(13,93,95,.15),transparent 62%),linear-gradient(180deg,#fffdf8fa,#fff3df);border:2px solid rgba(255,253,248,.96);border-radius:14px;object-fit:contain;object-position:center bottom;box-shadow:var(--shadow-soft);filter:drop-shadow(0 .35rem .38rem rgba(42,33,20,.1))}.novel-scene__dialogue>div{padding:.85rem .95rem;border:1px solid rgba(13,93,95,.18);border-radius:var(--radius);background:#fffdf8f0}.novel-scene__speaker strong{color:var(--color-green)}.novel-scene__dialogue p{margin:.35rem 0 0;line-height:1.85}.novel-reader__after{padding:1rem;border-top:1px solid rgba(185,137,62,.18)}.novel-reactions{display:flex;gap:.4rem;overflow-x:auto}.novel-controls{position:fixed;left:50%;bottom:.7rem;z-index:40;width:min(calc(100% - 1.5rem),420px);display:grid;grid-template-columns:2.6rem 1fr auto 2.6rem;gap:.4rem;align-items:center;padding:.45rem;border:1px solid rgba(185,137,62,.26);border-radius:999px;background:#fffdf8eb;box-shadow:var(--shadow-card);backdrop-filter:blur(16px);transform:translate(-50%)}.novel-controls span{color:var(--color-muted);font-size:.8rem;font-weight:600}.novel-controls button:disabled{cursor:default;opacity:.42}.novel-log,.novel-album-modal{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:1rem;background:#1c1f1d6b}.novel-log__panel,.novel-album-modal>div{width:min(100%,430px);max-height:min(86vh,760px);overflow:auto;padding:1rem;border-radius:var(--radius);background:var(--color-paper);box-shadow:var(--shadow-card)}.novel-log header{position:sticky;top:0;display:flex;justify-content:space-between;gap:1rem;padding-bottom:.75rem;background:var(--color-paper)}.novel-log header p,.novel-log header h2{margin:0}.novel-log__list{display:grid;gap:.6rem}.novel-log__list article,.saved-novel-line{display:grid;gap:.35rem;padding:.75rem;border-radius:var(--radius);background:#0d5d5f0f}.novel-log__list span,.saved-novel-line span{color:var(--color-green);font-weight:600}.novel-log__list p,.saved-novel-line p{margin:0}.novel-complete-card{display:grid;gap:.8rem;margin:.85rem;padding:1rem}.novel-complete-card>span{color:var(--color-muted)}.novel-complete-card__rewards,.novel-complete-card__actions{display:flex;flex-wrap:wrap;gap:.45rem}.novel-complete-card__rewards strong{padding:.32rem .58rem;color:var(--color-green);border-radius:999px;background:#0d5d5f14;font-size:.78rem}.novel-complete-card__arc,.novel-complete-card__affinity,.novel-complete-card__memo,.novel-complete-card__articles,.novel-complete-card__next{display:grid;gap:.7rem;padding:.9rem;border:1px solid rgba(13,93,95,.12);border-radius:var(--radius);background:#fffcf5b8}.novel-complete-card__arc p,.novel-complete-card__affinity>p,.novel-complete-card__memo p,.novel-complete-card__articles p{margin:0;color:var(--color-green);font-weight:700}.novel-complete-card__memory{position:relative;margin:0;overflow:hidden;border-radius:var(--radius);background:var(--color-bg-soft)}.novel-complete-card__memory img{width:100%;height:clamp(13rem,44vw,20rem);display:block;object-fit:cover}.novel-complete-card__memory figcaption{position:absolute;inset:auto 0 0;display:grid;gap:.18rem;padding:1rem;color:#fff;background:linear-gradient(0deg,rgba(28,31,29,.78),transparent)}.novel-complete-card__memory span,.novel-complete-card__next span{font-size:.74rem;font-weight:700}.novel-complete-card__memory strong,.novel-complete-card__next strong{font-family:var(--font-serif);font-size:1.12rem;line-height:1.45}.novel-complete-card__memory small,.novel-complete-card__next small{font-size:.84rem;line-height:1.6}.novel-complete-card__afterword{margin:0;padding:.9rem 1rem;border-radius:var(--radius);background:#b9893e14;border:0}.novel-complete-card__afterword p{margin:0;color:var(--color-ink);font-family:var(--font-serif);line-height:1.75}.novel-complete-card__afterword cite{display:block;margin-top:.45rem;color:var(--color-green);font-size:.82rem;font-style:normal;font-weight:700}.novel-complete-card__affinity article{display:grid;gap:.18rem;padding:.65rem .7rem;border-radius:var(--radius);background:#0d5d5f0f}.novel-complete-card__affinity article span{color:var(--color-gold);font-size:.76rem;font-weight:700}.novel-complete-card__affinity article strong{color:var(--color-ink);line-height:1.5}.novel-complete-card__affinity article small{color:var(--color-muted);line-height:1.65}.novel-complete-card__arc strong{color:var(--color-ink);font-family:var(--font-serif);font-size:1.05rem;line-height:1.65}.novel-complete-card__arc span{color:var(--color-muted);line-height:1.65}.novel-complete-card__memo label{display:grid;gap:.45rem;color:var(--color-ink);font-size:.92rem;line-height:1.7}.novel-complete-card__memo textarea{width:100%;min-height:7rem;padding:.75rem .85rem;border:1px solid rgba(13,93,95,.18);border-radius:var(--radius);color:var(--color-ink);background:#fff;font:inherit;resize:vertical}.novel-complete-card__memo div{display:flex;flex-wrap:wrap;gap:.45rem}.novel-complete-card__memo small{color:var(--color-muted)}.novel-complete-card__articles a{display:grid;gap:.18rem;color:inherit;text-decoration:none}.novel-complete-card__next{color:inherit;text-decoration:none;background:linear-gradient(135deg,#0d5d5f1a,#b9893e14),#fffcf5d1}.novel-complete-card__next span{color:var(--color-gold)}.novel-complete-card__next strong{color:var(--color-green)}.novel-complete-card__next small{color:var(--color-muted)}.novel-complete-card__articles a strong{color:var(--color-ink)}.novel-complete-card__articles a span{color:var(--color-muted);font-size:.88rem;line-height:1.65}.novel-toast{position:fixed;left:50%;bottom:4.4rem;z-index:80;width:min(calc(100% - 2rem),420px);display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .9rem;color:#fff;border-radius:var(--radius);background:#0d5d5ff5;box-shadow:var(--shadow-card);transform:translate(-50%);font-weight:600}.novel-toast--affinity{bottom:7.4rem;background:#b9893ef5}.novel-toast button{color:#fff;border:0;background:transparent;cursor:pointer;font-weight:600}.my-novel-shelf,.novel-album{display:grid;gap:1rem}.my-novel-panel{display:grid;gap:.75rem;padding:1rem}.my-novel-panel h2{margin:0;font-family:var(--font-serif);font-size:1.25rem}.my-novel-row{display:grid;gap:.2rem;padding:.75rem;border-radius:var(--radius);background:#0d5d5f0f}.my-novel-row span,.saved-novel-line small{color:var(--color-muted);font-size:.78rem;font-weight:600}.my-novel-row strong{font-size:.92rem}.saved-novel-line div{display:flex;flex-wrap:wrap;gap:.45rem}.novel-affinity-row{display:grid;gap:.35rem;padding:.75rem;border-radius:var(--radius);background:#0d5d5f0d}.novel-affinity-row div{display:flex;justify-content:space-between}.novel-affinity-row meter{width:100%;height:.55rem}.novel-affinity-row ul{display:grid;gap:.25rem;margin:.25rem 0 0;padding-left:1rem;color:var(--color-muted);font-size:.82rem;line-height:1.6}.novel-affinity-row small{color:var(--color-muted);line-height:1.55}.novel-album__grid{display:grid;gap:.75rem}.novel-album-card{overflow:hidden}.novel-album-card button{position:relative;width:100%;display:block;padding:0;border:0;background:var(--color-bg-soft);cursor:pointer}.novel-album-card button:disabled{cursor:default}.novel-album-card img{width:100%;height:12.5rem;display:block;object-fit:cover}.novel-album-card.is-locked img{filter:grayscale(.85) brightness(.56)}.novel-album-card button span{position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:#26312f66;font-weight:600}.novel-album-card>div{display:grid;gap:.15rem;padding:.75rem}.novel-album-card small{color:var(--color-muted);font-weight:600}.novel-album-modal img{width:100%;max-height:58vh;object-fit:cover;border-radius:var(--radius)}@keyframes novelFadeUp{0%{opacity:0;transform:translateY(.6rem)}to{opacity:1;transform:translateY(0)}}@media(min-width:900px){.novel-shell--reader{width:min(100%,760px)}.novel-reader__scenes{padding-inline:1.15rem}.novel-scene{grid-template-columns:minmax(0,1.05fr) minmax(20rem,.95fr);gap:1rem}.novel-scene__image{position:sticky;top:5rem}.novel-scene__body{align-self:center}}@media(max-width:520px){.novel-page{padding-inline:.75rem}.novel-shelf__stats,.my-novel-shelf__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.novel-card__action{align-items:stretch;flex-direction:column}.novel-scene{min-height:86vh}}.atelier-novel-index,.atelier-comic-page{--comic-ink: #21312b;--comic-muted: #6e776f;--comic-paper: #fffaf0;--comic-paper-2: #f6eddc;--comic-green: #163f35;--comic-green-2: #22594b;--comic-gold: #d6b36a;--comic-coral: #d98672;--comic-line: rgba(34, 49, 43, .16);--comic-shadow: 0 22px 70px rgba(33, 49, 43, .14);color:var(--comic-ink)}.novel-comic-template{background:radial-gradient(circle at 14% 4%,rgba(214,179,106,.22),transparent 34rem),radial-gradient(circle at 92% 18%,rgba(34,89,75,.13),transparent 30rem),linear-gradient(180deg,#fbf4e7,#f3ead8 45%,#efe2ce)}.atelier-novel-index{width:min(100% - 2rem,980px);margin:0 auto;padding:clamp(1.4rem,4vw,3rem) 0 clamp(4rem,8vw,7rem)}.atelier-comic-page{min-height:100svh;background:radial-gradient(circle at 14% 4%,rgba(214,179,106,.22),transparent 34rem),radial-gradient(circle at 92% 18%,rgba(34,89,75,.13),transparent 30rem),linear-gradient(180deg,#fbf4e7,#f3ead8 45%,#efe2ce);line-height:1.85}.atelier-comic-hero{position:relative;min-height:96svh;display:grid;place-items:center;overflow:hidden;padding:64px 20px 110px}.atelier-comic-hero--index{min-height:min(76svh,46rem);padding-inline:0}.atelier-comic-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,63,53,.08),transparent 35%,rgba(255,250,240,.5));pointer-events:none}.atelier-comic-hero__card{position:relative;width:min(880px,100%);overflow:hidden;padding:clamp(1.75rem,6vw,4rem);background:linear-gradient(135deg,#fffaf0e6,#f6eddcdb);border:1px solid rgba(255,255,255,.7);border-radius:clamp(1.6rem,4vw,2.25rem);box-shadow:var(--comic-shadow)}.atelier-comic-hero__card:after{content:"";position:absolute;top:-90px;right:-90px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(34,89,75,.22),transparent 65%);pointer-events:none}.atelier-comic-kicker,.atelier-novel-single-card>div>p:first-child{margin:0;color:var(--comic-green-2);font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.atelier-comic-hero h1{position:relative;z-index:1;max-width:11em;margin:.25em 0 .2em;color:var(--comic-ink);font-family:var(--font-serif);font-size:clamp(2.15rem,5vw,3.5rem);font-weight:700;letter-spacing:.03em;line-height:1.06}.atelier-comic-hero p:not(.atelier-comic-kicker){position:relative;z-index:1;max-width:660px;margin:0;color:#4c5a53;font-size:clamp(.95rem,2vw,1.125rem);line-height:1.85}.atelier-comic-hero p.atelier-comic-hero__subtitle{margin-bottom:.35rem;color:var(--comic-green);font-family:var(--font-serif);font-size:clamp(1.08rem,2.4vw,1.35rem);font-weight:750;letter-spacing:.03em}.atelier-comic-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1.75rem}.atelier-comic-actions>span{color:var(--comic-muted);font-size:.75rem;font-weight:700}.atelier-comic-button{min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;padding:.62rem 1rem;color:var(--comic-green);background:#fffaf0c7;border:1px solid rgba(22,63,53,.2);border-radius:999px;box-shadow:0 8px 18px #21312b12;cursor:pointer;font:inherit;font-size:.9rem;font-weight:750;text-decoration:none}.atelier-comic-button:hover{color:#fffdf7;background:var(--comic-green-2)}.atelier-comic-button--primary{color:#fffdf7;background:var(--comic-green);border-color:transparent}.atelier-comic-episode{padding:30px 16px 120px}.atelier-comic-cut{width:min(880px,100%);min-height:min(760px,88svh);display:flex;align-items:center;margin:0 auto 34px;scroll-margin-top:28px}.atelier-comic-panel{position:relative;width:100%;overflow:hidden;background:#fffaf0d1;border:1px solid rgba(255,255,255,.75);border-radius:28px;box-shadow:var(--comic-shadow)}.atelier-comic-visual{position:relative;min-height:clamp(260px,44svh,430px);display:flex;align-items:flex-end;overflow:hidden;padding:22px}.atelier-comic-visual:before,.atelier-comic-visual:after{content:"";position:absolute;inset:0;pointer-events:none}.atelier-comic-visual:before{z-index:1;background:linear-gradient(180deg,#0000000d,#00000047)}.atelier-comic-visual:after{z-index:2;opacity:.55;background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:42px 42px;mix-blend-mode:soft-light}.atelier-comic-visual--image{min-height:0;aspect-ratio:3 / 2;margin:0;background:#253c36}.atelier-comic-visual--image>img{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--scene-position-desktop, 50% 50%)}.atelier-comic-visual--image:before{background:linear-gradient(180deg,#08100f0a 38%,#08100fad),linear-gradient(90deg,rgba(8,16,15,.08),transparent 28% 72%,rgba(8,16,15,.08))}.atelier-comic-visual--image:after{opacity:.18;background-image:radial-gradient(circle at 20% 15%,rgba(255,255,255,.16),transparent 28%),linear-gradient(120deg,rgba(255,255,255,.05),transparent 38%);mix-blend-mode:soft-light}.atelier-comic-scene-title{position:relative;z-index:3;display:grid;gap:.2rem;max-width:min(36rem,calc(100% - 2rem));color:#fffdf7;text-shadow:0 2px 18px rgba(0,0,0,.68)}.atelier-comic-scene-title span{font-size:.72rem;font-weight:750;letter-spacing:.08em}.atelier-comic-scene-title strong{font-family:var(--font-serif);font-size:clamp(1.2rem,2.4vw,1.65rem);line-height:1.35}.atelier-comic-bg-rain{background:radial-gradient(circle at 72% 22%,#fff1b7 0 8%,transparent 18%),linear-gradient(135deg,#1d3c4a,#263543 52%,#564d45)}.atelier-comic-bg-conveni{background:radial-gradient(circle at 72% 35%,#fff7c5 0 18%,transparent 33%),linear-gradient(135deg,#263947,#42515a 48%,#d7ac64 49%,#f2df9e 58%,#39494a 59%)}.atelier-comic-bg-receipt{background:radial-gradient(circle at 50% 55%,#fffdf4 0 20%,transparent 21%),linear-gradient(145deg,#5e5747,#c2aa7f 50%,#3c4b4a)}.atelier-comic-bg-wind{background:linear-gradient(135deg,#40565dd1,#675f55d1),repeating-linear-gradient(-12deg,transparent 0 18px,rgba(255,255,255,.3) 19px 21px)}.atelier-comic-bg-street{background:radial-gradient(circle at 20% 75%,#ffeeb1 0 8%,transparent 22%),linear-gradient(145deg,#203845,#3d4d4c 45%,#6b5949)}.atelier-comic-bg-door{background:radial-gradient(circle at 50% 100%,rgba(255,227,148,.78),transparent 42%),linear-gradient(90deg,#263832 0 20%,#7a5f3b 21% 77%,#243732 78%)}.atelier-comic-bg-atelier{background:radial-gradient(circle at 40% 70%,#fff0ba 0 20%,transparent 45%),linear-gradient(135deg,#6c5639,#c19b61 43%,#284239)}.atelier-comic-bg-desk{background:radial-gradient(circle at 50% 54%,#fff7cf 0 17%,transparent 38%),linear-gradient(145deg,#81633c,#d6b36a 42%,#233f36)}.atelier-comic-bg-shelf{background:repeating-linear-gradient(90deg,#4a3727 0 24px,#6a4d32 24px 28px),linear-gradient(145deg,#2c3f3a,#8a6940)}.atelier-comic-bg-laptop{background:radial-gradient(circle at 56% 54%,#b9fff4 0 14%,transparent 33%),linear-gradient(145deg,#263d44,#214a43 50%,#8a6b43)}.atelier-comic-bg-leak{background:radial-gradient(circle at 48% 8%,#bdedff 0 4%,transparent 10%),linear-gradient(145deg,#5d5749,#b38f55 47%,#274137)}.atelier-comic-bg-chaos{background:radial-gradient(circle at 35% 50%,#ffe9a3 0 19%,transparent 35%),radial-gradient(circle at 73% 40%,#d5fff4 0 12%,transparent 28%),linear-gradient(145deg,#6d5435,#234338)}.atelier-comic-bg-paper{background:radial-gradient(circle at 50% 58%,#fff7d4 0 28%,transparent 30%),linear-gradient(145deg,#4c3b2b,#b48954 50%,#253d35)}.atelier-comic-bg-lamp{background:radial-gradient(circle at 55% 42%,#fff5bd 0 24%,transparent 46%),linear-gradient(145deg,#2f403a,#6b5639)}.atelier-comic-bg-card{background:radial-gradient(circle at 50% 55%,#fff7cf 0 24%,transparent 42%),linear-gradient(145deg,#6f5536,#254035)}.atelier-comic-bg-quiet{background:linear-gradient(145deg,#4a574f,#d7c18c 45%,#2f4037)}.atelier-comic-bg-board{background:radial-gradient(circle at 50% 50%,#f6d78f 0 16%,transparent 40%),linear-gradient(145deg,#75583a,#315043)}.atelier-comic-cut-num{position:absolute;z-index:3;top:18px;left:18px;color:#ffffffdb;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-shadow:0 2px 10px rgba(0,0,0,.35)}.atelier-comic-visual-caption{position:relative;z-index:3;max-width:760px;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.45)}.atelier-comic-visual-caption p{max-width:640px;margin:0;font-size:.82rem;line-height:1.75;opacity:.92}.atelier-comic-body{padding:clamp(1.25rem,4vw,2.25rem);background:linear-gradient(180deg,#fffaf0f2,#fffdf7eb)}.atelier-comic-beat+.atelier-comic-beat{margin-top:clamp(1.15rem,3vw,1.75rem)}.atelier-comic-narration{max-width:42rem;margin:0 0 1rem;color:#46564f;font-size:clamp(.95rem,2vw,1.02rem);line-height:1.9}.atelier-comic-overlay-text{margin:0 0 1.1rem;padding:1.25rem 1.4rem;color:#293a32;background:#fffdf8;border:1px solid rgba(22,63,53,.12);border-radius:22px;box-shadow:inset 0 0 0 1px #fff9;font-family:var(--font-serif);font-size:clamp(1.05rem,2.4vw,1.35rem);line-height:1.65}.atelier-comic-dialogues{display:grid;gap:.8rem;max-width:42rem}.atelier-comic-dialogue-line{align-items:center}.atelier-comic-dialogue-line .dialogue-line__bubble{border-color:color-mix(in srgb,var(--character-color) 24%,rgba(13,93,95,.2))}.atelier-comic-dialogue-line .dialogue-line__bubble:before{border-color:color-mix(in srgb,var(--character-color) 24%,rgba(13,93,95,.2))}.atelier-comic-avatar{width:3.75rem;height:3.75rem}.atelier-comic-avatar>img{width:100%;height:100%;object-fit:contain;object-position:center top;transform-origin:50% 0}.atelier-comic-avatar[data-character=kotoha]>img{transform:scale(1.7)}.atelier-comic-avatar[data-character=souma]>img{transform:scale(1.16)}.atelier-comic-avatar[data-character=mira]>img{transform:scale(1.83)}.atelier-comic-avatar[data-character=akito]>img{transform:scale(1.28)}.atelier-comic-unknown-line{max-width:34rem;margin:0 0 .9rem 4.6rem;padding:.8rem 1rem;color:#293a32;background:#fffdf8;border:1px solid rgba(22,63,53,.18);border-radius:18px;font-size:.98rem;line-height:1.75}.atelier-comic-sound{margin:0 0 .9rem;color:#59645f;font-family:var(--font-serif);font-size:.9rem;font-style:italic;letter-spacing:.08em}.atelier-comic-meta{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-top:1.4rem;padding-top:1rem;color:var(--comic-muted);border-top:1px dashed rgba(22,63,53,.18);font-size:.75rem;line-height:1.6}.atelier-comic-meta span:first-child{color:#4b5a52;font-weight:800}.atelier-comic-progress-line{position:fixed;z-index:90;top:0;left:0;width:100%;height:3px;background:#163f3517}.atelier-comic-progress-bar{width:0;height:100%;background:linear-gradient(90deg,var(--comic-green, #163f35),var(--comic-gold, #d6b36a));transition:width .2s ease}.atelier-comic-nav{position:fixed;z-index:80;left:50%;bottom:14px;display:flex;align-items:center;gap:.38rem;max-width:calc(100vw - 1.5rem);padding:.38rem;background:#fffaf0c7;border:1px solid rgba(22,63,53,.13);border-radius:999px;box-shadow:0 12px 36px #21312b26;opacity:.74;transform:translate(-50%);transition:opacity .18s ease;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.atelier-comic-nav:hover,.atelier-comic-nav:focus-within{opacity:1}.atelier-comic-nav button{min-height:2.25rem;padding:.5rem .62rem;color:var(--comic-green);background:transparent;border:0;border-radius:999px;cursor:pointer;font:inherit;font-size:.75rem;font-weight:800;white-space:nowrap}.atelier-comic-nav button:hover{background:#163f3514}.atelier-comic-nav span{min-width:3.4rem;color:var(--comic-green);font-size:.75rem;font-weight:850;text-align:center;white-space:nowrap}.atelier-comic-drawer{position:fixed;z-index:85;right:14px;bottom:70px;display:none;width:min(360px,calc(100vw - 28px));max-height:62svh;overflow:auto;padding:.75rem;background:#fffaf0f5;border:1px solid rgba(22,63,53,.15);border-radius:24px;box-shadow:var(--comic-shadow)}.atelier-comic-drawer.is-open{display:block}.atelier-comic-drawer h2{margin:.5rem .5rem .62rem;color:var(--comic-ink);font-size:.95rem}.atelier-comic-cut-list{display:grid;gap:.25rem}.atelier-comic-cut-list button{width:100%;padding:.55rem .62rem;color:#34453e;background:transparent;border:0;border-radius:14px;cursor:pointer;font:inherit;font-size:.86rem;font-weight:700;line-height:1.5;text-align:left}.atelier-comic-cut-list button:hover{background:#163f3514}.atelier-novel-single-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.25rem;align-items:end;margin-top:1.4rem;padding:clamp(1.25rem,3vw,2rem);background:#fffaf0e0;border:1px solid rgba(255,255,255,.75);border-radius:24px;box-shadow:var(--comic-shadow)}.atelier-novel-single-card h2{margin:.3rem 0 0;color:var(--comic-ink);font-size:clamp(1.35rem,3vw,2rem);line-height:1.35}.atelier-novel-single-card p:not(:first-child){max-width:48rem;margin:.7rem 0 0;color:#4c5a53;font-weight:600;line-height:1.8}@media(max-width:900px){.atelier-comic-episode{padding-bottom:160px}.atelier-comic-nav{bottom:6.25rem}.atelier-comic-drawer{bottom:10.8rem}}@media(max-width:760px){.atelier-novel-index{width:min(100% - 1rem,980px);padding-top:1rem}.atelier-comic-hero{min-height:auto;padding:26px 14px 3rem}.atelier-comic-hero__card{padding:1.75rem 1.25rem;border-radius:26px}.atelier-comic-hero h1{max-width:none;font-size:clamp(1.7rem,7.2vw,2.15rem);line-height:1.28;overflow-wrap:anywhere}.atelier-comic-episode{padding:16px 10px 160px}.atelier-comic-cut{min-height:auto;margin-bottom:22px;scroll-margin-top:var(--header-scroll-offset, 72px)}.atelier-comic-panel{border-radius:22px}.atelier-comic-visual{min-height:280px;padding:16px}.atelier-comic-visual--image{min-height:0;aspect-ratio:var(--scene-mobile-ratio, 4 / 5)}.atelier-comic-visual--image>img{object-position:var(--scene-position-mobile, 50% 50%)}.atelier-comic-visual-caption p{font-size:.75rem}.atelier-comic-body{padding:1rem}.atelier-comic-overlay-text{padding:.85rem .9rem;font-size:1rem;line-height:1.75}.atelier-comic-scene-title strong{font-size:1.15rem}.atelier-comic-page .season-observation-note h2,.atelier-comic-page .atelier-comic-drawer h2{font-size:clamp(1.05rem,4.8vw,1.3rem)}.atelier-comic-dialogue-line .dialogue-line__bubble{font-size:.9rem}.atelier-comic-unknown-line{margin-left:0;font-size:.9rem}.atelier-comic-nav{bottom:6.25rem;opacity:.84}.atelier-comic-drawer{bottom:10.8rem}.atelier-comic-nav button{padding-inline:.5rem;font-size:.68rem}.atelier-comic-nav__space{display:none}.atelier-novel-single-card{grid-template-columns:1fr;align-items:start}}@media(prefers-reduced-motion:reduce){.atelier-comic-progress-bar{transition:none}}
