@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--cream:#f2eddc;--mint:#c6dac6;--dim:#b1c3b6;--line:rgba(226,238,220,.17);--dark:#122b25;--gold:#dfb786;--panel:rgba(16,35,30,.94)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#18362d;color:var(--cream);font-family:'DM Sans',sans-serif;font-size:14px}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;border:0;background:none}button:focus-visible,a:focus-visible{outline:2px solid #f0dab0;outline-offset:5px}button:disabled{opacity:.4;cursor:not-allowed}button:hover{filter:brightness(1.12)}#world{position:fixed;inset:0;width:100%;height:100%;display:block}#vignette{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 180px 40px #061a1859;background:linear-gradient(0deg,#06181340,transparent 30%)}#damage-flash{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 90px #d85344;opacity:0;transition:opacity .13s}#loading{position:fixed;z-index:100;inset:0;background:#142e26;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;transition:opacity .7s}#loading p{font-size:12px;letter-spacing:.12em;color:var(--dim)}.loading-line{height:2px;width:180px;background:#ffffff16;overflow:hidden}.loading-line i{display:block;height:100%;width:40%;background:#e8d7ac;animation:loading 1.4s infinite}@keyframes loading{from{transform:translateX(-100%)}to{transform:translateX(350%)}}.screen{position:fixed;inset:0}#menu{background:linear-gradient(90deg,rgba(6,25,20,.90),rgba(6,25,20,.5) 42%,rgba(6,25,20,.08) 70%,rgba(6,25,20,.65));z-index:4;display:flex;flex-direction:column;padding:0 4vw}header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{font-family:'Manrope',sans-serif;font-size:17px;letter-spacing:.08em;font-weight:700;color:var(--cream);text-decoration:none;white-space:nowrap;display:flex;align-items:center;gap:12px}.leaf{font-family:Georgia,serif;font-size:34px;line-height:1;color:#d2dfb6}.version{font-size:9px;letter-spacing:.16em;color:#d5ddc7;opacity:.7}nav{display:flex;align-items:center;gap:32px}.nav{font-size:12px;color:#c2cec2;position:relative;padding:15px 0}.nav.active{color:var(--cream)}.nav.active:after{content:'';position:absolute;bottom:0;left:0;width:16px;height:1px;background:var(--cream)}.nav span{margin-left:15px}#home-panel{flex:1;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:30px 0}.intro{width:62%;max-width:860px;padding-bottom:15px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:.2em;color:var(--mint);display:flex;align-items:center;gap:10px;margin:0 0 20px}.live-dot{height:5px;width:5px;background:#c1d4a5;box-shadow:0 0 12px #a6cb7a;border-radius:50%}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:.015em;font-size:clamp(55px,6.9vw,125px);line-height:1;margin:28px 0;color:#f0eedf;text-shadow:0 3px 40px #071d18}.hero-sub{font-family:Georgia,serif;font-size:clamp(25px,2.6vw,43px);font-weight:400;line-height:1.25;letter-spacing:-.025em;margin:27px 0 20px}.hero-copy{font-size:12px;color:#bdc9bc;line-height:1.85;margin:0 0 34px}.start-row{display:flex;gap:12px}.primary,.secondary{font-size:12px;font-weight:600;letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:space-between;gap:45px;padding:17px 24px;min-height:50px;border:1px solid #eee8d0;transition:background .2s,transform .2s}.primary{background:var(--cream);color:#1a382e}.primary:hover{background:#fff7de;transform:translateY(-1px)}.primary span{font-size:20px;font-weight:400}.secondary{border-color:var(--line);background:#152e2677;color:var(--cream)}.input-hint{margin-top:24px;color:#9aada0;font-size:8px;letter-spacing:.13em;display:flex;align-items:center;gap:13px}.input-hint span{font-size:9px;letter-spacing:.2em;border:1px solid #c6d6c036;padding:6px 8px}.input-hint b{font-size:8px}.chapter-preview{width:260px;align-self:flex-end;margin-bottom:20px;backdrop-filter:blur(8px);padding:22px 20px;background:rgba(14,34,28,.54);border:1px solid var(--line)}.chapter-preview>.eyebrow{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.15em;margin-bottom:18px}.chapter-preview>.eyebrow span{opacity:.6}.chapter-list{display:flex;flex-direction:column}.chapter-item{display:flex;gap:12px;align-items:center;padding:13px 0;text-align:left;width:100%;border-top:1px solid var(--line);position:relative}.chapter-num{font-family:Georgia,serif;font-size:22px;color:#b4bd9c;min-width:25px}.chapter-item div{display:flex;flex-direction:column;gap:5px}.chapter-item b{font-size:11px;font-weight:500}.chapter-item small{font-size:7px;letter-spacing:.14em;color:#b0c1ae}.chapter-item .status{margin-left:auto;font-size:10px;color:#b5c9ad}.chapter-item.locked{opacity:.45}.chapter-item.selected .chapter-num{color:#eddaad}.chapter-item.selected:after{content:'';position:absolute;left:-21px;width:2px;height:28px;background:#e7d2a7}.journey-foot{display:flex;justify-content:space-between;font-size:7px;color:#a3b5a4;letter-spacing:.1em;padding-top:17px;border-top:1px solid var(--line)}footer{height:66px;display:flex;align-items:center;gap:30px;justify-content:space-between;border-top:1px solid var(--line);font-size:8px;letter-spacing:.12em;color:#abbda9}.weather{display:flex;align-items:center;gap:17px}.weather i{height:5px;width:5px;background:#bbcbb4;border-radius:50%}.weather b{font-size:15px;font-weight:400;padding-left:15px;border-left:1px solid var(--line)}.text-button{font-size:10px;color:#c2d1be}.hidden{display:none!important}#hud{position:fixed;inset:0;pointer-events:none;z-index:3;user-select:none}.hud-top{position:absolute;top:27px;left:32px;right:26px;display:flex;justify-content:space-between;align-items:center}.location{display:flex;gap:14px;align-items:center;filter:drop-shadow(0 2px 8px #123124)}.location .leaf{font-size:40px}.location span:not(.leaf){font-size:8px;letter-spacing:.22em;color:#e0e8d3}.location h2{margin:5px 0 0;font-family:Georgia,serif;font-size:25px;font-weight:400;letter-spacing:.015em}.hud-top-right{display:flex;align-items:center;gap:24px;font-size:12px;text-shadow:0 1px 8px #081e18}.salvage{color:#e5d0a0;font-size:16px}.salvage b{font-weight:500}.icon-button{pointer-events:auto;background:#15372b9e;border:1px solid #e3edd329;height:35px;width:35px;border-radius:50%;font-size:12px}.objective{position:absolute;top:113px;left:34px;max-width:270px;text-shadow:0 2px 6px #0c271c}.objective .eyebrow{font-size:7px;margin-bottom:10px}.objective>div:not(.relay-progress){font-size:12px;line-height:1.5}.objective>p:last-child{color:#d2dfc6;font-size:9px;max-width:230px;line-height:1.6}.relay-progress{display:flex;gap:5px;margin-top:11px}.relay-progress span{height:3px;width:28px;background:#dfd7ae55}.relay-progress span.done{background:#bcdfb4;box-shadow:0 0 10px #9be4b66b}.hud-bottom{position:absolute;bottom:27px;left:34px;right:27px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.vitals{width:250px;background:linear-gradient(90deg,#0e261a66,transparent);padding:10px 0}.ranger-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.13em}.ranger-label span:last-child{font-size:10px;letter-spacing:0;color:#d2dfc6}.health-track{height:5px;background:#344e419c;margin-top:10px;position:relative}.health-track #health{position:absolute;left:0;top:0;height:100%;width:100%;background:#c9dfb0;box-shadow:0 0 6px #add78d55;transition:width .2s}.health-track #shield-bar{position:absolute;left:0;bottom:-3px;height:2px;background:#92d4e5;width:0;transition:width .2s}.xp-line{display:flex;align-items:center;gap:8px;font-size:7px;letter-spacing:.06em;color:#b5c5aa;margin-top:11px}.xp-line>div{height:2px;background:#ffffff20;flex:1}.xp-line i{display:block;height:100%;background:#e5c393;width:0}.xp-line b{font-size:10px}.weapon-info{display:flex;align-items:center;gap:13px;margin-top:24px}.weapon-symbol{font-size:35px;line-height:1;color:#d9e4c8}.weapon-info div{display:flex;flex-direction:column;gap:6px}.weapon-info b{font-size:12px;font-weight:500}.weapon-info small{font-size:6px;letter-spacing:.16em;color:#b1c2a6}.weapon-info kbd{margin-left:auto}kbd{font-family:inherit;font-size:8px;color:#dbe6d0;border:1px solid #e3edd340;border-radius:3px;min-width:21px;text-align:center;padding:4px;background:#12302365}.abilities{display:flex;gap:12px;margin-bottom:1px}.ability{height:68px;width:62px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:#17342c9c;border:1px solid #d9e6cb45;overflow:hidden}.ability>span{font-size:27px;line-height:1.3;margin-top:4px;z-index:1}.ability>b{font-size:6px;letter-spacing:.13em;font-weight:500;z-index:1}.ability kbd{position:absolute;bottom:3px;font-size:6px;padding:1px 4px;border:0;background:none;z-index:1}.ability i{position:absolute;bottom:0;left:0;right:0;background:#788d8580;height:0;transition:height .15s}.ability.ready{border-color:#e0d5a080}.minimap-wrap{position:relative;width:145px;display:flex;flex-direction:column;align-items:center;gap:8px}.minimap-wrap>span{font-size:8px;letter-spacing:.1em;color:#d7dfc4}.minimap-wrap canvas{height:130px;width:130px;border-radius:50%;border:1px solid #d5e1c641;background:#112c239c;box-shadow:0 0 35px #112b2133}.minimap-wrap small{font-size:6px;letter-spacing:.13em;white-space:nowrap;color:#c3d3b7}#crosshair{position:fixed;left:50%;top:50%;width:34px;height:34px;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 1px 2px #09261dc0)}#interact{position:absolute;bottom:200px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:11px;background:#102f26de;padding:12px 16px;border:1px solid #cfd9bb6e;min-width:220px;box-shadow:0 6px 30px #061b1550}#interact span{font-size:11px}.interact-track{position:absolute;bottom:0;left:0;width:100%;height:2px;background:#dfc89822}.interact-track i{display:block;height:100%;width:0;background:#eed2a5}.interact-ring kbd{font-size:12px}#boss-hud{position:absolute;top:36px;left:50%;transform:translateX(-50%);width:min(380px,40vw)}#boss-hud>div:first-child{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.18em;margin-bottom:8px;text-shadow:0 1px 8px #10291f}.boss-track{height:5px;background:#352b27bb}.boss-track i{height:100%;display:block;width:100%;background:#e4aa81;transition:width .2s}#boss-phase{font-size:7px;opacity:.7}#chapter-banner{position:absolute;inset:30% 0 auto;text-align:center;animation:banner-in .8s ease both;pointer-events:none;text-shadow:0 4px 35px #08241e}#chapter-banner p{font-size:9px;letter-spacing:.4em;color:#d4dfc6}#chapter-banner h2{font-family:Georgia,serif;font-weight:400;font-size:54px;margin:20px 0}#chapter-banner span{font-size:12px;color:#e0e6d4}#tutorial{position:absolute;bottom:125px;left:50%;transform:translateX(-50%);max-width:470px;display:flex;align-items:center;gap:20px;background:#112b23df;border:1px solid var(--line);padding:15px 18px;font-size:11px;line-height:1.6;pointer-events:auto}#tutorial button{font-size:20px;color:#c4d3bd}#overlay{z-index:8;background:#071e18aa;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:30px}#modal{width:min(900px,94vw);max-height:90vh;overflow:auto;background:linear-gradient(125deg,#223e32f7,#102a23fa);border:1px solid #d4e0bf2e;padding:40px;box-shadow:0 25px 100px #04150c66;animation:banner-in .2s ease}#modal h2{font-family:Georgia,serif;font-weight:400;font-size:40px;letter-spacing:-.02em;margin:0 0 13px}#modal h3{font-family:Georgia,serif;font-weight:400;font-size:23px;margin:0 0 12px}#modal .sub{color:#becbb5;font-size:12px;line-height:1.8;margin:0 0 28px;max-width:650px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:25px}.modal-head .eyebrow{margin-bottom:15px}.close{font-size:25px;line-height:1;padding:3px 6px;color:#c1cfb8}.modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.upgrade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}.upgrade-card{text-align:left;border:1px solid #cfd9bb38;padding:24px 20px;background:#49604b22;transition:transform .2s,background .2s}.upgrade-card:hover{background:#667b5933;transform:translateY(-5px);border-color:#ddcf9a}.upgrade-card .upgrade-icon{font-size:37px;color:#e2ce9f;margin-bottom:25px;display:block}.upgrade-card .eyebrow{font-size:7px;margin-bottom:12px;color:#afc9aa}.upgrade-card h3{font-size:23px}.upgrade-card p{font-size:11px;color:#bfcbb7;line-height:1.7;min-height:58px}.upgrade-card small{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em;color:#e1d2ae}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:25px 0;border-block:1px solid var(--line);margin-top:24px}.stat-grid>div{display:flex;flex-direction:column;gap:9px}.stat-grid b{font-family:Georgia,serif;font-size:36px;font-weight:400}.stat-grid span{font-size:8px;letter-spacing:.15em;color:#bacbb2}.ranger-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px}.avatar-stage{position:relative;min-height:360px;background:radial-gradient(ellipse at 50% 70%,#76947d33,transparent 70%);border:1px solid var(--line)}#avatar{width:100%;height:360px;display:block}.avatar-caption{position:absolute;bottom:18px;left:0;right:0;text-align:center;letter-spacing:.2em;font-size:8px;color:#cbd5b9}.field{margin-bottom:18px}.field label{display:block;font-size:8px;letter-spacing:.15em;margin-bottom:10px;color:#c2cfb6}input,select{background:#0b251c66;border:1px solid #cbdbb439;color:var(--cream);padding:10px 12px;outline:none;border-radius:0;font-size:12px;width:100%}input:focus,select:focus{border-color:#d9cda6}select option{background:#153328}.choice-row{display:flex;gap:8px;flex-wrap:wrap}.choice{padding:9px 13px;border:1px solid #b9c6ac30;background:#25443455;font-size:10px;color:#c0d0b8}.choice.selected{border-color:#e5d6a9;color:#f1dfb6;background:#8e957526}.swatch{height:28px;width:28px;border-radius:50%;border:2px solid transparent;padding:0;box-shadow:inset 0 0 0 3px #1c362c}.swatch.selected{border-color:#eee6ce}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:15px}.settings-row{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:18px 0;border-bottom:1px solid var(--line)}.settings-row label{font-size:12px}.settings-row small{display:block;margin-top:5px;color:#adbea4;font-size:10px}.settings-row select{width:150px}.toggle{height:23px;width:42px;min-width:42px;background:#436050;border-radius:15px;padding:3px;transition:background .2s}.toggle:after{content:'';display:block;width:17px;height:17px;border-radius:50%;background:#c7d6bb;transform:translateX(0);transition:transform .2s}.toggle.on{background:#859b6c}.toggle.on:after{transform:translateX(19px);background:#f0e6c9}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 30px}.guide-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:11px}.guide-item kbd{font-size:9px}.guide-note{font-size:12px;line-height:1.8;color:#bfccb5;background:#7085641a;border-left:2px solid #c1c49b;padding:16px;margin-top:25px}.loadout-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.weapon-choice{border:1px solid var(--line);padding:12px;text-align:left;display:flex;flex-direction:column;gap:6px;font-size:11px}.weapon-choice small{font-size:8px;color:#b6c7af}.weapon-choice.selected{border-color:#dfcf9f;background:#828a5930}.weapon-choice.locked{opacity:.45}.modal-divider{border:0;border-top:1px solid var(--line);margin:27px 0}.checkpoint-note{font-size:10px;color:#aabfa7;margin-top:20px}.save-icon{color:#a8d0aa}.trial-card{display:flex;gap:15px;border:1px solid var(--line);padding:18px;align-items:center}.trial-card .chapter-num{font-size:40px}.trial-card p{font-size:11px;color:#bdccb4;line-height:1.7;margin:7px 0}.trial-card h3{margin:0}#toasts{position:fixed;right:30px;top:100px;z-index:20;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{padding:15px 20px;background:#16352de8;border:1px solid #cadbb53b;font-size:11px;line-height:1.6;box-shadow:0 10px 35px #061d1850;max-width:330px;animation:banner-in .3s ease}.toast strong{display:block;font-weight:500;letter-spacing:.04em;color:#e7d5ac}.toast small{display:block;color:#b7c8ad;font-size:10px;margin-top:3px}#fatal{position:fixed;inset:0;background:#153026;z-index:101;padding:10vw}#fatal h1{font-size:40px}#fatal p{max-width:500px;line-height:1.8;color:#becbb5}#fatal-detail{font-size:10px}@keyframes banner-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-height:730px){header{height:74px}.hero-sub{margin:18px 0;font-size:28px}.hero-copy{margin-bottom:23px}.intro h1{margin-top:20px}.chapter-preview{margin-bottom:0}.chapter-item{padding:10px 0}.input-hint{margin-top:18px}footer{height:50px}#modal{padding:25px}.field{margin-bottom:13px}#avatar{height:310px}.avatar-stage{min-height:310px}.hero-copy{font-size:11px}}@media(max-width:1000px){.version{display:none}nav{gap:23px}.chapter-preview{width:230px}.intro{width:60%}.hero-copy br{display:none}.build-note{display:none}.abilities{gap:7px}.ability{width:50px}.vitals{width:220px}.minimap-wrap{width:110px}.minimap-wrap canvas{width:105px;height:105px}}@media(max-width:700px){#menu{padding:0 6vw}header{height:75px;flex-wrap:wrap;justify-content:center;gap:0;padding:10px 0}.brand{font-size:13px}.brand .leaf{font-size:26px}nav{gap:20px}.nav{font-size:10px;padding:7px 0}.intro{width:100%;padding:0}.intro h1{font-size:12vw;margin-top:15px}.hero-sub{font-size:30px}.chapter-preview{display:none}#home-panel{align-items:center}.eyebrow{font-size:7px}.hero-copy{font-size:12px}.weather span:last-child,.weather b{display:none}.weather{gap:8px;font-size:7px}.input-hint{font-size:6px;gap:8px}.primary,.secondary{padding:14px 18px;gap:20px}.ranger-layout{grid-template-columns:1fr}.avatar-stage{display:none}#modal{padding:24px;max-height:90vh}#modal h2{font-size:31px}.upgrade-grid{grid-template-columns:1fr;gap:10px;margin-top:20px}.upgrade-card{padding:14px 15px;position:relative}.upgrade-card .upgrade-icon{display:none}.upgrade-card h3{font-size:20px;margin-bottom:6px}.upgrade-card p{min-height:0;margin:5px 0;font-size:10px}.upgrade-card .eyebrow{margin-bottom:5px}.upgrade-card small{margin-top:10px}.hud-top{left:16px;top:18px;right:15px}.location h2{font-size:19px}.location .leaf{display:none}.location span:not(.leaf){font-size:6px}.hud-top-right{gap:14px}.objective{left:17px;top:83px;max-width:200px}.objective>div:not(.relay-progress){font-size:10px}.objective>p:last-child{font-size:8px;max-width:180px}.hud-bottom{left:17px;bottom:19px;right:15px;gap:10px}.minimap-wrap{display:none}.vitals{width:175px}.ability{width:42px;height:59px}.ability>span{font-size:22px}.ability b{font-size:5px}.weapon-info{margin-top:15px;gap:8px}.weapon-info b{font-size:10px}.weapon-info small{font-size:5px}#tutorial{bottom:120px;max-width:90vw;width:90vw;font-size:10px}#interact{bottom:180px}#boss-hud{top:72px;width:55vw;left:auto;right:15px;transform:none}#boss-name{font-size:8px}#boss-phase{display:none}#chapter-banner h2{font-size:37px}.guide-grid{grid-template-columns:1fr}.stat-grid b{font-size:28px}.stat-grid span{font-size:6px}.row-2{gap:10px}.loadout-list{grid-template-columns:1fr 1fr}}
/* Field readability and combat feedback */
#world-labels{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.damage-number{position:absolute;left:0;top:0;color:#f5f4dc;font-family:'Manrope',sans-serif;font-size:15px;font-weight:800;line-height:1;text-shadow:0 2px 2px #153a2a,0 0 6px #153a2a;will-change:transform,opacity}
.damage-number.critical{color:#ffe3a0;font-size:23px;z-index:2}
.enemy-bar{position:absolute;left:-20px;top:0;width:40px;height:4px;background:#102720c9;border:1px solid #122b2580;box-shadow:0 1px 4px #08251e85;overflow:hidden}
.enemy-bar i{height:100%;display:block;background:#edb182;transition:width .1s}.enemy-bar.attacking i{background:#ffdfad;box-shadow:0 0 8px #ffc785}
.waypoint{position:absolute;left:0;top:0;width:max-content;display:flex;flex-direction:column;align-items:center;gap:5px;color:#ffe4af;filter:drop-shadow(0 2px 4px #17362c)}
.waypoint-diamond{width:26px;height:26px;border:1px solid #e9d3a8aa;display:flex;align-items:center;justify-content:center;transform:rotate(45deg);background:#234336a8}.waypoint-diamond span{transform:rotate(-45deg);font-size:24px}.waypoint>div:last-child{background:#173c31c4;padding:6px 9px;text-align:center;min-width:80px;backdrop-filter:blur(8px)}.waypoint b{font-size:8px;letter-spacing:.14em;display:block}.waypoint small{font-size:11px;display:block;margin-top:2px}.waypoint.offscreen .waypoint-diamond{animation:beacon 2s ease-in-out infinite}@keyframes beacon{50%{box-shadow:0 0 18px #e5c17e66}}
.streak{position:absolute;right:35px;top:112px;text-align:right;width:100px;color:#f5dfae}.streak small{font-size:8px;letter-spacing:.16em}.streak b{display:block;font-size:34px;line-height:1.2;font-family:Georgia,serif;font-weight:400}.streak b span{font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:.12em;margin-left:7px}.streak i{display:block;height:2px;background:#e7d49b;float:right;margin-top:7px}
.field-event{position:absolute;left:50%;top:17%;transform:translateX(-50%);text-align:center;color:#fff1d3;text-shadow:0 3px 15px #123629;animation:field-in .4s ease-out;pointer-events:none;min-width:360px}.field-event small{font-size:9px;letter-spacing:.23em;color:#d9e6ca}.field-event strong{display:block;font:36px/1.3 Georgia,serif;margin:8px 0}.field-event p{font-size:11px;margin:0;color:#d4e5d1}@keyframes field-in{from{opacity:0;margin-top:12px}to{opacity:1;margin-top:0}}

#hud .objective{background:linear-gradient(110deg,#10362bdf,#14372a40);border-left:2px solid #e3cb96;padding:15px 18px;top:116px;left:32px;max-width:265px;backdrop-filter:blur(5px)}#hud .objective .eyebrow{font-size:8px;letter-spacing:.17em;margin-bottom:9px}#hud .objective>div:not(.relay-progress){font-size:13px}#hud .objective>p:last-child{font-size:10px;margin-bottom:0;color:#c5d8bf;line-height:1.5}.relay-progress span{width:31px;height:3px}.location h2{font-size:29px}.location span:not(.leaf){font-size:9px}.hud-top-right{font-size:14px}.salvage{font-size:18px}.hud-bottom{bottom:28px}.vitals{width:270px;padding:15px 17px;background:linear-gradient(110deg,#102e25e8,#153c2b70);border:1px solid #d5e4b821;backdrop-filter:blur(8px)}.ranger-label{font-size:10px}.ranger-label span:last-child{font-size:12px}.health-track{height:7px}.xp-line{font-size:8px;margin-top:13px}.weapon-info b{font-size:13px}.weapon-info small{font-size:8px}.weapon-info{margin-top:18px}.ability{width:76px;height:83px;background:#133a2ce0;border:1px solid #c9ddbd44;backdrop-filter:blur(7px)}.ability b{font-size:8px}.ability kbd{font-size:9px}.ability>span{font-size:29px}.ability.ready{border-color:#d4e9c077;box-shadow:inset 0 0 15px #d9edbd08}.cooldown{position:absolute;top:14px;left:0;right:0;text-align:center;font-size:24px;font-style:normal;font-weight:600;text-shadow:0 2px 7px #0b251d;z-index:2}.ability:not(.ready)>span{opacity:.25}.minimap-wrap{background:#1033299e;border-radius:50%;padding:7px;border:1px solid #cce3be29;backdrop-filter:blur(8px)}.minimap-wrap small{display:none}.minimap-wrap>span{top:-11px}#tutorial{bottom:140px;border:1px solid #e7e4c22e;background:#123528ed;border-radius:2px;padding:15px 20px;font-size:11px;max-width:490px}#vignette{box-shadow:inset 0 0 120px 15px #071d1820;background:linear-gradient(0deg,#051d1b23,transparent 25%)}
@media(max-height:700px){.hud-bottom{bottom:16px}.vitals{width:230px}.objective{top:95px!important}.ability{width:62px;height:70px}#tutorial{bottom:115px}.minimap-wrap{transform:scale(.8);transform-origin:bottom right}.field-event{top:14%}.field-event strong{font-size:28px}}
@media(prefers-reduced-motion:reduce){.waypoint.offscreen .waypoint-diamond,.field-event{animation:none}}
#touch-controls{display:none;position:absolute;inset:0;pointer-events:none;touch-action:none}.touch-stick{position:absolute;bottom:89px;width:126px;height:126px;pointer-events:auto;touch-action:none;display:flex;align-items:center;justify-content:center;user-select:none}.touch-stick.move{left:12px}.touch-stick.aim{right:12px}.touch-stick>span{position:absolute;bottom:-5px;font-size:8px;letter-spacing:.15em;color:#dae4d4;text-shadow:0 1px 4px #07271e}.stick-base{width:88px;height:88px;border:1px solid #d8ebca66;border-radius:50%;background:#153b2b88;box-shadow:inset 0 0 20px #d9e4ba0a;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(2px)}.stick-base i{width:34px;height:34px;border:1px solid #e0ebc6aa;border-radius:50%;background:#c2d4ad3b;box-shadow:0 3px 10px #102f2566}.touch-stick.held .stick-base{border-color:#e8e1a9aa;background:#153b2baa}.ability{pointer-events:auto}.ability:active{transform:scale(.97)}
@media(pointer:coarse){#touch-controls{display:block}#crosshair{display:none!important}#hud{touch-action:none}#world{touch-action:none}.abilities{position:absolute;left:50%;transform:translateX(-50%);bottom:0}.hud-bottom{height:85px;align-items:flex-end}.vitals{align-self:flex-start;width:210px}.minimap-wrap{align-self:flex-start;transform:scale(.7);transform-origin:top right}.input-hint{font-size:0}.input-hint:after{content:'TOUCH CONTROLS AVAILABLE';font-size:9px;letter-spacing:.12em}.input-hint>*{display:none}}
@media(max-width:700px){#touch-controls{display:block}#crosshair{display:none!important}#hud{touch-action:none}.hud-top{top:17px;left:17px;right:14px}.location{gap:8px}.location .leaf{font-size:29px}.location h2{font-size:21px}.location span:not(.leaf){font-size:7px}.hud-top-right{gap:12px;font-size:11px}.salvage{font-size:13px}.icon-button{width:30px;height:30px}#hud .objective{top:76px;left:18px;max-width:220px;padding:10px 12px;background:#10362bc9}#hud .objective>div:not(.relay-progress){font-size:11px}#hud .objective>p:last-child{font-size:9px}.hud-bottom{left:14px;right:14px;bottom:12px;height:70px;align-items:flex-end}.vitals{width:155px;padding:9px 10px;height:65px}.ranger-label{font-size:8px}.ranger-label span:last-child{font-size:10px}.health-track{margin-top:7px;height:5px}.xp-line{margin-top:8px;font-size:7px}.weapon-info{display:none}.abilities{position:absolute;right:0;bottom:0;gap:5px;left:auto;transform:none}.ability{width:52px;height:65px}.ability>span{font-size:23px}.ability b{font-size:7px}.ability kbd{display:none}.cooldown{font-size:22px;top:12px}.minimap-wrap{display:none}#tutorial{bottom:232px;font-size:10px;max-width:calc(100vw - 36px);width:auto;padding:11px 35px 11px 13px;line-height:1.6}#interact{bottom:235px;z-index:5}#boss-hud{top:155px;left:18px;right:18px;width:auto;transform:none}#boss-name{font-size:9px}.field-event{top:30%;min-width:0;width:90%}.field-event strong{font-size:27px}.field-event p{font-size:10px}.streak{right:18px;top:205px}.waypoint b{font-size:7px}.waypoint>div:last-child{min-width:70px;padding:5px 6px}.waypoint small{font-size:10px}.input-hint{font-size:0}.input-hint>*{display:none}.input-hint:after{content:'KEYBOARD, CONTROLLER OR TOUCH';font-size:8px;letter-spacing:.13em}.build-note{display:none}#chapter-banner{top:26%}}

#interact{pointer-events:auto;touch-action:none;user-select:none}#touch-swap{position:absolute;left:50%;bottom:120px;transform:translateX(-50%);pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px;background:#113629a8;border:1px solid #d3e4bb3b}#touch-swap span{font-size:23px;line-height:1}#touch-swap small{font-size:6px;letter-spacing:.13em}@media(pointer:coarse),(max-width:700px){#interact kbd{font-size:0}#interact kbd:after{content:"HOLD";font-size:8px}#interact .interact-ring{width:40px;height:40px}}

#boss-action{display:block;text-align:center;font-size:9px;letter-spacing:.18em;color:#ffdcaa;min-height:13px;margin-top:8px;text-shadow:0 2px 6px #1a2c24}

/* Controller focus remains visible without relying on pointer hover. */
.gamepad-mode button:focus,.gamepad-mode a:focus,.gamepad-mode select:focus,.gamepad-mode input:focus{outline:2px solid #f1d39e;outline-offset:4px;box-shadow:0 0 0 5px #e5bb7324}
#controller-hint{display:none;position:fixed;bottom:12px;right:24px;z-index:25;padding:8px 12px;background:#102b24ed;border:1px solid #d5e3bc30;color:#d6ddc7;font-size:9px;letter-spacing:.05em;pointer-events:none}
#controller-hint.visible{display:block}.gamepad-mode #touch-controls{display:none!important}.gamepad-mode[data-mode="play"] #crosshair{display:block!important}.gamepad-mode .input-hint{font-size:0}.gamepad-mode .input-hint>*{display:none}.gamepad-mode .input-hint:after{content:'LEFT STICK MOVE  ·  RIGHT STICK AIM  ·  RT FIRE';font-size:9px;letter-spacing:.1em}
@media(max-width:700px){#controller-hint{right:12px;bottom:7px;font-size:8px}.gamepad-mode #interact kbd:after{content:'X'}.gamepad-mode .ability kbd{display:block}.gamepad-mode .ability{height:72px}}
@media(max-width:700px){
 #hud:has(#boss-hud:not(.hidden)) .objective{display:none}
 #boss-hud{top:84px}
 #toasts{top:auto;bottom:235px;left:18px;right:18px}
 .toast{max-width:none;padding:11px 13px}.toast:nth-last-child(n+2){display:none}
}

.upgrade-effects{border-top:1px solid #d0ddbb28;padding-top:12px;display:flex;flex-direction:column;gap:7px;margin-top:15px}.upgrade-effects>div{display:flex;justify-content:space-between;gap:10px;font-size:9px;line-height:1.4}.upgrade-effects b{font-weight:500;color:#c8e9bd;white-space:nowrap}.upgrade-effects i{font-style:normal;opacity:.45;padding:0 3px}.upgrade-effects .tradeoff b{color:#e8b28f}
.workbench{margin-top:25px;padding:21px;background:#a6b8930a;border:1px solid #d4ddbb28}.workbench-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}.workbench-head h3{font-family:'Cormorant Garamond',serif;font-size:25px;font-weight:500;margin:4px 0 0}.workbench-head .eyebrow{margin:0}.workbench-head>span{color:#9eb7a4;font-size:10px;max-width:100px;line-height:1.5}.camp-loadout{display:grid;grid-template-columns:1fr 1fr;gap:14px}.camp-weapon{display:flex;gap:14px;padding:17px 14px;background:#091f19b0;border:1px solid #c3d4b421}.camp-weapon-art{width:70px;flex-shrink:0;align-self:center;color:#d3d6b5}.camp-weapon-art svg{width:100%;height:auto;filter:drop-shadow(0 0 12px #bdd8aa25)}.camp-weapon-body{min-width:0;flex:1}.camp-weapon label{display:block;font-size:7px;letter-spacing:.15em;color:#a3b6a5;margin-bottom:6px}.camp-weapon select{width:100%;padding:7px 2px;border:0;border-bottom:1px solid #c5d7b63b;background:transparent;color:#e4e6ce;font-size:13px;border-radius:0}.camp-weapon select option{background:#17352b}.camp-description{font-size:10px;color:#a9bfad;line-height:1.5;min-height:30px;margin:10px 0}.camp-facts{display:flex;flex-direction:column;gap:5px;font-size:10px;color:#d3d9be}.camp-facts small{font-size:8px;color:#95a995}.camp-facts strong{font-size:9px;color:#e5c896;font-weight:400;margin-top:3px}.workbench-note{font-size:9px;color:#9aaf9e;margin:15px 0 0;line-height:1.6}.build-panel{margin-top:22px;padding:15px 0;border-top:1px solid #cad8b72e;border-bottom:1px solid #cad8b72e}.build-panel summary{cursor:pointer;font-size:13px}.build-panel summary>span{float:right;font-size:10px;color:#a3b6a5}.build-readout{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0;font-size:9px;color:#9eb5a3}.build-readout b{display:block;font-size:24px;font-weight:400;color:#e2e6cb;margin-bottom:4px}.build-panel ul{padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;list-style:none}.build-panel li{font-size:10px;padding:5px 0;color:#c5d4ba}.build-panel li>span{float:right;font-size:8px;color:#8fa88f}.build-panel li.keystone{color:#e0be80}.gamepad-mode summary:focus{outline:2px solid #f1d39e;outline-offset:4px}
@media(max-width:700px){.workbench{padding:14px}.workbench-head{gap:10px}.workbench-head h3{font-size:22px}.workbench-head>span{font-size:8px;max-width:80px}.camp-loadout{grid-template-columns:1fr}.camp-weapon{padding:12px}.camp-weapon-art{width:55px}.camp-description{min-height:0}.camp-facts{display:flex;flex-direction:row;flex-wrap:wrap;gap:7px 12px}.upgrade-effects{margin-top:10px;padding-top:8px;gap:5px}.upgrade-effects>div{font-size:9px}.build-panel ul{grid-template-columns:1fr}.build-panel summary>span{font-size:8px}}

body[data-mode="complete"] #modal{padding:28px 34px}
body[data-mode="complete"] #modal h2{font-size:33px}
body[data-mode="complete"] #modal .sub{margin-bottom:10px}
body[data-mode="complete"] .stat-grid{padding:14px 0;margin-top:12px}
body[data-mode="complete"] .stat-grid b{font-size:29px}
body[data-mode="complete"] .guide-note{padding:10px 13px;margin:13px 0;font-size:11px}
body[data-mode="complete"] .workbench{padding:16px;margin-top:17px}
#modal .workbench-head h3{font-size:23px;margin:4px 0 0}
body[data-mode="complete"] .workbench-head{margin-bottom:12px}
body[data-mode="complete"] .camp-weapon{padding:12px}
body[data-mode="complete"] .modal-actions{margin-top:15px}
body[data-mode="complete"] .checkpoint-note{margin:12px 0 0}
@media(max-width:700px){body[data-mode="complete"] #modal{padding:22px}body[data-mode="complete"] #modal h2{font-size:28px}#modal .workbench-head h3{font-size:21px}body[data-mode="complete"] .modal-actions{position:sticky;bottom:-22px;background:#17352bf5;padding:12px 0;z-index:2}body[data-mode="complete"] .modal-actions>button{width:100%;justify-content:space-between;font-size:11px}body[data-mode="complete"] .guide-note{font-size:10px}}
.camp-facts{font-size:11px}.camp-facts small{font-size:9px}.camp-description{font-size:11px}.camp-weapon label{font-size:8px}.camp-weapon select{font-size:14px}
@media(max-width:700px){body[data-mode="complete"] #modal{scroll-padding:20px 0 160px}}

@media(max-width:700px){body[data-mode="upgrade"] #modal h2{font-size:27px;margin-bottom:10px}body[data-mode="upgrade"] #modal .sub{font-size:10px;line-height:1.5;margin-bottom:10px}body[data-mode="upgrade"] .upgrade-grid{margin-top:14px}body[data-mode="upgrade"] #modal .upgrade-card h3{font-size:20px;margin:0 0 6px}body[data-mode="upgrade"] .upgrade-card small{margin-top:8px}}

#interact.petting .interact-track{display:none}#interact.petting{border-color:#d8ddbb55}

/* Comfortable hit areas retain the quiet visual scale of the controls. */
.icon-button,.close{min-width:44px;min-height:44px;flex-shrink:0}
.swatch{width:44px;height:44px;padding:6px;background-clip:content-box}
.choice{min-width:44px;min-height:44px;font-size:11px}
input,select{min-height:44px}
.toggle{width:48px;min-width:48px;height:44px;position:relative;padding:0;background:transparent!important;border-radius:0}
.toggle:before{content:'';position:absolute;left:3px;top:10.5px;width:42px;height:23px;background:#436050;border-radius:15px}
.toggle.on:before{background:#859b6c}.toggle:after{position:absolute;left:6px;top:13.5px}
#tutorial-dismiss{min-width:44px;min-height:44px;margin:-10px -12px -10px 0}
.field label{font-size:10px;letter-spacing:.1em}.settings-row{gap:16px}

/* Keep the result of appearance choices visible while browsing on a phone. */
.avatar-stage{align-self:start;position:sticky;top:0;height:clamp(180px,50svh,360px);min-height:0}
#avatar{height:100%}
@media(max-width:700px){
 .avatar-stage{display:block;position:sticky;top:-24px;z-index:2;min-height:0;height:clamp(170px,25svh,220px);background:radial-gradient(ellipse at 50% 70%,#405e4c,#18362b 80%);border-color:#b7c9a52e}
 #avatar{height:100%;width:100%}.avatar-caption{bottom:10px;font-size:8px}
 .ranger-layout{gap:20px}
}

/* Input follows the last device used; viewport width only controls layout. */
body:not(.touch-mode) #touch-controls{display:none!important}
body.touch-mode #touch-controls{display:block}
body:not(.touch-mode)[data-mode="play"] #crosshair{display:block!important}
body.touch-mode #crosshair{display:none!important}
#hud:has(#interact:not(.hidden)) #tutorial{display:none}
@media(max-width:700px){
 .hud-top{left:max(17px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top))}
 .hud-bottom{bottom:max(12px,env(safe-area-inset-bottom))}
 .ranger-label{font-size:10px;letter-spacing:.05em}.xp-line{font-size:8px;gap:5px}
 .ability b{font-size:9px;letter-spacing:.04em}#touch-swap small{font-size:9px;letter-spacing:.05em}
 .touch-stick>span{font-size:9px}#hud .objective>p:last-child{font-size:10px}
 #toasts{top:190px;bottom:auto}
 .ranger-layout .row-2{grid-template-columns:1fr}.field .choice-row{gap:8px}
}
@media(max-width:360px){
 .vitals{width:136px}.ability{width:44px}.abilities{gap:4px}.ability b{font-size:8px}
 .hud-top-right{gap:7px}.location h2{font-size:19px}.salvage{font-size:11px}
}
@media(max-height:500px) and (min-width:701px){
 body.touch-mode .hud-top{top:max(10px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right))}
 body.touch-mode .location .leaf{display:none}body.touch-mode .location h2{font-size:21px}body.touch-mode .location span:not(.leaf){font-size:8px}
 body.touch-mode #hud .objective{top:70px!important;left:max(18px,env(safe-area-inset-left));max-width:190px;padding:8px 10px}
 body.touch-mode .objective .eyebrow,body.touch-mode .objective>p:last-child{display:none}body.touch-mode #hud .objective>div:not(.relay-progress){font-size:11px}
 body.touch-mode .hud-bottom{left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));height:60px}
 body.touch-mode .vitals{width:170px;height:60px;padding:9px 10px;align-self:flex-end}body.touch-mode .weapon-info,body.touch-mode .minimap-wrap{display:none}
 body.touch-mode .health-track{margin-top:7px}body.touch-mode .xp-line{margin-top:8px}
 body.touch-mode .abilities{position:absolute;left:50%;transform:translateX(-50%);bottom:0;gap:7px}body.touch-mode .ability{width:52px;height:60px}body.touch-mode .ability>span{font-size:23px}body.touch-mode .ability kbd{display:none}
 body.touch-mode .touch-stick{bottom:82px;width:112px;height:112px}body.touch-mode .touch-stick.move{left:max(18px,env(safe-area-inset-left))}body.touch-mode .touch-stick.aim{right:max(18px,env(safe-area-inset-right))}
 body.touch-mode #touch-swap{bottom:84px}body.touch-mode #tutorial,body.touch-mode #interact{bottom:158px}
 body.touch-mode #tutorial{max-width:380px}body.touch-mode #boss-hud{top:67px;width:300px}
 body.touch-mode #toasts{top:72px;bottom:auto;left:auto;right:18px;width:220px}body.touch-mode .toast:nth-last-child(n+2){display:none}
}
/* The journal gives the sculpted cast room to be seen, without obscuring play. */
.journal-invite{display:flex;align-items:center;justify-content:space-between;width:100%;padding:22px 24px;margin:0 0 26px;border:1px solid #a8ba9b55;background:linear-gradient(120deg,#8a9d7130,#283d3500);color:#eee9d5;text-align:left;cursor:pointer}
.journal-invite span{display:grid;gap:7px}.journal-invite strong{font-family:Georgia,serif;font-size:24px;font-weight:400}.journal-invite small{font-size:12px;color:#bacdb6}.journal-invite b{font-size:30px;font-weight:400}
.journal-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:32px;align-items:start}.journal-stage{position:sticky;top:0;background:radial-gradient(ellipse at 50% 40%,#59735788,#132b2200 70%);border:1px solid #8ca18a33;overflow:hidden}.journal-stage canvas{display:block;width:100%;height:350px;cursor:grab}.journal-stage canvas:active{cursor:grabbing}.journal-specimen{position:absolute;top:17px;left:18px;right:18px;display:flex;justify-content:space-between;color:#bac6aa;font-size:9px;letter-spacing:1.8px;pointer-events:none}.journal-view-controls{display:flex;gap:8px;justify-content:center;padding:0 12px}.journal-view-controls button{min-height:44px;padding:8px 14px;font-size:11px}.journal-drag{display:block;text-align:center;color:#b2c1a5;font-size:10px;padding:12px}.journal-entry select{width:100%;margin:12px 0 28px;min-height:44px}.journal-entry h3{font-family:Georgia,serif;font-size:38px;font-weight:400;letter-spacing:-1px;margin:8px 0 10px;color:#f0e9d5}.journal-habitat{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#d4bb85}.journal-entry>p:not(.eyebrow){font-size:14px;line-height:1.75;color:#c7d1bd}.journal-behavior{border-top:1px solid #9eb49044;padding-top:20px;margin-top:24px}.journal-behavior p{font-size:13px;line-height:1.65;color:#c7d1bd}.journal-nav{display:flex;gap:10px;margin-top:24px}.journal-nav button{min-height:44px;flex:1;padding:12px}.journal-entry .journal-footnote{font-size:11px!important;color:#a8b9a0!important}.journal-view-controls [aria-pressed=true]{border-color:#d3af6e;background:#b68d4233}
@media(max-width:640px){.journal-layout{grid-template-columns:1fr;gap:22px}.journal-stage{position:relative}.journal-stage canvas{height:260px}.journal-entry select{margin-bottom:18px}.journal-entry h3{font-size:32px}.journal-invite{padding:18px}.journal-invite strong{font-size:20px}}
/* Subdued scroll chrome and large specimen names finish the journal surface. */
#modal{scrollbar-width:thin;scrollbar-color:#778d7055 transparent}#modal::-webkit-scrollbar{width:6px}#modal::-webkit-scrollbar-thumb{background:#778d7055;border-radius:6px}#modal .journal-entry h3{font-size:38px;margin:8px 0 10px;letter-spacing:-1px}.journal-view-controls button{gap:0}.journal-invite:hover{border-color:#d2c39488;background-color:#6b80531a}
@media(max-width:640px){#modal .journal-entry h3{font-size:32px}.journal-view-controls button{padding:8px 11px}}
#journal-left,#journal-right{min-width:44px;font-size:20px;padding:8px;justify-content:center}
@media(max-width:640px){#overlay{padding:12px}#modal{width:100%;max-height:calc(100svh - 24px);padding:22px}}
@media(max-width:640px){.avatar-stage{top:-22px}}
/* Online trail partners */
.start-row{flex-wrap:wrap}
.coop-intro{display:flex;align-items:center;gap:24px;max-width:650px;margin:24px 0 36px;color:#c6d6c9;line-height:1.7}
.coop-emblem{font-size:64px;color:#c6d7a9}
.coop-options,.coop-rangers{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}
.coop-options>div,.coop-rangers>div{padding:24px;border:1px solid #8aa99435;background:#b3d5b706}
.coop-options h3{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:0 0 12px}.coop-options p{line-height:1.6;color:#b8ccbc}
.coop-options button{margin-top:16px}.coop-options input,.coop-copy input{width:100%;min-width:0;color:#e9eddb;background:#09251d66;border:1px solid #9eb7a44d;padding:15px;font:inherit;border-radius:0}
.coop-options label,#modal>label{display:block;font-size:10px;letter-spacing:2px;color:#b8cebb;margin:20px 0 10px}
.coop-copy{display:flex;gap:12px}.coop-copy .secondary{flex-shrink:0}.coop-copy input{font-size:13px}
.coop-rangers strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:28px;margin:14px 0}.coop-rangers span,.coop-rangers small{font-size:11px;letter-spacing:1px;color:#b6cab6}
#coop-copy-status,#coop-error{color:#d8c89a;font-size:13px;min-height:20px}
#coop-status{position:absolute;left:30px;bottom:205px;padding:10px 14px;max-width:min(360px,85vw);background:#102e27d9;border:1px solid #a4c7b43b;color:#c3efdf;font-size:11px;letter-spacing:.3px;pointer-events:none}
#partner-label{position:absolute;transform:translate(-50%,-100%);padding:5px 9px;background:#102c29d9;border-bottom:2px solid #8ce8ee;color:#d9fcf3;font-size:11px;white-space:nowrap;pointer-events:none}
@media(max-width:640px){.coop-options,.coop-rangers{grid-template-columns:1fr;gap:12px}.coop-options>div,.coop-rangers>div{padding:18px}.coop-intro{gap:16px;margin:18px 0}.coop-copy{flex-direction:column}.coop-copy button{min-height:44px}.coop-rangers strong{font-size:23px;margin:8px 0}#coop-status{left:12px;bottom:auto;top:130px;font-size:10px;max-width:80vw}.start-row #coop-open{width:auto;min-height:44px}}

/* Two-line title keeps the garden name clear at every screen size. */
.intro .garden-title{font-size:clamp(55px,6.2vw,108px);line-height:.96;letter-spacing:-.025em;margin:20px 0}.garden-title span{display:block}
@media(max-width:700px){.intro .garden-title{font-size:clamp(50px,15vw,84px)}}
@media(max-height:730px) and (min-width:701px){.intro .garden-title{font-size:clamp(48px,5.4vw,78px);margin:12px 0}.intro .hero-sub{margin:16px 0}}

/* The dressing room gives the actual playable models space for close inspection. */
.avatar-stage{height:clamp(360px,58svh,560px);background:radial-gradient(ellipse at 50% 35%,#476956 0%,#263f35 50%,#172e28 100%);isolation:isolate;overflow:hidden}
#avatar{touch-action:pan-y;cursor:grab}
#avatar:active{cursor:grabbing}
.portrait-views{position:absolute;top:12px;left:10px;right:10px;display:flex;justify-content:center;gap:3px;z-index:2}
.portrait-views button{padding:9px 11px;min-height:36px;font-size:10px;background:#142c27b0;border:1px solid #cad7b62b;border-radius:20px;color:#cfdbca;backdrop-filter:blur(8px)}
.portrait-views button[aria-pressed=true]{background:#e3d8b7;color:#19362c;border-color:#e3d8b7}
.avatar-caption{font-size:8px;letter-spacing:.08em;bottom:17px;left:10px;right:10px;color:#dfdfc9}
@media(max-width:700px){.avatar-stage{height:clamp(210px,31svh,300px)}.portrait-views{top:7px}.portrait-views button{min-height:32px;padding:7px 12px}.avatar-caption{bottom:10px}}
/* Keep portrait controls and captions out of the model's rendered frame. */
.avatar-stage{padding:54px 0 30px}
.avatar-stage #avatar{display:block;width:100%;height:100%}
@media(max-width:700px){.avatar-stage{padding-top:42px;padding-bottom:28px}}

.chapter-map-card{display:flex;gap:24px;align-items:center;margin:22px 0;padding:18px;background:#193b303b;border:1px solid #d1d6ae30;border-radius:18px}.level-map{width:145px;max-height:205px;flex:0 0 145px}.chapter-map-card p{line-height:1.6}.chapter-map-card small{opacity:.68;font-size:12px}@media(max-width:540px){.chapter-map-card{gap:14px;padding:12px}.level-map{width:95px;flex-basis:95px}.chapter-map-card .eyebrow{font-size:10px}.chapter-map-card p{font-size:13px}}
@media(max-width:540px){.chapter-map-card{display:grid;grid-template-columns:1fr;gap:12px}.chapter-map-card .level-map{width:100%;height:150px;max-height:150px}.chapter-map-card p{margin:6px 0 12px}.trial-card{align-items:flex-start;gap:14px}.trial-card .chapter-num{font-size:26px;flex-shrink:0}}
/* Keep all eleven chapters reachable on shorter desktop windows. */
#chapter-list{max-height:min(640px,calc(100dvh - 260px));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b9c3a566 transparent}

#boss-seals{display:none;margin:7px 0 0;padding:7px 10px;background:#15382dd9;color:#f3dfb2;border-left:2px solid #edcc86;font-size:10px;letter-spacing:.06em;text-align:center}
@media(max-width:700px){#boss-hud.sovereign #boss-seals{display:block}#boss-hud.sovereign #boss-phase{display:inline;white-space:nowrap}}
body.touch-mode #boss-hud.sovereign #boss-seals{display:block}
body.touch-mode #boss-hud.sovereign #boss-phase{display:inline;white-space:nowrap}
body.touch-mode #hud:has(#boss-hud.sovereign:not(.hidden)) .objective{display:none}

/* A persistent, compact encounter readout; gold = next, mint + check = awake. */
#boss-hud.sovereign #boss-seals{display:block;padding:9px 12px;border:1px solid #d4c59c42;border-radius:5px;background:linear-gradient(120deg,#17372eee,#20392de8);box-shadow:0 4px 18px #071e1a2b;text-align:left;letter-spacing:.04em}
.seal-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9px}.seal-caption span{font-size:8px;color:#b6c7b4;letter-spacing:.09em}.seal-order{display:flex;list-style:none;gap:8px;padding:0;margin:8px 0}.seal-order li{flex:1;padding:5px 8px;border:1px solid #b6c5aa30;border-radius:3px;color:#9cae9b;text-align:center;font-size:11px;font-family:Georgia,serif}.seal-order li.current{color:#ffe6ac;border-color:#e9c989;background:#d8b67524}.seal-order li.done{color:#c2f1d9;background:#83c7a21c;border-color:#95d5b562}.seal-action{font-size:10px;color:#dce7cf;margin-top:6px}.seal-window{height:2px;background:#c6d2b522;overflow:hidden}.seal-window i{display:block;width:100%;height:100%;background:#dfbf80;transform-origin:left;transition:transform .12s linear}.heart-open .seal-window i{background:#a8ebcd}.heart-open .seal-caption b{color:#bdf4d9}.pulse-ready .seal-action{color:#ffe4a5}
@media(max-width:700px){#boss-hud.sovereign #boss-seals{padding:7px 10px}.seal-order{margin:6px 0;gap:6px}.seal-order li{padding:3px 7px}.seal-caption span{font-size:7px}}
@media(prefers-reduced-motion:reduce){.seal-window i{transition:none}}
@media(max-height:500px) and (orientation:landscape){#boss-hud.sovereign #boss-seals{padding:6px 10px}.seal-order{margin:4px 0}.seal-order li{padding:2px 7px}.seal-action{margin-top:3px}}
@media(max-height:500px) and (orientation:landscape){body.touch-mode #boss-hud.sovereign{left:18px;top:64px;transform:none;width:220px}}

/* An ivory compass sight: a fixed aim point with independent firing and hit cues. */
#crosshair svg{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke-linecap:round;stroke-linejoin:round}
.reticle-frame{transform-origin:20px 20px;color:#fff5d9}.reticle-outline{stroke:#0b2b22;stroke-width:4.5;opacity:.85}.reticle-ink{stroke:currentColor;stroke-width:2.2}.reticle-center{fill:#fff5d9;stroke:#0b2b22;stroke-width:1.1;paint-order:stroke fill}.reticle-hit{stroke:#fff5d9;stroke-width:2.4;opacity:0;filter:drop-shadow(0 0 2px #102c21)}#crosshair.crit .reticle-hit{stroke:#ffc879}
