:root{color-scheme:light;--ink:#293e3b;--paper:#f4efe4;--muted:#7b8175;--orange:#ad5e42;--cream:#fff6df;--coral:#edab80}*{box-sizing:border-box}html,body{margin:0;min-height:100%;width:100%;overscroll-behavior:none}body{background:#ece9df;background-image:radial-gradient(ellipse at 50% 0%,#f9f4e9,transparent 80%);color:var(--ink);font-family:Arial,Helvetica,sans-serif}.app{width:min(1240px,calc(100% - 64px));margin:0 auto;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:25px 0}.masthead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.wordmark{text-decoration:none;color:var(--ink);font-family:Georgia,Times New Roman,serif;letter-spacing:.19em;font-size:27px;font-weight:400;line-height:1.2}.wordmark span{display:block;font-family:Arial,sans-serif;font-size:8px;font-weight:600;letter-spacing:.27em;margin-top:8px}.masthead p{font-family:Georgia,serif;font-size:15px;font-style:italic;color:#818678}.edition{font-size:9px;font-weight:600;letter-spacing:.14em;border:1px solid #c7c9bc;border-radius:30px;padding:10px 13px;display:flex;align-items:center;gap:8px;white-space:nowrap}.edition span,.footer-dot{width:5px;height:5px;background:#b8784a;border-radius:50%;display:inline-block}.stage{position:relative;aspect-ratio:16/9;width:100%;isolation:isolate;overflow:hidden;border-radius:13px;background:#b8b7a6;box-shadow:0 18px 50px #4a594327,0 0 0 1px #6b685a20;touch-action:none;user-select:none;-webkit-user-select:none}.stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;image-rendering:pixelated;image-rendering:crisp-edges;outline:none}.vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 75px #22362e1a;z-index:1}.hidden{display:none!important}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #fff4bf;outline-offset:4px}button{transition:background .16s,transform .16s}button:active{transform:translateY(2px)}.utilities{display:flex;gap:7px;position:absolute;right:2.5%;top:4.3%;z-index:8}.icon-button{border:1px solid #fff2d829;width:35px;height:35px;display:grid;place-items:center;color:var(--cream);background:#28413bbf;border-radius:50%;padding:9px;backdrop-filter:blur(6px)}.icon-button:hover{background:#375149}.icon-button svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.icon-button.muted .sound-waves{opacity:.15}.icon-button.muted{color:#bdbdb0}.title-screen{position:absolute;inset:0;background:linear-gradient(90deg,#213d39d9 0%,#254440a6 31%,#27433d26 60%,transparent 83%);z-index:3;display:flex;align-items:center}.title-copy{margin-left:6.1%;margin-top:-.7%;color:var(--cream);max-width:62%}.eyebrow{font-family:Arial,sans-serif;display:flex;align-items:center;gap:10px;font-size:clamp(8px,.8vw,11px);font-weight:600;letter-spacing:.2em;color:var(--coral)}.eyebrow>span{display:inline-block;width:20px;height:1px;background:currentColor}h1{font:normal clamp(28px,4.55vw,62px)/1.07 Georgia,"Times New Roman",serif;letter-spacing:-.035em;margin:21px 0 18px}h1 em{font-weight:400;color:#f3c492}.title-copy>p{font-size:clamp(10px,1.1vw,14px);color:#e1e2cd;line-height:1.8;margin:0 0 25px;letter-spacing:.01em}.primary-button{background:#f3cc94;color:#293e37;border:1px solid #f3d3a5;border-radius:7px;padding:15px 20px;font-size:clamp(10px,1.1vw,14px);font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:33px;min-height:45px;box-shadow:0 3px #192d2526}.primary-button>span{font-size:19px;font-weight:400}.primary-button:hover{background:#ffe0aa}.gentle-option{display:flex;gap:8px;align-items:center;font-size:clamp(9px,.84vw,11px);color:#d1d7c6;margin-top:17px;cursor:pointer;width:fit-content}.gentle-option input{accent-color:#bb7957;width:13px;height:13px;margin:0;cursor:pointer}.title-controls{display:flex;gap:8px;align-items:center;margin-top:27px;font-size:clamp(8px,.75vw,10px);color:#b5c1b3}.title-controls>span:not(.touch-note){opacity:.5}kbd{font:600 8px Arial,sans-serif;letter-spacing:.05em;border:1px solid #bcc8b659;border-radius:4px;padding:4px 5px;color:#d1d8c5}.postcard-note{position:absolute;left:69%;top:42%;transform:rotate(-8deg);color:#3b5c53;display:flex;flex-direction:column;align-items:center;font:italic clamp(12px,1.5vw,19px) Georgia,serif}.postcard-note svg{width:70px;height:37px;fill:none;stroke:#3b5c53;stroke-width:1.5;margin-top:7px;margin-left:20px}.hud{position:absolute;top:4.6%;left:3.1%;right:14.2%;display:flex;align-items:center;gap:3%;color:#f7efd6;z-index:4;pointer-events:none}.location{display:flex;gap:10px;align-items:center;background:#25443bd9;padding:9px 14px 10px 10px;border-radius:7px;box-shadow:0 3px 12px #25443b20}.location b{font-size:clamp(8px,.81vw,11px);font-weight:600;letter-spacing:.11em;display:block}.location div>span{font-size:clamp(7px,.68vw,9px);opacity:.68;display:block;margin-top:4px}.score{display:flex;gap:6px;align-items:center;background:#284439d6;border-radius:6px;padding:9px 12px;white-space:nowrap}.score>span:first-child{color:#f0b395;font-size:17px}.score b{font-size:15px;font-weight:500}.score-total{font-size:10px;opacity:.58}.controls{position:absolute;inset:auto 3% 3.6%;display:flex;align-items:flex-end;justify-content:space-between;z-index:5;pointer-events:none}.drive-button{pointer-events:auto;color:#fff2d5;background:#294c40c9;border:1px solid #f5e4c155;border-radius:11px;min-height:52px;min-width:96px;padding:9px 14px;display:flex;align-items:center;gap:8px;backdrop-filter:blur(5px);box-shadow:0 3px #19382d30}.drive-button:hover,.drive-button.pressed{background:#41634de6}.drive-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.drive-button span{font-size:9px;font-weight:600;letter-spacing:.13em}.drive-button small{display:block;font-size:6px;letter-spacing:.2em;opacity:.6;margin-top:5px}.controls-hint{text-align:center;color:#ece4c8ab;font:italic 14px Georgia,serif;margin-bottom:5px;text-shadow:0 1px 3px #213d38}.controls-hint span{display:block;font:8px Arial,sans-serif;letter-spacing:.16em;color:#d8d9b590;margin-top:6px}.toast{position:absolute;top:20%;left:50%;transform:translate(-50%);background:#f7edcfef;color:#354d3c;box-shadow:0 3px 15px #263b3229;border:1px solid #fcf3d899;border-radius:22px;padding:10px 17px;font-size:clamp(9px,1vw,12px);z-index:8;max-width:85%;text-align:center;pointer-events:none;white-space:nowrap}.mode-badge{position:absolute;top:18%;left:3%;font-size:7px;letter-spacing:.13em;background:#2d493ac7;color:#f8ddad;border-radius:3px;padding:6px 8px;z-index:4}.modal-screen{position:absolute;inset:0;background:#243e3669;backdrop-filter:blur(3px);z-index:12;display:flex;align-items:center;justify-content:center}.paper-card{background:#f9f0dc;color:#324638;min-width:320px;max-width:90%;border-radius:13px;padding:34px 45px 29px;text-align:center;box-shadow:0 15px 70px #1b302b66;border:1px solid #fff8e8}.paper-card .eyebrow{justify-content:center;color:#a56847;font-size:9px}.paper-card h2{font:normal clamp(25px,3vw,41px)/1.1 Georgia,serif;letter-spacing:-.03em;margin:15px 0}.paper-card h2 em{color:#b77550}.paper-card p{font-size:12px;line-height:1.8;color:#71806b;margin:0 0 22px}.paper-card .primary-button{margin:0 auto;min-width:220px;justify-content:space-between;background:#345445;color:#fff2d1;border-color:#345445}.paper-card .primary-button:hover{background:#466753}.paper-card .gentle-option{color:#6b775f;justify-content:center;margin:17px auto;font-size:11px}.text-button{background:transparent;color:#8c725a;border:0;text-decoration:underline;text-underline-offset:3px;font-size:11px;min-height:35px}.end-heart{color:#bd7357;font-size:25px;margin-bottom:12px}.end-stats{border-block:1px solid #dfd8be;padding:12px 0;margin-bottom:20px;color:#859077;font-size:10px}.end-stats span{font-size:15px;color:#a46c4f;margin-right:5px}.footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:21px;color:#909583;font-size:9px;letter-spacing:.025em;line-height:1.6}.footer-dot{background:#7e9776;vertical-align:middle;margin-right:7px}.footer-separator{margin:0 9px;opacity:.6}.rotate-screen{display:none;position:absolute;inset:0;z-index:20;background:#243f36ed;color:#f7efd6;align-items:center;justify-content:center;text-align:center}.rotate-card h2{font: 26px Georgia,serif;margin:14px 0}.rotate-card p{font-size:12px;line-height:1.7;opacity:.7}.rotate-card .text-button{color:#e4c499}.phone-icon{font:40px Georgia,serif}.fallback{position:absolute;inset:0;background:#263f36;color:#fff4d9;display:grid;place-items:center;z-index:30}.stage:fullscreen{width:100vw;height:100dvh;border-radius:0;background:#172c26;aspect-ratio:auto}.stage:fullscreen canvas{object-fit:contain}.stage:fullscreen .title-screen{background:linear-gradient(90deg,#213d39df,#213d3977,transparent)}@media(max-width:900px){.app{width:calc(100% - 32px);padding:18px 0}.masthead{margin-bottom:18px}.masthead p{display:none}.wordmark{font-size:23px}.footer{font-size:8px}.footer>div:last-child{max-width:200px;text-align:right}.title-copy>p{margin-bottom:15px}.title-controls{margin-top:16px}.gentle-option{margin-top:12px}.title-copy h1{margin:13px 0}.primary-button{padding:11px 14px;gap:20px}.hud{right:18%;gap:2%}.location{padding:6px 8px;gap:6px}.score{padding:7px 9px}.utilities{gap:5px}.icon-button{width:31px;height:31px;padding:8px}.drive-button{min-height:47px;min-width:87px;padding:7px 10px}.drive-button span{font-size:8px}.controls-hint{font-size:12px}}@media(max-height:610px)and (orientation:landscape){body{background:#172c26}.app{width:min(100vw,177.7778svh);padding:0;min-height:100svh;justify-content:center}.masthead,.footer{display:none}.stage{border-radius:0;box-shadow:none}.title-copy{margin-left:6%;margin-top:0}.title-copy h1{font-size:clamp(28px,8.5svh,48px);margin:12px 0}.title-copy>p{font-size:11px;margin-bottom:13px;line-height:1.55}.eyebrow{font-size:8px}.primary-button{min-height:42px;font-size:11px;padding:10px 14px}.gentle-option{font-size:9px;margin-top:11px}.title-controls{margin-top:13px;font-size:8px}.title-controls .touch-note{display:none}.paper-card{padding:19px 30px;min-width:290px}.paper-card h2{font-size:29px;margin:11px 0}.paper-card p{margin-bottom:13px;font-size:11px}.paper-card .eyebrow{font-size:8px}.end-heart{font-size:20px;margin-bottom:7px}.end-stats{padding:8px 0;margin-bottom:12px}.paper-card .primary-button{min-height:40px}.controls-hint{font-size:12px}.hud{right:19%}.location b{font-size:8px}.location div>span{font-size:7px}.postcard-note{font-size:14px}}@media(pointer:coarse){.drive-button{min-width:104px;min-height:54px}.drive-button small{display:none}.utilities .icon-button{width:36px;height:36px}.title-controls .touch-note{display:none}}@media(orientation:portrait)and (max-width:700px){.app{width:100%;padding:18px 0}.masthead{padding:0 20px}.edition{font-size:7px;padding:9px}.stage{aspect-ratio:16/12;border-radius:0}.stage canvas{object-fit:contain}.rotate-screen{display:flex}.allow-portrait .rotate-screen{display:none}.allow-portrait .title-copy h1{font-size:26px}.allow-portrait .title-copy{max-width:85%;margin-left:7%}.allow-portrait .title-copy>p{font-size:10px}.allow-portrait .postcard-note,.allow-portrait .controls-hint,.allow-portrait .title-controls{display:none}.allow-portrait .hud{top:3%;right:35%}.allow-portrait .location{padding:6px}.allow-portrait .location b{font-size:7px}.allow-portrait .location div>span{display:none}.allow-portrait .score{padding:5px;gap:3px}.allow-portrait .score b{font-size:12px}.allow-portrait .score-total{font-size:8px}.allow-portrait .utilities{top:3%;gap:3px}.allow-portrait .utilities .icon-button{width:30px;height:30px}.footer{padding:0 20px;display:block}.footer>div:last-child{text-align:left;max-width:none;margin-top:10px}.allow-portrait .controls{bottom:4%}.allow-portrait .drive-button{min-height:44px;min-width:95px}.allow-portrait .paper-card{min-width:250px;padding:20px}.allow-portrait .paper-card h2{font-size:26px}.allow-portrait .toast{top:20%;white-space:normal}}@media(prefers-reduced-motion:reduce){button{transition:none}.modal-screen{backdrop-filter:none}}#title-description{white-space:pre-line}.touch-ui .keyboard-hint{display:none}body:not(.touch-ui) .rotate-screen{display:none}#game{touch-action:none;-webkit-touch-callout:none}.run-options{display:flex;gap:12px;margin:0 0 14px;max-width:480px}.run-options label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#e1e2cd;flex:1;min-width:0}.run-options select{appearance:none;-webkit-appearance:none;width:100%;min-height:46px;border:1px solid #e8d9b766;border-radius:9px;padding:12px 36px 12px 14px;color:#fff6df;background-color:#29483c;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='m1 1 5 5 5-5' stroke='%23e6d3b0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:10px 7px;box-shadow:inset 0 1px #fff8e80a,0 2px 6px #152d231a;font:inherit;line-height:1.2;cursor:pointer}@media(hover:hover){.run-options select:hover{background-color:#345346;border-color:#f3cc9499}}select:focus-visible{outline:3px solid #fff4bf;outline-offset:3px}.endless-lives{border-left:1px solid #e8d9b760;padding-left:10px;margin-left:4px;font-size:13px;color:#f3cc94}.endless-scene .score>span:first-child{font-size:11px;color:#f7efd6}.title-screen{overflow:auto;touch-action:pan-y}.title-copy{padding-block:16px}.title-copy{width:100%;max-width:69%}.title-copy h1{font-size:clamp(27px,4.1vw,56px)}.title-controls{margin-top:14px;line-height:1.5}.drive-button.brake small{font-size:10px;letter-spacing:.08em;color:#bdc4bb;opacity:1;margin-top:5px}.controls-hint{max-width:160px;line-height:1.5}.icon-button,.utilities .icon-button{width:44px;height:44px;padding:12px}.hud{right:20%;gap:2%;align-items:stretch}.location{flex-shrink:0}.score{margin-left:0}.gentle-option{min-height:28px}.gentle-option input{width:17px;height:17px}.pause-actions{display:flex;flex-direction:column}.text-button{min-height:44px}.paper-card{max-height:94%;overflow:auto;min-width:290px;max-width:430px;padding:24px 32px}.paper-card p{max-width:340px;margin-inline:auto}.paper-card .gentle-option{margin:10px auto}.paper-card .primary-button{min-height:44px}.paper-card h2{font-size:clamp(26px,3vw,39px)}.toast{white-space:normal;width:max-content;max-width:76%;line-height:1.5}.play-options{display:flex;align-items:center;flex-wrap:wrap;column-gap:18px}.play-options .gentle-option{font-size:10px}.paper-card .debug-option{font-size:10px;margin:4px auto;min-height:24px}.paper-card{touch-action:pan-y}.debug-button{min-width:88px;min-height:44px;border:1px dashed #f3d2a799;border-radius:7px;background:#29483ceb;color:#ffe6bc;padding:6px 9px;font-size:11px}.debug-button small{display:block;margin-top:4px;font-size:7px;letter-spacing:.08em}@media(orientation:portrait)and (max-width:700px){.allow-portrait .debug-button{min-width:70px;padding:5px;font-size:10px}.allow-portrait .debug-button small{font-size:6px}.allow-portrait .stage:has(.debug-button:not(.hidden)) .hud{display:none}.allow-portrait .play-options{column-gap:13px}.allow-portrait .play-options .gentle-option{font-size:9px}}.xian-epilogue .hud,.xian-epilogue .controls,.xian-epilogue .mode-badge,.xian-epilogue .combo-panel{display:none!important}.ending-caption{position:absolute;z-index:6;bottom:7%;left:50%;transform:translate(-50%);width:max-content;max-width:88%;padding:9px 16px;border-radius:6px;background:#243d38cf;color:#f8dfb6;text-align:center;font:italic clamp(12px,1.4vw,18px)/1.4 Georgia,serif;pointer-events:none}.postcard-ending{justify-content:flex-end;padding-right:4%;background:linear-gradient(270deg,#1b303f70,transparent);backdrop-filter:none}.postcard-ending .paper-card{width:46%;min-width:0;padding:22px 25px;background:#f9f0dced}.postcard-ending .paper-card .primary-button{min-width:0;width:100%}.postcard-ending .paper-card h2{font-size:clamp(24px,3vw,37px)}.ending-memories{display:none}.postcard-ending .ending-memories{display:block;position:absolute;left:3.5%;top:6%;width:46%;max-width:560px;aspect-ratio:2.4;isolation:isolate}.memory-print{position:absolute;width:62%;margin:0;padding:2% 2% 0;background:#fffefa;border:1px solid #fff;color:#4d544c;box-shadow:0 5px 9px #0b172442,0 16px 27px #0b172422;border-radius:1px;transform:rotate(var(--tilt));transition:none;min-height:44px}.memory-print img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;pointer-events:none}.memory-print>span{display:flex;align-items:center;justify-content:center;min-height:27px;padding:6px 0 8px;font:italic clamp(9px,1.15vw,15px)/1.2 Georgia,serif;white-space:normal;pointer-events:none}.memory-print:nth-child(1){left:1%;top:0;--tilt:-11deg;z-index:1}.memory-print:nth-child(2){left:36%;top:3%;--tilt:9deg;z-index:2}.memory-print:nth-child(3){left:18%;top:40%;--tilt:-5deg;z-index:3}.memory-print.is-front,.memory-print:focus-visible{z-index:8}.memory-print:active{transform:rotate(var(--tilt))}.memory-print:focus-visible{outline:3px solid #f1c98d;outline-offset:4px}@media(max-height:610px)and (orientation:landscape){.memory-print>span{font-size:10px;min-height:22px;padding:4px 0 5px}}@media(orientation:portrait)and (max-width:700px){.allow-portrait .postcard-ending .ending-memories{left:3%;width:40%;top:12%;aspect-ratio:1}.allow-portrait .memory-print{width:77%;padding:3% 3% 0}.allow-portrait .memory-print:nth-child(2n){left:22%}.allow-portrait .memory-print:nth-child(5){top:70%}.allow-portrait .memory-print:nth-child(6){top:96%}.allow-portrait .memory-print>span{font-size:8px;min-height:21px;padding:4px 0}}@media(max-height:610px)and (orientation:landscape){.postcard-ending .paper-card{padding:14px 18px}.postcard-ending .paper-card h2{font-size:27px}.ending-caption{bottom:6%;padding:7px 12px;font-size:12px}}@media(orientation:portrait)and (max-width:700px){.allow-portrait .postcard-ending .paper-card{width:53%;min-width:0;padding:12px}.allow-portrait .postcard-ending .paper-card h2{font-size:22px}.allow-portrait .postcard-ending .primary-button{font-size:9px}.allow-portrait .postcard-ending .eyebrow,.allow-portrait .postcard-ending .end-stats{display:none}.allow-portrait .ending-caption{font-size:11px;bottom:4%}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.xian-photo-stop .controls,.xian-photo-stop .combo-panel,.xian-photo-stop .hud,.xian-photo-stop .mode-badge{display:none!important}.xian-viewfinder{position:absolute;inset:0;z-index:7;overflow:hidden;cursor:crosshair;color:#f4f5ed;touch-action:none}.camera-frame{position:absolute;inset:12% 4% 19%;border:3px solid #202326;outline:1px solid #f0f1e47a;box-shadow:0 0 0 120px #0b10155c;pointer-events:none}.camera-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent 33.2%,#ecefe747 33.2%,#ecefe747 33.4%,transparent 33.4%,transparent 66.5%,#ecefe747 66.5%,#ecefe747 66.7%,transparent 66.7%),linear-gradient(transparent 33.2%,#ecefe747 33.2%,#ecefe747 33.5%,transparent 33.5%,transparent 66.5%,#ecefe747 66.5%,#ecefe747 66.8%,transparent 66.8%)}.camera-autofocus{position:absolute;width:48%;height:43%;left:26%;top:22%;overflow:visible;fill:none;stroke:#eef1e691;stroke-width:1.5;filter:drop-shadow(0 1px 1px #172019)}.camera-autofocus rect{stroke:#e8eee6b3;stroke-width:1.7}.camera-autofocus .af-selected{stroke:#a3ff48;stroke-width:2.5}.camera-frame>span{position:absolute;bottom:3%;font:clamp(9px,1.1vw,13px) monospace;letter-spacing:1px;text-shadow:0 1px 2px #000}.camera-mode{left:2%}.camera-battery{right:2%}.camera-readout{position:absolute;left:12%;right:12%;bottom:13.5%;height:5.5%;display:flex;align-items:center;justify-content:space-around;gap:8px;padding:2px 10px;background:#0c100c;border:1px solid #8c9681;box-shadow:0 0 0 2px #161b1b;color:#a7ff38;font:clamp(10px,1.8vw,23px)/1 monospace;white-space:nowrap;pointer-events:none}.camera-meter{font-size:.65em}.camera-meter b{font-size:1.25em}.camera-readout>b{font-size:.7em}.xian-viewfinder:not(.camera-ready) .camera-readout{color:#e8eee6b3}.xian-viewfinder:not(.camera-ready) .af-selected{stroke:#e8eee6b3}.xian-viewfinder p{position:absolute;top:1%;left:5%;right:23%;font-size:clamp(10px,1.4vw,15px);text-shadow:0 1px 4px #15221c}.xian-viewfinder button{position:absolute;bottom:1.5%;left:50%;transform:translate(-50%);min-height:44px;padding:8px 22px;border:1px solid #899486;border-radius:5px;background:#17221c;color:#eef6e7;font:inherit;white-space:nowrap;cursor:pointer}.xian-viewfinder button:disabled{opacity:.6;cursor:default}.camera-shutter{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;visibility:hidden}@media(max-height:430px)and (orientation:landscape){.camera-frame{inset:13% 4% 16%}.camera-readout{bottom:1%;height:44px;left:44%;right:3%;font-size:11px;gap:4px;padding:2px 6px}.camera-meter{display:none}.xian-viewfinder button{bottom:1%;left:3%;width:38%;transform:none;font-size:11px;padding:6px 10px}.xian-viewfinder p{margin:4px 0;font-size:10px}}.memory-print[hidden]{display:none}.combo-panel{position:absolute;z-index:6;top:20%;left:50%;transform:translate(-50%);width:min(410px,76%);padding:13px 18px 10px;border:1px solid #f0c9929c;border-radius:12px;color:#fff1d3;background:#233e38f5;box-shadow:0 5px 20px #1e302a30;pointer-events:none}.combo-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;letter-spacing:.11em;color:#f3cc94}.combo-heading>span{font-size:12px;letter-spacing:.04em;white-space:nowrap}.combo-arrows{display:flex;justify-content:center;gap:9px;margin:10px 0}.combo-arrows>span{position:relative;display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border:1px solid #eddbb84f;border-radius:7px;color:#ece5d2;background:#314b43;font:700 32px/1 Arial,sans-serif}.combo-arrows svg{display:block;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.combo-arrows>span.current{color:#253e35;background:#f5ce93;border:2px solid #fff0c7;box-shadow:0 0 0 2px #f5ce9340}.combo-arrows>span.done{color:#e0f6ce;background:#52755b;border-color:#a8ce97}.combo-arrows>span.done:after{content:"✓";position:absolute;bottom:2px;right:3px;font:700 9px Arial,sans-serif}.combo-track{height:4px;background:#fff0c32b;border-radius:3px;overflow:hidden}.combo-track>div{height:100%;background:#f0be81;width:100%}.combo-panel>p{margin:8px 0 0;text-align:center;font-size:11px;line-height:1.3}.combo-panel.complete{border-color:#b2d59b}.combo-panel.complete .combo-heading{color:#d4efbd}.combo-panel.complete .combo-track>div{background:#b2d59b}.combo-panel.mistake>p{color:#ffd2aa}.combo-panel.gentle .combo-track{visibility:hidden}.xian-scene .controls-hint{margin-left:auto;margin-right:auto;font-size:12px}.xian-scene .toast{top:20%}.xian-scene .toast.toast-lower{top:52%}@media(max-width:900px){.combo-panel{width:340px;padding:10px 13px 8px}.combo-arrows{gap:7px;margin:8px 0}.combo-arrows>span{width:40px;height:40px;font-size:28px}.xian-scene .controls-hint{display:none}}@media(max-height:430px)and (orientation:landscape){.combo-panel{top:20%;width:320px;padding:8px 12px}.combo-heading{font-size:9px}.combo-arrows{margin:6px 0}.combo-arrows>span{width:36px;height:36px;font-size:26px}.combo-panel>p{font-size:10px;margin-top:6px}}@media(orientation:portrait)and (max-width:700px){.allow-portrait .combo-panel{top:20%;width:290px;max-width:90%;padding:7px 10px}.allow-portrait .combo-heading{font-size:8px}.allow-portrait .combo-arrows{gap:6px;margin:6px 0}.allow-portrait .combo-arrows>span{width:33px;height:33px;font-size:25px}.allow-portrait .combo-panel>p{font-size:9px;margin-top:5px}.allow-portrait .xian-scene .controls{bottom:2%}}@media(max-width:900px){.title-copy h1{font-size:clamp(26px,4vw,39px)}.hud{right:24%}.score{margin-left:0}.utilities{gap:4px}}@media(max-height:610px)and (orientation:landscape){.title-copy{margin-left:5%;max-width:74%}.title-copy h1{font-size:clamp(24px,7.8svh,42px);margin:9px 0}.title-copy{padding-block:8px}.run-options{margin-bottom:8px;gap:8px}.run-options label{font-size:10px;gap:3px}.endless-lives{font-size:11px;padding-left:7px;margin-left:0}.title-copy>p{font-size:10px;line-height:1.5;margin-bottom:9px}.eyebrow{font-size:8px}.primary-button{min-height:44px;padding:9px 13px}.gentle-option{margin-top:5px;min-height:24px}.title-controls{margin-top:5px;font-size:8px}.title-copy .gentle-option{font-size:10px}.utilities{top:3%;right:2%}.hud{top:3%;right:24%}.location b{font-size:10px;letter-spacing:.07em}.location div>span{font-size:8px}.drive-button span{font-size:10px}.toast{font-size:11px}.paper-card{padding:14px 24px;max-height:94%;max-width:400px}.paper-card h2{font-size:28px;margin:8px 0}.paper-card p{font-size:10px;line-height:1.5;margin-bottom:10px}.paper-card .eyebrow{font-size:7px}.end-heart{display:none}.end-stats{margin-bottom:8px;padding:8px 0}.text-button{font-size:10px}.paper-card .gentle-option{margin:3px auto}.pause-actions{flex-direction:row;flex-wrap:wrap;max-width:320px;justify-content:center;gap:0 8px}.pause-actions .text-button{max-width:150px}.controls{bottom:3%;inset-inline:3%}.drive-button{min-height:52px}}@media(orientation:portrait)and (max-width:700px){.allow-portrait .title-copy{max-width:91%;margin-left:5%}.allow-portrait .title-copy h1{font-size:23px;margin:8px 0}.allow-portrait .title-copy>p{font-size:9px;margin-bottom:8px}.allow-portrait .gentle-option{margin-top:3px}.allow-portrait .drive-button span{font-size:7px}.allow-portrait .utilities .icon-button{width:44px;height:44px}.allow-portrait .hud{right:42%}.allow-portrait .score{display:none}}@media(max-width:1000px){.touch-ui .title-copy{margin-bottom:64px}.touch-ui .run-options{width:max-content;max-width:100%;gap:12px}.touch-ui .run-options label{flex:0 1 auto;font-size:10px;gap:6px}.touch-ui .run-options select{width:auto;max-width:100%;padding:12px 34px 12px 14px;font-size:11px}.touch-ui #title-eyebrow{font-size:10px;letter-spacing:.1em}.touch-ui #start{position:absolute;left:5%;right:auto;bottom:3%;max-width:54%;min-height:44px;gap:12px;padding-inline:12px}}@media(max-width:700px)and (orientation:portrait){.touch-ui:not(.playing) .stage{min-height:310px}}@media(max-width:360px)and (orientation:portrait){.touch-ui .title-copy{align-self:flex-start;margin-top:0;padding-block:6px}.touch-ui .run-options{gap:8px}.touch-ui .run-options select{padding-inline:10px 28px;background-position:right 10px center;font-size:10px}}
