:root{
  --ink:#eef3e8;--muted:#aeb5aa;--panel:rgba(5,8,7,.90);--line:rgba(205,217,197,.18);
  --acid:#d7dc72;--amber:#d9a74a;--red:#d4574f;--green:#87b99b;--black:#030504;
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:#020302;color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;overscroll-behavior:none}
button{font:inherit}
button:focus-visible{outline:2px solid var(--acid);outline-offset:2px}
.hidden{display:none!important}
.app{position:relative;width:100vw;height:100vh;height:100svh;height:100dvh;min-width:0;min-height:0;max-width:100vw;max-height:100dvh;background:#030504;isolation:isolate;overflow:hidden}
.scene-bg{position:absolute;inset:-2%;z-index:-8;background:#050706 url('../assets/cover.webp') center/cover no-repeat;transform:scale(1.04);transition:opacity .55s ease,filter .55s ease,background-image .35s ease;filter:saturate(.82) contrast(1.08)}
.scene-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.12) 48%,rgba(0,0,0,.76))}
.fog{position:absolute;z-index:-5;inset:auto -30% -18%;height:55%;pointer-events:none;background:radial-gradient(ellipse at center,rgba(208,222,207,.12),rgba(200,220,199,0) 66%);filter:blur(14px);opacity:.7;animation:fogMove 18s linear infinite}
.fog-b{bottom:18%;opacity:.35;animation-duration:25s;animation-direction:reverse}
.grain{position:absolute;z-index:50;inset:0;pointer-events:none;opacity:.065;background-image:repeating-radial-gradient(circle at 17% 33%,#fff 0 1px,transparent 1px 3px);background-size:4px 4px;mix-blend-mode:overlay;animation:grain .14s steps(2) infinite}
.vignette{position:absolute;z-index:45;inset:0;pointer-events:none;box-shadow:inset 0 0 13vw 3vw rgba(0,0,0,.86)}
.flash,.chroma-pulse{position:absolute;z-index:60;inset:0;pointer-events:none;opacity:0}
.flash{background:#e9f3e4}.flash.go{animation:flash .25s ease-out}
.chroma-pulse{z-index:59;background:linear-gradient(90deg,rgba(255,0,56,.12),transparent 35%,transparent 65%,rgba(0,174,255,.12));mix-blend-mode:screen}.chroma-pulse.go{animation:chroma .42s ease-out}
.screen{position:absolute;inset:0;z-index:5;min-width:0;min-height:0}

/* TITLE */
.title-screen{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding-left:max(clamp(18px,6vw,78px),env(safe-area-inset-left));padding-right:max(clamp(18px,6vw,78px),env(safe-area-inset-right));padding-top:max(clamp(18px,5vh,55px),env(safe-area-inset-top));padding-bottom:max(clamp(18px,5vh,58px),env(safe-area-inset-bottom));background:linear-gradient(90deg,rgba(0,0,0,.80),rgba(0,0,0,.16) 60%,rgba(0,0,0,.24));overflow:auto;scrollbar-width:thin}
.title-topline{position:absolute;top:max(clamp(16px,5vh,55px),env(safe-area-inset-top));left:max(clamp(18px,6vw,78px),env(safe-area-inset-left));max-width:calc(100vw - 44px);font-size:clamp(9px,1vw,12px);letter-spacing:.28em;color:#cbd4c7;border-left:2px solid var(--acid);padding-left:12px;white-space:normal}
.title-lockup{width:min(860px,100%);min-width:0}
.title-lockup h1{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-weight:900;font-size:clamp(54px,9vw,122px);line-height:.78;letter-spacing:-.02em;margin:0;text-shadow:0 5px 30px #000;overflow-wrap:anywhere}
.title-lockup h1 span{font-size:.38em;letter-spacing:.18em;color:#e7e8c6}
.title-lockup p{max-width:min(620px,100%);margin:28px 0 22px;font-size:clamp(14px,1.6vw,20px);color:#c7cbc2}
.title-actions{display:flex;flex-wrap:wrap;gap:9px;width:min(900px,100%)}
.title-footer{margin-top:20px;font-size:10px;letter-spacing:.11em;color:#858c83;display:flex;gap:8px;flex-wrap:wrap;text-transform:uppercase;max-width:860px}
.brand{position:absolute;right:max(22px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-end;line-height:.86;text-transform:lowercase;text-shadow:0 3px 18px #000;pointer-events:none}
.brand strong{font-size:clamp(22px,2.6vw,40px);letter-spacing:-.055em;color:#f1f4ee;font-weight:900}
.brand span{font-size:clamp(9px,.8vw,13px);letter-spacing:.48em;color:var(--acid);margin-right:-.48em;margin-top:7px;font-weight:800}
.mini-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:6px;border-radius:99px;background:var(--acid);color:#111;font-size:10px;font-weight:1000}

/* BUTTONS */
.primary-btn,.secondary-btn,.ghost-btn,.reward-btn,.icon-btn,.choice-btn{border:0;cursor:pointer;color:var(--ink);transition:transform .12s ease,background .12s ease,border-color .12s ease,filter .12s ease,opacity .12s ease}
.primary-btn,.secondary-btn,.ghost-btn,.reward-btn{min-height:46px;padding:0 22px;font-weight:800;letter-spacing:.075em;font-size:12px}
.primary-btn{background:var(--acid);color:#17190d}.primary-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.secondary-btn{background:#181d1a;border:1px solid #3e4740}
.ghost-btn{background:rgba(5,7,6,.45);border:1px solid #313832;color:#bcc3ba}
.reward-btn{background:linear-gradient(180deg,#294235,#17271f);border:1px solid #5b8069;color:#e7f5ec;box-shadow:inset 0 0 22px rgba(116,188,143,.04)}
.reward-btn:disabled,.secondary-btn:disabled,.primary-btn:disabled{opacity:.34;cursor:not-allowed;transform:none!important;filter:none!important}
.secondary-btn:hover:not(:disabled),.ghost-btn:hover,.reward-btn:hover:not(:disabled){border-color:#819083;transform:translateY(-1px)}

/* HUD */
.hud{position:absolute;z-index:30;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;padding-top:max(14px,env(safe-area-inset-top));padding-left:max(clamp(10px,3vw,38px),env(safe-area-inset-left));padding-right:max(clamp(10px,3vw,38px),env(safe-area-inset-right));pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.70),transparent);flex-wrap:wrap;gap:8px 12px}
.chapter-chip,.status-row{pointer-events:auto;min-width:0}.chapter-chip{display:grid;grid-template-columns:auto 1fr;gap:0 10px;align-items:end;min-width:210px}.chapter-chip .eyebrow{grid-column:1/3}.chapter-chip strong{font-size:28px;color:var(--acid);line-height:1}.chapter-chip #chapterTitle{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#d5dbd2;padding-bottom:3px}
.eyebrow{display:block;font-size:9px;letter-spacing:.24em;color:#aab1a8;margin-bottom:5px;text-transform:uppercase}.eyebrow.red{color:#e17a72}
.status-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.sanity-wrap{height:40px;display:grid;grid-template-columns:auto minmax(70px,110px) auto;gap:8px;align-items:center;padding:0 12px;background:rgba(3,5,4,.68);border:1px solid var(--line);backdrop-filter:blur(8px);max-width:100%}
.status-label,.status-value{font-size:9px;letter-spacing:.14em}.status-value{color:var(--acid);width:22px;text-align:right}.sanity-track{width:110px;max-width:100%;height:4px;background:#232925;overflow:hidden}.sanity-fill{height:100%;width:100%;background:var(--acid);transition:width .3s ease,background .3s ease}
.sigil-chip{height:40px;display:flex;align-items:center;gap:6px;padding:0 10px;background:rgba(3,5,4,.72);border:1px solid rgba(215,220,114,.23);font-size:8px;letter-spacing:.13em;color:#bfc6b9;white-space:nowrap}.sigil-chip strong{color:var(--acid);font-size:12px}
.icon-btn{height:40px;min-width:48px;padding:0 12px;background:rgba(3,5,4,.72);border:1px solid var(--line);font-size:10px;font-weight:800;letter-spacing:.1em}.icon-btn:hover{background:#121713}

/* GAME */
.game-screen{display:flex;align-items:flex-end;justify-content:center;min-width:0;min-height:0;padding-left:max(clamp(8px,3vw,40px),env(safe-area-inset-left));padding-right:max(clamp(8px,3vw,40px),env(safe-area-inset-right));padding-bottom:max(clamp(8px,3vh,34px),env(safe-area-inset-bottom));padding-top:max(82px,calc(env(safe-area-inset-top) + 70px))}
.portrait-wrap{position:absolute;z-index:4;left:clamp(-26px,1vw,20px);bottom:10%;width:min(39vw,570px);height:min(70dvh,690px);max-width:78vw;max-height:72dvh;overflow:visible;background:none!important;border:0!important;box-shadow:none!important;pointer-events:none;filter:drop-shadow(0 18px 25px rgba(0,0,0,.92));animation:portraitIn .35s ease}
.portrait-wrap::before,.portrait-wrap::after{display:none!important;content:none!important}
.portrait-wrap img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;background:transparent!important;box-shadow:none!important;border:0!important;filter:saturate(.78) contrast(1.08);mix-blend-mode:normal}
.dialogue-panel{position:relative;z-index:8;width:min(1120px,100%);min-width:0;min-height:0;max-height:calc(100dvh - 96px - env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;padding:22px 28px 18px;background:linear-gradient(180deg,rgba(6,8,7,.92),rgba(3,5,4,.96));border:1px solid rgba(205,217,197,.2);box-shadow:0 20px 70px rgba(0,0,0,.68);backdrop-filter:blur(9px)}
.dialogue-panel::before{content:"";position:absolute;left:-1px;top:-1px;width:90px;height:2px;background:var(--acid)}
.speaker-line{height:22px;display:flex;justify-content:space-between;align-items:center}.speaker{font-size:11px;font-weight:900;letter-spacing:.18em;color:var(--acid)}.danger-tag{font-size:9px;letter-spacing:.17em;color:#f29c95;animation:pulse 1.1s infinite}
.dialogue-text{min-width:0;min-height:72px;margin:7px 0 8px;max-width:940px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(17px,2vw,23px);line-height:1.48;color:#edf0e9;text-wrap:pretty;overflow-wrap:anywhere}
.continue-hint{font-size:8px;letter-spacing:.17em;color:#707970;text-align:right}
.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;min-width:0;max-width:100%}.choice-btn{text-align:left;min-width:0;max-width:100%;min-height:48px;background:#111612;border:1px solid #343c35;padding:11px 14px;color:#e5e9e1;font-size:12px;line-height:1.3;overflow-wrap:anywhere;white-space:normal}.choice-btn span{display:block;font-size:8px;color:#8f998f;letter-spacing:.13em;margin-bottom:3px}.choice-btn:hover{background:#202820;border-color:#7e8c7f;transform:translateX(2px)}.choice-btn.danger{border-color:#64322f}.choice-btn.safe{border-color:#3e5e4d}.choice-btn.sigil{border-color:#77783d;background:#1a1c10}.choice-btn.memory{border-color:#51476d;background:#15121b}
.whisper{position:absolute;z-index:12;top:22%;right:8%;max-width:min(360px,60vw);font-family:Georgia,serif;font-style:italic;font-size:clamp(18px,2.3vw,34px);color:rgba(224,228,216,.42);text-shadow:0 0 20px #000;animation:whisper 2.5s ease-in-out infinite;pointer-events:none;overflow-wrap:anywhere}

/* CARDS / MODALS */
.overlay-card{position:absolute;z-index:80;inset:0;display:grid;place-content:center;text-align:center;background:rgba(2,3,2,.90);padding:20px}.chapter-card h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(44px,8vw,96px);margin:4px 0;color:#f0f2e7}.chapter-number{font-size:10px;letter-spacing:.36em;color:var(--acid)}.chapter-card p{font-size:12px;letter-spacing:.13em;color:#8f978e;text-transform:uppercase}
.modal-screen{z-index:90;display:grid;place-items:center;padding-top:max(12px,env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left));background:rgba(0,0,0,.80);backdrop-filter:blur(8px);overflow:auto;overscroll-behavior:contain}
.modal-box{position:relative;width:min(720px,100%);max-width:100%;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;min-width:0;min-height:0;padding:36px;background:#080b09;border:1px solid #313a33;box-shadow:0 30px 100px #000}
.modal-box h2{font-family:Georgia,serif;font-size:clamp(31px,5vw,58px);line-height:.98;margin:7px 0 18px;font-weight:400}.modal-box p{color:#b4bbb2;line-height:1.6}.death-box{border-color:#5a2e2b}.death-actions,.ending-actions,.menu-stack,.daily-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px;max-width:100%}.death-actions>button,.ending-actions>button,.menu-stack>button,.daily-actions>button{max-width:100%;white-space:normal}.compact-box{width:min(520px,100%)}.clue-box{width:min(820px,100%)}.close-btn{position:absolute;top:10px;right:12px;border:0;background:transparent;color:#d6dcd3;font-size:30px;cursor:pointer;z-index:3}
.clue-list{display:grid;gap:8px;margin:16px 0 20px}.clue-entry{border:1px solid #2b332d;padding:14px;background:#0d110e}.clue-entry strong{display:block;font-size:11px;letter-spacing:.12em;color:#cfd78d;margin-bottom:4px}.clue-entry p{margin:0;font-size:12px}.empty-log{padding:26px;text-align:center;border:1px dashed #333b35;color:#777f78}
.ending-badge{position:absolute;right:30px;top:28px;font-size:48px;color:#343c35;font-weight:900}.ending-stats{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.stat-pill{padding:8px 10px;background:#101511;border:1px solid #2b342d;font-size:9px;letter-spacing:.1em}.ending-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.ending-tile{min-width:0;min-height:120px;border:1px solid #303832;background:#0e120f;padding:16px;overflow-wrap:anywhere}.ending-tile.locked{filter:grayscale(1);opacity:.45}.ending-tile strong{display:block;font-family:Georgia,serif;font-size:20px;margin:6px 0}.ending-tile p{font-size:11px;margin:0}

/* DAILY */
.daily-box{width:min(880px,100%)}.daily-copy{max-width:680px}.daily-track{display:grid;grid-template-columns:repeat(7,minmax(72px,1fr));gap:7px;margin:20px 0 14px;min-width:620px}.daily-day{position:relative;min-height:98px;padding:12px 8px;border:1px solid #2f3932;background:#0d120f;text-align:center;display:grid;align-content:center;gap:4px}.daily-day.current{border-color:#8e9251;box-shadow:inset 0 0 0 1px rgba(215,220,114,.12)}.daily-day.claimed{background:#131b15;border-color:#42604b}.daily-day .day-no{font-size:8px;letter-spacing:.15em;color:#899188}.daily-day strong{font-size:23px;color:var(--acid)}.daily-day .day-label{font-size:9px;color:#c8cec5}.daily-day.claimed::after{content:"✓";position:absolute;right:7px;top:5px;color:#92c7a2;font-weight:900}.daily-status{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid #242b26;border-bottom:1px solid #242b26;font-size:11px;letter-spacing:.08em}.daily-status strong{color:var(--acid)}.small-note{font-size:10px!important;color:#7f887e!important;margin-bottom:0}.daily-actions{margin-top:14px}

/* OPTIONS */
.options-box{width:min(720px,100%)}.effect-list{display:grid;gap:8px;margin-top:20px}.effect-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px;border:1px solid #2d352f;background:#0d110e}.effect-copy strong{display:block;font-size:11px;letter-spacing:.11em;color:#dbe1d7}.effect-copy span{display:block;margin-top:4px;font-size:10px;color:#7f887f}.toggle-btn{min-width:76px;height:36px;border:1px solid #434d45;background:#171c18;color:#9ca59c;font-size:9px;font-weight:900;letter-spacing:.12em;cursor:pointer}.toggle-btn.on{border-color:#7f8751;background:#2a2c18;color:#eef29e}.options-audio-row{margin-top:14px}

/* AD / TOAST */
.ad-curtain{position:absolute;z-index:150;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;background:#020302;color:#9da69d;font-size:10px;letter-spacing:.2em}.pulse-dot{width:11px;height:11px;border-radius:50%;background:var(--acid);box-shadow:0 0 24px var(--acid);animation:pulse .8s infinite}.toast{position:absolute;z-index:170;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translateX(-50%);max-width:calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));padding:12px 16px;background:#0c130e;border:1px solid #506056;box-shadow:0 12px 35px #000;color:#dbe7dc;font-size:10px;letter-spacing:.08em;text-align:center;white-space:normal}

/* OPTIONAL EFFECT STATES */
.app:not(.fx-grain) .grain{display:none}.app:not(.fx-vignette) .vignette{display:none}.app:not(.fx-shake).shake{animation:none!important}.app:not(.fx-whispers) .whisper{display:none!important}
.app.fx-chroma .scene-bg{filter:saturate(.84) contrast(1.1) drop-shadow(2px 0 0 rgba(255,0,54,.12)) drop-shadow(-2px 0 0 rgba(0,174,255,.10))}
.app.fx-flicker.flicker-hit .scene-bg{animation:flickerHit .22s steps(3)}
.app.fx-chroma.chroma-hit .dialogue-panel,.app.fx-chroma.chroma-hit .portrait-wrap{animation:chromaShift .24s steps(2)}
.app.sanity-low .scene-bg{filter:saturate(.68) contrast(1.12)}.app.sanity-critical .scene-bg{filter:saturate(.42) contrast(1.22) brightness(.78)}.app.sanity-critical .dialogue-text{text-shadow:1px 0 rgba(255,0,0,.22),-1px 0 rgba(0,170,255,.18)}
.scene-fade .scene-bg{opacity:.18}.shake{animation:shake .26s linear}

@keyframes portraitIn{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
@keyframes fogMove{0%{transform:translateX(-8%)}50%{transform:translateX(8%)}100%{transform:translateX(-8%)}}
@keyframes grain{0%{transform:translate(0)}25%{transform:translate(1px,-1px)}50%{transform:translate(-1px,1px)}75%{transform:translate(1px,1px)}}
@keyframes flash{0%{opacity:0}20%{opacity:.78}100%{opacity:0}}
@keyframes chroma{0%{opacity:0}25%{opacity:.95}100%{opacity:0}}
@keyframes pulse{50%{opacity:.35}}
@keyframes whisper{50%{opacity:.35;transform:rotate(-2deg) scale(1.02)}}
@keyframes shake{0%,100%{transform:translate(0)}25%{transform:translate(-4px,2px)}50%{transform:translate(4px,-2px)}75%{transform:translate(-2px,1px)}}
@keyframes flickerHit{0%{filter:brightness(1)}25%{filter:brightness(.22)}45%{filter:brightness(1.6)}65%{filter:brightness(.48)}100%{filter:brightness(1)}}
@keyframes chromaShift{0%{transform:translate(0)}35%{transform:translate(2px,-1px)}65%{transform:translate(-2px,1px)}100%{transform:translate(0)}}

/* PHONE / NARROW */
@media(max-width:740px){
  .title-screen{justify-content:flex-end;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(18px,env(safe-area-inset-bottom))}
  .title-topline{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));max-width:none;font-size:8px;letter-spacing:.16em}.title-lockup h1{font-size:clamp(38px,16vw,76px);line-height:.82}.title-lockup h1 span{font-size:.34em;letter-spacing:.13em}.title-lockup p{margin:16px 0 15px;font-size:clamp(12px,3.7vw,16px)}.title-actions{gap:7px}.title-actions button{flex:1 1 135px;min-width:0;padding-inline:12px}.title-footer{font-size:8px}.brand{right:max(12px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));opacity:.92}.brand strong{font-size:clamp(19px,5.8vw,28px)}.brand span{font-size:8px}
  .hud{align-items:flex-start;gap:5px 8px;padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.chapter-chip{min-width:112px;flex:0 1 auto}.chapter-chip strong{font-size:22px}.chapter-chip #chapterTitle{display:none}.status-row{margin-left:auto;flex:1 1 auto;min-width:0}.sanity-wrap{height:36px;grid-template-columns:auto minmax(38px,72px) auto;gap:5px;padding-inline:7px}.sanity-track{width:auto;min-width:38px}.status-label{font-size:7px}.sigil-chip,.icon-btn{height:36px}.sigil-chip{font-size:7px;padding-inline:7px}.icon-btn{min-width:38px;padding-inline:7px;font-size:8px}
  .game-screen{padding-top:max(74px,calc(env(safe-area-inset-top) + 64px));padding-left:max(6px,env(safe-area-inset-left));padding-right:max(6px,env(safe-area-inset-right));padding-bottom:max(6px,env(safe-area-inset-bottom))}.portrait-wrap{width:min(72vw,420px);max-width:72vw;height:48dvh;max-height:48dvh;left:-13vw;bottom:30%}.dialogue-panel{width:100%;max-height:calc(100dvh - 82px - env(safe-area-inset-bottom));padding:13px 13px 11px}.speaker-line{height:auto;min-height:18px;gap:8px;flex-wrap:wrap}.speaker{font-size:9px}.danger-tag{font-size:7px}.dialogue-text{font-size:clamp(14px,4.1vw,17px);line-height:1.38;min-height:54px;margin:6px 0}.choices{grid-template-columns:1fr;max-height:min(34dvh,270px);overflow:auto;padding-right:2px}.choice-btn{min-height:42px;padding:9px 10px;font-size:11px}.choice-btn span{font-size:7px}.continue-hint{font-size:6.5px}
  .modal-box{padding:24px 18px}.modal-box h2{font-size:clamp(27px,9vw,48px)}.modal-box p{font-size:13px}.ending-badge{right:18px;top:20px;font-size:34px}.ending-grid{grid-template-columns:1fr}.daily-track{min-width:560px}.effect-row{padding:10px;gap:10px}.toggle-btn{min-width:66px}
}

@media(max-width:380px){
  .title-lockup h1{font-size:clamp(34px,15vw,58px)}.title-topline{font-size:7px;letter-spacing:.11em}.primary-btn,.secondary-btn,.ghost-btn,.reward-btn{min-height:42px;font-size:10px}.chapter-chip{min-width:70px}.chapter-chip .eyebrow{display:none}.status-row{gap:4px}.sanity-wrap{grid-template-columns:minmax(32px,1fr) auto;min-width:104px}.sanity-wrap .status-label{display:none}.sanity-track{min-width:32px}.sigil-chip{display:none}.icon-btn{min-width:34px;padding-inline:5px}.dialogue-panel{padding:11px 10px 9px}.dialogue-text{font-size:14px}.choice-btn{font-size:10px}
}

/* SHORT LANDSCAPE / EMBEDS */
@media(max-height:560px) and (orientation:landscape){
  .title-screen{justify-content:center;padding-top:max(38px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom));overflow:auto}.title-topline{top:max(7px,env(safe-area-inset-top));font-size:7px}.title-lockup h1{font-size:clamp(38px,10.5vh,58px);line-height:.8}.title-lockup p{font-size:11px;margin:8px 0}.title-actions{gap:6px}.title-actions button{min-height:34px;padding-inline:12px;font-size:9px}.title-footer{display:none}.brand{bottom:max(4px,env(safe-area-inset-bottom))}.brand strong{font-size:20px}.brand span{font-size:7px;margin-top:4px}
  .hud{padding-top:max(5px,env(safe-area-inset-top));padding-bottom:2px;align-items:flex-start}.chapter-chip{min-width:100px}.chapter-chip strong{font-size:19px}.chapter-chip .eyebrow{font-size:7px;margin-bottom:2px}.chapter-chip #chapterTitle{font-size:8px}.sanity-wrap,.sigil-chip,.icon-btn{height:31px}.sanity-wrap{grid-template-columns:auto minmax(45px,76px) auto;padding-inline:6px}.status-label,.status-value{font-size:7px}.sigil-chip{font-size:6.5px}.icon-btn{min-width:34px;padding-inline:6px;font-size:7px}
  .game-screen{padding-top:max(44px,calc(env(safe-area-inset-top) + 40px));padding-bottom:max(4px,env(safe-area-inset-bottom))}.portrait-wrap{width:min(30vw,310px);max-width:30vw;height:68dvh;max-height:68dvh;left:0;bottom:8%}.dialogue-panel{min-height:0;max-height:calc(100dvh - 50px - env(safe-area-inset-bottom));padding:9px 13px 8px}.speaker-line{height:16px}.speaker{font-size:8px}.danger-tag{font-size:7px}.dialogue-text{font-size:13px;line-height:1.3;min-height:36px;margin:4px 0}.continue-hint{font-size:6px}.choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:7px;max-height:27dvh;overflow:auto}.choice-btn{min-height:32px;padding:6px 8px;font-size:9px;line-height:1.18}.choice-btn span{font-size:6px;margin-bottom:2px}.whisper{top:14%;font-size:clamp(14px,4vh,22px)}
  .modal-screen{place-items:start center}.modal-box{margin:auto 0;padding:18px 20px;max-height:calc(100dvh - 12px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.modal-box h2{font-size:clamp(25px,8vh,42px);margin:4px 0 8px}.modal-box p{font-size:11px;line-height:1.35;margin:6px 0}.death-actions,.ending-actions,.menu-stack,.daily-actions{margin-top:12px;gap:6px}.death-actions>button,.ending-actions>button,.menu-stack>button,.daily-actions>button{min-height:34px;padding-inline:12px;font-size:9px}.ending-stats{margin:8px 0}.ending-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ending-tile{min-height:82px;padding:10px}.ending-tile strong{font-size:15px}.ending-tile p{font-size:9px}.daily-track{margin-block:10px;min-width:560px}.daily-day{min-height:74px;padding:7px}.daily-day strong{font-size:17px}.effect-list{gap:5px;margin-top:10px}.effect-row{padding:7px 9px}.effect-copy span{display:none}.toggle-btn{height:31px}
}

@media(max-height:400px){.title-lockup p{display:none}.game-screen{padding-top:max(37px,env(safe-area-inset-top))}.dialogue-panel{max-height:calc(100dvh - 41px - env(safe-area-inset-bottom))}.hud{background:linear-gradient(180deg,rgba(0,0,0,.84),transparent)}.chapter-chip #chapterTitle{display:none}.modal-box{max-height:calc(100dvh - 8px)}.brand{display:flex;right:max(8px,env(safe-area-inset-right));bottom:max(5px,env(safe-area-inset-bottom))}.brand strong{font-size:16px}.brand span{font-size:6px;margin-top:3px}}
@media(orientation:portrait) and (min-height:700px){.portrait-wrap{bottom:31%;height:min(51dvh,620px)}}
@media(min-width:1600px) and (min-height:850px){.dialogue-panel{width:min(1260px,88vw);padding:28px 34px 22px}.dialogue-text{font-size:clamp(21px,1.3vw,28px);max-width:1080px}.choice-btn{font-size:13px;min-height:54px}.portrait-wrap{width:min(36vw,660px);height:min(72dvh,790px)}}

/* Daily reward stays fully visible on narrow portrait screens without horizontal clipping. */
@media(max-width:740px){
  .daily-track{min-width:0;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}
  .daily-day{min-width:0;min-height:82px;padding:8px 5px}
  .title-screen{padding-bottom:max(68px,env(safe-area-inset-bottom))}
}
@media(max-width:380px){
  .daily-track{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-height:560px) and (orientation:landscape){
  .title-screen{padding-bottom:max(10px,env(safe-area-inset-bottom))}
  .daily-track{grid-template-columns:repeat(7,minmax(62px,1fr));min-width:0}
}
