@font-face{font-family:RatDisplay;src:local('Cooper Black')}*{box-sizing:border-box}html,body,#game{width:100%;height:100%;margin:0;overflow:hidden}body{background:#423775;color:#fff6c7;font:16px 'Trebuchet MS',Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #fff6a3;outline-offset:4px}[hidden]{display:none!important}#unity-canvas{display:block;width:100%;height:100%;outline:0;background:linear-gradient(#7560a5,#e09fb2)}.vignette{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 140px #21134770}.screen{position:fixed;inset:0}#menu{background:linear-gradient(90deg,#241644bd,transparent 70%)}.publisher{position:absolute;top:4%;left:4%;text-decoration:none;color:#ffe493;font:bold italic 27px Georgia;text-shadow:2px 2px #382350}.publisher span{display:block;font:10px 'Trebuchet MS';letter-spacing:.22em;text-transform:uppercase}.menu-copy{position:absolute;left:8%;top:14%;width:min(440px,44vw)}.logo{position:relative;font:italic 900 clamp(64px,8.4vw,116px)/.77 RatDisplay,'Arial Rounded MT Bold',Georgia,serif;letter-spacing:-.065em;margin:0 0 25px;transform:rotate(-6deg);color:#ffce42;-webkit-text-stroke:2px #6c3314;text-shadow:3px 3px 0 #6c3314,6px 6px 0 #6c3314,9px 10px 0 #2c1846,11px 13px 0 #181324}.logo>span:first-child{font-size:.82em;letter-spacing:-.08em}.apostrophe{color:#fff1a5}.featuring{font:bold italic 16px Georgia;color:#fff4b4;transform:rotate(-6deg);margin:35px 0 28px}.sticker{position:absolute;left:64%;top:-4%;z-index:2;padding:12px 15px;background:#dd4f82;color:#fff6c7;transform:rotate(13deg);border:2px dashed #ffc971;border-radius:50%;font:bold 12px/1.1 'Trebuchet MS';text-align:center;box-shadow:3px 4px 0 #482754}#start-form label{font-size:11px;letter-spacing:.16em;font-weight:bold}#rat-name{width:100%;background:#251e42b0;color:#fff6c7;border:1px solid #d8b763;border-radius:4px;padding:9px 12px;margin:6px 0 13px;font-size:16px}.menu-button{display:block;width:100%;padding:13px 20px;margin:9px 0;color:#fff6cf;font-weight:900;letter-spacing:.04em;text-align:left;border:2px solid #c1b3e0;border-top-color:#ede4ff;border-left-color:#ede4ff;border-radius:7px;background:linear-gradient(#7661b0,#40326e);box-shadow:4px 5px 0 #21162e, inset 0 0 0 2px #4b3b7f;transform:skew(-5deg)}.menu-button:hover{background:linear-gradient(#9a81cb,#5b448c);translate:3px 0}.menu-button.primary{color:#462a10;background:linear-gradient(#fff181,#e9a72e);border-color:#ffeda6;box-shadow:4px 5px 0 #392323,inset 0 0 0 2px #bf7b23}.menu-button span{margin-right:8px}.menu-note{font-size:13px;font-style:italic;color:#e5d6ee;margin-top:22px}.seal{position:absolute;right:6%;bottom:17%;width:125px;height:125px;display:flex;flex-direction:column;justify-content:center;border:6px double #b18432;border-radius:50%;background:radial-gradient(#ffeaaa,#d3a44f);color:#80542b;text-align:center;font:11px Georgia;transform:rotate(12deg);box-shadow:4px 5px 0 #2b203c}.seal strong{font-size:18px;line-height:1.2}.menu-footer{position:absolute;bottom:3%;left:4%;right:4%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.08em;color:#ece0b2}#loading{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at 60% 30%,#725c99,#302046);z-index:20}.loading-box{max-width:480px;width:85%;text-align:center}.loading-box h1{font:italic bold 38px Georgia;color:#ffd65a}.disc{font-size:75px;animation:spin 5s linear infinite}.loading-box p{font-size:16px}.loading-box small{display:block;margin:16px;color:#cdbbe0}progress{width:100%;height:18px;accent-color:#f3c44f}button:not(.menu-button):not(.pause-button):not(.close):not([data-key]):not(.skip){border:2px solid #dfc892;border-radius:5px;background:linear-gradient(#7866a4,#443360);color:#fff5ce;font-weight:bold;padding:11px 19px;box-shadow:2px 3px #271c37}button.primary:not(.menu-button){background:linear-gradient(#ffed84,#d69c2b)!important;color:#4e301b!important}#hud{position:fixed;inset:0;pointer-events:none}.rat-status{position:absolute;left:24px;top:24px;display:flex;gap:12px;align-items:center;filter:drop-shadow(2px 3px 0 #302040)}.mini-portrait{width:67px;height:67px;border:3px solid #edc066;border-radius:14px;background:#64517b url('/big-climbin/giuseppe-talk-final.png') no-repeat 0 center;background-size:400% 100%}.rat-status strong{font-size:16px;text-shadow:1px 2px #2d1c44;letter-spacing:.06em}.stamina-shell{width:200px;height:18px;background:#271b3d;border:3px solid #f6df96;border-radius:10px;margin:6px 0;overflow:hidden}#stamina-fill{height:100%;width:100%;background:linear-gradient(#cdf469,#6da53a);transition:width .12s linear}.rat-status span{font-size:12px;color:#fff8d9}.altitude{position:absolute;right:30px;top:20px;text-align:right;filter:drop-shadow(2px 3px #352145)}.altitude strong{font:bold italic 58px/.95 Georgia;color:#ffe287}.altitude span,.altitude small{display:block;font-size:11px;letter-spacing:.15em;margin-top:5px}.chunk-banner{position:absolute;left:50%;top:28px;transform:translateX(-50%);text-align:center;max-width:40%;text-shadow:2px 2px #33204a}.chunk-banner span{display:block;font-size:10px;letter-spacing:.18em;color:#ecd6ed}.chunk-banner strong{display:block;margin:8px 0;font:bold italic 24px Georgia;color:#ffedb0}.chunk-banner small{font-size:12px}.pockets{position:absolute;bottom:46px;left:24px;display:flex;gap:12px;align-items:center;padding:10px 14px;border:2px solid #c6a775;background:#302340d4;border-radius:5px;box-shadow:3px 4px #211729;font-size:12px}.pockets b{display:inline-block;padding-left:4px;font-size:21px;color:#ffe175}.pockets button{pointer-events:auto;font-size:11px;padding:7px!important}.control-hint{position:absolute;bottom:15px;left:24px;font-size:11px;color:#f7eccb;text-shadow:1px 1px #251630}.pause-button{position:absolute;right:26px;bottom:40px;pointer-events:auto;background:#493564d9;border:2px solid #e7c17e;color:#ffe299;padding:8px 15px;border-radius:8px;font-size:22px}#toast{position:fixed;bottom:135px;left:50%;transform:translateX(-50%);background:#2a1b41ed;border:2px solid #f0c766;border-radius:7px;padding:13px 22px;font-weight:bold;text-align:center;pointer-events:none;opacity:0;transition:opacity .2s;z-index:25;max-width:80%}#toast.show{opacity:1}#connection{position:fixed;right:15px;bottom:8px;color:#ffce80;background:#322139dd;padding:5px 9px;font-size:12px}.cinematic{border-top:55px solid #161021;border-bottom:55px solid #161021;pointer-events:none;background:linear-gradient(transparent 60%,#28193a85)}.chapter{position:absolute;left:6%;top:6%;font:bold italic 24px Georgia;text-shadow:2px 3px #2b1f3d;white-space:pre-line}.skip{position:absolute;top:15px;right:25px;background:transparent;color:#f3deae;border:0;pointer-events:auto;font-size:12px}.dialogue{position:absolute;left:7%;right:7%;bottom:3%;display:flex;align-items:stretch;min-height:172px;gap:16px}.portrait{width:165px;flex-shrink:0;overflow:hidden;border:5px solid #e6bd71;border-radius:28px;background:#6a5385;box-shadow:5px 7px #1d172d;transform:rotate(-5deg)}.portrait-sheet{width:100%;height:100%;background:url('/big-climbin/giuseppe-talk-final.png') no-repeat;background-size:400% 100%;background-position:0 center}.speech{flex:1;background:linear-gradient(#51406beF,#2b213eee);border:4px solid #d6b67c;border-radius:14px;padding:19px 23px;box-shadow:5px 7px #1d172d;pointer-events:auto}.speech strong{font-size:11px;letter-spacing:.12em;color:#ffc973}.speech p{font-size:clamp(18px,2vw,26px);line-height:1.4;margin:10px 0 25px;text-shadow:1px 2px #20162d;min-height:60px}.speech button{float:right;font-size:12px}dialog{max-height:90vh;max-width:530px;width:90%;overflow:auto;border:5px ridge #d9bb78;border-radius:12px;padding:27px;background:linear-gradient(145deg,#5c487b,#30223e);color:#fff1bf;box-shadow:9px 12px #19112099}dialog::backdrop{background:#171022a9}dialog h2{font:bold italic 35px Georgia;color:#ffda69;margin:0 0 22px}dialog p{line-height:1.5}dialog button:not(.close){margin:8px 0;width:100%}.close{position:absolute;right:10px;top:5px;color:#fae4b2;background:none;border:0;font-size:30px}.fine{font-size:12px;line-height:1.5;color:#d9cde8}dt{font-size:14px;color:#ffda80;font-weight:bold;margin-top:15px}dd{margin:5px 0;font-size:14px;line-height:1.5}.setting{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:bold;gap:10px;margin:24px 0}.setting input[type=range]{width:50%;accent-color:#ffcc55}.setting input[type=checkbox]{width:23px;height:23px;accent-color:#ffc955}.setting select{max-width:52%;background:#2b203c;color:#fff0bf;padding:8px;border:1px solid #d7b979;font-size:13px}textarea{display:block;width:100%;margin:10px 0;padding:12px;background:#201a30;border:2px solid #ab916a;color:#fff2bb;resize:vertical}.death-cheese{font-size:70px;text-align:center;color:#db9acc}#death-dialog{text-align:center}#touch{position:fixed;bottom:95px;left:16px;right:16px;display:flex;justify-content:space-between;pointer-events:none}#touch button{width:47px;height:47px;background:#322241b9;border:2px solid #e2c88c;color:#ffecb2;border-radius:10px;pointer-events:auto;touch-action:none;font-size:17px;user-select:none}.dpad{display:grid;grid-template-columns:repeat(3,47px);grid-template-rows:repeat(2,47px);gap:4px}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-row:2}.dpad button:nth-child(3){grid-row:2}.dpad button:nth-child(4){grid-row:2}.touch-actions{display:grid;grid-template-columns:repeat(2,55px);gap:5px}.touch-actions button{font-size:13px!important}@keyframes spin{to{transform:rotate(360deg)}}@media(max-height:700px){.menu-copy{top:12%;width:350px}.logo{font-size:80px}.featuring{margin:25px 0 16px;font-size:14px}.menu-button{padding:10px 15px}.menu-note{margin-top:14px}.publisher{top:3%;font-size:23px}.seal{bottom:12%}.dialogue{min-height:140px}.portrait{width:135px}.cinematic{border-width:35px}.speech p{font-size:19px}}@media(max-width:720px){.menu-copy{left:8%;top:15%;width:80%;max-width:360px}.logo{font-size:85px}.seal{display:none}.menu-footer span:first-child{max-width:64%;font-size:8px}.chunk-banner{top:107px;max-width:85%;width:85%}.chunk-banner strong{font-size:19px}.rat-status{left:14px;top:15px;gap:8px}.stamina-shell{width:145px}.mini-portrait{width:51px;height:57px}.rat-status strong{font-size:13px}.rat-status span{font-size:10px}.altitude{right:15px;top:15px}.altitude strong{font-size:42px}.altitude span{font-size:9px}.control-hint{display:none}.pockets{bottom:15px;left:14px;font-size:10px;gap:7px;padding:8px}.pockets b{font-size:16px}.pause-button{bottom:17px;right:14px}.dialogue{left:4%;right:4%;gap:9px}.portrait{width:85px;height:105px;border-width:3px;border-radius:14px;align-self:end}.speech{padding:12px 14px;border-width:3px}.speech strong{font-size:9px}.speech p{font-size:17px}.chapter{font-size:19px;top:12%}#connection{bottom:70px;font-size:10px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

#sign-reader{position:fixed;right:24px;top:35%;width:min(290px,44vw);background:#382641e8;border:3px ridge #d2ad73;border-radius:6px;padding:15px;color:#ffe7aa;box-shadow:4px 6px #251c31;pointer-events:none}#sign-reader strong{font-size:13px;color:#ffcf6e}#sign-reader p{font:16px/1.5 Georgia;white-space:pre-wrap;margin:8px 0 0}

.account-choice{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;font-size:11px}.account-choice a{color:#ffdc83;text-decoration:underline}.account-choice label{color:#f2dbef;white-space:nowrap}.account-choice input{accent-color:#ffc84c;vertical-align:middle}#account-name{padding:11px 0;color:#ffe598;margin:5px 0 13px;font-size:16px}
#course-hint{display:block;font-size:11px;color:#ffe48f;line-height:1.5;margin-bottom:4px;max-width:430px}
#upgrade-summary{position:absolute;left:25px;bottom:108px;font-size:10px;text-shadow:1px 2px #211629;color:#ffe091}
#double-jump-status{position:absolute;left:25px;bottom:130px;font-size:10px;color:#d7f5a6;text-shadow:1px 2px #211629;max-width:calc(100% - 50px)}
#upgrade-summary{max-width:calc(100% - 50px);line-height:1.4}.upgrade-row:last-child:nth-child(odd){grid-column:1/-1}
@media(max-width:720px){#double-jump-status{left:14px;bottom:94px;font-size:8px}}
#gas-status{position:absolute;left:25px;top:106px;background:#322340d9;border:1px solid #d7c665;border-radius:5px;padding:7px 10px;color:#d9ff9c;font-size:12px}
.coin-wallet{color:#ffe083}#hut-prompt{position:fixed;bottom:145px;left:50%;transform:translateX(-50%);background:#30213dea;border:3px ridge #e2be75;border-radius:10px;padding:13px 20px;text-align:center;font-size:13px}#hut-prompt span{display:block;margin-bottom:6px}#hut-prompt button{font-size:13px}
#shop-dialog{max-width:880px;padding:24px;background:radial-gradient(ellipse at 10% 0,#644d81,#30213f 80%)}
#shaman-intro-dialog{max-width:1050px;width:94%;margin:auto auto 5vh;padding:20px 22px 10px;border:0;background:transparent;box-shadow:none;overflow:visible}
#shaman-intro-dialog::backdrop{background:linear-gradient(#17102245,#171022b0)}
.encounter-label{color:#ffe0a0;letter-spacing:.16em;font-size:11px;text-align:center;margin-bottom:15px;text-shadow:2px 2px #21152c}
.encounter-conversation{display:grid;grid-template-columns:132px minmax(0,1fr) 132px;gap:16px;align-items:end}
.encounter-head{height:164px;background:#57406b no-repeat 0 center;background-size:400% 100%;border:5px ridge #e9c578;border-radius:22px;box-shadow:5px 7px #211626;opacity:.55;transform:translateY(8px) scale(.9);transition:transform .2s,opacity .2s}
#encounter-head-rat{background-image:url('/big-climbin/giuseppe-talk-final.png')}
#encounter-head-shaman{background-image:url('/big-climbin/shaman-talk.png');background-position-x:33.333%}
[data-speaker=rat] #encounter-head-rat,[data-speaker=shaman] #encounter-head-shaman{opacity:1;transform:translateY(0) rotate(-4deg)}
[data-speaker=shaman] #encounter-head-shaman{transform:translateY(0) rotate(4deg)}
.encounter-bubble{background:linear-gradient(#5e497f,#2b203e);border:4px ridge #e0c083;border-radius:18px;padding:20px 24px;box-shadow:5px 7px #211626;min-width:0}
#encounter-speaker{font:bold 13px/1.4 'Trebuchet MS',Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#ffdc80;margin:0 0 12px}
#encounter-text{font-size:clamp(18px,2.2vw,23px);line-height:1.45;min-height:4.4em;margin:0 0 14px;text-shadow:1px 2px #20142d}
#encounter-next{display:block;width:auto;min-width:112px;margin:0 0 0 auto;font-size:12px}
.encounter-footer{display:flex;align-items:center;gap:20px;padding:8px 8px 0}.encounter-footer p{font-size:12px;flex:1;text-shadow:1px 1px #20142d}
#encounter-skip{font-size:10px;width:auto;background:#30233dbc;border:1px solid #af9570;padding:7px 10px;box-shadow:none;flex-shrink:0}
@media(max-width:650px){#shaman-intro-dialog{padding:10px 4px;margin-bottom:2vh}.encounter-conversation{grid-template-columns:64px minmax(0,1fr) 64px;gap:7px}.encounter-head{height:84px;border-width:3px;border-radius:12px}.encounter-bubble{padding:14px;border-width:3px}#encounter-text{font-size:17px;min-height:6em}#encounter-speaker{font-size:10px}.encounter-label{font-size:8px;letter-spacing:.12em}.encounter-footer{gap:10px}.encounter-footer p{font-size:10px}}
@media(max-height:530px){#shaman-intro-dialog{margin-bottom:1vh;max-height:95vh;overflow:auto}.encounter-label{margin-bottom:8px}.encounter-head{height:116px}#encounter-text{font-size:17px;min-height:3em}.encounter-bubble{padding:12px 18px}}
.shop-heading{display:flex;gap:24px;align-items:center}.shop-heading small{font-size:10px;letter-spacing:.14em;color:#e0c1df}.shop-heading h2{font-size:36px;line-height:.94;margin:8px 0 15px}
#shaman-head{flex:0 0 108px;height:144px;background:#2a1d31 url('/big-climbin/shaman-talk.png') no-repeat 0 center;background-size:400% 100%;border:4px ridge #e9c578;border-radius:16px;transform:rotate(-4deg);box-shadow:4px 5px #211626}
.shop-wallet{color:#ffde7b;font-size:12px;letter-spacing:.08em}.shop-wallet b{font:bold 28px Georgia;padding-left:8px}
.shaman-speech{border:2px solid #9c7b9e;border-radius:8px;background:#20172b80;padding:12px 16px;margin:18px 0;display:flex;gap:15px;align-items:center;min-height:104px}.shaman-speech p{flex:1;font-size:17px;line-height:1.4;margin:0}.shaman-speech button{width:auto!important;flex:0 0 auto;font-size:11px}
#upgrade-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.upgrade-row{border:2px ridge #b99862;border-radius:7px;background:#23192db0;padding:14px;display:flex;flex-direction:column}.upgrade-row h3{font:bold italic 22px/1.05 Georgia;color:#ffdc7c;margin:0 0 10px;min-height:45px}.rank-badge{font-size:11px;color:#e0b7e6;letter-spacing:.12em}.upgrade-row p{font-size:12px;line-height:1.4;min-height:51px}.upgrade-row .upgrade-benefit{color:#d7f5a6;font-weight:bold;min-height:32px;margin:0}.upgrade-row button{font-size:11px;padding:10px 5px!important;margin-top:auto!important;min-height:48px}.upgrade-row small{font-size:10px;line-height:1.4;min-height:28px;color:#e4cbd8}
#shop-feedback{font-size:13px;color:#e7f3b4;min-height:20px}#shop-dialog>.fine{margin:10px 0 0}
.hut-save{display:flex;gap:16px;align-items:center;justify-content:space-between;background:#283c38a0;border:2px ridge #adc083;padding:12px;border-radius:7px;margin:0 0 16px}.hut-save strong{font-size:12px;color:#ddf9b8}.hut-save p{font-size:11px;margin:5px 0}.hut-save button{width:auto!important;font-size:11px;flex-shrink:0}@media(max-width:550px){.hut-save{display:block}.hut-save button{width:100%!important}}
@media(max-width:720px){#upgrade-summary{left:14px;bottom:68px;font-size:8px}#gas-status{top:87px;left:14px;font-size:9px}.coin-wallet{font-size:9px}.pockets{gap:5px;max-width:calc(100% - 76px);flex-wrap:wrap}#shop-dialog{padding:18px}.shop-heading{gap:14px}.shop-heading h2{font-size:27px}#shaman-head{flex-basis:81px;height:108px}.shop-heading small{font-size:8px}.shaman-speech{display:block}.shaman-speech p{font-size:15px}.shaman-speech button{padding:7px!important}#upgrade-list{grid-template-columns:1fr}.upgrade-row h3,.upgrade-row p,.upgrade-row .upgrade-benefit{min-height:0}.upgrade-row p{margin:7px 0}.upgrade-row{padding:12px}.upgrade-row button{min-height:36px}.upgrade-row small{min-height:0}}

/* Keep the staged action above the dialogue, with text readable through magic. */
.cinematic{border-top-width:24px;border-bottom-width:24px}
.intro-flash{position:absolute;inset:-55px;background:#fff3bd;opacity:0;pointer-events:none}
.cinematic .chapter,.cinematic .skip,.cinematic .dialogue{z-index:1}
.cinematic .chapter{top:5%;font-size:22px}
.cinematic .dialogue{min-height:160px;bottom:3%}
.cinematic .portrait{width:125px}
.cinematic .speech{padding:15px 20px}
.cinematic .speech p{font-size:clamp(18px,1.65vw,22px);margin-bottom:14px;min-height:54px}
@media(max-width:720px){.cinematic{border-width:18px}.cinematic .chapter{top:6%;font-size:17px;max-width:70%}.cinematic .skip{right:12px;font-size:10px}.cinematic .portrait{width:78px}.cinematic .speech{padding:12px}.cinematic .speech p{font-size:16px}.cinematic .dialogue{min-height:150px}}