:root{--ink:#153941;--muted:#526967;--line:#d9e7e4;--cream:#f7f6ee;--teal:#067c75;--accent:#ffd47a;--white:#fff}*{box-sizing:border-box}body{margin:0;background:linear-gradient(120deg,#dcefe9,#f6f4e9 65%,#dce4dc);font-family:system-ui,-apple-system,'Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;color:var(--ink);min-height:100vh}button{font:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:wait}.shell{max-width:1050px;margin:auto;padding:18px 22px 40px}.nav{display:flex;justify-content:space-between;align-items:center;padding:12px 0 20px;gap:10px}.brand{font-size:22px;font-weight:900;letter-spacing:-1px}.brand span{color:var(--teal)}.nav-right{display:flex;gap:8px;align-items:center}.small{font-size:12px;color:var(--muted)}.pill{background:#d5ebe5;border-radius:100px;padding:8px 13px;font-weight:700;font-size:12px}.btn{background:var(--teal);color:white;border:0;padding:15px 22px;border-radius:14px;font-weight:800;box-shadow:0 6px 0 #075b56;transition:transform .1s}.btn:active{transform:translateY(3px);box-shadow:0 3px 0 #075b56}.btn.secondary{background:white;color:var(--ink);border:1px solid var(--line);box-shadow:none}.btn.tiny{padding:9px 12px;font-size:12px;box-shadow:none}.hero{background:#143d43;color:white;border-radius:28px;min-height:300px;overflow:hidden;display:grid;grid-template-columns:1.1fr 1fr;box-shadow:0 18px 50px #224b4a20}.hero-copy{padding:38px}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:800;color:#9dd4c8}.hero h1{font-size:clamp(30px,4.2vw,52px);line-height:1.3;margin:12px 0}.hero p{line-height:1.9;color:#c5e0dc}.world{position:relative;min-height:280px;background:radial-gradient(circle at 55% 40%,#3b8580,transparent 58%),linear-gradient(145deg,#194f57,#17373c);display:flex;align-items:flex-end;justify-content:center;padding:25px}.scene-office{width:93%;height:170px;border-radius:22px;background:linear-gradient(#d3e8d6 0 58%,#c69c71 58%);box-shadow:inset 0 0 0 8px #ffffff26,0 18px 25px #0c262a50;position:relative;transform:perspective(500px) rotateX(7deg)}.window{position:absolute;left:10%;right:10%;top:12%;height:34%;background:linear-gradient(145deg,#8fc0b8,#e8eee2);border:7px solid #f6f0df;border-radius:8px}.desk{position:absolute;left:17%;right:17%;bottom:13%;height:22%;background:#9d6d50;border-radius:6px 6px 16px 16px;box-shadow:0 10px 0 #6d483d}.computer{position:absolute;left:40%;width:20%;bottom:35%;height:22%;background:#295763;border:7px solid #e9ede7;border-radius:9px}.plant{position:absolute;bottom:20%;right:10%;font-size:40px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.stat{background:white;border:1px solid #dbe7e2;border-radius:17px;padding:17px}.stat b{display:block;font-size:24px;margin-top:5px}.layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.8fr);gap:20px;margin-top:22px}.panel{background:#fff;border:1px solid #dce9e5;border-radius:22px;padding:24px;box-shadow:0 10px 35px #204b4410}.panel h2{margin:3px 0 17px;font-size:23px}.chapter{font-weight:800;color:var(--teal);font-size:12px;letter-spacing:.12em}.dialogue{display:flex;gap:16px;margin:23px 0}.avatar{flex:none;width:105px;height:120px;border-radius:23px;background:linear-gradient(145deg,var(--face),#e7d2b5);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border:5px solid #ffffff;box-shadow:0 4px 18px #234e4820}.avatar:before{content:'';position:absolute;bottom:-35px;width:100px;height:95px;background:#2e6369;border-radius:60% 60% 0 0}.avatar:after{content:'';position:absolute;top:20px;width:52px;height:58px;border-radius:48% 48% 46% 46%;background:#f2caa6;box-shadow:0 -16px 0 -5px #52453c}.avatar span{z-index:1;color:#17323a;font-weight:900;font-size:13px;position:absolute;bottom:11px;background:#fff9;border-radius:20px;padding:2px 7px}.bubble{background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:17px;flex:1;min-width:0}.bubble strong{font-size:12px;color:var(--teal)}.english{font-size:22px;font-weight:800;line-height:1.5;margin:12px 0}.japanese{color:var(--muted);font-size:13px;line-height:1.7}.actions{display:flex;align-items:center;gap:9px;margin-top:12px;flex-wrap:wrap}.choice{width:100%;text-align:left;border-radius:14px;border:1.5px solid var(--line);background:white;padding:15px;margin-top:10px;color:var(--ink);transition:background .15s,border-color .15s}.choice.pointer-hover{background:#edf8f4;border-color:var(--teal)}.choice b{display:block;font-size:16px}.choice span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.aside-list{display:grid;gap:9px}.episode{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;background:#f5f8f5}.episode .num{font-size:12px;color:var(--teal);font-weight:900;min-width:24px}.episode .desc{font-size:13px;font-weight:700;flex:1}.episode.locked{opacity:.5}.episode.current{outline:2px solid #73bdb0;background:#e7f7f0}.episode.complete .num{color:#45886c}.end{text-align:center;padding:30px 10px}.trophy{font-size:54px}.end h2{font-size:28px}.highlight{border-radius:15px;padding:20px;background:#eaf7f1;margin:18px 0}.sharebox{margin-top:16px;padding:16px;background:#143d43;color:white;border-radius:16px}.footer{text-align:center;color:#4d6562;font-size:12px;margin:40px 0}.loading{padding:50px;text-align:center}.error{color:#a33}.progress{height:7px;background:#e6efeb;border-radius:20px;overflow:hidden;margin:18px 0}.progress div{height:100%;background:#57ad9a}.tabs{display:flex;gap:8px;margin-bottom:15px}.tip{font-size:12px;color:#526967;line-height:1.8}.hidden{display:none!important}@media(max-width:750px){.shell{padding:10px 14px 28px}.hero{grid-template-columns:1fr}.hero-copy{padding:28px 24px 18px}.hero h1{font-size:34px}.world{min-height:205px}.layout{grid-template-columns:1fr}.panel{padding:18px}.stats{gap:7px}.stat{padding:13px}.stat b{font-size:19px}.avatar{width:82px;height:100px}.english{font-size:18px}.dialogue{gap:10px}.nav .small{display:none}}

.choice-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px}.choice-row .choice{width:100%;min-width:0}.choice-audio{white-space:nowrap;align-self:center;min-height:44px}
@media(max-width:560px){.choice-row{grid-template-columns:minmax(0,1fr);gap:4px}.choice-audio{justify-self:end;margin-bottom:8px}}

/* The introduction and play are separate screens; no future story list is rendered. */
.intro-shell{max-width:1320px}.intro{position:relative;isolation:isolate;min-height:clamp(620px,76vh,860px);overflow:hidden;border-radius:24px;background:#102d33;color:#fff;box-shadow:0 24px 65px #133a4026;display:flex;align-items:center}.intro-video,.intro-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.intro-video{object-position:62% center}.intro-shade{z-index:-1;background:linear-gradient(90deg,rgba(6,27,33,.94),rgba(6,27,33,.62) 43%,rgba(6,27,33,.06) 82%),linear-gradient(0deg,rgba(6,27,33,.75),transparent 35%)}.intro-content{padding:70px 6%;max-width:750px}.intro h1{font-size:clamp(34px,4.5vw,64px);line-height:1.45;letter-spacing:.025em;margin:25px 0}.intro p{font-size:16px;line-height:2.1;color:#e1eeeb;margin:0 0 32px}.intro-start{background:#ffda8e;color:#17353c;box-shadow:0 5px 0 #bd9653;border-radius:10px;min-width:254px;padding:20px 28px;font-size:18px;display:flex;align-items:center;justify-content:space-between;gap:40px}.intro-start:active{box-shadow:0 2px 0 #bd9653}.intro-note{font-size:12px;color:#c1d3cf;line-height:1.9;margin-top:23px}.intro-bottom{position:absolute;bottom:25px;left:6%;right:4%;display:flex;align-items:center;justify-content:space-between;gap:14px}.intro-bottom>span{font-size:10px;letter-spacing:.17em;color:#c1d3cf}.intro-motion{background:#0b252c80;border:1px solid #c1d3cf66;border-radius:100px;color:#e3efec;padding:10px 15px;min-height:44px;font-size:11px}.intro-error{color:#ffe0ab!important;margin:16px 0!important}.game-stage{max-width:860px;margin:24px auto}.playing-shell{max-width:920px}.game-stage h2:focus{outline:none}button:focus-visible{outline:3px solid #e3ac48;outline-offset:5px}
@media(max-width:750px){.intro{min-height:700px;min-height:calc(100svh - 105px);border-radius:18px;align-items:flex-end}.intro-content{padding:170px 25px 105px;width:100%}.intro-video{object-position:66% center}.intro-shade{background:linear-gradient(0deg,rgba(6,27,33,.98),rgba(6,27,33,.78) 45%,rgba(6,27,33,.06) 100%)}.intro h1{font-size:clamp(30px,7.7vw,48px);margin:18px 0}.intro p{font-size:13px}.intro-start{min-width:0;width:100%;max-width:350px;padding:18px 24px}.intro-bottom{bottom:18px;left:25px;right:25px}.intro-bottom>span{max-width:150px;font-size:8px;line-height:1.8}.intro .eyebrow{font-size:9px;letter-spacing:.12em}.intro-note{font-size:11px}.game-stage{margin-top:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.intro .eyebrow{display:inline-block;background:#dcecdf;color:#143d43;padding:8px 12px;border-radius:5px;font-size:12px;letter-spacing:.05em;font-weight:800}

.character-portrait{flex:none;width:150px;align-self:flex-start;border-radius:20px;overflow:hidden;background:linear-gradient(145deg,#e3eee7,#f9f1df)}.character-portrait img{display:block;width:100%;height:205px;object-fit:contain;object-position:center bottom}.company-strip{display:flex;align-items:center;gap:14px;padding:10px 18px;background:#ffffffa8;border:1px solid var(--line);border-radius:16px}.company-strip img{object-fit:contain}.company-strip>span{margin-left:auto}.decision{border:1px solid #b7dace;border-left:4px solid #238578;background:#eff8f2;border-radius:12px;text-align:left;padding:14px 18px;margin:18px 0;color:#31544d;font-size:13px;line-height:1.75}.decision p{margin:5px 0}.decision strong{font-size:11px;color:#087b75}.decision span{display:inline-block;font-weight:800}.lesson{background:#f7f4e9;border-radius:15px;padding:20px;text-align:left;margin:22px 0}.lesson h3{font-size:17px}.lesson p{font-size:14px;line-height:1.9}.choice-unavailable{color:#98564a!important}.game-stage .end{padding:25px}.game-stage .end>p{font-size:14px;line-height:1.9}
@media(max-width:560px){.character-portrait{width:92px}.character-portrait img{height:145px}.company-strip{padding:8px 12px;gap:9px}.company-strip img{width:45px;height:45px}.company-strip strong{font-size:13px}.company-strip>span{display:none}.decision{padding:12px}.game-stage .end{padding:20px 15px}.english{font-size:18px}.bubble{padding:12px}}
.character-portrait img{object-fit:cover;object-position:center top}

.company-scene{margin:20px 0 14px;position:relative;border-radius:18px;overflow:hidden;background:#21484c}.company-scene img{display:block;width:100%;aspect-ratio:16/5;object-fit:cover}.company-scene figcaption{position:absolute;bottom:0;left:0;right:0;padding:25px 18px 12px;background:linear-gradient(transparent,#0e282de6);color:#fff;font-size:12px;font-weight:700}.lesson-source{display:block;margin-top:12px;color:#087b75;font-size:12px;line-height:1.8;text-underline-offset:3px;min-height:44px;padding:8px 0}.lesson-source:focus-visible{outline:3px solid #e3ac48;outline-offset:3px;border-radius:4px}.note-episode .lesson{margin:18px}@media(max-width:560px){.company-scene img{aspect-ratio:16/7}.company-scene{margin-top:15px}.company-strip>span{display:block;font-size:10px;max-width:96px;text-align:right;line-height:1.6}}

.diagnosis-card{padding:24px;border-radius:18px;background:#153d43;color:#f4f5e9;margin:22px 0;text-align:left}.diagnosis-card .chapter{color:#a6d9c9}.diagnosis-card h3{font-size:25px;margin:12px 0}.diagnosis-card p{font-size:14px;line-height:1.9}.diagnosis-card small{font-size:10px;line-height:1.7;color:#c1d8d1;display:block}

@media(max-width:560px){.stat b{font-size:clamp(16px,4.5vw,19px);white-space:nowrap}.actions .btn.tiny{min-height:44px}}

.finale-card{text-align:left;border:1px solid #dec99a;border-radius:18px;background:linear-gradient(135deg,#faf1d8,#f5f9ef);padding:24px;margin:22px 0}.finale-card h3{font-size:24px;margin:12px 0}.finale-card p,.finale-card li{font-size:14px;line-height:1.9}.finale-card ul{padding-left:22px}.finale-card small{font-size:11px;line-height:1.8;color:#637470;display:block}

.recovery{border:2px solid #946222;background:#fff7e6;color:#42311b;padding:16px;border-radius:14px;margin-bottom:18px}.recovery p{margin-top:0}

.story-illustration{margin:16px auto;max-width:300px;text-align:center}.story-illustration img{width:100%;border-radius:14px;display:block}.story-illustration figcaption{font-size:12px;color:#526764;margin-top:6px}

.note-episode{border:1px solid #cfddda;border-radius:14px;margin:14px 0;overflow:hidden}.note-episode summary{cursor:pointer;min-height:48px;padding:16px;font-weight:700;background:#f1f7f4}.note-episode summary span{display:block;font-size:12px;font-weight:400;margin:6px 0}.note-phrase,.note-conversation{padding:18px;border-top:1px solid #dde6e2}.note-phrase{background:#f7f1e4}.note-conversation .english,.note-phrase .english{font-size:clamp(18px,3vw,22px)}.note-reply{background:#eef6f3;border-left:3px solid #378d7e;padding:14px;margin-top:16px}.save-note{color:#276d60;font-size:14px}.notebook>p{line-height:1.8}.nav-right{flex-wrap:wrap;justify-content:flex-end}@media(max-width:540px){.nav{gap:8px}.nav-right{gap:6px}.nav-right .pill{display:none}.nav-right .btn{font-size:12px;padding:8px;min-height:44px}}

.share-result-card{padding:30px;border-radius:22px;background:linear-gradient(140deg,#173d38,#346c5f);color:#fff;max-width:620px;margin:22px auto;text-align:center}.share-result-card h3{font-size:clamp(25px,5vw,38px);line-height:1.5;margin:12px 0}.share-result-card .chapter,.share-result-card .small{color:#e6ece3}.share-result-card p{line-height:1.8}.share-style{display:inline-block;border:1px solid #f4dc9f;padding:8px 14px;border-radius:99px;color:#ffe5a8}.share-numbers{display:flex;justify-content:center;gap:30px;margin:24px 0}.share-numbers b{font-size:32px}.share-numbers small{display:block;font-size:12px}.share-text{margin:16px 0}.share-text summary{cursor:pointer;padding:12px}.share-text pre{font:inherit;white-space:pre-wrap;line-height:1.8;background:#f2f5f0;border-radius:12px;padding:16px}.share-panel>p{line-height:1.8}

.share-invitation{border:1px solid #dbc88d;border-radius:16px;background:#fff7e3;padding:22px;margin:24px 0}.share-invitation strong{font-size:20px}.share-invitation p{font-size:14px;line-height:1.8}

.learning-goal{font-size:13px;line-height:1.8;color:#47655e;background:#f0f6f2;border-radius:10px;padding:10px 14px;text-align:left}

.share-cash{margin:24px 0;padding:24px 12px;border-top:1px solid #ffffff35;border-bottom:1px solid #ffffff35}.share-cash span,.share-cash small{display:block}.share-cash span{font-size:14px;color:#e6ece3}.share-cash strong{display:block;font-size:clamp(40px,10vw,76px);line-height:1.2;letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:10px 0;color:#ffe3a0;overflow-wrap:anywhere}.share-cash small{font-size:13px;color:#e6ece3}.share-numbers{margin:18px 0}.share-numbers b{font-size:24px}

.share-text summary{min-height:44px}

/* Cash feedback appears only after a confirmed decision, never on resume. */
.cash-effect{position:fixed;z-index:50;top:max(22px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);pointer-events:none;width:min(300px,calc(100vw - 32px));text-align:center;animation:cash-appear 2.6s both}.cash-effect-card{position:relative;border:2px solid #dfac36;border-radius:22px;background:#fffbeb;color:#513a0d;padding:18px 22px;box-shadow:0 12px 38px #173d4133}.cash-effect span,.cash-effect small{display:block;font-size:13px;font-weight:700}.cash-effect strong{display:block;font-size:44px;line-height:1.4;font-weight:900;animation:cash-pop .55s both}.cash-effect small{color:#5d572f;font-size:12px}.cash-out .cash-effect-card{background:#f0f5fc;border-color:#7799bb;color:#284766}.cash-out small{color:#425b73}.cash-out strong{animation:cash-pay .6s both}.cash-burst{position:absolute;inset:35px 50%;width:0;height:0}.cash-burst i{position:absolute;width:11px;height:11px;border-radius:3px;background:#efbb37;--angle:calc(var(--i)*45deg);animation:cash-spark .85s ease-out both;transform:rotate(var(--angle))}.cash-out .cash-burst i{background:#7fa4c4;border-radius:50%;animation:cash-fall .85s ease-out both}
@keyframes cash-appear{0%{opacity:0;transform:translate(-50%,-14px)}12%,82%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-8px)}}
@keyframes cash-pop{0%{transform:scale(.65)}55%{transform:scale(1.16)}78%{transform:scale(.96)}100%{transform:scale(1)}}
@keyframes cash-pay{0%{opacity:0;transform:translateY(-18px)}100%{opacity:1;transform:translateY(0)}}
@keyframes cash-spark{0%{opacity:1;transform:rotate(var(--angle)) translateY(0) scale(.5)}100%{opacity:0;transform:rotate(var(--angle)) translateY(-135px) scale(1)}}
@keyframes cash-fall{0%{opacity:.8;transform:translate(calc((var(--i) - 3.5)*24px),0)}100%{opacity:0;transform:translate(calc((var(--i) - 3.5)*30px),145px)}}
@media(prefers-reduced-motion:reduce){.cash-effect,.cash-effect strong{animation:none}.cash-burst{display:none}}

.speech-mode{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0 14px}.speech-mode button{min-height:44px}.speech-mode [aria-pressed="true"]{background:#e0f2eb;border-color:#067c75;color:#075b56}

.speech-speed{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:10px 0 20px}.speech-speed button{min-height:44px}.speech-speed [aria-pressed="true"]{background:#e0f2eb;border-color:#067c75;color:#075b56}

.payment-summary{background:#fff8e8;border:1px solid #e5d4ad;border-radius:15px;margin:-8px 0 18px;padding:0 15px}.payment-summary summary{min-height:48px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;cursor:pointer;padding:10px 0;font-size:13px}.payment-summary summary strong{font-size:19px;margin-left:auto;color:#654818}.payment-summary ul{list-style:none;padding:0;margin:0;border-top:1px solid #e5d4ad}.payment-summary li{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:9px 0;font-size:13px}.payment-summary li span{min-width:0}.payment-summary li b{white-space:nowrap}.share-payable{margin-top:8px!important}

.payment-summary summary:focus-visible{outline:3px solid #e3ac48;outline-offset:3px;border-radius:8px}
.share-ending{margin:14px auto 0;max-width:32em;line-height:1.7;color:#ffe5a8}
.recovery:focus{outline:3px solid #e3ac48;outline-offset:4px}
.btn.tiny{min-height:44px}
.intro-sound{margin:0 0 24px;max-width:470px}.intro-sound>span{display:block;font-size:13px;font-weight:700;margin-bottom:10px}.intro-sound>div{display:flex;gap:10px}.intro-sound button{min-height:48px;color:#fff;background:#133c43;border-color:#9bbcb5}.intro-sound button[aria-pressed="true"]{background:#ffda8e;border-color:#ffda8e;color:#17353c}.intro-sound small{display:block;margin-top:10px;line-height:1.7;color:#e1eeeb}.reply-preview{background:#e0f2eb;border:2px solid #087e76;border-radius:14px;padding:18px;margin-top:16px}.reply-preview[hidden]{display:none}.reply-preview p{font-size:20px;font-weight:700;line-height:1.6}
.episode-opening{margin:18px 0;padding:15px 18px;border-left:3px solid #b6945e;border-radius:0 10px 10px 0;background:#f8f4eb;color:#29454b}.episode-opening strong{font-size:12px;color:#74603c}.episode-opening p{font-size:14px;line-height:1.85;margin:6px 0 0}

.result-setback{background:linear-gradient(140deg,#614525,#99723b)}.result-facts{margin:20px 0;text-align:left}.result-facts>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 0;border-bottom:1px solid #ffffff30}.result-facts dt{font-size:13px}.result-facts dd{font-size:23px;font-weight:800;margin:0;white-space:nowrap;color:#ffe3a0}.result-preview h3{font-size:23px;line-height:1.6;margin:10px 0}.result-preview-cash strong{font-size:32px;margin-left:8px;color:#174c44}.result-preview .small{font-size:12px}.share-result-card h3{font-size:clamp(23px,4.8vw,34px)}
.share-result-card h3,.result-preview h3{text-wrap:balance}
.cashflow-summary .result-facts dd{color:#174c44;font-size:20px}.cashflow-summary .result-facts>div{padding:8px 0;border-bottom-color:#e5d4ad}.cashflow-summary h3{font-size:16px}.cashflow-summary .result-facts{margin:8px 0 18px}

.month-report{margin:20px 0;padding:20px;border-radius:16px;background:#edf6f2;border:1px solid #c3dacf;text-align:left}.month-report h3{margin:8px 0}.month-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.month-stats>div{background:white;border-radius:12px;padding:14px}.month-stats span{display:block;font-size:12px}.month-stats strong{font-size:clamp(21px,5vw,32px);white-space:nowrap;color:#174c44}.month-report dl{margin:14px 0}.month-report dl>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #c3dacf}.month-report dd{margin:0;white-space:nowrap;font-weight:700}.month-report dt{font-size:13px}

.month-stats strong.negative{color:#a33e2b}

@media(max-width:360px){.month-stats{grid-template-columns:1fr}}

.message-mark{flex:0 0 96px;align-self:flex-start;display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 8px;border:1px solid #b9d2ce;border-radius:16px;background:#eaf3f0;color:#315b55;font-size:12px;font-weight:700}.message-mark svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}.message-label{display:block;margin-bottom:10px;font-size:12px;color:#586e69;line-height:1.7}@media(max-width:560px){.message-mark{flex-basis:64px;padding:12px 4px;font-size:10px}.message-mark svg{width:36px;height:36px}}

.founder-card{margin:22px 0;padding:22px;background:#fff8e7;border:1px solid #ddc994;border-radius:16px;text-align:left}.founder-card h3{margin:10px 0;font-size:22px}.founder-card p{font-size:14px;line-height:1.85}.founder-card .result-facts dd{color:#174c44}.founder-card summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.founder-goals{list-style:none;padding:0}.founder-goals li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e5d9ba;font-size:13px}.founder-goals strong{text-align:right}.founder-card details p{overflow-wrap:anywhere}@media(max-width:560px){.founder-card{padding:16px}.founder-card h3{font-size:20px}.founder-goals li{flex-direction:column;gap:5px}.founder-goals strong{text-align:left}}

.decision-brief{margin:22px 0;padding:18px;border:1px solid #bfd3cc;border-radius:16px;background:#f3f8f3;text-align:left}.decision-brief table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}.decision-brief caption{text-align:left;font-size:18px;font-weight:800;margin:0 0 14px}.decision-brief th,.decision-brief td{padding:9px 6px;border-bottom:1px solid #d8e3dd;vertical-align:middle;overflow-wrap:anywhere}.decision-brief thead th{color:#315b55}.decision-brief th{font-weight:600;text-align:left}.decision-brief td{text-align:right;font-variant-numeric:tabular-nums}.decision-brief .small{margin-bottom:0;font-size:12px;line-height:1.85}.decision-brief .negative{color:#a34b3d}@media(max-width:560px){.decision-brief{padding:12px}.decision-brief table{font-size:12px}.decision-brief th,.decision-brief td{padding:8px 4px}.decision-brief caption{font-size:16px}}

[hidden]{display:none!important}.choice-tools{display:flex;flex-direction:column;gap:8px;justify-content:center;align-items:stretch}.choice-tools .choice-audio{align-self:stretch}.choice-hint{min-height:44px}.choice-translation{border-top:1px dashed #bdd4cc;padding-top:8px}.mission-challenge{margin:18px 0;padding:16px;border:1px solid #d7c892;border-radius:14px;background:#fff9e9}.challenge-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:14px}.challenge-heading>span{font-size:23px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.challenge-meter{height:5px;background:#e9dfc1;border-radius:8px;overflow:hidden;margin-top:12px}.challenge-meter>span{display:block;width:100%;height:100%;background:#b88330}.mission-challenge p{font-size:12px;line-height:1.8}.practice-feedback{background:#edf5ef;padding:12px 16px;border-radius:12px;font-size:13px}.recall-panel{margin:24px 0;text-align:left}.recall-panel h2{font-size:23px}.recall-prompt{font-size:18px;line-height:1.8;font-weight:700;padding:18px;border-radius:12px;background:#f4f0e1}.recall-answer{padding:16px;border-left:3px solid #479987;background:#eff7f2;margin:18px 0}.recall-cue,.recall-rating{padding:12px;background:#edf5ef;border-radius:12px;font-size:14px;line-height:1.8}@media(max-width:560px){.choice-tools{flex-direction:row;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin:4px 0 10px}.choice-tools .choice-audio{margin:0}.mission-challenge{padding:14px}.challenge-heading{font-size:13px}.recall-panel h2{font-size:21px}}

.company-settings{max-width:680px;margin:0 auto}.company-settings form{margin-top:28px}.company-settings label{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin:22px 0 8px;font-weight:700}.company-settings label .small{font-weight:400}.company-settings input{display:block;width:100%;box-sizing:border-box;min-height:52px;border:1px solid #a9c2b8;border-radius:12px;background:#fffef8;padding:13px 15px;font:inherit;font-size:18px;color:#173d38}.company-settings input:focus{outline:3px solid #79ad98;outline-offset:2px}.company-settings #company-error{color:#9b3629}.company-strip>div{min-width:0}.company-strip strong,.company-strip .small,.company-signature{overflow-wrap:anywhere}.company-signature{font-weight:700;font-size:clamp(15px,3.8vw,20px);line-height:1.7;color:#ffe3a0}.company-settings .tip{line-height:1.8}@media(max-width:560px){.company-settings label{align-items:flex-start;flex-wrap:wrap;gap:4px}.company-strip>span{max-width:32%;text-align:right;flex-shrink:0}.nav-right{flex-wrap:wrap}}

.leaderboard-panel h2{font-size:clamp(23px,4vw,30px)}.board-filters{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0 14px}.board-filters label,.board-report label{display:grid;gap:8px;font-size:13px;font-weight:700}.board-filters select,.board-report select{width:100%;min-height:44px;padding:10px;border:1px solid #aec8bd;border-radius:10px;background:#fffef8;font:inherit;color:#173d38}.board-entries{list-style:none;padding:0;margin:24px 0}.board-entries>li{display:grid;grid-template-columns:38px minmax(0,1fr) minmax(110px,auto);gap:12px;padding:20px 12px;border-bottom:1px solid #dbe7df;align-items:start}.board-entries .board-mine{background:#edf6ef;border-radius:12px}.board-rank{font-size:26px;font-weight:800;color:#327b68;text-align:center}.board-company,.board-preview-names,.board-own-row>div{display:grid;gap:7px;min-width:0;overflow-wrap:anywhere}.board-company>strong,.board-preview-names>strong,.board-own-row strong{font-size:18px}.board-company span,.board-company small,.board-own-row span,.board-own-row small{font-size:12px;color:#526d64}.board-score{text-align:right;display:grid;gap:7px}.board-score small{font-size:11px}.board-score strong{font-size:23px;color:#174c44;white-space:nowrap;font-variant-numeric:tabular-nums}.board-you{font-size:11px;color:#236f58}.board-empty{font-size:15px}.board-own,.board-publish{padding:22px;background:#f2f7f0;border:1px solid #cbdcce;border-radius:16px;margin:24px 0}.board-publish{background:#fff9e9;border-color:#dfd1a7}.board-own-row{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:16px 0;border-bottom:1px solid #d5e0d3}.board-own-row>button{flex-shrink:0}.board-publish dl>div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #e4d7b8}.board-publish dt{font-size:13px}.board-publish dd{margin:0;text-align:right;font-weight:800;white-space:nowrap}.board-consent{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 0;font-size:15px;font-weight:700}.board-consent input{width:22px;height:22px;accent-color:#176d61;flex-shrink:0}.board-notice{border-left:3px solid #438770;padding:12px;background:#eff8f0}.board-report{margin-top:8px}.board-report summary{font-size:11px;min-height:44px;display:flex;align-items:center;cursor:pointer;color:#526d64}.board-report label{margin-bottom:10px}.board-report .small{line-height:1.8;font-weight:400}.board-filters select:focus,.board-consent input:focus,.board-report select:focus{outline:3px solid #79ad98;outline-offset:2px}@media(max-width:560px){.board-filters{grid-template-columns:1fr}.board-entries>li{grid-template-columns:28px minmax(0,1fr);padding:16px 4px;gap:10px}.board-rank{font-size:23px}.board-score{grid-column:2;text-align:left}.board-score strong{font-size:27px}.board-company>strong{font-size:17px}.board-publish,.board-own{padding:16px}.board-own-row{align-items:flex-start;flex-direction:column}.board-publish dl>div{flex-direction:column;gap:6px}.board-publish dd{text-align:left;white-space:normal;overflow-wrap:anywhere}}

.board-rules summary{min-height:44px;display:flex;align-items:center;font-size:14px;color:#315b55;cursor:pointer}.board-rules summary:before{content:"＋";margin-right:8px}.board-rules[open] summary:before{content:"−"}

.mission-challenge .challenge-toggle{cursor:pointer;min-height:44px;line-height:1.6;font-size:14px}.challenge-toggle .small{display:block;margin:3px 0 0 18px;font-size:12px;line-height:1.6}.challenge-toggle:focus-visible{outline:3px solid var(--teal);outline-offset:5px;border-radius:4px}.challenge-body{padding-top:16px;margin-top:12px;border-top:1px solid #e9dfc1}
:root{--collection-border:#d9e7e4}
.collection-panel h3{margin-top:2rem}.collection-panel h4{margin:0 0 .4rem;font-size:1.15rem}.people-grid,.badge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.person-card{display:flex;gap:1rem;border:1px solid var(--collection-border);border-radius:16px;padding:1rem;min-width:0}.person-card img{width:80px;height:100px;object-fit:cover;border-radius:12px;flex-shrink:0}.person-card>div{min-width:0;overflow-wrap:anywhere}.person-card p,.earned-badge p{margin:.4rem 0;font-size:.9rem}.person-card details{font-size:.85rem}.person-card summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.person-card summary::before{content:'▸';margin-right:.3rem}.person-card details[open] summary::before{content:'▾'}.collection-unknown{border:1px dashed var(--collection-border);border-radius:16px;text-align:center;padding:1.3rem;color:var(--muted)}.earned-badge{display:flex;gap:.8rem;padding:1.2rem;border:1px solid var(--collection-border);border-radius:16px;background:linear-gradient(125deg,#fff6df,#f0f7ee)}.badge-mark{color:#9b6c13;font-size:1.8rem;line-height:1.2}.collection-unlock{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;border:1px solid var(--collection-border);border-radius:14px;padding:1rem;margin-top:1rem;font-size:.9rem}.collection-panel [role=alert]{color:#a33}
@media(max-width:650px){.people-grid,.badge-grid{grid-template-columns:1fr}.person-card{padding:.9rem}.person-card img{width:72px;height:90px}}

/* Keep available company cash beside every business decision. */
.playing-shell>.stats{position:sticky;top:0;z-index:30;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:center;margin:18px 0;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;background:#fffef8;border:1px solid #c6d9ce;border-radius:0 0 16px 16px;box-shadow:0 5px 18px #173d3814}
.playing-shell>.stats>.stat{min-width:0;padding:0;border:0;border-radius:0;background:transparent}
.playing-shell>.stats>.stat+.stat{padding-left:14px;border-left:1px solid #dbe7e2}
.playing-shell>.stats .small{font-size:11px;line-height:1.4}
.playing-shell>.stats b{font-size:20px;line-height:1.25;margin-top:3px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.playing-shell>.stats>.stat:first-child b{font-size:clamp(20px,4.8vw,28px);color:#176653}
.playing-shell .game-stage,.playing-shell :is(button,a,input,select,summary,[tabindex]){scroll-margin-top:calc(100px + env(safe-area-inset-top,0px))}
.cash-effect{top:calc(100px + env(safe-area-inset-top,0px))}
@media(max-width:560px){.playing-shell>.stats{gap:8px;padding-right:12px;padding-left:12px}.playing-shell>.stats>.stat+.stat{padding-left:8px}.playing-shell>.stats b{font-size:16px}.playing-shell>.stats>.stat:first-child b{font-size:clamp(19px,5.3vw,25px)}}

.relationships-panel{margin:0 0 16px;padding:14px 18px;background:#f4f8f2;border:1px solid #c6d9ce;border-radius:14px;color:#244c42}
.relationships-panel>summary{cursor:pointer;font-size:13px;font-weight:800;min-height:24px;line-height:24px}
.relationships-panel h3{font-size:15px;margin:20px 0 8px}.relationships-panel dl{margin:0}
.relationship-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #d7e3dc}
.relationship-row dt{font-weight:700}.relationship-row dd{margin:0;text-align:right}.relationship-row small{display:block;font-size:11px;color:#526967;line-height:1.7}
.relationship-current{font-size:12px;line-height:1.7;margin:8px 0;color:#315f52}
.relationship-changes{padding-left:20px;font-size:12px;line-height:1.8}

/* A viewport-sized stage: mission → conversation → reply. */
body.theater-mode{height:100dvh;min-height:0;overflow:hidden;background:#102e34}
.theater-mode #app{height:100%;min-height:0}
.theater-mode .playing-shell{height:100%;min-height:0;max-width:1100px;padding:0 20px calc(12px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:10px;position:relative}
.theater-mode .playing-shell>.nav,.theater-mode .site-footer,.theater-mode .playtest-banner{display:none}
.theater-mode .playing-shell>.stats{position:relative;top:auto;flex:none;margin:0;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;background:#173e43;border:0;color:#fff;box-shadow:none;border-radius:0 0 16px 16px;z-index:1}
.theater-mode .stats .small{color:#b9d4ce}.theater-mode .playing-shell>.stats b,.theater-mode .playing-shell>.stats>.stat:first-child b{color:#fbe2a4}
.theater-mode .playing-shell>.stats>.stat+.stat{border-color:#3d5e60}
.theater-mode .game-stage{flex:1;min-height:0;display:flex;flex-direction:column;scroll-margin:0}
.theater-mode .game-stage> :not(.theater):not(#network-status):not(.recovery){display:none}
.theater-mode #network-status{margin:0;color:#fff;font-size:12px;flex:none}.theater-mode #network-status:empty{display:none}
.theater-mode .recovery{margin:0;flex:none;font-size:12px;padding:8px;background:#fff2d3}
.theater-mode .theater{flex:1;min-height:0;width:100%;padding:0;border:1px solid #426367;border-radius:20px;background:linear-gradient(145deg,#f9f6e9,#fffef9);box-shadow:0 12px 44px #061c2270;display:flex;flex-direction:column;overflow:hidden;position:relative}
.theater-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 18px;border-bottom:1px solid #dedfce;flex:none}
.theater-location{font-size:11px;letter-spacing:.13em;font-weight:800;color:#59736a}
.theater-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:18px 28px 8px}
.theater-viewport{flex:1;min-height:0;width:100%;overflow:hidden;overscroll-behavior:contain;scrollbar-width:none}
.theater-pages{height:100%;column-gap:32px;column-fill:auto;column-width:500px;line-height:1.85;font-size:16px;overflow-wrap:anywhere}
.theater-pages>:first-child{margin-top:0}.theater-pages h2{font-size:clamp(24px,3.4vw,34px);line-height:1.4;margin-bottom:18px}
.theater-pages .chapter{margin-bottom:10px}.theater-pages p{margin:12px 0}.theater-pages .episode-opening{margin:18px 0;padding:16px;border-radius:12px;background:#edf0e4}
.theater-pages :is(button,.actions,.choice-tools,.character-portrait,.avatar,.message-mark){break-inside:avoid}
.theater-pages .dialogue{display:block;margin:0}.theater-pages .character-portrait{width:170px;margin:0 auto 14px;background:transparent;border-radius:12px}.theater-pages .character-portrait img{height:210px;object-fit:contain}
.theater-pages .bubble{background:#fffef9;border:1px solid #d2dccc;border-radius:16px;padding:18px;box-shadow:0 5px 18px #294c3e0a}
.theater-pages .bubble strong{font-size:13px}.theater-pages .english{font-size:clamp(21px,3vw,28px);line-height:1.55;font-weight:650;margin:12px 0}
.theater-pages .story-illustration{max-width:280px;margin:16px auto}.theater-pages .avatar,.theater-pages .message-mark{margin:8px auto 20px}
.theater-pages .learning-goal{padding:14px;background:#e4ece2;border:0}.theater-pages .decision{margin:0;border:0;background:transparent;padding:10px 0}.theater-pages .decision>strong{font-size:12px;letter-spacing:.12em;color:#397e69}.theater-pages .decision>p:first-of-type{font-size:25px;line-height:1.5}.theater-pages .decision>span{display:inline-block;font-size:26px;color:#317760;font-weight:800}
.theater-pages .choice-row{margin:0}.theater-pages .choice{padding:22px;border:2px solid #829e8d;background:#fffdf3;margin:4px 0 14px;border-radius:16px;font-size:21px;line-height:1.65;box-shadow:0 5px 0 #d5dfcf}.theater-pages .choice b{font-weight:650}.theater-pages .choice-translation{font-size:15px;line-height:1.7}.theater-pages .choice-tools{justify-content:flex-start;gap:10px;display:flex;flex-wrap:wrap}
.theater-pages .choice-tools .btn{min-height:44px;font-size:13px}.theater-pages .tip{font-size:12px;line-height:1.7}
.theater-candidates{display:flex;gap:10px;margin:0 0 16px;flex:none}.theater-candidates .btn{flex:1;padding:10px;box-shadow:none;min-height:44px}.theater-candidates [aria-pressed=true]{background:#174d46;color:#fff;border-color:#174d46}
.theater-controls{flex:none;padding:8px 28px 14px;border-top:1px solid #dedfce;background:#f8f6ea}.theater-navigation{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:52px}.theater-navigation .btn{min-height:46px;font-size:14px;padding:12px 18px}.theater-counter{font-size:10px;color:#648076;font-weight:800;letter-spacing:.08em;text-align:center}.theater-audio{font-size:11px;margin:7px 0 0;line-height:1.4}.theater-audio:empty{display:none}
.theater-sheet{max-height:85dvh;width:min(600px,calc(100vw - 24px));padding:22px;border:1px solid #9bb6a8;border-radius:20px;color:#153941;background:#faf8ed;box-shadow:0 24px 100px #071b2788;overscroll-behavior:contain}.theater-sheet::backdrop{background:#071e27bd;backdrop-filter:blur(5px)}
.theater-sheet>.btn{width:100%;margin-bottom:18px}.theater-sheet .nav-right{display:flex;flex-wrap:wrap;gap:10px;padding:10px 0}.theater-sheet .nav-right>.pill{display:none}.theater-sheet .company-scene{height:auto}.theater-sheet .speech-mode{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.theater-sheet .speech-speed{margin:16px 0}.theater-info-links{font-size:12px;line-height:2}.theater-info-links a{color:#176653}
.theater-reply:not([hidden]){position:absolute;inset:65px 16px 18px;z-index:5;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:25px;text-align:center;background:#fffdf0f7;border:1px solid #b7cdbb;border-radius:16px;box-shadow:0 15px 70px #15394144}.theater-reply p{font-size:clamp(22px,4vw,30px);line-height:1.7;overflow-wrap:anywhere}.theater-reply .btn{min-height:44px}
.theater-mode .playing-shell :is(button,a,input,summary,[tabindex]){scroll-margin:0}.theater-mode :focus-visible{outline:3px solid #c89339;outline-offset:3px}
@media(min-width:800px) and (min-height:650px){.theater-pages .dialogue{display:flex;align-items:center;gap:30px}.theater-pages .character-portrait{width:230px;margin:0;align-self:center}.theater-pages .character-portrait img{height:330px}.theater-pages .bubble{padding:28px}.theater-body{padding:28px 36px 16px}}
@media(max-width:560px){.theater-mode .playing-shell{padding:0 8px calc(8px + env(safe-area-inset-bottom,0px));gap:8px}.theater-mode .playing-shell>.stats{padding:calc(9px + env(safe-area-inset-top,0px)) 12px 9px}.theater-top{padding:8px 12px}.theater-body{padding:16px 18px 6px}.theater-controls{padding:6px 14px 12px}.theater-top .btn{min-height:38px;padding:7px 9px}.theater-pages{font-size:15px;line-height:1.85}.theater-pages .character-portrait{width:112px;margin-bottom:12px}.theater-pages .character-portrait img{height:142px}.theater-pages .bubble{padding:14px}.theater-pages .english{font-size:21px}.theater-pages .choice{font-size:20px;padding:18px}.theater-navigation .btn{font-size:13px;padding:12px}.theater-pages h2{font-size:25px}}
@media(max-height:640px){.theater-pages .character-portrait{width:76px;float:left;margin:0 14px 5px 0}.theater-pages .character-portrait img{height:96px}.theater-body{padding-top:12px}.theater-pages .english{font-size:20px}.theater-pages h2{font-size:23px}.theater-top{padding-top:5px;padding-bottom:5px}.theater-candidates{margin-bottom:8px}.theater-pages .choice{font-size:18px;padding:14px}}
@media(prefers-reduced-motion:no-preference){.theater-pages{animation:stage-enter .22s ease-out}@keyframes stage-enter{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}
.theater-establishing{margin:20px 0 0;break-inside:avoid;border-radius:12px;overflow:hidden}.theater-establishing img{display:block;width:100%;height:155px;object-fit:cover;object-position:center 60%}
@media(min-width:800px){.theater-establishing img{height:220px}}
.theater-audio{min-height:16px}.theater-audio:empty{display:block}.theater-reply:not([hidden]){overflow:auto}
.theater-reply:not([hidden]){position:fixed;inset:calc(70px + env(safe-area-inset-top,0px)) 12px calc(12px + env(safe-area-inset-bottom,0px));max-width:1020px;margin:0 auto;overflow:hidden}
@media(max-height:450px){.theater-reply:not([hidden]){gap:10px;padding:16px}.theater-reply p{font-size:19px;line-height:1.5;margin:0}}
.theater-mode .game-stage{width:100%;max-width:none;margin:0}
.theater-pages .decision-brief{overflow:visible}.theater-pages .decision-brief table{min-width:0;width:100%;table-layout:fixed}.theater-pages .decision-brief :is(td,th){padding:7px 4px;font-size:11px;overflow-wrap:anywhere}
@media(max-height:450px){.theater-mode .playing-shell{gap:5px;padding-bottom:6px}.theater-mode .playing-shell>.stats{padding:5px 14px}.theater-mode .playing-shell>.stats b,.theater-mode .playing-shell>.stats>.stat:first-child b{font-size:20px}.theater-mode .stats .small{font-size:10px}.theater-top{padding:4px 14px}.theater-top .btn{min-height:32px;padding:6px 10px}.theater-controls{padding:4px 18px 5px}.theater-navigation{min-height:42px}.theater-navigation .btn{min-height:36px;padding:8px 14px}.theater-audio{font-size:10px;min-height:12px;line-height:12px;margin-top:4px}.theater-establishing img{height:110px}}

/* Explain the English/business game before the first play. */
.intro-content{max-width:820px;padding-top:54px;padding-bottom:80px}
.intro h1{font-size:clamp(34px,4.1vw,58px);line-height:1.35;letter-spacing:0;margin:20px 0}
.intro .eyebrow{display:inline-block;padding:6px 10px;border:1px solid #6b8c84;border-radius:6px;background:#173d43e6;font-size:12px;line-height:1.8;letter-spacing:.08em;color:#ffda8e}
.intro p{line-height:1.95;margin-bottom:24px}
.intro-sound{margin-bottom:22px}.intro-note{margin-top:18px}
.intro-explainer{padding:64px 16px 20px}.intro-section-heading{max-width:780px;margin-bottom:30px}.intro-section-heading h2{font-size:clamp(28px,3.6vw,42px);line-height:1.5;margin:12px 0 16px;letter-spacing:.02em}.intro-section-heading p{line-height:1.9;color:var(--muted);font-size:15px}
.intro-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.intro-features article{min-width:0;padding:26px;background:#fffdf5;border:1px solid #ceded4;border-radius:18px;display:flex;flex-direction:column}.intro-step{font-size:11px;font-weight:800;color:#397464;letter-spacing:.05em}.intro-features h3{font-size:22px;line-height:1.55;margin:18px 0 12px}.intro-features p{font-size:14px;line-height:1.95;color:#526967;margin:0 0 22px}.intro-feature-note{margin-top:auto;padding-top:16px;border-top:1px solid #dce5d8;font-size:11px;font-weight:700;color:#397464;line-height:1.8}
.intro-beginner{margin-top:24px;padding:26px 30px;border-radius:18px;background:#e4eee6;display:flex;justify-content:space-between;align-items:center;gap:24px}.intro-beginner strong{font-size:17px;line-height:1.8}.intro-beginner p{font-size:13px;line-height:1.9;margin:8px 0 0;color:#526967}.intro-beginner .btn{flex:none;text-decoration:none;min-height:48px;font-size:14px;display:inline-flex;align-items:center}
@media(max-width:750px){.intro{min-height:620px;align-items:center}.intro-content{padding:40px 20px 100px;max-width:none}.intro .eyebrow{font-size:10px;letter-spacing:.02em}.intro h1{font-size:clamp(27px,7.1vw,42px);line-height:1.4;margin:16px 0}.intro p{font-size:13px;line-height:1.9;margin-bottom:22px}.intro-sound{margin-bottom:20px}.intro-sound>span{font-size:12px;margin-bottom:8px}.intro-sound button{min-height:44px}.intro-sound small{font-size:10px}.intro-start{padding:17px 20px;font-size:17px;min-height:54px}.intro-note{font-size:10px;margin-top:16px}.intro-bottom{left:20px;right:20px}.intro-explainer{padding:40px 2px 8px}.intro-section-heading h2{font-size:28px}.intro-section-heading p{font-size:14px}.intro-section-heading p br{display:none}.intro-features{grid-template-columns:1fr;gap:14px}.intro-features article{padding:24px}.intro-features h3{font-size:22px;margin-top:12px}.intro-beginner{padding:24px;flex-direction:column;align-items:flex-start;gap:18px}.intro-beginner strong{font-size:16px}.intro-beginner p br{display:none}.intro-beginner .btn{justify-content:center;width:100%}}

/* Frame the conversation as a scene, with the speaker in the foreground. */
.theater-body{position:relative;isolation:isolate}
.theater-set,.theater-cast,.theater-scene-caption{position:absolute;pointer-events:none}
.theater-set[hidden],.theater-cast[hidden],.theater-scene-caption[hidden]{display:none}
.theater-set{inset:0;z-index:-2;overflow:hidden;background:radial-gradient(ellipse at 77% 30%,#719289,#173d43 62%)}
.theater-set>img{width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:blur(2px) saturate(.65);transform:scale(1.035);opacity:.82}
.theater-set:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0a252de6 0%,#0a252da6 42%,#0a252d22 78%),linear-gradient(0deg,#0a252de6,transparent 60%)}
.theater-cast{right:0;bottom:0;width:49%;height:96%;z-index:-1;display:flex;align-items:flex-end;justify-content:center}
.theater-cast:before{content:'';position:absolute;inset:8% 4% 0;background:radial-gradient(ellipse at 60% 50%,#f0d8a62e,transparent 65%)}
.theater-cast:after{content:'';position:absolute;bottom:-5%;left:12%;width:78%;height:15%;border-radius:50%;background:#071c2580;filter:blur(18px)}
.theater-cast .character-portrait{position:relative;width:100%;height:100%;background:none;border:0;border-radius:0;overflow:visible;box-shadow:none;float:none;margin:0}
.theater-cast .character-portrait img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(-18px 8px 20px #04192288)}
.theater-scene-caption{left:30px;top:28px;max-width:48%;z-index:0;display:grid;gap:9px;color:#fff8df;text-shadow:0 2px 8px #041820}
.theater-scene-caption>span{font-size:9px;letter-spacing:.2em;font-weight:800;color:#e5c98d}.theater-scene-caption>strong{font-size:21px;font-weight:600;line-height:1.5}
.theater[data-stage=dialogue] .theater-body{padding:0;overflow:hidden}
.theater[data-stage=dialogue] .theater-viewport{position:absolute;z-index:1;left:28px;bottom:28px;width:56%;height:min(63%,340px);flex:none;background:linear-gradient(135deg,#102f38f5,#102f38e8);border:1px solid #a8bda45c;border-top:2px solid #d8bd83;border-radius:16px;box-shadow:0 18px 45px #031b2666;backdrop-filter:blur(12px)}
.theater[data-stage=dialogue] .theater-pages .dialogue{display:block;margin:0}
.theater[data-stage=dialogue] .theater-pages .bubble{padding:24px;background:none;border:0;border-radius:0;box-shadow:none;min-width:0;color:#fffdf3}
.theater[data-stage=dialogue] .bubble>strong{display:block;font-size:13px;color:#f0d9a1;letter-spacing:.025em}
.theater[data-stage=dialogue] .bubble .english{font-size:clamp(22px,2.4vw,29px);font-weight:550;line-height:1.65;margin:16px 0;color:#fffdf3}
.theater[data-stage=dialogue] .bubble .japanese,.theater[data-stage=dialogue] .bubble .relationship-current{color:#c7d9d3;font-size:12px;line-height:1.8}
.theater[data-stage=dialogue] .bubble .actions{gap:8px;margin-top:14px}
.theater[data-stage=dialogue] .bubble .btn{background:#294b51;color:#f1f6ef;border-color:#718e87;min-height:40px;box-shadow:none}
.theater[data-stage=dialogue] .theater-top,.theater[data-stage=dialogue] .theater-controls{background:#14343c;border-color:#627d725c;color:#e5eee8}
.theater[data-stage=dialogue] .theater-location,.theater[data-stage=dialogue] .theater-counter,.theater[data-stage=dialogue] .theater-audio{color:#bed3ca}
.theater[data-stage=dialogue] :is(.theater-top,.theater-controls) .btn.secondary{background:#20434b;color:#e9f0e7;border-color:#597972}
.theater[data-stage=dialogue] .theater-next{background:#f1d294;color:#15353d;box-shadow:0 4px 0 #a58a55}
.theater-cast-message{height:70%;bottom:12%;right:6%;width:34%;align-items:center}
.theater-cast-message .message-mark{width:180px;height:180px;margin:0;border:1px solid #93a89a;border-radius:24px;background:#153b43e6;color:#e9d3a4;box-shadow:0 20px 50px #04192255}
.theater-cast-message .message-mark svg{width:90px;height:90px}.theater-cast-message:after{display:none}
@media(max-width:700px){.theater-scene-caption{top:18px;left:18px;max-width:40%;gap:8px}.theater-scene-caption>span{font-size:7px;line-height:1.9;letter-spacing:.12em}.theater-scene-caption>strong{font-size:15px;line-height:1.6}.theater-cast{height:65%;width:94%;right:-9%;bottom:34%}.theater-cast .character-portrait img{object-position:center bottom;filter:drop-shadow(-9px 6px 12px #04192288)}.theater-set>img{object-position:62% center}.theater-set:after{background:linear-gradient(90deg,#0a252d7a,transparent 85%),linear-gradient(0deg,#0a252df2,transparent 90%)}.theater[data-stage=dialogue] .theater-viewport{left:12px;bottom:14px;width:calc(100% - 24px);height:48%;border-radius:14px}.theater[data-stage=dialogue] .theater-pages .bubble{padding:17px}.theater[data-stage=dialogue] .bubble .english{font-size:20px;line-height:1.6;margin:12px 0}.theater[data-stage=dialogue] .bubble>strong{font-size:12px}.theater[data-stage=dialogue] .bubble .relationship-current{font-size:11px;margin:8px 0}.theater[data-stage=dialogue] .bubble .actions{margin-top:12px}.theater[data-stage=dialogue] .bubble .btn{min-height:38px;font-size:11px;padding:8px 10px}.theater-cast-message{height:44%;width:54%;right:2%;bottom:51%}.theater-cast-message .message-mark{width:126px;height:126px;border-radius:18px}.theater-cast-message .message-mark svg{width:60px;height:60px}}
@media(min-width:701px) and (max-height:650px){.theater-cast{height:100%;width:43%;right:2%}.theater-scene-caption{top:14px;left:22px}.theater-scene-caption>strong{font-size:16px}.theater[data-stage=dialogue] .theater-viewport{left:18px;bottom:14px;width:57%;height:66%}.theater[data-stage=dialogue] .theater-pages .bubble{padding:16px}.theater[data-stage=dialogue] .bubble .english{font-size:20px;margin:10px 0}}
@media(max-width:700px) and (max-height:600px){.theater-cast{height:69%;bottom:33%}.theater-scene-caption{top:12px;left:16px}.theater-scene-caption>strong{font-size:13px}.theater[data-stage=dialogue] .theater-viewport{bottom:10px;height:53%}.theater[data-stage=dialogue] .theater-pages .bubble{padding:12px 14px}.theater[data-stage=dialogue] .bubble .english{font-size:18px;margin:9px 0}.theater[data-stage=dialogue] .bubble .relationship-current{display:none}}
@media(prefers-reduced-motion:no-preference){.theater[data-stage=dialogue] .theater-cast{animation:cast-enter .45s cubic-bezier(.2,.65,.3,1)}@keyframes cast-enter{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}}

/* Structural fix: text paging only; art and controls have stable containers. */
.theater-pages{column-count:auto!important;column-width:auto!important;column-gap:0;height:100%;overflow-y:auto;overscroll-behavior:contain}
.theater-pages [hidden],.theater-dialogue-frame[hidden],.theater-result-leaf[hidden]{display:none!important}
.theater-dialogue-frame{position:absolute;left:28px;bottom:28px;width:56%;height:min(64%,350px);z-index:1;display:flex;flex-direction:column;background:linear-gradient(135deg,#102f38f5,#102f38ed);border:1px solid #a8bda45c;border-top:2px solid #d8bd83;border-radius:16px;box-shadow:0 18px 45px #031b2666;backdrop-filter:blur(12px);overflow:hidden}
.theater[data-stage=dialogue] .theater-viewport{position:relative;left:auto;bottom:auto;width:100%;height:auto;flex:1;min-height:0;border:0;background:none;box-shadow:none;backdrop-filter:none;border-radius:0}
.theater[data-stage=dialogue] .theater-pages{overflow:hidden}
.theater-nameplate{padding:18px 22px 4px;flex:none;color:#f0d9a1;font-size:13px;letter-spacing:.025em}
.theater-dialogue-tools{padding:4px 22px 16px;flex:none}.theater-dialogue-tools .actions{margin:0;gap:8px}.theater-dialogue-tools .btn{background:#294b51;color:#f1f6ef;border-color:#718e87;min-height:44px;box-shadow:none}
.theater[data-stage=dialogue] .theater-pages .bubble{padding:6px 22px}.theater[data-stage=dialogue] .bubble .english{margin:6px 0;line-height:1.65}.theater[data-stage=dialogue] .bubble .japanese{font-size:17px;line-height:1.8;margin:6px 0;color:#f1f4e9}.theater[data-stage=dialogue] .bubble .relationship-current{display:none}
.theater[data-stage=mission] .theater-body{padding:20px}.theater[data-stage=mission] .theater-set:after{background:#102b32a8}.theater[data-stage=mission] .theater-pages{padding:22px;background:#fffef4f2;border:1px solid #c6d6c8;border-radius:14px}.theater[data-stage=mission] .theater-pages h2{margin-top:8px}.theater[data-stage=mission] .theater-pages .progress{margin-bottom:0}
.theater-result-leaf{max-height:100%;overflow-y:auto;padding:4px;overscroll-behavior:contain}.theater-result-leaf .panel{margin:0}.theater-result-leaf:empty{display:none}.theater-sheet>button:not(:first-child){margin:10px 6px 0 0}
@media(max-width:700px){.theater-dialogue-frame{left:12px;bottom:14px;width:calc(100% - 24px);height:54%;border-radius:14px}.theater-nameplate{padding:14px 16px 4px;font-size:12px}.theater-dialogue-tools{padding:4px 16px 12px}.theater-dialogue-tools .btn{font-size:11px;padding:8px 10px;min-height:44px}.theater[data-stage=dialogue] .theater-pages .bubble{padding:4px 16px}.theater[data-stage=dialogue] .bubble .english{font-size:20px;margin:4px 0}.theater[data-stage=mission] .theater-body{padding:14px}.theater[data-stage=mission] .theater-pages{padding:18px}.theater[data-stage=mission] .theater-pages h2{font-size:24px}.theater[data-stage=mission] .theater-pages .small{font-size:12px}}
@media(max-height:600px){.theater-dialogue-frame{bottom:10px;height:62%}.theater-nameplate{padding-top:10px}.theater-dialogue-tools{padding-bottom:8px}.theater[data-stage=dialogue] .bubble .english{font-size:18px}.theater[data-stage=dialogue] .bubble .japanese{font-size:15px}.theater[data-stage=mission] .theater-pages{padding:14px}.theater[data-stage=mission] .theater-pages h2{font-size:22px;margin-bottom:10px}.theater[data-stage=mission] .learning-goal{padding:10px;margin:10px 0}}
.install-invite{display:flex;align-items:center;gap:12px;padding:14px 18px;margin:0 0 16px;border:1px solid #b8cdbd;background:#edf4e9;border-radius:14px}.install-invite img{border-radius:10px;flex:none}.install-invite>div{min-width:0;flex:1;display:grid;gap:5px}.install-invite strong{font-size:14px}.install-invite span{font-size:12px;color:#526967}.install-invite button{min-height:44px;flex:none}.install-guide{width:min(480px,calc(100vw - 28px));max-height:85dvh;padding:26px;border:1px solid #8caa9c;border-radius:20px;background:#fffdf1;color:#153941;overscroll-behavior:contain}.install-guide::backdrop{background:#071f28cc;backdrop-filter:blur(4px)}.install-guide h2{font-size:23px;line-height:1.5;margin:0 0 16px}.install-guide p{font-size:14px;line-height:1.9}.install-guide ol{padding-left:24px;font-size:15px;line-height:1.9}.install-guide li{padding:8px 0 8px 5px}.install-guide .btn{display:block;min-height:48px;width:100%;margin-top:16px}.app-standalone .install-invite,.app-standalone [data-install-open]{display:none}.theater-mode .install-invite{display:none}
@media(display-mode:standalone){.install-invite,[data-install-open]{display:none!important}}@media(max-width:560px){.install-invite{padding:12px;gap:9px;margin-bottom:12px}.install-invite strong{font-size:12px}.install-invite span{font-size:10px}.install-invite img{width:38px;height:38px}.install-invite .btn{font-size:11px;padding:8px}.install-guide{padding:22px}}
@media(max-width:700px){.theater-dialogue-frame{height:56%}}
@media(max-width:700px) and (max-height:650px){.theater-dialogue-frame{height:60%}.theater-nameplate{padding-top:10px}.theater-dialogue-tools{padding-bottom:10px}.theater[data-stage=dialogue] .bubble .english{font-size:19px;line-height:1.6}}
@media(max-width:700px) and (max-height:600px){.theater-dialogue-frame{height:66%}}

@media(min-width:701px) and (max-height:450px){.theater-dialogue-frame{height:calc(100% - 30px);bottom:10px}.theater-scene-caption{top:10px}.theater-scene-caption>strong{display:none}.theater-nameplate{padding-top:8px}.theater-dialogue-tools{padding-bottom:8px}.theater[data-stage=dialogue] .theater-pages .bubble{padding-top:0;padding-bottom:0}}

/* Contextual glossary: pause the conversation, explain, then return to the same line. */
.theater-nameplate{display:flex;align-items:center;justify-content:space-between;gap:10px}.theater-nameplate>strong{min-width:0}.glossary-trigger{flex:none;min-height:44px;padding:7px 10px;font-size:11px;line-height:1.5;box-shadow:none;background:#24474e;color:#f1d99e;border:1px solid #bda87980}.business-glossary{width:min(540px,calc(100vw - 24px));max-height:86dvh;border:1px solid #a5bda8;border-top:3px solid #d4b67b;border-radius:18px;padding:24px;background:#fffdf2;color:#153941;overscroll-behavior:contain}.business-glossary::backdrop{background:#071f28d9;backdrop-filter:blur(5px)}.business-glossary h2{font-size:22px;margin:0}.business-glossary .glossary-intro{font-size:13px;color:#536c66}.business-glossary article{padding:18px 0;border-top:1px solid #d3ded0}.business-glossary h3{font-size:21px;line-height:1.4;margin:0 0 5px;color:#146b62}.business-glossary article>span{font-size:12px;font-weight:700}.business-glossary article>p{font-size:15px;line-height:1.85;margin:12px 0}.business-glossary .glossary-example{padding:12px;border-radius:10px;background:#eaf0e4;font-size:13px}.business-glossary article>a{font-size:11px;line-height:1.8;color:#176b61}.business-glossary>.btn{width:100%;min-height:48px;margin-top:12px;position:sticky;bottom:0;box-shadow:0 -5px 18px #fffdf2}.theater-sheet .glossary-trigger{color:#153941;background:#edf3e7}

.business-glossary details{border-top:1px solid #d3ded0}.business-glossary summary{min-height:56px;padding:16px 22px 14px 0;cursor:pointer;position:relative;list-style:none}.business-glossary summary::-webkit-details-marker{display:none}.business-glossary summary:after{content:'＋';position:absolute;right:0;top:22px;font-size:18px;color:#267c6f}.business-glossary details[open]>summary:after{content:'−'}.business-glossary summary>h3{margin:0 0 5px}.business-glossary summary>span{font-size:12px;font-weight:700}.business-glossary details>article{border:0;padding:0 0 14px}.business-glossary details>article>p:first-child{margin-top:0}

.business-glossary[open]{display:flex;flex-direction:column;overflow:hidden}.business-glossary>h2,.business-glossary>.glossary-intro,.business-glossary>.btn{flex:none}.business-glossary .glossary-reader{min-height:0;overflow-y:auto;overscroll-behavior:contain}.business-glossary>.btn{position:static;box-shadow:none}

/* Episode entry is part of the scene; rewards never add a blocking page. */
.theater-tools{display:flex;align-items:center;gap:8px;flex:none}.theater-top .theater-inbox{position:relative;display:grid;place-items:center;width:44px;min-height:44px;padding:8px;flex:none}.theater-inbox svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}.inbox-dot{display:none;position:absolute;right:3px;top:3px;width:8px;height:8px;background:#f2ca76;border:2px solid #173940;border-radius:50%}.has-unread .inbox-dot{display:block}
.theater[data-stage=mission]{background:#102f36;color:#fff9e5}.theater[data-stage=mission] .theater-top,.theater[data-stage=mission] .theater-controls{background:#14343c;border-color:#718e8738}.theater[data-stage=mission] .theater-top .btn,.theater[data-stage=mission] .theater-back{background:#23474d;color:#f3f1dc;border-color:#6f928780;box-shadow:none}.theater[data-stage=mission] .theater-location{color:#c1d1c2}.theater[data-stage=mission] .theater-next{background:#e9cb8a;color:#17383c;border-color:#d8b875;box-shadow:0 4px 0 #a98c52}.theater[data-stage=mission] .theater-body{padding:0}.theater[data-stage=mission] .theater-set>img{filter:saturate(.8);opacity:.9;transform:none}.theater[data-stage=mission] .theater-set:after{background:linear-gradient(0deg,#092730 0%,#092730e6 36%,#09273033 100%)}
.theater[data-stage=mission] .theater-pages{padding:0;background:none;border:0;border-radius:0}.theater-mission-intro{position:relative;height:100%;max-height:100%;overflow-y:auto;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(24px,5vw,52px);isolation:isolate;overscroll-behavior:contain}.theater-mission-intro[hidden]{display:none!important}.theater-mission-intro:before{content:attr(data-episode);position:absolute;right:24px;top:12px;font-size:clamp(100px,20vw,200px);line-height:1;font-weight:800;letter-spacing:-.06em;color:#f3ddb60e;pointer-events:none;z-index:-1}.theater-mission-intro>.chapter{font-size:10px;letter-spacing:.2em;color:#ebcb8f;margin:0 0 16px}.theater[data-stage=mission] .theater-mission-intro h2{font-size:clamp(28px,5vw,45px);line-height:1.45;font-weight:650;letter-spacing:.03em;color:#fff9e5;margin:0 0 14px;text-wrap:balance;text-shadow:0 3px 18px #061b24}.theater-mission-intro>.small{font-size:14px!important;color:#c4d3c7;line-height:1.8}.theater[data-stage=mission] .theater-mission-intro .learning-goal{background:none;border:0;border-left:2px solid #d6b572;border-radius:0;padding:0 0 0 16px;margin:26px 0 0;font-size:14px;line-height:1.95;color:#f4ebd1}.theater-mission-intro>.progress{display:none}.theater-mission-intro .episode-opening{padding:0;margin:14px 0;background:none;border:0;color:#dfE7d6;font-size:13px}.theater-mission-intro .episode-opening strong{color:#ebcb8f}.theater[data-stage=mission] .theater-mission-leaf{padding:24px;background:#fffdf0;color:#183b41;height:100%;border-radius:0}
.collection-flight{position:absolute;z-index:8;top:40%;left:8%;width:84%;pointer-events:none;display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:14px;border:1px solid #e5c575b8;background:#123940f2;color:#ffe5a9;box-shadow:0 8px 35px #051f2980;margin:0;font-size:24px;line-height:1.45;transform-origin:center;animation:reward-to-inbox 1.8s cubic-bezier(.2,.8,.2,1) both}.collection-flight>i{flex:none;font-style:normal;font-size:36px;line-height:1;color:#ffdc80;text-shadow:0 0 22px #ffd37b}.collection-flight>span{min-width:0;font-weight:800;overflow-wrap:anywhere}.inbox-arrived{animation:inbox-catch .45s ease-out}
@keyframes reward-to-inbox{0%{opacity:0;transform:scale(.85);filter:brightness(1.6)}12%{opacity:1;transform:scale(1.03);filter:brightness(1.15)}22%,58%{opacity:1;transform:scale(1);filter:brightness(1)}86%,100%{opacity:0;transform:translate(var(--reward-x),var(--reward-y)) scale(.08);filter:brightness(1.8)}}
@keyframes inbox-catch{0%{box-shadow:0 0 0 0 #f5d28ac4;transform:scale(1)}45%{box-shadow:0 0 0 8px #f5d28a00;transform:scale(1.13);color:#ffe5a9}100%{box-shadow:0 0 0 12px #f5d28a00;transform:scale(1)}}
@media(max-width:560px){.theater-top{gap:8px}.theater-location{font-size:10px;letter-spacing:.06em}.theater-tools{gap:6px}.theater-top .theater-inbox{width:40px;min-height:40px;padding:7px}.theater-mission-intro{padding:26px 24px}.theater[data-stage=mission] .theater-mission-intro h2{font-size:29px}.theater-mission-intro>.chapter{font-size:9px}.theater[data-stage=mission] .theater-mission-intro .learning-goal{font-size:13px;margin-top:22px}.collection-flight{font-size:clamp(20px,5.5vw,24px);padding:16px;gap:10px}}
@media(max-height:480px){.theater-mission-intro{padding:18px 28px;justify-content:flex-start}.theater[data-stage=mission] .theater-mission-intro h2{font-size:26px;margin-bottom:8px}.theater-mission-intro>.chapter{margin-bottom:8px}.theater[data-stage=mission] .theater-mission-intro .learning-goal{margin-top:12px;font-size:12px}.theater-mission-intro>.small{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){.collection-flight{animation:reward-still 1.4s ease-out both}.inbox-arrived{animation:none}@keyframes reward-still{0%,75%{opacity:1}100%{opacity:0}}}
.theater[data-stage=mission][data-mission-page="0"] .theater-back{visibility:hidden}

/* Game controls: one action hierarchy, measured touch targets, compact pause menu. */
.theater :is(.btn,.choice){touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color 120ms ease,border-color 120ms ease,transform 80ms ease,box-shadow 120ms ease}.theater .btn{border-radius:10px;font-weight:700;letter-spacing:.015em}.theater .btn:active:not(:disabled){transform:translateY(1px);box-shadow:none}.theater .btn:disabled{cursor:default;opacity:.45}.theater .btn:focus-visible,.theater .choice:focus-visible{outline:2px solid #d9ab53;outline-offset:3px}.theater-top .btn{min-height:44px}.theater-navigation .btn{min-height:48px;border-radius:11px;box-shadow:none}.theater-navigation .theater-next{background:linear-gradient(#efdaa8,#dfbd78);color:#17383c;border:1px solid #d8b772;box-shadow:0 3px 0 #ac8b4a}.theater-navigation .theater-back{border:1px solid #79978d70;background:#294b5038;box-shadow:none}.theater-dialogue-tools .btn{border-radius:9px;min-height:44px;border:1px solid #78958c80;background:#24454d}.theater-candidates .btn{border-radius:9px;min-height:44px;border:1px solid #acbcae;background:#edeedf;color:#47635f}.theater-candidates [aria-pressed=true]{background:#173f45;color:#ffdfa0;border-color:#bc9b5f;box-shadow:inset 0 -2px 0 #d4b374}.theater-pages .choice{border-radius:12px;border-width:1px;border-color:#879d90;box-shadow:0 3px 0 #d1dbcb}.theater-pages .choice-tools .btn{border-radius:9px;border-color:#bdcdbd;min-height:44px}
.theater .theater-sheet{padding:0;max-height:min(86dvh,780px);width:min(540px,calc(100vw - 24px));border:1px solid #68847c;border-top:2px solid #bba06a;border-radius:18px;color:#edf0dd;background:#12323b;overflow:hidden;box-shadow:0 24px 90px #031920aa}.theater-sheet[open]{display:flex;flex-direction:column}.theater-sheet::backdrop{background:#061c25bd;backdrop-filter:blur(7px)}.game-menu-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px 14px;border-bottom:1px solid #6b8a793b;flex:none}.game-menu-header>div>span{font-size:9px;letter-spacing:.18em;color:#c8ad79;font-weight:800}.game-menu-header h2{font-size:23px;font-weight:650;letter-spacing:.06em;margin:4px 0 0;color:#fff5da}.theater-sheet .menu-dismiss{width:44px;min-height:44px;padding:0;border:1px solid #708d806b;border-radius:10px;background:#24464d;color:#c5d1c5;font-size:26px;line-height:1;box-shadow:none}.game-menu-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 22px 24px;scrollbar-width:thin;scrollbar-color:#6b8b7a transparent}.theater-sheet .game-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0;padding:0;align-items:stretch}.theater-sheet .game-menu-grid>.pill{display:none}.theater-sheet .menu-tile{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-width:0;min-height:72px;margin:0;padding:12px!important;border:1px solid #68857866;background:#1c3e47;color:#f5f1dd;text-align:left;box-shadow:inset 0 1px 0 #ffffff08;border-radius:10px;white-space:normal}.menu-tile-icon{display:grid;place-items:center;flex:none;color:#d1b984}.menu-tile-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.menu-tile-copy{display:grid;gap:5px;min-width:0}.menu-tile-copy strong{font-size:13px;line-height:1.45;font-weight:650;color:#f8f1db}.menu-tile-copy small{font-size:10px;line-height:1.5;color:#a6bcb0;font-weight:400}.theater-sheet .menu-company{margin:0;padding:0 0 16px;gap:12px;border:0;border-bottom:1px solid #6682753b;border-radius:0;background:none;color:#f0edd7;box-shadow:none}.theater-sheet .menu-company img{width:42px;height:42px;object-fit:contain;border-radius:8px;background:#cbd8c510}.theater-sheet .menu-company strong{font-size:14px}.theater-sheet .menu-company .small,.theater-sheet .menu-company>span{color:#a7bbae;font-size:10px}.theater-sheet .menu-company>div>.small:last-child{display:none}.game-menu-finances{border-top:1px solid #6682753b;padding-top:14px}.theater-sheet .payment-summary{margin:0 0 12px;background:#0e2932;border:1px solid #64807560;color:#e8e9cf;border-radius:10px;font-size:12px}.theater-sheet .payment-summary summary{padding:12px;min-height:48px;gap:8px;white-space:normal;flex-wrap:wrap}.theater-sheet .payment-summary summary strong{color:#e6c78b;font-size:14px}.theater-sheet .payment-summary p{color:#c5d1c0;font-size:12px;line-height:1.8}.game-menu-preferences{padding:6px 0 14px}.game-menu-preferences h3{font-size:10px;font-weight:700;color:#94afa0;letter-spacing:.08em;margin:12px 0}.theater-sheet .speech-mode,.theater-sheet .speech-speed{margin:10px 0;gap:8px}.theater-sheet .small,.theater-sheet .tip{color:#b1c4b5}.theater-sheet .btn.secondary:not(.menu-tile){background:#23434b;border-color:#6e8d7c70;color:#e3e9d5;border-radius:9px;min-height:44px;box-shadow:none}.theater-sheet .speech-speed>.small{width:100%}.theater-sheet .theater-info-links{margin-bottom:0;font-size:10px}.theater-sheet .theater-info-links a{color:#a9c9b4;display:inline-flex;align-items:center;min-height:44px}.game-menu-footer{flex:none;border-top:1px solid #6b8a793b;padding:14px 22px 18px;background:#102e37}.theater-sheet .menu-resume{display:block;width:100%;min-height:48px;margin:0;border-radius:10px;border:1px solid #d5b36e;background:linear-gradient(#efdaa8,#dfbd78);color:#193b3f;box-shadow:0 3px 0 #a28650;font-size:14px}.theater-sheet .game-menu-content>.btn{margin:8px 8px 0 0}.theater-sheet .relationships-panel{color:#d7e1cf;background:#173841;border-color:#6e8d7c50}.theater-sheet .relationships-panel summary{min-height:44px}.theater-sheet .relationships-panel p{color:#c3d2c0}
@media(hover:hover) and (pointer:fine){.theater .btn:hover:not(:disabled){filter:brightness(1.08)}.theater-sheet .menu-tile:hover{background:#2a4d53;border-color:#c4aa73}}
@media(max-width:380px){.game-menu-header{padding:14px 16px 12px}.game-menu-content{padding:14px 16px 20px}.game-menu-footer{padding:12px 16px 16px}.theater-sheet .menu-tile{gap:8px;padding:10px!important;min-height:70px}.menu-tile-copy strong{font-size:12px}.menu-tile-copy small{font-size:9px}.menu-tile-icon svg{width:19px;height:19px}}
@media(prefers-reduced-motion:reduce){.theater :is(.btn,.choice){transition:none}.theater .btn:active:not(:disabled){transform:none}}
.menu-tile-copy small{font-size:11px}@media(max-width:380px){.menu-tile-copy small{font-size:10px}}
.theater-sheet .cashflow-summary .result-facts dd{color:#e6cb92;font-size:18px}.theater-sheet .cashflow-summary .result-facts>div{border-color:#6682754d}.theater-sheet .relationship-row small{color:#afc4b4}.theater-sheet .expansion-stats{gap:8px;margin:0 0 12px}.theater-sheet .expansion-stats>div{background:#173841;border-color:#64807560;padding:12px;color:#c8d5c0}.theater-sheet .expansion-stats strong{color:#ebcf98;font-size:20px}
.theater-sheet .menu-tile{text-decoration:none}.theater-sheet .speech-speed [aria-pressed="true"],.theater-sheet .speech-mode [aria-pressed="true"]{background:#31554e;border-color:#cfb372;color:#ffe1a0;box-shadow:inset 0 -2px 0 #cfb372}.theater-sheet .speech-speed [aria-pressed="true"]:before{content:'✓';margin-right:6px}

.menu-tile-copy strong,.menu-tile-copy small{text-wrap:balance}

/* A compact title screen keeps the first decision and play control together. */
.intro-shell{max-width:1320px;padding:0 24px 40px;background:#0b252c;color:#f4eddc;border-radius:0 0 24px 24px}.intro-shell>.nav{padding:16px 4px;min-height:72px}.intro-shell .brand{color:#f4eddc}.intro-shell .brand span{color:#e7c98c}.intro-shell .nav .small{color:#a8beb6}.intro-shell .pill{background:transparent;color:#bcd0c8;padding:0 12px}.intro-shell .nav #help{background:#163840;color:#e1e8db;border:1px solid #49635f;min-height:44px;border-radius:10px}.intro-shell .intro{min-height:640px;min-height:min(760px,calc(100svh - 88px));border-radius:14px;border:1px solid #70857955;align-items:center;box-shadow:none}.intro-shell .intro-content{width:100%;max-width:680px;padding:36px 5% 72px}.intro-kicker{font-size:11px;letter-spacing:.24em;color:#e5c68b;margin-bottom:18px;font-weight:800}.intro-shell .intro .eyebrow{font-size:11px;letter-spacing:.04em;border:0;border-radius:0;border-left:2px solid #e7c98c;background:none;padding:0 0 0 10px;color:#e0e6d8}.intro-shell .intro h1{font-size:clamp(32px,4.4vw,60px);line-height:1.35;font-weight:750;color:#fff8e6;letter-spacing:.02em;margin:18px 0;text-wrap:balance}.intro-shell .intro p{font-size:14px;line-height:1.9;margin:0 0 20px;color:#d7e2d8}.intro-shell .intro-shade{background:linear-gradient(90deg,#071e27ed,#0a252ad9 43%,#0a252a15),linear-gradient(0deg,#071e27d9,transparent 70%)}.intro-shell .intro-sound{max-width:390px;margin:0 0 14px}.intro-shell .intro-sound>span{font-size:9px;letter-spacing:.16em;color:#a9beb4;margin:0 0 7px}.intro-shell .intro-sound>div{gap:8px}.intro-shell .intro-sound button{flex:1;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;padding:10px 14px;border:1px solid #77948780;border-radius:9px;background:#0c2b33c9;color:#c9d8ce;box-shadow:none;font-size:13px}.intro-shell .intro-sound button[aria-pressed=true]{border-color:#e4c486;background:#294640;color:#fff0cb}.intro-sound-check{visibility:hidden;color:#efd49a}.intro-sound button[aria-pressed=true] .intro-sound-check{visibility:visible}.intro-shell .intro-sound small{margin-top:7px;font-size:11px;color:#b5c9be;line-height:1.6}.intro-shell .intro-start{width:100%;max-width:390px;min-height:54px;min-width:0;border:1px solid #ffe5a3;border-radius:10px;padding:14px 20px;font-size:17px;color:#173532;background:linear-gradient(#f7dfa6,#dfb96b);box-shadow:0 4px 0 #8b6d36}.intro-shell .intro-note{margin:12px 0 0;font-size:11px;line-height:1.7;color:#c2d1c3}.intro-shell .intro .install-invite{max-width:390px;display:flex;justify-content:space-between;gap:12px;padding:12px 0 0;margin:14px 0 0;border:0;border-top:1px solid #a5b6a944;border-radius:0;background:none;color:#d6e1d5}.intro-shell .install-invite strong{font-size:11px}.intro-shell .install-invite span{font-size:10px;color:#aebfb4}.intro-shell .install-invite button{min-height:44px;padding:8px 12px;background:#102e36bf;border:1px solid #7e998766;color:#e3dbbd;border-radius:9px;font-size:11px}.app-standalone .intro-shell .install-invite{display:none}.intro-shell .intro-bottom{bottom:10px;left:5%;right:3%;gap:8px}.intro-shell .intro-bottom>span{max-width:none;font-size:8px;letter-spacing:.14em}.intro-shell .intro-motion{min-height:44px;padding:8px 12px;border:0;background:#0b252c99;color:#c9d6c8;border-radius:9px}.intro-shell button:focus-visible,.intro-shell a:focus-visible{outline:3px solid #f2cc7b;outline-offset:3px}.intro-shell .intro-start:active{transform:translateY(2px);box-shadow:0 2px 0 #8b6d36}.intro-shell .intro-explainer{padding:50px 12px 12px}.intro-shell .intro-section-heading .chapter{color:#dcbf85}.intro-shell .intro-section-heading h2{color:#f0ead7;font-size:clamp(25px,3.2vw,38px)}.intro-shell .intro-section-heading p{color:#b6cbbf}.intro-shell .intro-features{gap:0;border-block:1px solid #78908044}.intro-shell .intro-features article{border:0;border-radius:0;box-shadow:none;background:none;padding:28px 22px}.intro-shell .intro-features article+article{border-left:1px solid #78908044}.intro-shell .intro-step{color:#dbbd85}.intro-shell .intro-features h3{color:#f3ecd8}.intro-shell .intro-features p,.intro-shell .intro-feature-note{color:#b6cbbf}.intro-shell .intro-feature-note{border-color:#78908044}.intro-shell .intro-beginner{background:#15363b;border:1px solid #66827455;color:#f2ead5;border-radius:12px}.intro-shell .intro-beginner p{color:#b6cbbf}.intro-shell .intro-beginner .btn{background:#294b47;border:1px solid #82977d66;color:#f2deb1;border-radius:9px;min-height:44px}
@media(max-width:750px){.intro-shell{padding:0 10px 24px}.intro-shell>.nav{min-height:58px;padding:7px 5px}.intro-shell .nav .brand{font-size:19px}.intro-shell .nav .pill{display:none}.intro-shell .intro{min-height:calc(100svh - 68px);align-items:center}.intro-shell .intro-content{max-width:none;padding:24px 22px 60px}.intro-shell .intro-video{object-position:64% center}.intro-shell .intro-shade{background:linear-gradient(0deg,#071e27f5,#0a252acd 60%,#0a252a55)}.intro-kicker{margin-bottom:13px;font-size:9px}.intro-shell .intro .eyebrow{font-size:10px}.intro-shell .intro h1{font-size:clamp(28px,8.1vw,45px);margin:16px 0}.intro-shell .intro p{font-size:12px;line-height:1.85;margin-bottom:17px}.intro-shell .intro-sound,.intro-shell .intro-start,.intro-shell .intro .install-invite{max-width:none}.intro-shell .intro-bottom{left:22px;right:14px;bottom:5px}.intro-shell .intro-explainer{padding:38px 12px 8px}.intro-shell .intro-features article{padding:23px 0}.intro-shell .intro-features article+article{border-left:0;border-top:1px solid #78908044}.intro-shell .intro-beginner{padding:20px}.intro-shell .intro-section-heading p br{display:none}}
@media(max-width:750px) and (max-height:650px){.intro-shell .intro-content{padding:15px 20px 48px}.intro-kicker{margin-bottom:9px}.intro-shell .intro h1{margin:12px 0;font-size:clamp(26px,7.7vw,32px)}.intro-shell .intro p{margin-bottom:12px;line-height:1.7}.intro-shell .intro-sound{margin-bottom:10px}.intro-shell .intro-sound>span{display:none}.intro-shell .intro .install-invite{margin-top:8px;padding-top:6px}.intro-shell .intro-note{margin-top:9px}.intro-shell .intro-motion{font-size:10px}}
@media(prefers-reduced-motion:reduce){.intro-shell button{transition:none}.intro-shell .intro-start:active{transform:none}}

/* First company: a focused game entry, before the operating dashboard exists. */
body.company-entry-mode{height:100dvh;min-height:0;overflow:hidden;background:#0b252c}.company-entry-mode #app{height:100%}.company-entry-mode>.site-footer{display:none}.company-entry{position:relative;isolation:isolate;height:100%;max-width:960px;margin:auto;padding:0 24px calc(14px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;color:#f3edda}.company-entry-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:calc(10px + env(safe-area-inset-top,0px)) 0 10px;flex:none}.company-entry .brand{font-size:19px;color:#fff1d0;letter-spacing:-.5px}.company-entry .brand span{color:#dec186}.company-entry-header .btn{min-height:44px;padding:8px 14px;border:1px solid #73918066;border-radius:9px;background:#173a40;color:#e0e7d7;font-size:12px}.company-entry-art{position:absolute;inset:0;z-index:-1;overflow:hidden}.company-entry-art img{width:100%;height:100%;object-fit:cover;opacity:.38}.company-entry-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b252cf2,#0b252cc4),linear-gradient(0deg,#0b252c,transparent)}.company-entry .game-stage{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;width:100%;max-width:460px;margin:0 auto;display:flex;flex-direction:column;justify-content:safe center;scroll-margin:0}.company-entry #network-status{font-size:12px;color:#ebd19a;margin:8px 0}.company-entry #network-status:empty{display:none}.company-entry .recovery{background:#263e3c;border:1px solid #a4874e;border-radius:10px;padding:12px;font-size:12px;flex:none}.company-entry .company-creation{padding:12px 0;border:0;border-radius:0;background:none;box-shadow:none;color:#f3edda}.company-creation>.chapter{color:#ddbf87;font-size:10px;letter-spacing:.15em}.company-entry .company-creation h2{font-size:34px;line-height:1.3;letter-spacing:.03em;font-weight:700;margin:12px 0}.company-creation>p{font-size:13px;line-height:1.8;color:#b8cec0;margin:0 0 18px}.company-entry .company-fields{display:grid;gap:8px}.company-entry .company-fields label{display:flex;justify-content:space-between;gap:10px;font-size:13px;font-weight:700;margin:0;color:#ebead8}.company-fields label span{color:#adc1b3;font-size:10px;font-weight:400}.company-entry .company-fields input{display:block;min-height:48px;width:100%;margin:0 0 6px;padding:11px 14px;border:1px solid #849d8866;border-radius:9px;background:#0c2931cc;color:#fff5dc;font-size:16px;box-shadow:inset 0 2px 8px #021c2533}.company-entry .company-fields input::placeholder{color:#94ada0}.company-entry .company-fields input:focus{border-color:#e4c786;outline:2px solid #e4c78666;outline-offset:2px}.company-entry #company-note{font-size:11px;line-height:1.7;color:#b4c7b8;margin:10px 0}.company-name-privacy{font-size:11px;color:#aebfb2}.company-name-privacy summary{cursor:pointer;min-height:32px;padding:7px 0;text-decoration:underline;text-underline-offset:3px}.company-name-privacy p{line-height:1.8;margin:6px 0 10px}.company-entry #company-error{font-size:12px;color:#ffe0a3;margin:8px 0}.company-entry #company-error:empty{display:none}.company-entry .company-creation .actions{display:grid;gap:7px;margin:12px 0 0}.company-entry .company-creation .btn{min-height:48px;border-radius:10px;font-size:15px;padding:12px 18px;background:linear-gradient(#f7dfa6,#dfb96b);color:#15382f;border:1px solid #ffe4a1;box-shadow:0 3px 0 #866a34}.company-entry .company-creation .btn.secondary{background:none;border-color:transparent;color:#bdd0c2;box-shadow:none;font-size:12px;min-height:44px;padding:8px}.company-entry-steps{display:flex;align-items:center;justify-content:center;gap:12px;flex:none;font-size:10px;color:#8fa99b;margin:8px 0 0;letter-spacing:.02em}.company-entry-steps b{font-weight:600;color:#e6cb91}.company-entry-steps span{color:#7c9184}.company-entry button:focus-visible,.company-entry summary:focus-visible{outline:3px solid #e6c789;outline-offset:2px}
/* A replayable, skippable practice overlay; game state stays behind it. */
.game-tutorial{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #748b7066;border-radius:18px;background:#0e2b32;color:#f1ead6;box-shadow:0 24px 80px #020f1acc}.game-tutorial[open]{display:flex;flex-direction:column}.game-tutorial::backdrop{background:#061d27e8;backdrop-filter:blur(8px)}.game-tutorial>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px 10px;flex:none}.game-tutorial>header>div{display:grid;gap:5px}.game-tutorial>header span{font-size:9px;letter-spacing:.18em;color:#d4b980}.game-tutorial>header strong{font-size:14px;font-weight:600}.game-tutorial .tutorial-skip{background:none;border:0;border-radius:8px;color:#b9cbbd;min-height:44px;padding:8px 0 8px 14px;font-size:11px}.tutorial-progress{display:flex;gap:5px;margin:0 22px 12px;flex:none}.tutorial-progress i{height:3px;border-radius:3px;background:#526f5f66;flex:1}.tutorial-progress i.active{background:#d9bd81}.tutorial-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:6px 22px 16px}.game-tutorial h2{font-size:25px;line-height:1.45;margin:20px 0 10px;text-wrap:balance;color:#fff1d0}.game-tutorial h2:focus{outline:none}.tutorial-content>p{font-size:13px;line-height:1.9;color:#c8d7c9;margin:10px 0}.tutorial-content .tutorial-tip{font-size:11px;color:#9fb8a8}.tutorial-scene,.tutorial-practice,.tutorial-cash{padding:20px;border:1px solid #8c9d7166;border-radius:12px;background:linear-gradient(135deg,#274b43,#102c33)}.tutorial-scene>span,.tutorial-practice>span,.tutorial-cash>span{font-size:10px;letter-spacing:.12em;color:#e0c68d}.tutorial-scene>p{font-size:22px;line-height:1.65;font-weight:650;margin:14px 0;color:#fff3d8}.tutorial-scene>small,.tutorial-cash>small{display:block;font-size:11px;line-height:1.8;color:#bed0bd}.game-tutorial .tutorial-listen{min-height:44px;border:1px solid #a8b88e66;border-radius:9px;background:#163830;color:#f2dba6;box-shadow:none;font-size:12px;padding:10px 14px}.tutorial-practice>p{font-size:13px;line-height:1.8;color:#cdd7c7}.tutorial-practice>button{width:100%;min-height:56px;text-align:left;border:1px solid #8ca48766;border-radius:9px;background:#102c32;color:#f0ead3;font-size:16px;font-weight:600;padding:14px;margin:4px 0;line-height:1.6}.tutorial-practice>button[aria-pressed=true]{border-color:#eed29a;background:#375146;color:#fff0c3;box-shadow:inset 3px 0 #e2c48c}.tutorial-practice .tutorial-feedback{min-height:38px;margin:8px 0 0;color:#e8d5ad;font-size:11px}.tutorial-cash>strong{display:block;font-size:38px;line-height:1.4;color:#f7d998;margin:8px 0}.tutorial-records{border-top:1px solid #768e6b44;margin-top:18px;padding-top:14px}.tutorial-records>span{font-size:12px;color:#d8c18b;font-weight:700}.tutorial-records>p{font-size:12px;line-height:1.9;color:#b3cbb8;margin:7px 0}.game-tutorial>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 20px 18px;border-top:1px solid #768e6b44;flex:none}.game-tutorial>footer>span{font-size:11px;color:#b0bfa8;white-space:nowrap}.game-tutorial .tutorial-back{min-height:44px;padding:10px;background:none;border:1px solid #8da27e55;border-radius:9px;box-shadow:none;color:#c3d2bb;font-size:12px}.game-tutorial .tutorial-next{min-height:48px;padding:12px 16px;background:linear-gradient(#f7dfa6,#dfb96b);border:1px solid #ffe4a1;border-radius:9px;box-shadow:0 3px 0 #866a34;color:#17382e;font-size:13px}.game-tutorial button:disabled{opacity:.4;cursor:default}.game-tutorial button:focus-visible{outline:3px solid #f2d497;outline-offset:3px}.game-tutorial button:active{transform:translateY(1px)}
@media(max-width:560px){.company-entry{padding-inline:22px}.company-entry .game-stage{max-width:420px}.company-entry .company-creation h2{font-size:30px}.company-entry-steps{gap:10px;font-size:9px}.game-tutorial h2{font-size:23px}.tutorial-content{padding-inline:20px}.tutorial-scene,.tutorial-practice,.tutorial-cash{padding:16px}.tutorial-scene>p{font-size:20px}}
@media(max-height:650px){.company-entry .company-creation{padding:5px 0}.company-entry .company-creation h2{font-size:28px;line-height:1.25;margin:8px 0}.company-creation>p{font-size:12px;margin-bottom:12px}.company-entry .company-fields{gap:6px}.company-entry .company-fields input{min-height:44px;padding:9px 12px;margin-bottom:4px}.company-entry #company-note{margin:8px 0;font-size:10px}.company-entry .company-creation .actions{margin-top:8px;gap:3px}.company-entry .company-creation .btn{min-height:44px}.company-entry-header{padding-block:6px}.game-tutorial>header{padding-block:8px}.game-tutorial h2{font-size:22px;margin-top:14px}.tutorial-scene>p{font-size:18px}.game-tutorial>footer{padding-block:10px}}
@media(prefers-reduced-motion:reduce){.game-tutorial button,.company-entry button{transition:none}.game-tutorial button:active{transform:none}}
.company-entry .company-creation form{margin-top:12px}
@media(max-height:600px){.company-entry .company-creation form{margin-top:8px}.company-entry .company-creation .actions{grid-template-columns:minmax(0,1fr) auto;gap:6px}.company-entry .company-creation .btn{font-size:13px;padding-inline:10px}.company-entry .company-creation .btn.secondary{font-size:11px;padding-inline:5px}}
@media(max-width:560px){.tutorial-practice>button{font-size:15px;padding:12px}.game-tutorial h2{margin-top:16px}.tutorial-content>p{line-height:1.8}.tutorial-content .tutorial-tip{line-height:1.7}}

/* Keep the app inside the device's safe rectangle, including iOS standalone. */
:root{--gb-safe-top:env(safe-area-inset-top,0px);--gb-safe-right:env(safe-area-inset-right,0px);--gb-safe-bottom:env(safe-area-inset-bottom,0px);--gb-safe-left:env(safe-area-inset-left,0px)}
body{padding:var(--gb-safe-top) var(--gb-safe-right) var(--gb-safe-bottom) var(--gb-safe-left)}
/* These children inherit the safe rectangle; do not count the inset twice. */
.playing-shell>.stats{top:var(--gb-safe-top);padding-top:10px}
.theater-mode .playing-shell{padding-bottom:12px}
.theater-mode .playing-shell>.stats{top:auto;padding-top:12px}
.company-entry{padding-bottom:14px}
.company-entry-header{padding-top:10px}
.intro-shell .intro{min-height:min(760px,calc(100svh - var(--gb-safe-top) - var(--gb-safe-bottom) - 88px))}
.game-tutorial,.install-guide,.business-glossary,.theater .theater-sheet{inset:var(--gb-safe-top) var(--gb-safe-right) var(--gb-safe-bottom) var(--gb-safe-left);margin:auto;max-height:calc(100dvh - var(--gb-safe-top) - var(--gb-safe-bottom) - 24px);max-width:calc(100vw - var(--gb-safe-left) - var(--gb-safe-right) - 24px)}
.theater .theater-sheet{max-height:min(780px,calc(100dvh - var(--gb-safe-top) - var(--gb-safe-bottom) - 24px))}
.theater-reply:not([hidden]){left:calc(12px + var(--gb-safe-left));right:calc(12px + var(--gb-safe-right))}
@media(max-width:750px){.intro-shell .intro{min-height:calc(100svh - var(--gb-safe-top) - var(--gb-safe-bottom) - 68px)}}
@media(max-width:560px){.theater-mode .playing-shell{padding-bottom:8px}.theater-mode .playing-shell>.stats{padding-top:9px}}
@media(max-height:650px){.company-entry-header{padding-top:6px}}
@media(max-height:450px){.theater-mode .playing-shell{padding-bottom:6px}.theater-mode .playing-shell>.stats{padding-top:5px}}
html{background:#102e34}body{background-clip:content-box}

/* Keep the current person's confidence beside their name, outside paginated text. */
.theater-nameplate{flex-wrap:wrap;gap:4px 10px}.theater-nameplate>.relationship-current{order:3;flex:0 0 100%;margin:0;font-size:11px;line-height:1.5;color:#c7d7c7;letter-spacing:0}

/* Financial briefings use measured tap pages, with labels and amounts kept together. */
.theater-finance-probe{position:absolute;left:0;top:0;visibility:hidden;pointer-events:none;z-index:-10}
.theater-pages .theater-finance-card{margin:0;padding:18px;background:#16383e;color:#ecf2df;border:1px solid #6b86765c;border-radius:14px;box-sizing:border-box;text-align:left}
.theater-pages .theater-finance-card .chapter{font-size:10px;color:#e8c68b;letter-spacing:.12em;margin:0 0 12px}
.theater-pages .theater-finance-card h3{font-size:22px;color:#fff0c8;line-height:1.5;margin:0 0 14px}
.theater-pages .theater-finance-card p{font-size:13px;line-height:1.8;margin:10px 0;color:#d5e2cc}
.theater-pages .theater-finance-card :is(dl,ul){margin:4px 0;padding:0}
.theater-pages .theater-finance-card :is(dl>div,li){padding:9px 0;border-color:#7b96834d;display:flex;justify-content:space-between;gap:12px}
.theater-pages .theater-finance-card :is(dt,li span){font-size:12px;line-height:1.6}
.theater-pages .theater-finance-card :is(dd,li strong){font-size:19px;color:#f4d294;line-height:1.5;white-space:normal;text-align:right}
.theater-finance-card .month-stats{gap:8px;margin:12px 0;grid-template-columns:repeat(2,minmax(0,1fr))}
.theater-finance-card .month-stats>div{padding:12px;background:#294b4b}
.theater-finance-card .month-stats strong{color:#f4d294;font-size:25px}
.theater-finance-card .month-stats span{font-size:11px;line-height:1.5;min-height:33px}
.theater-finance-card details summary{min-height:44px;cursor:pointer;font-size:13px;color:#f4d294}
.theater-finance-leaf{max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:2px}
.theater[data-stage=mission] .theater-mission-leaf:has(.theater-finance-leaf){padding:0;background:transparent}
.theater-result-leaf[data-finance="1"]{padding:0}
@media(max-width:360px){.theater-pages .theater-finance-card{padding:14px}.theater-pages .theater-finance-card h3{font-size:19px}.theater-finance-card .month-stats strong{font-size:21px}}
.theater-result-intro>h2{text-wrap:balance}
@media(max-height:650px){.theater-result-intro>.trophy{font-size:38px;line-height:1.25}}

/* Revealed recall and its self-rating use tap pages, like the financial results. */
.theater-result-leaf[data-recall="1"]{padding:0;overflow:hidden}
.theater-recall-leaf{padding:4px;max-height:100%;overflow:hidden;display:flow-root}
.theater-recall-leaf[hidden]{display:none!important}
.theater-recall-leaf>.recall-panel{margin:0;padding:18px;display:flow-root}
.theater-recall-probe{position:absolute;top:0;left:0;max-height:none;visibility:hidden;pointer-events:none;z-index:-10}

.theater-recall-leaf .recall-page-context{font-size:14px;font-weight:700;line-height:1.6;border-left:2px solid #ba944e;padding-left:10px;margin:0 0 14px}
.theater-recall-leaf .actions{gap:8px}.theater-recall-leaf .actions .btn{padding:11px 12px;font-size:13px;min-height:44px}
.theater-recall-leaf h2{font-size:23px;margin:8px 0 12px}.theater-recall-leaf .recall-prompt{padding:12px;font-size:16px;margin:10px 0}
.theater-recall-leaf .recall-answer{margin:10px 0;padding:12px}.theater-recall-leaf .recall-answer .english{font-size:20px;margin:6px 0 12px}

/* PWA has no browser reload button; keep this explicit action in the menu. */
.page-reload{margin:20px 0;padding-top:16px;border-top:1px solid #a7b9a750}.page-reload>.btn{width:100%;min-height:44px}.page-reload>.small{font-size:12px;line-height:1.7;margin:10px 0 0}.page-reload>.small:empty{display:none}

/* The practice uses the same candidate switcher and one reply card as play. */
.tutorial-practice .theater-candidates{margin:0 0 10px}.tutorial-practice .tutorial-answer{margin:0;touch-action:manipulation}.tutorial-practice .tutorial-feedback{min-height:3.6em}.tutorial-content:has(.tutorial-practice){padding-top:0;padding-bottom:8px}.tutorial-content:has(.tutorial-practice)>h2{margin-top:0}.tutorial-practice>p:not(.tutorial-feedback){margin:10px 0}

/* Keep answer previews and their tools within compact phone screens. */
@media(max-width:560px){
 .theater-top{padding-inline:10px;gap:6px}.theater-location{white-space:nowrap}
 .theater-controls{padding-inline:14px}.theater-navigation .btn{white-space:nowrap;font-size:12px;padding-inline:12px}.theater-counter{white-space:nowrap;letter-spacing:.02em}
 .theater[data-stage=choices] .theater-body{padding:12px 16px 6px}.theater[data-stage=choices] .theater-pages>h2{font-size:clamp(19px,5.1vw,25px);line-height:1.4;margin-bottom:8px}
 .theater[data-stage=choices] .theater-navigation{min-height:44px}.theater[data-stage=choices] .theater-pages>.tip{font-size:11px;margin:8px 0}
 .theater[data-stage=choices] .choice{padding:12px;line-height:1.5;margin:0 0 8px}.theater[data-stage=choices] .choice-unavailable{display:block;font-size:12px;line-height:1.5;margin-top:6px}.theater[data-stage=choices] .choice-tools{margin:4px 0 0}
}
@media(max-width:360px){.theater[data-stage=choices] .choice{font-size:17px}}

.share-panel a.share-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}

/* Founder diagnosis: 16 types on four axes */
.leader-card,.leader-hero{padding:22px;border-radius:18px;background:#153d43;color:#f4f5e9;margin:18px 0;text-align:left}
.leader-card .chapter,.leader-hero .chapter{color:#a6d9c9}
.leader-card h3{font-size:23px;margin:6px 0 4px;color:#fff}
.leader-card>p{font-size:14px;line-height:1.7;margin:0 0 10px}
.leader-code{font-size:30px;font-weight:900;letter-spacing:.18em;color:#ffe3a0;margin:8px 0 0;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.leader-code small{font-size:11px;letter-spacing:.08em;color:#a6d9c9;font-weight:700}
.group-strategy{background:#1b3552}.group-trust{background:#1f4a37}.group-pioneer{background:#4a3a1c}
.leader-axes{display:grid;gap:8px;margin:12px 0}
.leader-axis{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:'left right' 'bar bar';align-items:end;gap:4px 8px;font-size:12px;line-height:1.3}
.leader-pole{display:flex;align-items:center;gap:4px;opacity:.62;white-space:nowrap}.leader-pole.left{grid-area:left}.leader-pole.right{grid-area:right;justify-content:flex-end;text-align:right}
.leader-pole b{font-size:15px}.leader-pole em{font-style:normal;font-weight:800}
.lean-left .leader-pole.left,.lean-right .leader-pole.right{opacity:1;font-weight:700}
.leader-bar{grid-area:bar;height:10px;border-radius:6px;background:rgba(255,255,255,.18);overflow:hidden;direction:ltr}
.leader-bar i{display:block;height:100%;background:#ffd47a;border-radius:6px}
.leader-card .btn.secondary{margin-top:6px}
.leader-panel{text-align:left}.leader-panel>p{line-height:1.8}
.leader-panel .leader-axes{background:#153d43;color:#f4f5e9;border-radius:14px;padding:14px}
.leader-hero h2{font-size:27px;margin:4px 0;color:#fff}.leader-catch{font-size:15px;font-weight:700;margin:4px 0 0}
.leader-compare{background:#fff7df;border-radius:12px;padding:12px 14px;font-size:14px}
.leader-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.leader-columns h3,.leader-phrase h3{font-size:15px;margin:10px 0 4px}
.leader-columns ul{margin:0;padding-left:1.2em;line-height:1.8;font-size:14px}
.leader-fit{border-left:4px solid #e7c27d;padding:4px 0 4px 12px;font-size:14px;line-height:1.7}.leader-fit p{margin:4px 0}
.leader-phrase{background:#eef5f2;border-radius:14px;padding:12px 16px}.leader-phrase .english{font-size:18px;font-weight:800;margin:4px 0}.leader-phrase p{margin:4px 0}
@media(max-width:420px){.leader-columns{grid-template-columns:1fr}.leader-code{font-size:26px}}
.intro-quiz{display:inline-block;margin-top:10px;color:#e7c27d;font-weight:700;font-size:14px;text-underline-offset:3px}
.next-teaser{margin:14px auto 0;max-width:30em;padding:10px 14px;border-radius:12px;background:#fff7df;color:#5b4520;font-weight:700;line-height:1.6;text-align:left}
.next-teaser span{display:inline-block;margin-right:8px;padding:1px 8px;border-radius:999px;background:#e7c27d;color:#153941;font-size:11px;letter-spacing:.1em;vertical-align:1px}
.result-learning .highlight{margin:10px 0}.result-learning .lesson{margin-top:12px}
.lesson-more summary{cursor:pointer;color:var(--teal);font-weight:700;min-height:40px;display:flex;align-items:center}
.finale-epilogues{margin:14px 0;padding:12px 14px;border-left:3px solid #e7c27d;text-align:left}.finale-epilogues h4{margin:0 0 6px;font-size:14px}.finale-epilogues p{margin:6px 0;font-size:14px;line-height:1.7}
.leader-owner{margin:4px 0 0;font-size:14px;font-weight:700;color:#e9ddbb}
.deal-pipeline{margin:14px auto 0;max-width:30em;padding:10px 14px;border-radius:12px;background:#e8f3ef;color:#153941;line-height:1.6;text-align:left}.deal-pipeline span{display:inline-block;margin-right:8px;padding:1px 8px;border-radius:999px;background:#067c75;color:#fff;font-size:11px;letter-spacing:.1em;vertical-align:1px}.deal-pipeline strong{display:block;font-size:18px;margin-top:2px}.deal-pipeline small{display:block;font-size:12px;color:#526967}
/* One review page: practice goal, phrase, folded note and the next-episode teaser */
.result-learning>.learning-goal{margin:4px 0 8px;padding:8px 12px}
.result-learning .highlight{padding:12px 14px;margin:8px 0}.result-learning .highlight .english{font-size:20px;margin:2px 0 6px}
.result-learning .lesson{padding:12px 14px;margin:8px 0}.result-learning .lesson h3{font-size:16px;margin:4px 0}.result-learning .lesson .learning-goal{margin:6px 0;padding:8px 10px}
.result-learning .next-teaser{margin:8px 0 0}
@media(max-height:700px){.theater-result-intro .trophy{font-size:26px;line-height:1;margin:0}.theater-result-intro h2{font-size:20px;margin:4px 0}.theater-result-intro>p{margin:6px 0;line-height:1.6}.theater-result-intro .deal-pipeline,.theater-result-intro .next-teaser{margin-top:8px;padding:8px 12px}.deal-pipeline small{display:none}}
.leader-group{margin:6px 0 0;font-size:12px;font-weight:700;letter-spacing:.08em;color:#a6d9c9}
