:root{--world-color:#8ac7d0}
body{padding-bottom:env(safe-area-inset-bottom)}
header{height:auto;min-height:86px;gap:20px;padding-top:14px;padding-bottom:14px}
header .brand{flex-shrink:0}.brand small{font-size:9px;letter-spacing:1px}
nav{flex-wrap:wrap;justify-content:flex-end}nav button{white-space:nowrap}
main:focus{outline:none}button{touch-action:manipulation}
.season-word{display:block;font-size:.48em;letter-spacing:1px;color:var(--gold);margin-top:15px}
.season-hero .hero-copy{max-width:620px}.season-hero p strong{color:#f4e0bd}.season-hero .hero-actions{flex-wrap:wrap}
.hero-actions{flex-wrap:wrap}.hero-actions button{line-height:1.6}.text-button{border:0;padding-left:0;color:var(--gold)}
.hero:before{background-image:linear-gradient(90deg,#0b1420f5 0%,#0b1420c0 38%,#0b142020 78%),var(--scene-art,url('assets/webtoon-office.png'))}
.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:25px}.section-heading h1,.section-heading h2{font-family:'Noto Serif KR',serif;line-height:1.5}.section-heading h1{font-size:34px;margin:10px 0}.section-heading h2{font-size:28px}
.world-preview{padding-top:36px;padding-bottom:70px}.world-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.world-card{isolation:isolate;position:relative;overflow:hidden;min-height:310px;text-align:left;padding:24px;display:flex;flex-direction:column;align-items:start;justify-content:end;background:#152332}
.world-card:before,.world-banner:before{content:'';position:absolute;inset:0;background-image:linear-gradient(0deg,#0b1420fa,#0b142040),var(--card-image);background-size:cover;background-position:70% center;z-index:-1}
.world-card .tag{font-size:10px;margin-bottom:auto}.world-card h3{font-size:22px;line-height:1.5;margin:25px 0 8px}.world-card p{font-size:12px;line-height:1.8;color:#c5d3da}.world-card .small{color:var(--gold)}
.hub{padding-top:45px;padding-bottom:60px}.world-sections{display:grid;gap:36px;margin-top:25px}.world-section{scroll-margin-top:25px}
.world-banner{isolation:isolate;position:relative;overflow:hidden;border-radius:10px;padding:30px;min-height:200px;display:flex;flex-direction:column;justify-content:end}.world-banner:before{background-image:linear-gradient(90deg,#0b1420f0,#0b142040),var(--card-image);background-position:center 35%}.world-banner h2{font-size:28px;margin:12px 0}.world-banner p{color:#cfdae0;max-width:610px;line-height:1.9;font-size:13px}
.episode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.episode-card{padding:23px;text-align:left;background:#142331;min-height:185px}.episode-card h3{font-size:18px;line-height:1.6;margin:13px 0}.episode-card p{color:#b8c9d3;line-height:1.7;font-size:12px}.episode-card.completed{border-color:#8ac7d055}.episode-card:disabled{opacity:.55}
.illustrated-panel{position:relative;isolation:isolate;overflow:hidden}.illustrated-panel:before{content:'';position:absolute;inset:0;background-image:linear-gradient(140deg,#101e2af7,#101e2aeb),var(--scene-art);background-size:cover;background-position:center;z-index:-1}
.story-panel{max-width:920px;margin:42px auto}.story-panel h1{word-break:keep-all;font-size:34px}.story-panel p{font-size:15px;line-height:2}.story-panel .role-label{display:block;margin:0 0 18px}.story-panel .tag{font-size:11px;letter-spacing:1px}.story-panel .world-intro{color:var(--world-color);font-size:13px;border-left:2px solid var(--world-color);padding-left:15px}.story-panel .quote{margin:25px 0;line-height:2}
.scene-list{display:grid;gap:8px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#b9ccd5;font-size:12px;line-height:1.8}
.scene-progress{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.scene-progress span{font-size:11px;padding:8px 12px;border:1px solid var(--line);border-radius:30px;color:#879fac}.scene-progress .current{color:var(--gold);border-color:#e0b77d77;background:#e0b77d0a}.scene-progress .done{color:var(--world-color)}
.arena:before{background-image:linear-gradient(90deg,#0c1723de,#0c172330 55%,#0c1723cc),var(--scene-art);background-position:center 20%}.arena h2{font-size:29px;word-break:keep-all;line-height:1.5}.arena .stage-copy{max-width:650px}.arena p{font-size:13px;line-height:1.9;max-width:500px}
.bar i{background:linear-gradient(90deg,var(--world-color),#dfba82)}.stats .stat{min-width:48px}.stat strong{font-size:23px}.dialogue{font-size:14px;line-height:1.9}.dialogue span:last-child{word-break:keep-all;overflow-wrap:anywhere}
.tutorial{padding:17px 22px;margin:20px 0;background:#8ac7d00d;border:1px solid #8ac7d04a;border-radius:7px}.tutorial strong{color:var(--world-color)}.tutorial p{font-size:12px;line-height:1.9;color:#c5d3db}.tutorial button{font-size:12px;padding:7px 12px}
.card{min-height:130px}.card small{font-size:11px;line-height:1.8;display:block;overflow-wrap:anywhere}.card strong{font-size:14px;margin:9px 0}.cards.skills .card{min-height:120px}
.play .actionbar{padding-bottom:12px}.play .actionbar p{max-width:650px}.play .actionbar button{min-height:56px}
dialog{max-width:760px;max-height:min(90dvh,950px);padding:30px;overscroll-behavior:contain}dialog h2{line-height:1.5}dialog p{font-size:14px;line-height:1.9}dialog .eyebrow{letter-spacing:2px;font-size:10px}.dialog-close{display:block}.spoken{border-left:2px solid var(--gold);padding-left:18px;margin:22px 0}.spoken p{margin:7px 0 18px}.spoken .speaker{font-size:12px}.room-reaction{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.room-reaction p{color:#d6dfe3}.result-notes{padding-left:20px;color:#a7bec9;font-size:12px;line-height:1.9}.result-notes li{margin:8px 0}.manual-steps{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:25px 0}.manual-steps section{padding:18px;background:#0b142055;border-radius:6px}.manual-steps b{color:var(--gold)}.manual-steps p{font-size:13px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.review-grid button{margin:0}.story-choices button{line-height:1.9}
.ad-slot{margin:30px auto;max-width:970px;min-height:60px}.ad-slot[hidden]{display:none}
.log-list .log{font-size:12px}#toast{max-width:90vw;text-align:center;width:max-content;z-index:20;font-size:12px;line-height:1.7}
@media(max-width:1100px){.world-grid{grid-template-columns:repeat(2,1fr)}.world-card{min-height:280px}.choices{grid-template-columns:1fr}.card{min-height:120px}.cards.skills{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){header{padding:12px 5%;flex-direction:column;align-items:start;gap:10px}.brand span{font-size:20px}.brand small{font-size:8px}nav{width:100%;justify-content:space-between;gap:2px}nav button{font-size:11px;padding:9px 7px;background:#ffffff05}.hero{min-height:760px;padding-top:55px;align-items:start}.season-hero .hero-copy{width:100%}.hero h1{font-size:60px;letter-spacing:-3px}.hero:before{background-position:65% center;opacity:.68}.hero-actions{gap:9px}.hero-actions button{padding:13px 18px;font-size:12px}.season-hero .quote{font-size:12px;line-height:2}.world-grid{gap:10px}.world-card{min-height:280px;padding:18px}.world-card h3{font-size:20px}.world-card p{font-size:11px}.section-heading{align-items:start;flex-direction:column;gap:5px}.section-heading h1{font-size:29px}.world-banner{padding:24px}.world-banner h2{font-size:24px}.episode-grid{grid-template-columns:1fr}.episode-card{min-height:145px}.chapter-top{flex-direction:column;align-items:stretch;gap:12px}.stats{width:100%;justify-content:space-between}.chapter-top h1{font-size:25px;word-break:keep-all}.scene-progress{gap:5px}.scene-progress span{font-size:10px;padding:7px 9px;max-width:100%;overflow-wrap:anywhere}.arena{padding:22px;min-height:480px}.arena h2{font-size:27px}.enemy{padding:18px}.dialogue{gap:12px;padding:17px;flex-direction:column}.dialogue .speaker{font-size:12px}.story-panel{margin:25px 5%;padding:26px}.story-panel h1{font-size:29px}.story-panel p{font-size:14px}.manual-steps{grid-template-columns:1fr}.manual-steps section{padding:14px}.actionbar{align-items:stretch;flex-direction:column}.cards.skills{grid-template-columns:repeat(2,1fr)}.card{padding:14px;min-height:150px}.card small{font-size:11px}.cards.skills .card{min-height:133px}.card .row .small{font-size:10px}dialog{padding:23px;max-height:88dvh}.result-notes{font-size:12px}.story-panel .tag{max-width:100%;line-height:1.8;white-space:normal}.story-panel .hero-actions{flex-direction:column}.world-card .tag{padding:5px 8px}.world-card:before{background-position:65% center}}
@media(max-width:370px){.world-grid{grid-template-columns:1fr}.hero h1{font-size:52px}.hero-actions{flex-direction:column}.cards{grid-template-columns:1fr}.stats .stat{min-width:40px}.stat strong{font-size:20px}nav button{padding:8px 5px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
