@charset "UTF-8";
.pour-track{position:relative;overflow:visible!important}.pour-track:after{content:"";position:absolute;left:55%;width:31%;top:-5px;bottom:-5px;border:1px solid #c3a15d;border-radius:6px;pointer-events:none}.portrait-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 16px #20332255)}
:root{--ink:#2c4036;--deep:#20382d;--muted:#738073;--cream:#fcf7ea;--gold:#e5b45f;--green:#487353;--line:rgba(75,94,69,.17);font-family:"Microsoft YaHei UI","PingFang SC",system-ui,sans-serif;color:var(--ink);font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:#283c30}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;color:inherit}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #daaa50;outline-offset:4px}button svg{width:22px;height:22px;display:block}button{touch-action:manipulation}[hidden]{display:none!important}a{color:inherit;text-decoration:none}.start-screen{position:relative;isolation:isolate;height:100dvh;min-height:440px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;padding:clamp(18px,3vh,36px) clamp(24px,4vw,72px) 22px;color:#fff8e9;overflow:hidden}.start-backdrop{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(26,38,27,.46),rgba(46,55,35,.2) 40%,rgba(27,41,31,.83)),url('./assets/art/selection-rainlight-v2.png') center/cover;transform:scale(1.03)}.start-screen:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 30%,transparent 15%,rgba(23,38,29,.25) 100%)}.start-header,.game-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.wordmark{font-size:23px;letter-spacing:.09em;font-weight:750;display:flex;align-items:center;gap:9px}.wordmark small{font-size:12px;letter-spacing:.16em;font-weight:400;opacity:.8;margin-left:8px}.mark-paw{color:#eabd79}.glass-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:10px 16px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(244,247,224,.11);color:inherit;backdrop-filter:blur(16px)}.glass-button{font-size:14px}.selection-heading{text-align:center;margin-top:clamp(10px,2.6vh,30px);position:relative;z-index:2;pointer-events:none}.eyebrow{font-size:12px;letter-spacing:.26em;margin:0 0 10px;color:#f5d9a0}.selection-heading h1{font-family:"STSong","Songti SC","SimSun",serif;font-size:clamp(26px,3vw,42px);font-weight:500;letter-spacing:.08em;margin:0 0 12px;text-shadow:0 4px 18px #344832}.selection-heading>p:last-child{font-size:14px;opacity:.8;margin:0}.character-choices{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,5vw,100px);width:min(870px,82vw);margin:4px auto 0;min-height:0}.character-choice{background:transparent;color:inherit;position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;border-radius:28px;min-height:0;padding:0 8px 12px;transition:transform .35s}.portrait-stage{position:relative;min-height:0;width:100%;height:100%;isolation:isolate}.portrait-stage:before{content:"";position:absolute;inset:15% 5% -2%;border-radius:48% 48% 20px 20px;background:radial-gradient(ellipse at 50% 80%,rgba(244,239,204,.30),transparent 68%);opacity:.45;transition:opacity .4s}.character-choice.selected .portrait-stage:before{opacity:1}.portrait-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;filter:drop-shadow(0 12px 18px rgba(20,35,25,.3));transition:filter .4s}.portrait-shadow{position:absolute;bottom:0;left:23%;right:23%;height:8%;background:radial-gradient(ellipse,rgba(12,25,17,.55),transparent 70%);filter:blur(5px)}.character-label{position:relative;display:grid;grid-template-columns:auto auto 1fr;align-items:center;justify-content:start;column-gap:10px;row-gap:5px;padding:12px 20px 13px;background:rgba(25,45,33,.48);border:1px solid rgba(240,236,210,.22);border-radius:18px;backdrop-filter:blur(15px);text-align:left;transition:background .3s,border-color .3s}.selected .character-label{background:rgba(252,244,216,.94);color:#3a4b34;border-color:#e9c681;box-shadow:0 12px 34px rgba(15,35,24,.15)}.character-label strong{font-size:26px;letter-spacing:.04em}.child-role{font-size:12px;font-weight:700;border:1px solid currentColor;border-radius:6px;padding:3px 6px;opacity:.75}.character-trait{font-size:13px;grid-column:1/4;opacity:.8;white-space:nowrap}.choice-check{position:absolute;right:18px;top:18px;width:24px;height:24px;background:#647b4c;border-radius:50%;color:white;display:none;align-items:center;justify-content:center}.selected .choice-check{display:flex}.character-choice:not(.selected):hover{transform:translateY(-5px)}.start-footer{text-align:center;position:relative;margin-top:12px}.primary-button{min-height:52px;padding:14px 29px;border-radius:999px;background:#e8bc70;color:#34452e;display:inline-flex;align-items:center;justify-content:center;gap:30px;font-size:16px;font-weight:750;box-shadow:0 8px 28px rgba(10,20,11,.15);transition:background .2s,transform .2s}.primary-button:hover{background:#f3cd87;transform:translateY(-2px)}.primary-button:active{transform:translateY(0)}.start-secondary{display:flex;gap:16px;align-items:center;justify-content:center;margin:13px auto 0;font-size:12px;color:#f0efdbbd}.text-button{background:none;color:inherit;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:4px 8px;font-size:13px}.text-button svg{width:16px;height:16px}.quiet-separator{height:13px;border-left:1px solid currentColor;opacity:.3}
.game-screen{position:relative;width:100%;height:100dvh;isolation:isolate;background:#acd0c4}.game-screen canvas{display:block;width:100%;height:100%;touch-action:none}.world-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(24,45,35,.40),transparent 24%,transparent 64%,rgba(33,54,35,.5));z-index:1}.game-header{position:absolute;top:0;left:0;right:0;padding:16px 28px;color:#f9f6e8;z-index:10;pointer-events:none}.game-header>*{pointer-events:auto}.wordmark.compact{border:0;background:none;padding:8px 0;font-size:20px;gap:0;color:inherit}.wordmark-dot{color:#f3c06e}.calendar{display:flex;align-items:center;gap:11px;padding:8px 18px;background:rgba(25,47,32,.48);border:1px solid rgba(248,241,215,.14);border-radius:16px;backdrop-filter:blur(14px)}.calendar>span svg{width:28px;height:28px;color:#f0d599}.calendar strong{font-size:14px;font-weight:600;letter-spacing:.05em}.calendar small{display:block;font-size:11px;opacity:.76;margin-top:3px}.header-actions{display:flex;gap:8px;align-items:center}.header-actions .icon-button{padding:10px;width:44px;background:rgba(25,47,32,.45);border-color:rgba(255,250,222,.16)}.bond-button{border-radius:999px;display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;background:rgba(249,242,220,.9);color:#5c6945;font-size:13px}.bond-button svg{color:#d1916e;width:18px}.region-nav{position:absolute;top:91px;left:28px;z-index:10;display:flex;gap:4px;padding:5px;border:1px solid #efeac63d;border-radius:999px;background:#273f2dd9;backdrop-filter:blur(14px)}.region-nav button{color:#eeedd8bb;background:transparent;border-radius:999px;min-height:40px;padding:9px 14px;font-size:13px;display:flex;align-items:center;gap:5px}.region-nav svg{width:16px;height:16px}.region-nav button.active{background:#fbf6e4;color:#486046}.scene-caption{position:absolute;top:151px;left:32px;z-index:3;color:#314b35;pointer-events:none;text-shadow:0 1px 5px #fbf5d7aa}.scene-caption>span{display:block;font-family:"STSong","Songti SC","SimSun",serif;font-size:25px;font-weight:650;letter-spacing:.1em}.scene-caption small{display:block;font-size:12px;margin-top:7px;opacity:.85}.journey-button{position:absolute;top:91px;right:28px;z-index:5;width:250px;display:flex;gap:10px;align-items:flex-start;padding:16px;text-align:left;border-radius:18px;background:rgba(255,251,235,.93);box-shadow:0 10px 34px #223b2019;border:1px solid #fcf6d8c9;color:#374f37;backdrop-filter:blur(10px)}.journey-symbol{width:29px;height:29px;flex-shrink:0;display:grid;place-items:center;color:#7d975c}.journey-symbol svg{width:24px;height:24px}.journey-button small{font-size:11px;color:#8b906d;display:block;margin-bottom:5px}.journey-button strong{font-size:15px;display:block;font-weight:650}.journey-button div>span{display:block;font-size:11px;line-height:1.6;margin-top:8px;color:#7c856e}.journey-arrow{position:absolute;right:15px;top:14px;color:#a4ae8b}.activity-panel{position:absolute;left:28px;bottom:163px;z-index:14;width:292px;padding:22px;border-radius:22px;background:rgba(255,251,237,.96);box-shadow:0 12px 50px #29462b25;backdrop-filter:blur(18px);border:1px solid #fffdf0be;max-height:calc(100dvh - 250px);overflow:auto}.activity-header{display:flex;gap:10px;align-items:center;justify-content:space-between}.activity-header h2{font-size:20px;margin:0;font-family:"STSong","Songti SC","SimSun",serif}.activity-header .icon-button{min-width:32px;min-height:32px;padding:4px;background:transparent;border:0}.activity-panel p{font-size:13px;line-height:1.8;color:#7a826d;margin:10px 0 16px}.activity-panel .primary-button{width:100%;font-size:14px;min-height:46px;padding:10px 16px;gap:8px;box-shadow:none}.activity-panel .secondary-button{width:100%;margin-top:8px;font-size:13px}.activity-track{height:7px;border-radius:99px;background:#e2e6d4;overflow:hidden;margin:16px 0}.activity-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#80a077,#d2bc79);border-radius:inherit;transition:width .14s}.activity-quality{font-size:12px;color:#7c8b64;text-align:center;margin-top:9px}.hold-button{user-select:none;-webkit-user-select:none;touch-action:none}.hold-button.holding{background:#beca87}.choice-list{display:grid;gap:8px}.choice-button{border:1px solid #d7ddc5;background:#f7f8ec;border-radius:12px;padding:12px 14px;text-align:left;min-height:44px;font-size:14px;line-height:1.5;transition:border-color .15s,background .15s}.choice-button:hover{background:#edf1db;border-color:#91aa77}.choice-button small{display:block;color:#939c81;font-size:12px;line-height:1.5;margin-top:5px}.world-hint{position:absolute;bottom:155px;left:50%;transform:translateX(-50%);z-index:4;display:flex;align-items:center;justify-content:center;gap:8px;color:#fffbea;background:#2c482d87;border:1px solid #e8edd42b;backdrop-filter:blur(8px);padding:9px 17px;border-radius:999px;font-size:12px;max-width:60%;text-align:center;pointer-events:none}.hint-dot{background:#dfc88e;width:5px;height:5px;border-radius:50%;flex-shrink:0}.bottom-hud{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:10;width:min(850px,calc(100vw - 100px));display:grid;gap:10px}.needs{display:flex;justify-content:center;gap:19px;padding-inline:24px}.need{display:flex;align-items:center;gap:7px;color:#fffbe7;text-shadow:0 1px 6px #31503770;font-size:11px}.need-track{width:57px;height:4px;background:#e8eac440;overflow:hidden;border-radius:99px}.need-track i{display:block;height:100%;background:#f5e4af;border-radius:99px}.need-track.low i{background:#e4a384}.action-dock{display:grid;grid-template-columns:repeat(8,minmax(0,1fr)) 1px minmax(0,1.1fr);align-items:stretch;gap:5px;padding:10px;border:1px solid #fff9df85;border-radius:24px;background:rgba(253,249,230,.96);box-shadow:0 16px 36px #203c2c3b;backdrop-filter:blur(20px)}.dock-divider{align-self:stretch;margin:5px 0;background:#dadfc5}.dock-action{padding:9px 2px 7px;background:transparent;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;font-size:12px;color:#5f7054;min-height:64px;position:relative;transition:background .18s,transform .18s}.dock-action svg{width:24px;height:24px}.dock-action:hover{background:#e7ecd7;transform:translateY(-2px)}.dock-action.active{background:#58754f;color:#fffce8}.dock-action.done:after{content:"";position:absolute;top:7px;right:10px;width:5px;height:5px;border-radius:50%;background:#b5a75e}.dock-action[data-action="end"]{color:#a77c3d}.camera-button{position:absolute;right:26px;bottom:31px;z-index:12;color:#fcf9e4;background:#2c46399c;border-color:#fffce43d;padding:11px}.discovery-layer{position:absolute;inset:0;pointer-events:none;z-index:6}.discovery-label{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;min-width:44px;min-height:44px;border-radius:14px;padding:9px 13px;color:#4b623c;background:#fbf7dfef;font-size:12px;box-shadow:0 5px 15px #2c462629;border:1px solid #ffffffaa;display:flex;align-items:center;gap:6px;white-space:nowrap;transition:opacity .2s}.discovery-label svg{width:17px;height:17px}.discovery-label.collected{background:#465c36db;color:#e8e8c7;border-color:#9dae762b}.discovery-label:after{content:"";position:absolute;left:50%;top:100%;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #fbf7dfef;transform:translateX(-50%)}.cat-bubble{position:absolute;z-index:9;transform:translate(-50%,-100%);padding:10px 15px;max-width:240px;border-radius:16px;background:#fffbeded;color:#567049;font-size:13px;box-shadow:0 6px 20px #29422b18;pointer-events:none;line-height:1.6}
.loading-screen{position:fixed;inset:0;z-index:150;background:radial-gradient(ellipse at 50% 40%,#f4edda,#e3e7d6);display:flex;align-items:center;justify-content:center;flex-direction:column;color:#4d6546}.loading-cat{font-size:42px;letter-spacing:.08em;font-weight:750}.loading-cat span{color:#c69856}.loading-screen h2{font-family:"STSong","Songti SC","SimSun",serif;font-size:25px;font-weight:500;margin:20px 0 6px;letter-spacing:.08em}.loading-screen p{font-size:13px;color:#81916f}.loading-track{width:210px;height:5px;background:#d0d9bd;border-radius:999px;overflow:hidden;margin:22px 0}.loading-track i{display:block;height:100%;width:8%;background:#738e5c;transition:width .4s}.modal{position:fixed;max-width:min(960px,calc(100vw - 48px));width:680px;max-height:calc(100dvh - 52px);border:1px solid #fff9e4;border-radius:28px;padding:34px;background:#faf7e9;color:#3d533b;box-shadow:0 35px 120px #0e211b55;overflow:auto}.modal::backdrop{background:#162c246b;backdrop-filter:blur(9px)}.modal.wide{width:960px}.modal.video-modal{width:1050px;max-width:calc(100vw - 40px);background:#172a22;padding:0;color:#f8f2db;overflow:hidden}.modal-close{position:absolute;top:14px;right:14px;z-index:20;min-height:38px;min-width:38px;background:#fffce8dc;color:#617453;padding:7px;border:1px solid #dce2cd}.modal.video-modal .modal-close{background:#213b30cf;color:#fff8de;border-color:#e4e9d43b}.modal h2{margin:3px 38px 12px 0;font-family:"STSong","Songti SC","SimSun",serif;font-size:29px;letter-spacing:.05em}.modal h3{font-size:17px;margin:20px 0 10px}.modal .eyebrow{color:#b79356;font-size:11px}.modal-lead{font-size:14px;line-height:1.85;color:#84906f;margin:5px 0 22px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 0;border-bottom:1px solid #dce2cd}.settings-row strong{font-size:15px;display:block}.settings-row p{font-size:12px;line-height:1.6;color:#8a9578;margin:5px 0 0}.switch{min-width:80px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;background:#e6ecd9;border-radius:999px;font-size:13px;color:#748568}.switch[aria-checked="true"]{background:#587d51;color:#fff9e3}.settings-row input[type="range"]{accent-color:#729557;width:180px;min-height:44px;max-width:36vw}.settings-row select{padding:10px 14px;min-height:44px;border:1px solid #d2dbc0;background:#f4f6e8;border-radius:12px;color:#536a45}.settings-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:12px;border:1px solid #cdd7b8;background:#eef1e1;color:#5f764d;font-size:14px}.secondary-button svg{width:18px;height:18px}.danger-button{color:#a27b67;background:#f3eadd;border-color:#e4d4c4}.settings-note{font-size:12px;line-height:1.75;color:#8b957d;margin-top:18px}.owner-tabs,.album-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 22px}.pill{background:#e9eddc;color:#84916f;border:1px solid transparent;padding:9px 15px;min-height:40px;border-radius:999px;font-size:13px}.pill.active{background:#536f45;color:#fffae1}.film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.film-card{display:flex;flex-direction:column;gap:0;overflow:hidden;border-radius:15px;padding:0;background:#fffbed;text-align:left;border:1px solid #dce3c8}.film-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.film-card .locked-art{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#dce5cc,#bdcda7);color:#eff4de}.locked-art svg{width:26px;height:26px}.film-card>div:last-child{padding:12px}.film-card strong{font-size:13px;display:block;line-height:1.6}.film-card small{font-size:11px;line-height:1.6;color:#929c7d;display:block;margin-top:4px}.film-card.locked{opacity:.7}.film-card:hover:not(.locked){border-color:#adbc8a;box-shadow:0 9px 22px #667c4420}.film-player{width:100%;display:block;background:#13231c;max-height:calc(100dvh - 145px);aspect-ratio:16/9;object-fit:contain}.video-caption{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 24px}.video-caption strong{font-size:15px}.video-caption small{display:block;font-size:12px;opacity:.6;margin-top:5px}.video-caption .secondary-button{background:#2b4434;color:#f1e9ce;border-color:#708064}.reward-hero{text-align:center;padding:18px 0}.reward-hero .reward-icon{width:68px;height:68px;display:grid;place-items:center;margin:0 auto 18px;border-radius:50%;background:#e9d7a1;color:#997836}.reward-icon svg{width:32px;height:32px}.reward-hero h2{margin-right:0}.reward-poster{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:17px;display:block;margin:20px 0}.reward-actions{display:flex;justify-content:center;gap:9px}.story-art-line{height:4px;width:60px;margin:0 0 24px;background:#d8bc7c;border-radius:3px}.story-body{font-size:16px;line-height:2;color:#677c57;margin:15px 0 24px}.objective-list{padding:0;list-style:none;display:grid;gap:10px;margin:20px 0}.objective-list li{display:flex;gap:10px;align-items:center;padding:12px 14px;background:#edf1df;border-radius:12px;font-size:14px;color:#6c7f55}.objective-list svg{width:20px;height:20px;flex-shrink:0}.objective-list .complete{color:#93a478}.chapter-progress{height:7px;background:#e0e7cf;border-radius:99px;overflow:hidden;margin:15px 0}.chapter-progress i{height:100%;display:block;background:#a2b87e;border-radius:inherit}.milestone-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:22px 0}.milestone-dot{aspect-ratio:1;display:grid;place-items:center;border-radius:14px;background:#e8ecd9;color:#a4b18f;font-size:18px;border:1px solid #dce3ca}.milestone-dot.complete{background:#e1c985;color:#715a2c;border-color:#ddc077}.discovery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.discovery-card{border:1px solid #d9e2c7;padding:17px;border-radius:15px;background:#f4f6e8}.discovery-card>span{font-size:28px;display:block;margin-bottom:10px}.discovery-card strong{font-size:14px;display:block}.discovery-card small{font-size:12px;color:#94a081;line-height:1.7;display:block;margin-top:8px}.music-list{display:grid;gap:7px}.music-row{display:flex;align-items:center;gap:14px;padding:13px 16px;background:#edf1e0;border-radius:13px;text-align:left}.music-row.active{background:#dee6c6}.music-row>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#cfdbb8;color:#657e4b}.music-row svg{width:17px;height:17px}.music-row strong{font-size:14px;display:block}.music-row small{font-size:11px;color:#90a077;display:block;margin-top:5px}.empty-state{padding:35px 20px;text-align:center;background:#eef2e1;border-radius:18px;color:#8d9f79;font-size:14px;line-height:1.9}.toast{position:fixed;z-index:250;left:50%;bottom:28px;transform:translateX(-50%);max-width:min(540px,90vw);padding:14px 22px;border-radius:16px;background:#fcf8e8f5;border:1px solid #dedfbf;box-shadow:0 10px 38px #2b412b24;color:#617847;font-size:14px;line-height:1.65;text-align:center;pointer-events:none}.silent-indicator{position:fixed;z-index:300;right:8px;bottom:5px;font-size:9px;opacity:.65;color:#eef4da;background:#233c2cd9;border-radius:6px;padding:3px 6px;pointer-events:none}
@media(min-width:1600px){.character-choices{width:970px;gap:110px}.character-label{padding:18px 25px}.character-label strong{font-size:30px}.character-trait{font-size:14px}.selection-heading{margin-top:3vh}.start-footer{margin-top:18px}.game-header{padding:22px 40px}.region-nav{left:40px;top:103px}.scene-caption{left:45px;top:168px}.journey-button{top:103px;right:40px;width:275px}.activity-panel{left:40px;bottom:170px}.bottom-hud{bottom:26px;width:900px}}
@media(max-width:1100px){.start-screen{padding:20px 30px 14px}.wordmark small{display:none}.selection-heading{margin-top:12px}.selection-heading h1{font-size:29px;margin-bottom:8px}.character-choices{width:78vw;gap:40px}.character-label{padding:10px 13px}.character-label strong{font-size:22px}.character-trait{font-size:12px;letter-spacing:-.02em}.game-header{padding:14px 20px}.wordmark.compact{font-size:17px}.calendar{padding:7px 12px}.header-actions{gap:5px}.bond-button{padding-inline:11px;font-size:12px}.region-nav{top:85px;left:20px}.region-nav button{padding:8px 11px;font-size:12px}.journey-button{top:85px;right:20px;width:225px;padding:13px}.scene-caption{top:143px;left:24px}.bottom-hud{width:calc(100vw - 104px);bottom:15px}.action-dock{padding:8px;gap:2px;border-radius:21px}.dock-action{font-size:11px;min-height:60px}.dock-action svg{width:22px}.needs{gap:14px;padding-inline:10px}.need-track{width:45px}.camera-button{right:16px;bottom:30px}.activity-panel{left:20px;width:265px;bottom:148px;padding:18px}.world-hint{bottom:141px;max-width:70%;font-size:11px}.modal{padding:28px}}
@media(max-height:680px) and (orientation:landscape){.start-screen{padding-top:16px;padding-bottom:10px}.start-header .wordmark{font-size:19px}.glass-button{min-height:40px;padding:8px 12px}.selection-heading{margin-top:4px}.eyebrow{margin-bottom:6px;font-size:10px}.selection-heading h1{font-size:26px;margin-bottom:4px}.selection-heading>p:last-child{font-size:12px}.character-choices{width:min(720px,78vw);gap:50px}.character-label{padding:8px 12px;row-gap:2px}.character-label strong{font-size:20px}.character-trait{font-size:11px}.choice-check{top:12px;right:12px;width:20px;height:20px}.start-footer{margin-top:5px}.primary-button{min-height:46px;padding:10px 24px}.start-secondary{margin-top:4px}.game-header{padding-top:10px}.region-nav,.journey-button{top:75px}.journey-button div>span{display:none}.journey-button{padding:12px}.scene-caption{top:132px}.scene-caption small{display:none}.bottom-hud{bottom:12px;gap:8px}.action-dock{padding:6px}.dock-action{min-height:53px;font-size:11px;gap:4px;padding:6px 2px}.dock-action svg{width:21px;height:21px}.world-hint{bottom:121px;padding:7px 13px}.activity-panel{bottom:130px;max-height:calc(100dvh - 208px);padding:16px}.activity-panel p{font-size:12px;margin:8px 0}.camera-button{bottom:24px}.modal{max-height:calc(100dvh - 24px);padding:25px}.settings-row{padding:12px 0}.modal h2{font-size:25px}.film-grid{gap:10px}}
@media(max-width:760px) and (orientation:portrait){.start-screen{padding:18px 18px 14px}.wordmark{font-size:18px}.selection-heading{margin-top:4vh}.selection-heading h1{font-size:24px}.selection-heading>p:last-child{font-size:12px}.character-choices{width:100%;gap:5px;margin-top:10px}.character-choice{padding:0 3px 8px}.character-label{display:flex;flex-wrap:wrap;gap:5px;padding:10px}.character-label strong{font-size:20px}.character-trait{font-size:11px;white-space:normal;line-height:1.5;width:100%}.child-role{font-size:10px}.choice-check{display:none!important}.portrait-stage{min-height:0}.game-header{flex-wrap:wrap;padding:12px}.wordmark.compact{font-size:15px}.calendar{padding:7px 9px;gap:5px}.calendar small{display:none}.calendar strong{font-size:11px}.calendar>span svg{width:20px}.header-actions{gap:3px}.header-actions .icon-button{min-width:36px;min-height:36px;padding:8px;width:36px}.bond-button{display:none}.region-nav{left:12px;top:69px;gap:0;padding:3px}.region-nav button{padding:7px 9px;min-height:37px}.journey-button{top:126px;right:12px;width:188px;padding:11px}.journey-button div>span{display:none}.journey-button small{font-size:10px}.journey-button strong{font-size:13px}.scene-caption{left:16px;top:125px;max-width:40%}.scene-caption>span{font-size:21px}.scene-caption small{font-size:10px;line-height:1.5}.bottom-hud{width:calc(100vw - 24px);bottom:12px;gap:7px}.action-dock{grid-template-columns:repeat(5,1fr);gap:3px;padding:6px;border-radius:20px}.dock-divider{display:none}.dock-action{min-height:49px;gap:3px;padding:5px 1px;font-size:10px}.dock-action svg{width:21px;height:21px}.needs{gap:9px;padding:0}.need{font-size:10px;gap:3px}.need-track{width:25px}.world-hint{bottom:152px;font-size:10px;max-width:90%;width:max-content;padding:8px 11px}.camera-button{right:12px;bottom:184px}.activity-panel{left:12px;bottom:188px;width:235px;max-height:calc(100dvh - 390px);padding:15px}.activity-header h2{font-size:18px}.activity-panel p{font-size:12px}.modal{max-width:calc(100vw - 22px);max-height:calc(100dvh - 30px);padding:25px 20px;border-radius:22px}.modal h2{font-size:25px}.film-grid{grid-template-columns:repeat(2,1fr);gap:10px}.discovery-grid{grid-template-columns:repeat(2,1fr)}.settings-row{gap:10px}.settings-row input[type=range]{width:100px}.settings-row p{font-size:11px}.milestone-grid{gap:4px}.milestone-dot{border-radius:10px;font-size:14px}.video-caption{padding:14px;gap:10px}.video-caption strong{font-size:13px}.video-caption small{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.toast{top:80px;bottom:auto;max-width:min(480px,75vw)}

/* Keep the play area open while giving mouse, keyboard and touch equal controls. */
.camera-controls{position:absolute;right:24px;bottom:156px;z-index:12;display:grid;gap:7px;color:#fff9e8}
.camera-modes,.camera-tools{display:flex;gap:3px;padding:4px;background:#243d36dc;border:1px solid #f7efd04d;border-radius:16px;backdrop-filter:blur(12px)}
.camera-controls button{min-width:44px;min-height:44px;background:transparent;color:inherit;border-radius:11px;padding:8px 10px;font-size:13px;display:grid;place-items:center}
.camera-controls button[aria-pressed=true]{background:#f7efd6;color:#304b3b}
.camera-tools button{flex:1;font-size:20px}.camera-tools svg{width:19px;height:19px}
.move-pad{display:none;position:absolute;left:28px;bottom:154px;width:116px;height:116px;border-radius:50%;background:#f9f2da26;border:2px solid #faf6e77a;box-shadow:inset 0 0 30px #223e3540;z-index:12;touch-action:none;user-select:none}
#move-thumb{position:absolute;left:34px;top:34px;width:44px;height:44px;border-radius:50%;background:#f7efdce8;box-shadow:0 4px 18px #1b342c40;pointer-events:none}
.move-pad-label{position:absolute;width:100%;bottom:-23px;text-align:center;font-size:12px;color:#fff8e6;text-shadow:0 1px 5px #203c30}
.first-crosshair{display:none;position:absolute;left:50%;top:50%;width:7px;height:7px;border:1px solid #fff9e9bb;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:2}
body[data-camera=first] .first-crosshair{display:block}
body[data-activity]:not([data-activity=""]) .move-pad{display:none}
.activity-panel{left:24px;bottom:156px;width:278px;max-height:calc(100dvh - 340px)}
.activity-panel p{font-size:14px;line-height:1.65}.activity-quality{font-size:13px}.need{font-size:12px}.dock-action{font-size:13px}
.settings-row p,.settings-note{font-size:13px;line-height:1.65}.settings-row select{max-width:160px}.settings-row input[type=checkbox]{width:24px;height:24px;accent-color:#58754f}
.toast{top:auto;bottom:150px;max-width:min(480px,55vw);pointer-events:none;font-size:14px;z-index:20}
.world-hint{bottom:142px;max-width:48%;font-size:12px}.journey-button{width:226px}.scene-caption small{max-width:350px;line-height:1.55}
.journey-button.has-story{border-color:#c9ae64}.journey-button.has-story .journey-symbol{color:#af8735}
@media(pointer:coarse),(max-width:1100px){.move-pad{display:block}.camera-controls{right:20px;bottom:154px}.activity-panel{bottom:157px}.scene-caption small{display:none}.world-hint{max-width:43%;bottom:142px}.bottom-hud{width:calc(100vw - 48px)}.game-header{padding:14px 20px}.region-nav{left:20px;top:86px}.journey-button{right:20px;top:86px;width:210px}}
@media(max-height:620px) and (orientation:landscape){.camera-controls{right:16px;bottom:115px;gap:4px}.camera-controls button{min-height:40px;padding:6px}.move-pad{bottom:118px;width:96px;height:96px;left:20px}#move-thumb{left:24px;top:24px}.world-hint{bottom:105px;max-width:40%;padding:6px 10px}.activity-panel{bottom:115px;max-height:calc(100dvh - 190px);padding:14px;width:245px}.activity-panel p{font-size:13px}.toast{bottom:115px}.scene-caption{top:140px}.journey-button{width:205px}.need{font-size:11px}.dock-action{font-size:12px}}
@media(max-height:440px){.start-screen{height:100dvh;min-height:0;overflow-y:auto;grid-template-rows:auto auto 210px auto;padding-bottom:28px}.selection-heading{margin-top:8px}.selection-heading h1{font-size:25px}.selection-heading>p:last-child{display:none}.character-choices{width:min(710px,85vw)}.start-footer{padding-bottom:8px}.scene-caption,.world-hint{display:none}.camera-controls{bottom:94px}.move-pad{bottom:104px}.journey-button{top:73px;padding:9px}.region-nav{top:73px}.activity-panel{max-height:calc(100dvh - 170px);bottom:102px}.toast{bottom:105px}.settings-row{flex-wrap:wrap}}
@media(max-width:760px) and (orientation:portrait){.camera-controls{right:12px;bottom:160px}.camera-modes{flex-direction:column}.camera-controls button{min-width:42px;min-height:42px}.camera-tools{display:grid;grid-template-columns:1fr 1fr}.move-pad{left:16px;bottom:170px;width:100px;height:100px}#move-thumb{left:26px;top:26px}.world-hint{display:none}.activity-panel{left:12px;bottom:170px;width:calc(100vw - 135px);max-height:calc(100dvh - 355px)}.bottom-hud{width:calc(100vw - 24px)}.toast{bottom:170px;max-width:70vw}.scene-caption{top:125px}.journey-button{top:124px;width:175px}.region-nav{top:68px;left:12px}.game-header{padding:12px}.settings-row input[type=range]{width:135px}}
