@import "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700&family=Noto+Serif+SC:wght@500;600;700&display=swap";.app .rain-select{color:var(--paper-light);min-width:0}.app .rain-select .rain-select-trigger{width:100%;min-height:46px;color:var(--paper-light);text-align:left;background:#1d3241;border:1px solid #acbdc640;border-radius:3px;align-items:center;gap:8px;padding:10px 12px;display:flex;transform:none}.app .rain-select .rain-select-trigger:hover,.app .rain-select .rain-select-trigger[aria-expanded=true]{background:#354e60}.app .rain-select-value{flex:1;min-width:0}.app .rain-select-detail{color:#c4d0d6;font-variant-numeric:tabular-nums;white-space:nowrap;font:12px Noto Sans SC,system-ui,sans-serif}.app .rain-select-chevron{border:1px solid;border-width:0 1px 1px 0;flex-shrink:0;width:6px;height:6px;margin:-3px 2px 0 6px;transform:rotate(45deg)}.app .rain-select-list{z-index:50;overscroll-behavior:contain;touch-action:pan-y;color:var(--paper-light);scrollbar-width:thin;scrollbar-color:#718794 #203343;background:#203343;border:1px solid #acbdc65c;border-radius:3px;padding:4px;position:fixed;overflow-y:auto}.app .rain-select-option{min-height:48px;color:var(--paper-light);cursor:pointer;border-bottom:1px solid #acbdc617;align-items:center;gap:10px;padding:10px 12px;font-size:15px;line-height:1.5;display:flex}.app .rain-select-option:last-child{border-bottom:0}.app .rain-select-option[aria-selected=true]{background:#2b4557}.app .rain-select-option.is-active{background:#3a5568}.app .rain-select-check{flex-shrink:0;width:14px}.app .chapter-field{color:var(--mist);margin:13px 0 8px;font-size:12px}.app .chapter-select{margin-top:8px}.app .chapter-select .rain-select-trigger{font-family:var(--serif);font-size:17px}.app .chapter-select .rain-select-option{font-size:16px}.app .tools .quality-control .rain-select-trigger{width:auto;min-height:44px;color:var(--paper-light);white-space:nowrap;background:#203343d9;border:0;border-radius:2px;padding:0 12px;font-size:12px;line-height:1.5}.app .tools .quality-control .rain-select-trigger:hover,.app .tools .quality-control .rain-select-trigger[aria-expanded=true]{background:var(--rain-blue)}.team-controls{color:var(--paper,#e8e3d9);position:relative}.team-controls summary{cursor:pointer;align-items:center;min-height:44px;padding:10px;display:flex}.team-controls-panel{z-index:32;background:#263849;border:1px solid #81919c70;gap:10px;width:min(320px,100vw - 32px);padding:14px;display:grid;position:absolute;top:100%;right:0}.team-controls-panel p{margin:0;font-size:14px;line-height:1.6}.team-controls-panel button{min-height:44px}.team-signal{z-index:12;color:#ead4ac;pointer-events:none;background:#263849;max-width:80vw;padding:8px 14px;font-size:15px;position:fixed;top:112px;left:50%;transform:translate(-50%)}.compact .team-controls-panel{width:100%;position:static}.compact .team-signal{top:auto;bottom:calc(var(--touch-height,156px) + env(safe-area-inset-bottom) + 12px)}:root{color:#e1e4e6;font-synthesis:none;--ink:#342f2c;--muted:#817160;--paper:#e6d8bf;--wood:#645044;--red:#a85343;--line:#99826966;--serif:"Noto Serif SC", Georgia, serif;background:#2b3b4d;font-family:Noto Sans SC,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);color:inherit;background:#f2e7d359;border-radius:2px;padding:10px 14px;transition:background .15s,transform .15s}button:hover{background:#f7ecd785;transform:translateY(-1px)}button:disabled{opacity:.45;cursor:default;transform:none}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:2px solid #d29c6a}input,select{width:100%;color:var(--ink);background:#f5ead494;border:1px solid #917d6266;border-radius:1px;outline:none;padding:11px}canvas{outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}.app{min-height:100svh;position:relative;overflow:hidden}.atmosphere{pointer-events:none;background:linear-gradient(90deg,#1724346b,#0000 66%),linear-gradient(#0000 70%,#1624386b);position:fixed;inset:0}.playing .atmosphere{background:linear-gradient(#0000 75%,#19283a52)}.grain{pointer-events:none;opacity:.11;background-image:url(../paper-grain.svg);position:fixed;inset:0}.brand{font-family:var(--serif);letter-spacing:3px;z-index:2;color:#e0dfda;align-items:center;gap:14px;font-size:23px;font-weight:600;display:flex;position:absolute;top:30px;left:38px}.brand-icon{letter-spacing:2px;writing-mode:vertical-rl;color:#dfab8a;border:1px solid #b57557;place-items:center;width:30px;height:44px;font-size:13px;display:grid;transform:rotate(-5deg)}.brand small{letter-spacing:5px;color:#a9b5c1;margin-top:6px;font-family:inherit;font-size:9px;font-weight:400;display:block}.edition{letter-spacing:2px;color:#a1aebd;border-left:1px solid #9caab244;margin-left:10px;padding-left:18px;font-family:inherit;font-size:10px}.tools{z-index:12;gap:7px;display:flex;position:absolute;top:31px;right:32px}.tools button{color:#d2dbe2;background:#17273766;border-color:#bac5d133;padding:9px 12px;font-size:11px}.tools .language{color:#ead0ad;border-color:#d0af8466}.intro{pointer-events:none;width:49%;max-width:570px;position:absolute;top:24%;left:8%}.eyebrow{letter-spacing:2px;color:#a1b1c1;font-size:10px}.intro h1{font-family:var(--serif);letter-spacing:4px;color:#eee8d9;text-shadow:0 2px 28px #121e31;margin:23px 0;font-size:clamp(35px,3.8vw,57px);font-weight:500;line-height:1.7}.intro h1 span{display:block}.intro p{color:#bec8d0;max-width:400px;font-size:12px;line-height:2.2}.intro-controls{color:#bdc7d0;margin-top:26px;font-size:10px}.intro-controls kbd{margin-left:14px}.intro-controls kbd:first-child{margin-left:0}kbd{font:inherit;white-space:nowrap;color:#d4dce3;background:#d2deeb0d;border:1px solid #b5c2d02b;border-bottom-width:2px;border-radius:2px;padding:4px 6px;font-size:10px;display:inline-block}.panel{color:var(--ink);background:repeating-linear-gradient(0deg,#0000,#0000 7px,#8a6c4810 8px),linear-gradient(110deg,#e8dbc1,#d4bf9c);border:8px solid #665044;border-top-width:12px;border-radius:2px;padding:25px;position:relative;box-shadow:0 20px 60px #0f1d3180,inset 0 0 0 1px #f8ead766,0 0 0 1px #97836b}.menu{width:374px;margin:127px 6.5% 90px auto;position:relative}.menu:before{content:"";background:linear-gradient(#77604c,#463b36);height:17px;position:absolute;top:-36px;left:-22px;right:-22px;transform:skew(-8deg);box-shadow:0 4px 9px #111a2955}.menu:after{content:"";pointer-events:none;border-left:2px solid #b58a64;border-right:2px solid #b58a64;width:66%;height:37px;position:absolute;top:-46px;left:17%}.panel-top{font-family:var(--serif);border-bottom:1px solid #9f84604a;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:14px;font-size:17px;font-weight:600;display:flex}.panel-top b{letter-spacing:2px;color:#8e755a;font-family:inherit;font-size:9px;font-weight:400}label{color:#76634f;margin:13px 0 8px;font-size:10px;display:block}label input,label select{margin-top:8px;font-size:12px;display:block}.modes{gap:7px;display:flex}.modes button{clip-path:polygon(50% 0,100% 11%,100% 100%,0 100%,0 11%);background:#b69b7247;border-color:#9c7c5355;flex:1;padding:17px 3px 10px;position:relative}.modes button:before{content:"";background:#6f5740;border-radius:50%;width:4px;height:4px;position:absolute;top:7px;left:calc(50% - 2px)}.modes button strong{font-family:Georgia,serif;font-size:26px;font-weight:400;display:block}.modes button span{color:#806951;margin-top:5px;font-size:8px;display:block}.modes .selected{color:#fff0d7;background:#a04f3d}.modes .selected span{color:#f0d9b9}.modes .selected:before{background:#edc599}.primary{background:var(--red);color:#fff0d7;width:100%;font-family:var(--serif);letter-spacing:1px;border:0;border-radius:1px;justify-content:space-between;align-items:center;margin-top:20px;padding:14px 16px;font-size:13px;font-weight:500;display:flex;box-shadow:inset 0 0 0 1px #8e403366}.primary:hover{background:#b25b48}.primary span{font-size:18px}.separator{color:#8d765e;align-items:center;gap:10px;margin:18px 0 12px;font-size:9px;display:flex}.separator:before,.separator:after{content:"";background:#a58c6840;flex:1;height:1px}.join{gap:7px;display:flex}.join input{letter-spacing:.5px;min-width:0;font-size:10px}.join button{background:#b9a07a30;flex-shrink:0;padding:8px 12px;font-size:10px}.fine{color:#887058;margin:13px 0 0;font-size:9px;line-height:1.8}.text-button{color:#795d49;background:0 0;border:0;margin:13px auto 0;padding:8px;font-size:12px;display:block}footer{font-family:var(--serif);letter-spacing:2px;color:#a7b3c0;border-top:1px solid #a4b4c526;justify-content:space-between;padding-top:16px;font-size:10px;display:flex;position:absolute;bottom:25px;left:38px;right:38px}footer span{font-size:9px}.lobby{width:min(480px,90vw);margin:125px auto 90px}.panel .eyebrow{color:#8b7358;font-size:9px}.panel h2{font-family:var(--serif);margin:16px 0 24px;font-size:25px;font-weight:500}.room-code{background:#bfa37a33;border:1px solid #9e82594f;justify-content:space-between;align-items:center;padding:16px;display:flex}.room-code small{color:#846b52;font-size:10px;display:block}.room-code strong{letter-spacing:3px;color:var(--red);margin-top:4px;font-family:Georgia,serif;font-size:25px;display:block}.room-code button{font-size:10px}.seats{margin-top:18px}.seat{border-bottom:1px solid #a1875e44;align-items:center;gap:12px;padding:12px 5px;font-size:13px;display:flex}.seat>span{font-size:26px}.seat small{color:#8a715a;margin-top:4px;font-size:10px;display:block}.seat b{margin-left:auto;font-size:9px}.seat em{color:var(--red);font-size:9px;font-style:normal}.toast{z-index:25;color:#503e30;border-left:3px solid var(--red);cursor:pointer;background:#e6d5b7;max-width:90vw;padding:14px 20px;font-size:12px;position:fixed;top:80px;left:50%;transform:translate(-50%);box-shadow:0 6px 25px #10203760}.toast span{margin-left:25px}.playing .brand{letter-spacing:2px;font-size:17px;top:23px;left:26px}.playing .brand-icon{width:25px;height:33px;font-size:10px}.playing .brand small{margin-top:4px;font-size:7px}.playing .edition{display:none}.playing .tools{top:23px;right:24px}.hud{pointer-events:none;align-items:center;gap:25px;display:flex;position:absolute;top:88px;left:28px}.stage{align-items:center;gap:13px;display:flex}.stage>b{color:#d3ac7f;font-family:Georgia,serif;font-size:39px;font-weight:400}.stage>div{font-family:var(--serif);font-size:15px;font-weight:500}.stage small{color:#a4b5c6;margin-top:5px;font-size:9px;font-weight:400;display:block}.stats{background:#1f3044c9;border:1px solid #8197ae33;gap:13px;padding:10px 13px;font-size:11px;display:flex}.stats .online{color:#acc6d7;font-size:9px}.stats .offline{color:#d99c76;font-size:9px}.compass{color:#d5dce2;background:#1e2f42d9;border:1px solid #8197ae33;width:190px;padding:12px;position:absolute;top:89px;right:24px}.compass>div{justify-content:space-between;align-items:center;font-size:10px;display:flex}.compass svg{width:100%;height:73px;margin:5px 0;display:block}.compass small{color:#a9bacc;text-align:center;font-size:8px;display:block}.compass i{border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.bottom-hint{white-space:nowrap;color:#b8c7d6;background:#1a2b3ddf;border:1px solid #8197ae33;align-items:center;gap:8px;padding:10px 14px;font-size:9px;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.bottom-hint kbd:not(:first-child){margin-left:6px}.rain-hud{pointer-events:none;color:#d5dde5;background:#1d2e40e0;border:1px solid #8197ae33;border-left:2px solid #8eacc7;padding:12px 14px}.meter-heading{justify-content:space-between;align-items:baseline;display:flex}.meter-heading span{letter-spacing:.5px;font-size:10px}.meter-heading strong{font-family:Georgia,serif;font-size:22px;font-weight:400}.meter-heading strong small{margin-left:3px;font-size:10px}.meter-heading b{font-size:12px;font-weight:500}.wet-track{background:#9db4cd26;height:3px;margin:7px 0}.wet-track i{background:#a7c1d8;height:100%;transition:width .1s linear;display:block}.rain-hud p{color:#a8bbcd;margin:7px 0 0;font-size:9px;line-height:1.6}.rain-hud.soaked{border-left-color:#d48b78}.soaked .wet-track i{background:#d48b78}.fold-condition{border-top:1px solid #9db4cd22;margin-top:11px;padding-top:11px}.fold-pips{gap:5px;margin-top:9px;display:flex}.fold-pips i{clip-path:polygon(0 0,100% 0,85% 100%,0 100%);background:#d8b785;flex:1;height:7px}.fold-pips .spent{background:#75889a30}.fragile .fold-pips .intact{background:#d78f77}.fragile .meter-heading b{color:#e3a98c}.repair-hint{color:#d6bb92;margin-top:12px;font-size:9px}.repair-away{border-top:1px solid #9db4cd22;padding-top:9px}.team-wet{border-top:1px solid #9db4cd22;flex-wrap:wrap;gap:7px 10px;margin-top:9px;padding-top:9px;display:flex}.team-wet span{color:#adbecf;font-size:8px}.team-wet i{border-radius:50%;width:5px;height:5px;margin-right:4px;display:inline-block}.scrim{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:15;background:#142234aa;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.win{text-align:center;width:min(460px,100%);max-height:100%;overflow-y:auto}.big-star{color:#a56847;margin:22px 0 0;font-size:52px}.win h2{margin:10px 0 12px;font-size:24px}.win p{color:#826b55;font-size:11px}.score{color:#a46c3e;letter-spacing:10px;margin-top:24px;font-size:30px}.score span{color:#b3a28a}.chapter-record{background:#ded3bf3b;border:1px solid #96795b36;margin:-2px 0 16px;padding:12px}.chapter-record>div{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;font-size:12px;display:flex}.chapter-record strong,.finish-record dd{font-variant-numeric:tabular-nums;color:#745735}.chapter-record small,.finish-record small{color:#826b55;margin-top:6px;font-size:10px;line-height:1.6;display:block}.finish-record{background:#ded3bf3b;border:1px solid #96795b36;margin-top:20px;padding:14px 10px}.finish-record dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.finish-record dt{color:#826b55;font-size:11px}.finish-record dd{overflow-wrap:anywhere;margin:5px 0 0;font-size:clamp(16px,4.5vw,22px);font-weight:600}.win .record-result{margin:12px 0 0}.finish-record.new-best{border-color:#a9783e80}.win .new-best .record-result{color:#906032;font-weight:600}.help{width:min(600px,100%);max-height:90svh;position:relative;overflow:auto}.help h2{font-size:24px}.help dl{grid-template-columns:105px 1fr;gap:13px 14px;font-size:11px;line-height:1.8;display:grid}.help dt{font-weight:600}.help dd{color:#75624f;margin:0}.help p{color:#79634f;font-size:11px;line-height:1.9}.close{background:0 0;border:0;padding:3px 9px;font-size:23px;position:absolute;top:14px;right:15px}.waiting,.vote{text-align:center;background:#26384ded;border:1px solid #9db4cd44;max-width:90%;padding:13px 18px;font-size:12px;position:absolute;bottom:92px;left:50%;transform:translate(-50%)}.vote{bottom:148px}.vote button{margin-left:12px;padding:6px 10px;font-size:10px}.touch-controls{display:none}.app[lang=en] .brand{letter-spacing:0;font-size:19px}.app[lang=en] .brand-icon{writing-mode:horizontal-tb;letter-spacing:1px;font-size:8px}.app[lang=en] .intro h1{letter-spacing:-1px;margin:28px 0;font-family:Georgia,serif;font-size:clamp(34px,3.5vw,53px);line-height:1.35}.app[lang=en] .intro h1 span:last-child{max-width:475px}.app[lang=en] .intro p{max-width:375px;line-height:1.9}.app[lang=en] .eyebrow{letter-spacing:1.1px;font-size:9px}.app[lang=en] .rain-hud{width:265px}.app[lang=en] .stage>div{font-size:13px}.app[lang=en] .stage small{font-size:8px}.app[lang=en] .bottom-hint{gap:5px;font-size:8px}@media (width<=1100px){.edition{display:none}.intro{width:46%;left:5%}.intro h1{letter-spacing:2px;font-size:40px}.menu{width:335px;margin-right:4%;padding:22px}.tools{right:24px}.hud{gap:17px}.stats{gap:9px;font-size:10px}.bottom-hint{gap:5px;padding:9px;font-size:8px}.bottom-hint kbd{font-size:9px}.app[lang=en] .brand{font-size:16px}.app[lang=en] .intro h1{font-size:38px}.app[lang=en] .bottom-hint{gap:4px;font-size:7px}}@media (width<=800px){.intro{width:43%;left:4%}.intro h1{font-size:34px}.intro p{max-width:290px;font-size:10px}.intro-controls{font-size:9px}.intro-controls kbd{margin-left:5px}.menu{width:310px;margin-right:3%;padding:20px}.brand{font-size:19px;left:25px}.tools button{padding:8px;font-size:10px}.compass{width:149px}.stats{margin-top:9px;padding:8px 10px}.hud{display:block}.app[lang=en] .intro h1{font-size:31px}.bottom-hint{display:none}}@media (width<=650px){.brand{font-size:19px;top:22px;left:22px}.brand-icon{width:25px;height:36px;font-size:11px}.brand small{font-size:7px}.tools{justify-content:flex-end;top:82px;left:22px;right:16px}.tools button{padding:7px 10px;font-size:10px}.intro{width:auto;max-width:none;margin:151px 25px 32px;position:relative;top:auto;left:auto}.intro h1{letter-spacing:3px;margin:20px 0;font-size:35px;line-height:1.6}.intro p{max-width:350px;font-size:11px;line-height:1.9;display:block}.intro-controls{display:none}.menu{width:auto;margin:48px 24px 90px;padding:23px}.menu:before{left:-15px;right:-15px}.panel{border-width:10px 6px 6px}.panel-top{font-size:16px}.modes button{padding-top:17px;padding-bottom:12px}footer{letter-spacing:1px;font-size:9px;bottom:24px;left:25px;right:25px}footer span{display:none}.lobby{margin-top:142px}.playing .brand{font-size:15px;top:17px;left:16px}.playing .brand-icon{display:none}.playing .tools{gap:5px;top:57px;left:auto;right:15px}.playing .tools button{padding:6px 8px;font-size:9px}.playing .brand small{font-size:6px}.hud{top:98px;left:16px}.stage>b{font-size:28px}.stage>div{font-size:12px}.stage small{font-size:7px}.stats{gap:9px;margin-top:8px;padding:6px 8px;font-size:9px}.compass{width:116px;padding:8px;top:98px;right:14px}.compass>div{font-size:8px}.compass svg{height:50px}.compass small{font-size:7px}.compass kbd{padding:2px 4px;font-size:8px}.rain-hud{padding:9px 11px}.meter-heading span{font-size:9px}.meter-heading strong{font-size:19px}.rain-hud p{font-size:8px}.fold-condition{margin-top:8px;padding-top:8px}.repair-hint{margin-top:8px;font-size:8px}.team-wet{gap:5px}.team-wet span{font-size:7px}.help h2{font-size:21px}.help dl{grid-template-columns:83px 1fr;gap:12px 10px;font-size:10px}.help p{font-size:10px}.win h2{font-size:21px}.waiting{bottom:115px}.vote{bottom:165px}.app[lang=en] .brand{font-size:18px}.app[lang=en] .intro h1{font-size:35px}.app[lang=en] .rain-hud{width:205px}.app[lang=en] .stage>div{max-width:162px;font-size:11px}.app[lang=en] .stage small{display:none}.app[lang=en] .eyebrow{font-size:8px}.app[lang=en] .playing .brand{font-size:14px}}@media (pointer:coarse){.bottom-hint{display:none}.touch-controls{z-index:5;justify-content:space-between;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:18px;left:12px;right:12px}.touch-controls>div{gap:5px;display:flex}.touch-controls>div:last-child{grid-template-columns:repeat(3,minmax(0,1fr));max-width:245px;display:grid}.touch-key{color:#d8e2e9;touch-action:none;-webkit-user-select:none;user-select:none;background:#24384ee8;border:1px solid #9bb2c54d;min-width:38px;height:43px;padding:7px;font-size:9px}.touch-key.jump{background:#9e5343;grid-column:span 2}.touch-key:hover{transform:none}}@media (prefers-reduced-motion:reduce){button,.wet-track i{transition:none}}@media (width>=801px) and (height<=820px){.menu{margin-top:112px;margin-bottom:64px;padding:20px}.menu .panel-top{margin-bottom:14px;padding-bottom:12px}.menu label{margin-top:11px}.menu .primary{margin-top:16px;padding-top:12px;padding-bottom:12px}.menu .separator{margin-top:15px}.menu .fine{margin-top:11px}}.music-control{align-items:stretch;gap:0;display:flex;position:relative}.music-control audio{display:none}.tools .music-active{color:#eed3a8;background:#71523944;border-color:#c6a77766}.tools .music-options{border-left:0;padding-left:7px;padding-right:7px}.music-panel{color:#574333;z-index:20;background:#e6d7bb;border:4px solid #685143;width:278px;padding:18px;font-size:11px;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 12px 36px #10203870}.music-heading{align-items:center;gap:12px;display:flex}.music-heading>span{color:#a35b41;font-size:27px}.music-heading strong{font-family:var(--serif);font-size:14px;font-weight:600;display:block}.music-heading small{color:#90795e;margin-top:4px;font-size:9px;display:block}.music-panel p{color:#816950;margin:13px 0;font-size:10px;line-height:1.7}.music-time{color:#8a6f53;justify-content:space-between;gap:9px;font-size:9px;line-height:1.6;display:flex}.music-time output{white-space:nowrap}.music-panel label{margin-top:15px;font-size:10px}.music-panel label>span{float:right}.music-panel .music-track-picker{display:block}.music-track-picker select{color:#574333;width:100%;min-width:0;min-height:44px;font:inherit;cursor:pointer;background:#f3e8d3;border:1px solid #9e8467;border-radius:4px;margin-top:6px;padding:8px;display:block}.music-track-picker select:focus-visible{outline-offset:2px;outline:2px solid #a35b41}.music-panel input[type=range]{accent-color:#aa5d45;cursor:pointer;background:0 0;border:0;height:16px;margin-top:12px;padding:0}.music-note{color:#8d785f;margin-top:12px;font-size:8px;line-height:1.7;display:block}.playing .music-panel{pointer-events:auto}@media (width<=650px){.music-panel{width:246px;padding:14px;right:-55px}.tools .music-options{padding-left:5px;padding-right:5px}.playing .tools{gap:4px}.playing .tools button{padding-left:6px;padding-right:6px}.music-heading strong{font-size:13px}}.heat-condition{color:#dbb98c;border-top:1px solid #dab77c26;margin:10px 0 0;padding-top:10px}.heat-track{background:#e4b57a1c;height:5px;margin-top:7px}.heat-track i{background:#d79c56;height:100%;transition:width .1s linear;display:block}.heat-condition.too-hot,.heat-condition.too-hot p{color:#ffa28a}.heat-condition.too-hot .heat-track i{background:#f58055}.failure-notice{color:#f3c49c;text-align:center;pointer-events:none;background:#382b25ee;border:1px solid #d08d5c66;width:max-content;max-width:calc(100vw - 32px);padding:13px 20px;font-size:13px;position:absolute;bottom:110px;left:50%;transform:translate(-50%)}@media (width<=650px){.failure-notice{font-size:11px;bottom:210px}.heat-condition{margin-top:7px;padding-top:7px}}.carry-hud{color:#b7c4cf;pointer-events:none;background:#1d2a36e8;border:1px solid #b6bfcc38;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 32px);padding:9px 16px;font-size:12px;display:flex;position:absolute;bottom:68px;left:50%;transform:translate(-50%)}.carry-hud.pending{color:#edd3a3;border-color:#cfa66766}.carry-hud b{white-space:nowrap;font-weight:500}.failure-notice{bottom:120px}.failure-notice small{margin-top:7px;display:block}@media (width<=850px){.carry-hud{text-align:center;flex-direction:column;gap:3px;padding:7px 12px;font-size:10px;bottom:155px}.failure-notice{bottom:215px}}@media (height<=520px) and (orientation:landscape){.carry-hud{padding:5px 10px;font-size:10px;bottom:57px}.failure-notice{bottom:105px}}.goal-flow{justify-content:space-between;align-items:center;gap:7px;margin:18px 0;font-size:11px;display:flex}.goal-flow span{align-items:center;gap:6px;display:flex}.goal-flow b{border:1px solid;border-radius:50%;place-items:center;width:20px;height:20px;font-family:Georgia,serif;font-weight:400;display:grid}.goal-flow i{opacity:.5;font-style:normal}.intro .goal-flow{color:#dcc79f;max-width:430px;margin:25px 0 16px}.chapter-brief{background:#e8d9bc66;border-left:2px solid #b99761;margin:-4px 0 17px;padding:10px 12px}.chapter-brief b{letter-spacing:1px;color:#876c47;font-size:10px}.chapter-brief p{color:#776952;margin:5px 0;font-size:11px;line-height:1.7}.chapter-brief button,.lobby-guide button{color:#8b663c;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:3px 0;font-size:11px;text-decoration:underline}.lobby-guide{color:#78644c;font-size:11px;line-height:1.8}.journey-guide{color:#f0dfbe;background:#182734ed;border:1px solid #aa926157;border-left:3px solid #d8b977;padding:14px 17px 11px;box-shadow:0 8px 25px #0a182825}.guide-heading{letter-spacing:1px;color:#cead75;justify-content:space-between;align-items:center;gap:12px;font-size:10px;display:flex}.guide-heading small{color:#92a4b5;letter-spacing:0;margin-left:5px}.guide-heading button{color:#bacbd7;cursor:pointer;text-underline-offset:3px;white-space:nowrap;background:0 0;border:0;padding:3px 0;font-size:10px;text-decoration:underline}.guide-action{align-items:center;gap:10px;margin-top:11px;display:flex}.guide-arrow{color:#f5d18e;min-width:29px;font-size:26px;line-height:1}.guide-action h2{font-size:15px;font-family:var(--serif);margin:0;font-weight:500;line-height:1.5}.journey-guide>p{color:#b8c8d3;margin:8px 0;font-size:11px;line-height:1.8}.guide-keys{align-items:center;gap:7px;min-height:28px;margin:9px 0;display:flex}.guide-keys kbd{color:#ffe9b3;background:#b9984e17;border-color:#d2b27388;padding:4px 9px;font-size:11px}.guide-keys>span{color:#bac5cb;font-size:10px}.guide-goal{color:#d9bc86;border-top:1px solid #a9b7c528;padding-top:8px;font-size:10px}.guide-goal>span{float:right}.guide-goal small{color:#90a5b4;margin-top:6px;font-size:9px;display:block}.journey-guide .guide-warning{color:#f4c09b;background:#c384631c;border-left:2px solid #db9270;padding:8px 10px}.guide-warning button{color:inherit;font-size:inherit;cursor:pointer;background:0 0;border:0;padding:0 4px;text-decoration:underline}.compass .map-legend{text-align:center;color:#d7c398;margin:5px 0 7px;font-size:8px;display:block}.map-guide-target{animation:1.5s ease-in-out infinite guide-pulse}@keyframes guide-pulse{50%{opacity:.3}}.help{width:min(660px,100vw - 30px)}.how-to-play h2{margin:9px 0 18px}.how-to-play .goal-flow{color:#8b744e;background:#e1d4b65c;border:1px solid #a7936c30;padding:10px 12px}.how-to-play .guide-pause-note{color:#777969;padding:0 2px;font-size:11px}.lesson-tabs{border-bottom:1px solid #96764f3b;flex-wrap:wrap;gap:6px;padding:12px 0;display:flex}.lesson-tabs button{cursor:pointer;color:#7d694e;background:#efe6d5;border:1px solid #9e87644f;padding:7px 10px;font-size:11px}.lesson-tabs button[aria-selected=true]{color:#fff2d5;background:#756348;border-color:#756348}.how-to-play h3{font-size:17px;font-family:var(--serif);color:#604e39;margin:17px 0 11px;font-weight:500;line-height:1.5}.lesson-diagram{background:#e4e3d876;border:1px solid #9d92752b;width:100%;height:auto;display:block}.lesson-diagram text{fill:#7e6c51;text-anchor:middle;font-family:inherit;font-size:12px}.lesson-diagram .diagram-icon{font-size:33px}.how-to-play ol{color:#6c5b45;margin:15px 0;padding-left:22px;font-size:12px;line-height:1.85}.how-to-play li{margin:8px 0;padding-left:5px}.how-to-play .lesson-note{background:#c8b37d13;border-left:2px solid #bba06d;padding:8px 12px;font-size:11px}@media (width<=1000px){.journey-guide{padding:11px 13px}.guide-action h2{font-size:13px}.guide-heading{letter-spacing:0;gap:5px}.guide-heading button{font-size:9px}.journey-guide>p{font-size:10px}.goal-flow{gap:4px;font-size:9px}}@media (width<=850px){.guide-action{margin-top:7px}.intro .goal-flow{flex-wrap:wrap;justify-content:flex-start}}@media (width<=650px){.journey-guide{padding:10px 12px}.guide-action h2{font-size:13px}.guide-heading{font-size:9px}.guide-keys{min-height:23px;margin:5px 0}.guide-keys kbd{padding:3px 7px}.guide-goal{display:none}.journey-guide>p{margin:5px 0;font-size:10px}.journey-guide .guide-warning{padding:4px 7px}.chapter-brief{margin-bottom:11px;padding:8px 10px}.intro .goal-flow{display:none}.lesson-tabs button{padding:6px 8px;font-size:10px}.how-to-play ol{font-size:11px}.how-to-play h3{font-size:15px}.help .goal-flow{padding:8px 5px}.goal-flow b{width:16px;height:16px}.goal-flow span{gap:4px}}@media (height<=520px) and (orientation:landscape){.guide-action{margin-top:4px}.guide-goal{display:none}.guide-keys{margin:4px 0}}@media (prefers-reduced-motion:reduce){.map-guide-target{animation:none}}@media (width<=650px) and (height<=760px){.rain-hud p,.rain-hud .team-wet,.journey-guide>p:not(.guide-warning){display:none}.journey-guide .guide-action{margin-top:5px}.guide-arrow{font-size:23px}}.challenge-label{color:#a65342;letter-spacing:.08em;margin-bottom:8px;font-size:11px;display:block}canvas[hidden]{display:none}.scene-loading{text-align:center;z-index:45;background:#263747;border:1px solid #c9ad7d;width:min(320px,100vw - 32px);padding:24px;position:fixed;top:42%;left:50%;transform:translate(-50%,-50%)}.app:not(.playing){background:linear-gradient(#23364733,#1e2e3e66),url(../menu-scene.webp) 50%/cover fixed}.leaderboard{text-align:left;border-top:1px solid #9a825644;margin-top:22px;padding-top:16px;font-size:13px}.ranking-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.ranking-heading>strong{color:#7e4d37;letter-spacing:.08em}.ranking-heading button,.ranking-upload button{padding:5px 10px;font-size:12px}.ranking-chapter,.ranking-state{opacity:.8;margin:8px 0;font-size:11px;line-height:1.6}.leaderboard ol{margin:12px 0;padding:0;list-style:none}.leaderboard li{border-bottom:1px solid #9a825622;align-items:center;gap:10px;padding:10px 0;display:flex}.ranking-place{color:#654724;background:#b3936255;flex-shrink:0;place-items:center;width:23px;height:27px;display:grid}.leaderboard li:first-child .ranking-place{color:#fff8e7;background:#b28c4d}.ranking-name{overflow-wrap:anywhere;flex:1;min-width:0}.leaderboard li>strong{white-space:nowrap;font-variant-numeric:tabular-nums}.ranking-name-hint{opacity:.7;margin:-10px 0 15px;font-size:10px;line-height:1.6;display:block}.ranking-upload{margin:16px 0 0;font-size:12px;line-height:1.6}.name-error{color:#a53728;opacity:1}input[aria-invalid=true]{border-color:#a53728}.ranking-upload button{margin-left:8px}.mobile-toolbar,.mobile-condition-note,.mobile-panel-backdrop{display:none}.app.compact{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:max(12px, env(safe-area-inset-left,0px));--safe-right:max(12px, env(safe-area-inset-right,0px));--move-width:clamp(112px, 35vw, 180px);--action-width:clamp(176px, 54vw, 294px);--touch-gap:8px;--control-height:156px;--utility-height:56px;-webkit-tap-highlight-color:transparent}.compact button{touch-action:manipulation}.compact input,.compact select{min-height:44px;font-size:16px}.compact:not(.playing) .brand{left:var(--safe-left);top:calc(var(--safe-top) + 18px)}.compact:not(.playing) .tools{top:calc(var(--safe-top) + 74px);left:var(--safe-left);right:var(--safe-right);flex-wrap:wrap;justify-content:flex-end;gap:5px}.compact .tools button{min-height:44px;padding:8px 10px;font-size:11px}.compact:not(.playing) .intro{width:auto;max-width:510px;margin:calc(var(--safe-top) + 146px) 24px 44px;position:relative;top:auto;left:auto}.compact:not(.playing) .intro h1{margin:16px 0;font-size:clamp(27px,7vw,36px);line-height:1.45}.compact:not(.playing) .intro p{max-width:none;font-size:12px;line-height:1.8}.compact .intro .goal-flow,.compact .intro-controls{display:none}.compact .menu{width:auto;max-width:510px;margin:48px 20px calc(90px + var(--safe-bottom));padding:18px}.compact .modes{gap:6px}.compact .modes button{min-width:0;padding:15px 2px 10px}.compact .modes span{font-size:10px}.compact .chapter-brief p{font-size:12px}.compact .chapter-brief button,.compact .lobby-guide button,.compact .text-button{min-height:44px}.compact .lobby{margin-top:calc(var(--safe-top) + 150px);margin-bottom:calc(70px + var(--safe-bottom))}.compact footer{bottom:calc(20px + var(--safe-bottom))}.app.compact.playing{overscroll-behavior:none;--scene-top:calc(var(--safe-top) + 134px);--control-space:calc(var(--control-height) + 16px + var(--safe-bottom));--scene-bottom:calc(var(--control-space) + 28px);background:#253648;height:100dvh;min-height:0;position:fixed;inset:0;overflow:hidden}.compact.playing canvas{top:var(--scene-top);bottom:var(--scene-bottom);height:calc(100% - var(--scene-top) - var(--scene-bottom));touch-action:none}.compact.playing .brand,.compact.playing .bottom-hint,.compact.playing .tools,.compact.playing .compass{display:none}.compact.playing .hud{top:calc(var(--safe-top) + 8px);left:var(--safe-left);width:calc(100% - var(--safe-left) - var(--safe-right) - 157px);flex-direction:column;align-items:flex-start;gap:3px;display:flex;position:absolute}.compact .stage{gap:7px;min-width:0;max-width:100%}.compact .stage>b{font-size:23px}.app.compact .stage>div{white-space:nowrap;text-overflow:ellipsis;font-size:12px;line-height:1.4;overflow:hidden}.compact .stage small,.compact .stats .elapsed-time{display:none}.compact .stats{white-space:nowrap;background:0 0;border:0;gap:10px;margin:0;padding:0;font-size:10px}.compact.playing .mobile-toolbar{right:var(--safe-right);top:calc(var(--safe-top) + 8px);z-index:14;gap:5px;display:flex;position:absolute}.mobile-toolbar button{color:#dce1e5;background:#1b2c3ee8;border-color:#9daeb847;min-width:44px;min-height:44px;padding:8px;font-size:11px}.mobile-toolbar button[aria-expanded=true]{color:#edd2a7;border-color:#d1b07a}.compact.playing.tools-open .tools{top:calc(var(--safe-top) + 60px);right:var(--safe-right);width:min(340px, calc(100% - var(--safe-left) - var(--safe-right)));z-index:14;background:#1b2d40;border:1px solid #a3b1bc55;flex-wrap:wrap;gap:8px;padding:14px;display:flex;left:auto;box-shadow:0 12px 40px #0d182b80}.compact .music-panel{top:calc(var(--safe-top) + 118px);right:var(--safe-right);width:min(290px, calc(100vw - var(--safe-left) - var(--safe-right)));max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 134px);overscroll-behavior:contain;position:fixed;left:auto;overflow-y:auto}.compact .music-panel input[type=range]{min-height:44px;margin-top:0}.compact.playing .mobile-panel-backdrop{z-index:11;background:#101c2a40;border:0;padding:0;display:block;position:fixed;inset:0;transform:none}.app.compact.playing .rain-hud{border-left-width:1px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;height:48px;padding:6px 9px;display:grid}.compact .rain-hud .heat-condition,.compact .rain-hud .fold-condition{border-top:0;margin:0;padding:0}.compact .rain-hud p,.compact .rain-hud .repair-hint,.compact .rain-hud .team-wet{display:none}.compact .meter-heading{gap:4px;line-height:22px}.compact .meter-heading span{letter-spacing:0;font-size:10px}.compact .meter-heading strong,.compact .meter-heading b{white-space:nowrap;font-size:13px}.compact .wet-track,.compact .heat-track{height:4px;margin:4px 0 0}.compact .fold-pips{gap:3px;margin-top:4px}.compact .fold-pips i{flex:1;height:4px}.compact.playing .mobile-condition-note{top:calc(var(--safe-top) + 115px);left:var(--safe-left);right:var(--safe-right);color:#b9c8d4;text-align:center;font-size:11px;line-height:16px;display:block;position:absolute}.compact .mobile-condition-note.urgent{color:#ffc0a3}.compact.playing.map-open .compass{z-index:13;top:calc(var(--safe-top) + 60px);right:var(--safe-right);width:min(320px, calc(100% - var(--safe-left) - var(--safe-right)));padding:12px;display:block}.compact .compass>div{font-size:13px}.compact .compass button{width:44px;height:44px;padding:0;font-size:22px}.compact .compass small,.compact .compass .map-legend{font-size:11px;line-height:1.6}.compact .guide-heading{letter-spacing:0;font-size:10px}.compact .guide-heading button{min-height:44px;font-size:11px}.compact .guide-action{gap:7px;margin-top:0}.compact .guide-action h2{font-size:13px}.compact .guide-arrow{font-size:23px}.compact .journey-guide>p{margin:5px 0;font-size:11px;line-height:1.5;display:block}.compact .journey-guide .guide-warning button{min-height:44px}.compact .guide-keys,.compact .guide-goal{display:none}.compact.playing .carry-hud{bottom:var(--control-space);height:28px;max-width:calc(100% - var(--safe-left) - var(--safe-right));border:0;justify-content:center;padding:4px 8px;font-size:10px}.compact .carry-hud b+span{display:none}.compact.playing .touch-controls{left:var(--safe-left);right:var(--safe-right);bottom:calc(var(--safe-bottom) + 10px);height:var(--control-height);justify-content:space-between;align-items:stretch;gap:var(--touch-gap);z-index:5;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;display:flex;position:absolute}.compact .touch-controls .touch-movement{width:var(--move-width);grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:var(--utility-height) minmax(0, 1fr);gap:var(--touch-gap);flex-shrink:0;display:grid}.compact .touch-controls .touch-actions{gap:var(--touch-gap);width:var(--action-width);flex-shrink:0;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;display:grid}.compact .touch-key{color:#e1e7ea;touch-action:none;-webkit-user-select:none;user-select:none;background:#2a3e51f5;border:1px solid #9bb2c566;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;height:auto;min-height:44px;padding:4px 2px;font-size:14px;display:flex;box-shadow:0 3px #101e2d}.compact .touch-key small{opacity:.72;font-size:11px;font-weight:400}.compact .touch-axis{font-size:32px}.compact .touch-reset,.compact .touch-restart{background:#253647;font-size:12px}.compact .touch-restart{color:#edd3a7;border-color:#b69a7473}.compact .touch-jump{background:#a25949;border-color:#d7987d;grid-column:span 2;font-size:18px}.compact .touch-key:hover{transform:none}.compact .touch-key.held,.compact .touch-key:active{background:#6b786d;border-color:#efd5a5;transform:translateY(2px);box-shadow:0 1px #101e2d}.compact .touch-jump.held,.compact .touch-jump:active{background:#c2765f}.compact .failure-notice,.compact .waiting,.compact .vote{z-index:6;bottom:calc(var(--scene-bottom) + 12px);width:max-content;max-width:calc(100% - 24px);padding:8px 12px;font-size:11px}.compact .vote button{min-height:44px}.compact .scrim{z-index:30;padding:calc(var(--safe-top) + 12px) var(--safe-right) calc(var(--safe-bottom) + 12px) var(--safe-left)}.compact .scrim .panel{overscroll-behavior:contain;width:min(660px,100%);max-height:100%;padding:16px;overflow-y:auto}.compact .help .close{z-index:2;background:#e7d8bc;width:44px;height:44px;margin:-9px -9px -35px auto;padding:0;display:block;position:sticky;top:-12px;right:auto}.compact .help .eyebrow{padding-right:44px}.compact .how-to-play h2{margin-right:22px;font-size:20px}.compact .lesson-tabs{gap:5px}.compact .lesson-tabs button{min-height:44px;font-size:11px}.compact .how-to-play ol,.compact .help p{font-size:12px}@media (width>=560px){.compact:not(.playing) .intro,.compact .menu{margin-left:auto;margin-right:auto}}@media (orientation:portrait) and (height<=680px){.compact .journey-guide>p:not(.guide-warning){display:none}}@media (orientation:landscape){.app.compact.playing{--scene-top:calc(var(--safe-top) + 114px);--scene-bottom:0px}.compact.playing .mobile-condition-note{top:calc(var(--safe-top) + 61px);width:calc(100% - 430px - var(--safe-right));text-align:right;max-width:360px;left:auto}.compact.playing .carry-hud{top:calc(var(--safe-top) + 83px);bottom:auto;left:auto;right:var(--safe-right);transform:none}.compact .journey-guide>p:not(.guide-warning){display:none}.compact .guide-action h2{font-size:12px}.compact .guide-heading small{display:none}.compact .guide-heading{flex-wrap:wrap;gap:4px}.compact .failure-notice,.compact .waiting,.compact .vote{bottom:var(--control-space)}.compact .help .lesson-diagram{max-height:115px}}@media (orientation:landscape) and (width<=740px){.app.compact{--move-width:clamp(144px, 24vw, 168px);--action-width:clamp(222px, 40vw, 270px)}}@media (orientation:landscape) and (height<=360px){.app.compact{--control-height:132px;--utility-height:48px}}.playing .status-sidebar{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#718598 #1d2e40;flex-direction:column;gap:12px;width:244px;max-height:calc(100dvh - 220px);display:flex;position:absolute;top:156px;left:28px;overflow-y:auto}.app.playing .status-sidebar>:is(.rain-hud,.journey-guide){background:#1d2e40;flex-shrink:0;width:100%;max-height:none;position:relative;inset:auto}.app.playing .status-sidebar>.journey-guide{padding:12px 14px}.status-sidebar .guide-action h2{font-size:14px}.status-sidebar .guide-heading{letter-spacing:0;gap:8px}.playing:not(.compact) canvas{width:calc(100% - 292px);left:292px}.depth-legend{color:#d6c7a4;border-top:1px solid #8197ae33;margin-top:7px;padding-top:6px;font-size:9px}.depth-legend i{background:#e4d1aa;border-radius:0;width:16px;height:2px}.app.compact.playing{--sidebar-height:140px;--scene-top:calc(var(--safe-top) + 62px + var(--sidebar-height) + 20px);--scene-bottom:calc(var(--control-space) + 28px)}.compact.playing .status-sidebar{top:calc(var(--safe-top) + 62px);left:var(--safe-left);right:var(--safe-right);gap:4px;width:auto;max-height:none;overflow:visible}.app.compact.playing .status-sidebar>.rain-hud{height:44px}.app.compact.playing .status-sidebar>.journey-guide{grid-template-columns:minmax(0,1fr) 56px;align-items:center;gap:3px 8px;height:auto;min-height:70px;padding:7px 10px;display:grid;overflow:visible}.compact .status-sidebar .guide-heading{display:contents}.compact .status-sidebar .guide-heading>span{color:#cead75;grid-area:1/1;font-size:10px}.compact .status-sidebar .guide-heading button{border:1px solid #aa926157;grid-area:1/2/span 3;min-height:44px;padding:4px;font-size:11px;text-decoration:none}.compact .status-sidebar .guide-action{grid-area:2/1;gap:7px;margin:0}.compact .status-sidebar .guide-arrow{min-width:22px;font-size:21px}.compact .status-sidebar .journey-guide>p:not(.guide-warning){display:none}.compact .status-sidebar .guide-warning{grid-column:1/-1;margin:2px 0 0}.compact.playing .mobile-condition-note{top:calc(var(--safe-top) + 62px + var(--sidebar-height) + 4px);left:var(--safe-left);right:var(--safe-right);text-align:center;width:auto;max-width:none}@media (orientation:landscape){.app.compact.playing{--scene-top:calc(var(--safe-top) + 62px);--scene-bottom:0px}.compact.playing .status-sidebar{width:220px;max-height:calc(100dvh - var(--safe-top) - 62px - var(--control-space) - 8px);right:auto;overflow-y:auto}.compact .status-sidebar .meter-heading{flex-direction:column;align-items:flex-start;gap:0;line-height:14px}.compact .status-sidebar .meter-heading span{font-size:9px;line-height:12px}.compact .status-sidebar .meter-heading :is(strong,b){font-size:11px;line-height:15px}.compact .status-sidebar :is(.wet-track,.heat-track,.fold-pips){margin-top:2px}.compact.playing canvas{left:calc(var(--safe-left) + 232px);width:calc(100% - var(--safe-left) - 232px)}.compact.playing .mobile-condition-note{top:calc(var(--safe-top) + 62px);left:calc(var(--safe-left) + 242px);text-align:right}.compact .status-sidebar .guide-warning button{min-height:30px}}@media (orientation:landscape) and (width<=740px){.compact.playing canvas{width:100%;left:0}}.compact .status-sidebar .guide-action h2{font-size:14px;line-height:1.45}.compact .status-sidebar .journey-guide:is(.lesson-turn,.lesson-wind)>p:not(.guide-warning){color:#d4dce2;grid-column:1/-1;margin:3px 0 0;font-size:12px;line-height:1.55;display:block}.compact.playing.map-open .compass{width:calc(100% - var(--safe-left) - var(--safe-right));max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 76px);overflow-y:auto}.compact .compass svg{height:clamp(180px,38dvh,340px)}@media (orientation:landscape){.compact.playing .status-sidebar{width:196px;max-height:calc(100dvh - var(--safe-top) - 62px - var(--control-space) - 8px)}.compact.playing canvas{left:calc(var(--safe-left) + 208px);width:calc(100% - var(--safe-left) - 208px)}.compact.playing.map-open .compass{width:min(600px, calc(100% - var(--safe-left) - var(--safe-right)))}.compact .compass svg{height:45dvh}}@media (orientation:landscape) and (width<=740px){.compact.playing canvas{width:100%;left:0}}.app.compact.playing.map-open .compass{z-index:20;background:#233747;padding:16px}.compact.playing.map-open .status-sidebar{visibility:hidden}.app.compact.playing.with-guide .status-sidebar>.journey-guide{min-height:52px;padding:4px 10px}.compact .status-sidebar .guide-heading>span{display:none}.compact .status-sidebar .guide-action,.compact .status-sidebar .guide-heading button{grid-row:1}.compact .status-sidebar .journey-guide>p{grid-row:auto}.app.compact .touch-controls .touch-key[data-restart-confirm=true]{color:#f2ddba;background:#d4ba8540;font-size:12px;line-height:1.25}.app{--night:#203343;--rain-blue:#354e60;--mist:#acbdc6;--paper-light:#ede9de;--lantern:#e2ba7e;--serif:"Noto Serif SC", "Songti SC", STSong, Georgia, serif;color:var(--paper-light)}.app:not(.playing) .atmosphere{background:linear-gradient(90deg,#182c3cc9,#20334330 50%,#20334385),linear-gradient(#0000 58%,#203343d9)}.app .grain{opacity:.055}.app .brand-icon{color:var(--lantern);border-color:#b99b6d80;transform:none}.app .tools button{color:var(--paper-light);background:#203343d9;border:0;min-height:44px;font-size:12px}.app .tools button:hover{background:var(--rain-blue)}.app .tools .language,.app .tools .music-active{color:var(--lantern)}.app .intro{align-items:flex-start;gap:clamp(28px,4vw,64px);width:calc(87% - 465px);max-width:640px;display:flex;position:fixed;top:23vh;left:9%}.intro-title{align-items:flex-start;gap:24px;display:flex}.app .intro h1{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:.2em;color:var(--paper-light);text-shadow:0 4px 32px #17293688;margin:0;font-size:clamp(52px,5.2vw,76px);font-weight:500;line-height:1.2}.app .intro .intro-dedication{writing-mode:vertical-rl;font-family:var(--serif);color:var(--lantern);letter-spacing:.25em;margin:5px 0 0;font-size:16px}.intro-story{max-width:280px;padding-top:8px}.app .intro-story>p{margin-top:0;font-size:14px;line-height:2.1}.intro-players{color:var(--mist);margin-top:30px;font-size:12px;display:block}.app .intro .goal-flow{flex-direction:column;align-items:flex-start;gap:18px;margin-top:26px;font-size:12px}.app .intro .goal-flow>i{display:none}.app .intro .goal-flow b{color:var(--mist);border-color:#acbdc64d}.app .intro-controls{max-width:270px;font-size:11px;line-height:2.2}.app .panel:is(.menu,.lobby,.win){--ink:var(--paper-light);--muted:var(--mist);--red:var(--lantern);--line:#acbdc638;color:var(--paper-light);background:#243a4bee;border:0;border-top:3px solid #776350;border-radius:3px 3px 12px;padding:26px 28px;box-shadow:0 20px 65px #12233266}.app .menu{width:410px;margin:124px 5.5% 110px auto}.app .menu:before{background:#655247;border-radius:2px;height:8px;top:-15px;left:-14px;right:-14px;transform:none;box-shadow:0 4px 10px #14243366}.app .menu:after{border-width:1px;border-color:#ae956b;height:26px;top:-26px}.app .panel-top{border:0;margin-bottom:18px;padding:0;font-size:21px}.app .panel-top b{color:var(--mist);letter-spacing:0;font-size:12px}.app .panel:is(.menu,.lobby,.win) label{color:var(--mist);font-size:12px}.app .panel:is(.menu,.lobby,.win) :is(input,select){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--paper-light);background:#192e3c99;border:1px solid #acbdc640;border-radius:3px;min-height:46px;font-size:14px}.app .panel input::placeholder{color:#9caeb9}.app .menu select{font-family:var(--serif);font-size:17px}.app .chapter-brief{background:0 0;border:0;margin:12px 0 20px;padding:0}.app .chapter-brief .chapter-sub{color:var(--paper-light);font-family:var(--serif);font-size:14px}.app .chapter-brief p{color:var(--mist);margin:5px 0;font-size:12px;line-height:1.8}.app .chapter-brief button{color:var(--lantern);padding:8px 0;font-size:12px}.app .challenge-label{color:var(--lantern);background:#e2ba7e0d;border-color:#e2ba7e33}.app .modes{gap:9px}.app .modes button{clip-path:none;min-height:72px;color:var(--paper-light);background:#354e6055;border:1px solid #acbdc633;border-radius:3px 3px 8px;padding:10px 3px 12px}.app .modes button:before{content:none}.app .modes button strong{font-size:25px}.app .modes button span{color:var(--mist);font-size:10px}.app .modes .selected{background:var(--lantern);border-color:var(--lantern);color:var(--night)}.app .modes .selected span{color:#3e4a4f}.app .panel:is(.menu,.lobby,.win) .primary{background:var(--lantern);min-height:50px;color:var(--night);box-shadow:none;border-radius:3px;margin-top:22px;font-size:16px}.app .panel:is(.menu,.lobby,.win) .primary:hover{background:#eed0a0}.app .panel:is(.menu,.lobby,.win) :is(.fine,.separator,.eyebrow,.seat small,.room-code small,.lobby-guide,.chapter-record small,.finish-record small,.finish-record dt,.ranking-chapter,.ranking-state,.ranking-name-hint){color:var(--mist)}.app .ranking-name-hint{font-size:11px}.app .panel .name-error{color:#ffc0a9}.app .panel:is(.menu,.lobby,.win) :is(.text-button,.lobby-guide button){color:var(--lantern)}.app .panel:is(.menu,.lobby,.win) :is(.join button,.room-code button,.ranking-heading button,.ranking-upload button){min-height:44px;color:var(--paper-light);background:var(--rain-blue);border-color:#0000;font-size:12px}.app .panel:is(.menu,.lobby,.win) :is(.chapter-record,.finish-record,.room-code){background:#192e3c66;border-color:#acbdc633}.app .panel:is(.menu,.lobby,.win) :is(.chapter-record strong,.finish-record dd,.room-code strong,.new-best .record-result){color:var(--lantern)}.app .journey-records{border-top:1px solid #acbdc629;margin-top:20px;padding-top:4px}.app .journey-records summary{cursor:pointer;min-height:44px;color:var(--mist);padding:12px 0;font-size:12px}.app .leaderboard,.app .leaderboard li{border-color:#acbdc629}.app .ranking-place{color:var(--paper-light);background:#354e60}.app .leaderboard li:first-child .ranking-place{color:var(--night);background:var(--lantern)}.app .ranking-upload,.app .win h2{color:var(--paper-light)}.app .win>p{color:var(--mist)}.app .big-star,.app .score{color:var(--lantern)}.app .hud .stage>div{font-family:var(--serif);color:var(--paper-light)}.app.playing .status-sidebar>:is(.rain-hud,.journey-guide){box-shadow:none;background:0 0;border:0;border-radius:0}.app .compass{box-shadow:none;background:radial-gradient(#203343ed 30%,#20334300 75%);border:0;border-radius:0}.app footer{color:var(--mist);border:0;font-size:11px}.app :is(button,input,select,summary):focus-visible{outline:2px solid var(--lantern);outline-offset:3px}.app[lang=en] .intro{flex-direction:column;gap:20px}.app[lang=en] .intro-title{flex-direction:column;gap:16px}.app[lang=en] .intro h1{writing-mode:horizontal-tb;letter-spacing:-.02em;max-width:420px;font-size:clamp(40px,4vw,62px);line-height:1.18}.app[lang=en] .intro .intro-dedication{writing-mode:horizontal-tb;letter-spacing:0}.app[lang=en] .intro-story{max-width:360px}@media (width<=1100px){.app .intro{gap:26px;width:calc(88% - 410px);left:6%}.app .intro-title{gap:16px}.app .intro-story{max-width:195px}.app .menu{width:380px;margin-right:4%}}.app.compact:not(.playing) .intro{width:auto;max-width:540px;margin:calc(var(--safe-top) + 150px) auto 28px;padding:0 26px;display:block;position:relative;inset:auto}.app.compact .intro-title{display:block}.app.compact .intro h1{writing-mode:horizontal-tb;letter-spacing:.12em;margin:0;font-size:clamp(34px,9vw,48px);line-height:1.4}.app.compact .intro .intro-dedication{writing-mode:horizontal-tb;letter-spacing:.12em;margin:8px 0 16px;font-size:14px}.app.compact .intro-story{max-width:none;padding:0}.app.compact .intro-story>p{margin:0;font-size:12px}.app.compact .intro-players{margin-top:14px;font-size:11px}.app.compact .intro .goal-flow,.app.compact .intro-controls{display:none}.app.compact .menu{width:calc(100% - 40px);max-width:490px;margin:50px auto calc(100px + var(--safe-bottom));padding:24px 20px}.app.compact .menu :is(input,select){font-size:16px}.app.compact .chapter-brief button{min-height:44px}.app.compact:not(.playing) .brand{max-width:calc(100% - 24px)}.app.compact .edition{display:none}.app.compact footer{letter-spacing:0;font-size:10px;left:20px;right:20px}.app.compact footer span{display:none}.app.compact[lang=en] .intro h1{letter-spacing:-.02em;font-size:clamp(32px,8vw,44px)}@media (prefers-reduced-motion:reduce){.app *,.app :before,.app :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.app.playing .hud .stats,.app.playing .carry-hud,.app.playing .bottom-hint{box-shadow:none;text-shadow:0 1px 5px #14293780;background:0 0;border:0}.app.playing .status-sidebar :is(.heat-condition,.fold-condition,.repair-away,.guide-goal){border:0}.app.playing .status-sidebar .journey-guide{padding-top:20px}.app.playing .status-sidebar .guide-keys kbd{box-shadow:none;background:0 0;border:0;padding-left:0}.app.compact.playing .status-sidebar>:is(.rain-hud,.journey-guide){box-shadow:none;background:0 0;border:0}.app.compact.playing .status-sidebar>.journey-guide{padding-top:7px}.app.compact .status-sidebar .guide-heading button{text-underline-offset:4px;background:0 0;border:0;text-decoration:underline}.app.compact .touch-controls .touch-key{color:var(--paper-light);box-shadow:none;font-family:var(--serif);background:#acbdc60b;border:0;border-radius:2px;font-weight:500;transition:background-color .1s,color .1s;transform:none}.app.compact .touch-controls .touch-key small{color:var(--mist);opacity:.85;font-family:Noto Sans SC,PingFang SC,system-ui,sans-serif;font-size:10px;font-weight:400}.app.compact .touch-controls :is(.touch-reset,.touch-restart){color:var(--mist);background:0 0}.app.compact .touch-controls .touch-jump{color:#e2c99e;background:#d4ba850e}.app.compact .touch-controls .touch-axis{color:#d5deda;font-weight:400}.app.compact .touch-controls .touch-key:is(.held,:active){color:#f2ddba;box-shadow:none;background:#d4ba8540;transform:none}.app.compact .touch-controls .touch-key:is(.held,:active) small{color:#ecdbbc}.app.compact .mobile-toolbar button{color:var(--mist);box-shadow:none;background:0 0;border:0}@media (prefers-reduced-motion:reduce){.app.compact .touch-controls .touch-key{transition:none}}
