:root{font-family:ui-rounded,"Hiragino Maru Gothic ProN","Hiragino Sans","Yu Gothic",sans-serif;color:#5D5968;background:#FFF9F1;font-synthesis:none;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}body{margin:0}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #d29170;outline-offset:5px}button:disabled{opacity:.5}button[hidden],[hidden]{display:none!important}.app{max-width:1240px;margin:auto;padding:25px 42px 20px}.masthead{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.brand{text-decoration:none;color:inherit;display:flex;align-items:center;gap:12px;letter-spacing:.08em;font-weight:800;font-size:18px}.brand svg{width:38px;height:42px;overflow:visible}.brand svg>path:first-child{fill:#fffef7;stroke:#71988b;stroke-width:2}.brand .hair{fill:#e7b5a3;stroke:none}.brand circle{fill:#45645b}.brand .mouth{fill:none;stroke:#45645b;stroke-width:1.5;stroke-linecap:round}.brand small{display:block;font-size:10px;letter-spacing:.18em;font-weight:500;margin-top:5px;color:#859c8e}.header-tools{display:flex;align-items:center;gap:20px}.prototype{font-size:9px;letter-spacing:.17em;color:#92a399}.icon-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid #d7e1d7;border-radius:50%;background:#fffff5c7;color:#5f8175;font-size:21px;position:relative}.sound-slash{position:absolute;font-size:24px;color:#759284;font-weight:400}.game-shell{position:relative;height:min(650px,calc(100svh - 205px));min-height:450px;overflow:hidden;border:1px solid #ceded2;border-radius:25px;background:#e6f0de;box-shadow:0 14px 36px #536c4b08;isolation:isolate;touch-action:none;user-select:none}canvas{display:block;width:100%;height:100%;touch-action:none}.hud{position:absolute;top:22px;left:25px;right:25px;display:flex;align-items:center;gap:12px;pointer-events:none}.count-pill{display:flex;align-items:center;gap:6px;background:#fffdf1ed;border:1px solid #d9e5d7;border-radius:30px;padding:9px 14px;color:#45665b;box-shadow:0 2px 0 #d6e3ce70;font-weight:800}.mini-ghost{display:block;width:19px;height:19px;border-radius:11px 11px 5px 5px;background:#fff;border:1.5px solid #70958a;text-align:center;line-height:10px;color:#647e74;transform:rotate(-8deg);font-size:22px;margin-right:4px}.count-total{font-size:12px;font-weight:500;color:#9bab9c}.count-label{font-size:9px;margin-left:5px;font-weight:600;letter-spacing:.06em}.stage-pill{margin:auto;font-size:11px;letter-spacing:.1em;background:#fcfbedb0;border:1px solid #d8e4d380;border-radius:20px;padding:10px 16px;display:flex;gap:10px;color:#6d897c}.stage-pill>span:first-child{font-size:10px;opacity:.6}.pause{pointer-events:auto;font-size:14px;width:34px;height:34px}.progress-track{position:absolute;left:30px;right:30px;top:79px;height:3px;background:#8fa98b1c;border-radius:2px}.progress-track>div{height:100%;background:#769c84;width:100%;transform:scaleX(0);transform-origin:left center;will-change:transform;border-radius:2px}.progress-track>span{position:absolute;right:-1px;top:-7px;font-size:16px;color:#8eaa90}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#f8faec35,#f6f9e80d);z-index:2}.overlay[hidden]{display:none}.intro-panel,.result-panel,.pause-panel{text-align:center;padding:30px 38px 26px;max-width:480px;width:calc(100% - 36px);border:1px solid #fffefac9;border-radius:26px;background:#fffff2eb;box-shadow:0 12px 42px #526d4d0c;backdrop-filter:blur(5px);animation:panel-in .35s ease}.eyebrow{font-size:10px;letter-spacing:.16em;color:#83a18a;font-weight:700}h1{font-size:48px;line-height:1.25;letter-spacing:.09em;margin:18px 0;color:#3e6254;font-weight:800}h1 span{color:#689377}p{font-size:12px;line-height:2;color:#7c9280}.intro-panel p{margin:0 0 21px}.stage-choices{display:flex;gap:9px;margin-bottom:19px}.stage-choice{flex:1;border:1px solid #e0e6d7;border-radius:12px;background:#fafbf2;min-width:0;padding:10px 3px;color:#8ba08b}.stage-choice>span{display:block;font-size:9px;letter-spacing:.14em;margin-bottom:5px}.stage-choice b{display:block;font-size:11px;font-weight:700}.stage-choice small{display:block;font-size:9px;margin-top:5px;color:#9ba991}.stage-choice.selected{background:#e8efdd;border-color:#a7bca3;color:#557953;box-shadow:0 2px 0 #d0ddc5}.stage-choice:hover{border-color:#8ba88b}.primary-button{display:flex;justify-content:center;align-items:center;gap:24px;width:100%;border:0;border-radius:14px;padding:16px 20px;color:#fffef4;background:#6c9279;box-shadow:0 4px 0 #547762;font-size:14px;letter-spacing:.08em;font-weight:700;transition:background .15s,transform .15s}.primary-button:hover{background:#5b8269}.primary-button:active{transform:translateY(3px);box-shadow:0 1px 0 #547762}.primary-button span{font-size:19px}.intro-help{font-size:9px;color:#9aa98e;display:flex;justify-content:center;gap:10px;margin-top:17px}.intro-help i{font-style:normal}.below-game{display:flex;justify-content:space-between;align-items:center;padding:9px 5px}.below-game p{font-size:11px;letter-spacing:.05em;display:flex;align-items:center;gap:8px}.little-dot{width:6px;height:6px;border-radius:50%;background:#9bb995}.keyboard-hint{color:#a0ad9d;font-size:10px}kbd{border:1px solid #dce2d3;padding:3px 6px;border-radius:5px;background:#fffdf4;font-family:inherit;font-size:9px}.about{display:flex;justify-content:space-between;border-top:1px solid #e6e9dd;padding:16px 5px;color:#a1ae9c;font-size:9px;letter-spacing:.06em}.about>span:last-child{font-size:8px;letter-spacing:.12em}.play-hint{position:absolute;left:27px;bottom:30px;color:#66856d;font-size:10px;letter-spacing:.05em;background:#fffcef9c;padding:10px 14px;border-radius:20px;pointer-events:none}.play-hint span{margin:0 7px;color:#a3b09a}.toast{position:absolute;top:108px;left:50%;transform:translateX(-50%) translateY(-8px);background:#fffdf3e8;border:1px solid #e7e9da;border-radius:20px;padding:9px 18px;white-space:nowrap;font-size:11px;color:#739071;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;z-index:3}.toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.result-panel{max-width:430px}.result-stars{font-size:38px;letter-spacing:9px;margin:18px 0 8px;color:#dfb46b}.result-stars .empty{color:#dde4d3}h2{font-size:34px;letter-spacing:.05em;margin:12px 0;color:#486b59}.rating{display:inline-block;border-radius:20px;padding:6px 16px;letter-spacing:.19em;background:#e9efdb;color:#7c9569;font-size:10px;font-weight:800}.result-panel p{margin:16px 0 0}.result-parade{height:49px;display:flex;align-items:center;justify-content:center;margin:9px 0 21px}.parade-ghost{position:relative;display:inline-block;width:25px;height:30px;background:#fff;border:1.5px solid #85a391;border-radius:50% 50% 30% 30%;margin:0 1px;animation:bounce 1s infinite;animation-delay:var(--delay)}.parade-ghost:before{content:"";position:absolute;left:8px;top:12px;width:3px;height:3px;border-radius:50%;background:#5d7666;box-shadow:7px 0 #5d7666}.parade-ghost:after{content:"";position:absolute;left:9px;top:-5px;width:7px;height:7px;background:#e3b6a1;border-radius:5px 0 3px 0;transform:rotate(28deg)}.result-actions{display:flex;justify-content:center;gap:25px;margin:21px 0 17px}.result-actions button{border:0;background:transparent;color:#7d957e;font-size:11px;padding:4px 0;border-bottom:1px solid #cfd9c5}.revive-note{font-size:9px;color:#a6b19b}.pause-panel p{margin-bottom:26px}.pause-panel h2{font-size:25px;margin-top:23px}@keyframes bounce{0%,60%,100%{transform:translateY(0) scale(1)}30%{transform:translateY(-9px) scale(.95,1.05)}75%{transform:scale(1.07,.94)}}@keyframes panel-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1400px){.app{padding-top:40px}.masthead{margin-bottom:28px}.game-shell{height:650px}}@media(max-width:700px){.app{padding:15px 14px 10px}.masthead{margin-bottom:15px}.brand{font-size:15px;gap:8px}.brand small{font-size:9px}.brand svg{width:31px;height:35px}.prototype{display:none}.game-shell{height:calc(100svh - 163px);min-height:480px;max-height:800px;border-radius:21px}.hud{top:16px;left:15px;right:15px;gap:6px}.count-pill{padding:8px 10px;font-size:15px;gap:4px}.count-label{font-size:8px;margin-left:2px}.count-total{font-size:10px}.stage-pill{padding:9px 10px;font-size:9px;letter-spacing:0;margin-left:auto;margin-right:0;gap:6px}.pause{width:30px;height:30px;flex-shrink:0}.progress-track{left:20px;right:20px;top:65px}.intro-panel{padding:26px 23px 25px;width:calc(100% - 32px);max-width:380px}h1{font-size:43px;margin:17px 0}.eyebrow{font-size:9px}.intro-panel p{font-size:11px}.stage-choices{gap:7px}.stage-choice b{font-size:10px}.intro-help{font-size:8px;gap:7px}.primary-button{font-size:13px;padding:15px}.keyboard-hint{display:none}.below-game{justify-content:center;padding:4px 0}.below-game p{font-size:9px}.about{padding:10px 3px;font-size:8px}.about>span:last-child{display:none}.play-hint{left:17px;bottom:30px;padding:9px 10px;font-size:8px;max-width:calc(100% - 34px)}.play-hint span{margin:0 3px}.toast{top:88px;font-size:10px;padding:8px 13px}.result-panel{padding:30px 22px}.result-panel h2{font-size:31px}}
@media(max-height:560px) and (min-width:701px){.app{padding:10px 24px}.masthead{margin-bottom:10px}.game-shell{height:calc(100svh - 110px);min-height:300px}.intro-panel{padding:18px 26px;max-width:420px}h1{font-size:30px;margin:8px 0}h1 br{display:none}.intro-panel p{font-size:10px;margin-bottom:10px}.stage-choices{margin-bottom:10px}.stage-choice{padding:6px}.primary-button{padding:10px}.intro-help{margin-top:11px}.eyebrow{font-size:9px}.below-game{padding:0}.about{display:none}.result-panel{padding:15px 25px}.result-stars{font-size:24px;margin:6px 0}.result-panel h2{font-size:26px;margin:5px}.result-panel p{margin:8px 0}.result-parade{height:35px;margin:3px 0 9px}.result-actions{margin:13px 0 8px}.revive-note{font-size:8px}}

/* Supplied character art in the counter and result parade. */
.stage-tabs{display:flex;gap:6px;margin:0 0 12px}.stage-tabs button{flex:1;border:1px solid #dce4d4;border-radius:20px;background:#f8f9ed;padding:7px 2px;color:#8ca087;font-size:10px}.stage-tabs button[aria-pressed="true"]{background:#e1ebd3;color:#587a54;border-color:#a9bf9f}.gimmick-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:226px;overflow-y:auto;padding:3px;gap:7px;scrollbar-width:thin;overscroll-behavior:contain;touch-action:pan-y}.gimmick-choices .stage-choice{padding:8px 4px}.gimmick-choices .stage-choice>span{font-size:8px;margin-bottom:3px}.gimmick-choices .stage-choice b{font-size:10px}.gimmick-choices .stage-choice small{font-size:8px}.gimmick-choices[hidden]{display:none}
.practice-label{font-size:9px;color:#8ba08b;letter-spacing:.12em;margin:-7px 0 7px}.practice-choices{gap:7px;margin-bottom:16px}.practice-choices .stage-choice{padding:7px 2px}.intro-help{flex-wrap:wrap;font-size:8px;gap:5px}.intro-panel{padding-top:22px;padding-bottom:22px}.intro-panel h1{font-size:40px;margin:12px 0}.intro-panel p{margin-bottom:15px}.overlay{overflow-y:auto}.play-hint{max-width:calc(100% - 130px);line-height:1.7}.toast{max-width:calc(100% - 24px);white-space:normal;text-align:center;width:max-content}
@media(max-height:620px){.overlay{align-items:flex-start;padding:12px 0}.intro-panel h1{font-size:26px;margin:8px 0}.intro-panel h1 br{display:none}.intro-panel p{font-size:10px;line-height:1.6;margin-bottom:10px}.intro-panel .stage-choices{margin-bottom:12px}.intro-panel .stage-choice{padding:5px 2px}.intro-panel .primary-button{padding:10px}.intro-panel{padding:14px 20px}.intro-help{margin-top:12px}}
.mini-ghost{border:0;background:transparent;border-radius:0;width:22px;height:22px}.parade-ghost{width:29px;height:30px;border:0;background:transparent;border-radius:0}.parade-ghost:before,.parade-ghost:after{display:none}.parade-ghost svg{display:block;width:100%;height:100%;overflow:visible}

.result-panel.single-hero{border-color:#e2cea0;background:#fffbe9f0;box-shadow:0 12px 42px #cbb27020}.single-hero .result-parade{height:65px}.single-hero .parade-ghost{width:52px;height:51px}.single-hero .eyebrow{color:#b19a62}

.chapter-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.chapter-tabs button{font-size:10px;padding:7px 4px}.world-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:230px;overflow-y:auto;padding:3px;overscroll-behavior:contain;touch-action:pan-y}.world-choices[hidden]{display:none}.world-choices .stage-choice{padding:8px 4px}.world-choices .stage-choice b{font-size:10px}.world-choices .stage-choice small{font-size:8px}

.world-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin:9px 0 7px}.world-tabs button{font-size:10px;padding:8px 3px;border:1px solid #d4decf;border-radius:10px;background:#f6f8ef;color:#688376}.world-tabs button[aria-pressed=true]{background:#e2eddc;border-color:#89a58a;color:#395f50;font-weight:700}.intro-panel .world-caption{font-size:9px;color:#7a9381;line-height:1.5;margin:0 0 9px}.world-choices .stage-choice small{display:block;line-height:1.5;max-height:2.8em;overflow:hidden}.intro-panel{max-height:calc(100% - 24px);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}

.star-pill { display:flex;align-items:center;gap:5px;background:#fff8daec;border-radius:30px;padding:8px 12px;font-size:17px;font-weight:700; }
.star-pill small {font-size:11px;font-weight:400;color:#9e9272;}
.score-summary {display:flex;justify-content:center;align-items:center;gap:12px;font-size:12px;margin:12px 0;}
.score-summary button,.ranking-panel button {border:0;border-radius:18px;padding:8px 12px;background:#dce8cf;color:#56614a;cursor:pointer;}
.world-score {margin:7px 0 0;font-size:12px;color:#6c7962;font-weight:700;}
.result-stars.score-number {font-size:36px;color:#b48e46;letter-spacing:-1px;margin:8px 0;}
.score-breakdown {display:flex;justify-content:center;gap:18px;font-size:13px;margin-bottom:7px;}
#result-best {font-size:11px;color:#808d6b;}
.ranking-panel {width:min(560px,92%);max-height:100%;overflow:auto;text-align:center;padding:22px;background:#faf9efed;border-radius:24px;}
.ranking-panel h2 {font-size:26px;margin:10px;}.ranking-panel p {font-size:12px;line-height:1.7;}
.ranking-panel form {margin:15px 0;}.ranking-panel label {display:block;font-size:12px;margin:7px;}
.ranking-panel input {min-width:0;width:55%;border:1px solid #cad7be;border-radius:12px;padding:10px;background:#fffdf5;font:inherit;}
.ranking-panel small {font-size:10px;line-height:1.7;color:#859079;}
#ranking-list {list-style:none;margin:18px 0;padding:0;max-height:220px;overflow:auto;}
#ranking-list li {display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid #dce3d0;font-size:13px;}
#ranking-list li span {text-align:left;flex:1;}#ranking-list li small {display:block;}
@media(max-width:600px){.hud {gap:5px;}.star-pill {padding:7px 9px;font-size:14px;}.count-label {display:none;}.stage-pill {max-width:125px;}.score-breakdown {gap:10px;font-size:11px;}.result-stars.score-number {font-size:30px;}.score-summary {font-size:10px;}.ranking-panel {padding:16px;}}
.result-panel,.ranking-panel {max-height:calc(100% - 24px);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;}
.ranking-panel input {user-select:text;touch-action:manipulation;}
.stage-pill {min-width:0;}.stage-pill #stage-name {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@media(max-width:370px){.hud {left:9px;right:9px;gap:4px;}.star-pill {padding:6px;}.count-pill {padding:7px;}.stage-pill {padding:8px 6px;gap:3px;font-size:8px;}.stage-pill>span:first-child {display:none;}.score-breakdown {flex-wrap:wrap;gap:6px;}}

/* The stage and its progress share one compact central HUD slot. */
.hud {align-items:flex-start;}
.stage-status {margin:0 auto;min-width:0;width:min(36%,320px);}
.stage-status .stage-pill {margin:0;padding:6px 12px;justify-content:center;}
.stage-status .progress-track {position:relative;inset:auto;width:90%;margin:5px auto 0;height:3px;}
.stage-status .progress-track>span {display:none;}
.star-status {display:flex;align-items:center;gap:7px;flex-shrink:0;}
.star-status .star-pill {padding:7px 10px;font-size:15px;}
.hud-score {font-size:10px;white-space:nowrap;padding:7px 8px;color:#6b826e;font-weight:700;background:#fffdf1d9;border-radius:12px;}
.stage-grid-scroll {min-height:0;overscroll-behavior:contain;touch-action:pan-y;}
.all-chapters {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;max-height:230px;overflow-y:auto;padding:3px;}
.all-chapters .world-choices:not([hidden]) {display:contents;}
.chapter-tabs {grid-template-columns:repeat(6,minmax(0,1fr));}
.intro-launch .intro-help {font-size:9px;line-height:1.8;margin-top:12px;color:#8b9c80;}
.result-copy .score-breakdown {flex-direction:column;gap:7px;margin:12px 0;}
.result-score {padding:10px 0 15px;}
.rotate-notice {position:fixed;z-index:40;top:calc(env(safe-area-inset-top) + 12px);left:50%;transform:translateX(-50%);width:min(330px,calc(100% - 32px));pointer-events:none;}
.rotate-card {display:flex;align-items:center;gap:10px;padding:9px 10px 9px 13px;border:1px solid #ffffffeb;border-radius:19px;background:#fffdf6ed;box-shadow:0 8px 24px #655e7626;backdrop-filter:blur(8px);pointer-events:auto;}
.rotate-card p {flex:1;margin:0;font-size:11px;line-height:1.45;color:#655e70;}.rotate-card p strong,.rotate-card p span{display:block}.rotate-card p strong{font-size:12px;color:#6f628f}.rotate-card p span{font-size:9px;color:#8d8497;}
.rotate-card button {display:grid;place-items:center;width:27px;height:27px;flex:0 0 auto;border:0;border-radius:50%;padding:0;background:#e9e2f5;color:#706783;font-size:16px;}
.rotate-art {flex:0 0 auto;font-size:24px;line-height:1;}
.rotate-phone {position:absolute;width:120px;height:140px;left:90px;top:12px;animation:turn-phone 3s ease-in-out infinite;}
.rotate-ghost {position:absolute;width:88px;height:94px;left:12px;top:58px;animation:bounce 2.5s ease-in-out infinite;}
@keyframes turn-phone {0%,15%,100%{transform:rotate(0)}40%,80%{transform:rotate(-90deg)}}
canvas {scroll-margin-bottom:env(safe-area-inset-bottom,0px);}
.game-shell {touch-action:auto;}
@media(prefers-reduced-motion:reduce){.rotate-phone,.rotate-ghost {animation:none;}.rotate-phone {transform:rotate(-90deg);}}

/* Wide menus use five columns and a small welcome column. */
@media (min-width:1000px), (orientation:landscape) and (max-height:650px), (orientation:landscape) and (pointer:coarse) {
  .intro-panel {display:grid;grid-template-columns:minmax(180px,.85fr) minmax(0,2fr);grid-template-rows:1fr auto;gap:12px 22px;max-width:940px;width:calc(100% - 36px);padding:20px 24px;text-align:left;}
  .intro-welcome {grid-column:1;grid-row:1;align-self:center;text-align:center;}
  .intro-launch {grid-column:1;grid-row:2;text-align:center;align-self:end;}
  .intro-browser {grid-column:2;grid-row:1 / 3;min-width:0;min-height:0;}
  .intro-panel h1 {font-size:32px;line-height:1.3;margin:10px 0;}
  .intro-panel h1 br {display:block;}
  .intro-panel p {font-size:10px;line-height:1.7;margin-bottom:8px;}
  .score-summary {flex-wrap:wrap;gap:6px;margin:10px 0;font-size:10px;}
  .intro-launch .primary-button {padding:12px 10px;font-size:12px;gap:12px;}
  .intro-launch .intro-help {font-size:8px;line-height:1.7;}
  .stage-tabs {margin-bottom:7px;}
  .world-tabs {margin-top:0;}
  .world-choices {grid-template-columns:repeat(5,minmax(0,1fr));max-height:none;margin:0;padding:3px;gap:7px;overflow:visible;}
  .stage-grid-scroll {max-height:230px;overflow-y:auto;}
  .stage-grid-scroll.all-chapters {max-height:230px;}
  .world-choices .stage-choice {min-height:58px;padding:8px 5px;}
  .world-choices .stage-choice b {font-size:10px;line-height:1.5;}
  .world-choices .stage-choice small {font-size:10px;}
  .result-panel {max-width:780px;display:grid;grid-template-columns:1.2fr 1fr;gap:8px 25px;padding:20px 25px;}
  .result-copy {grid-column:1;text-align:left;}
  .result-copy h2 {font-size:27px;margin:6px 0;}
  .result-copy p {font-size:10px;line-height:1.7;margin:7px 0;}
  .result-copy .score-breakdown {align-items:flex-start;font-size:14px;}
  .result-copy .result-parade {height:35px;margin:8px 0;justify-content:flex-start;}
  .result-score {grid-column:2;align-self:center;border-left:1px solid #dfe7d1;padding:15px 5px 15px 20px;}
  .result-stars.score-number {font-size:39px;line-height:1.3;}
  .result-navigation {grid-column:1 / 3;display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;align-items:center;}
  .result-navigation .result-actions {margin:0;gap:18px;flex-wrap:wrap;}
  .result-navigation .primary-button {padding:12px 10px;}
  .result-navigation .revive-note {grid-column:1 / 3;}
  .ranking-panel {width:calc(100% - 36px);max-width:820px;display:grid;grid-template-columns:minmax(190px,.8fr) minmax(0,1.5fr);gap:10px 24px;padding:20px 25px;}
  .ranking-panel>.eyebrow,.ranking-panel>h2,.ranking-panel>p {grid-column:1 / 3;margin:0;}
  .ranking-panel form {grid-column:1;grid-row:4;margin:5px 0;}
  .ranking-panel form>div {display:flex;flex-direction:column;gap:7px;}
  .ranking-panel input {width:100%;}
  .ranking-panel>small {grid-column:1;grid-row:5;}
  .ranking-panel>.result-actions {grid-column:1;grid-row:6;align-self:end;margin:4px 0;flex-wrap:wrap;gap:10px;}
  #ranking-list {grid-column:2;grid-row:4 / 7;max-height:220px;margin:0;}
  #ranking-list li {padding:12px 6px;font-size:14px;}
}

/* Phone landscape fills the viewport; controls stay inside notch/home safe areas. */
@media (orientation:landscape) and (max-height:540px), (orientation:landscape) and (pointer:coarse) {
  body {overflow:hidden;}
  .app {max-width:none;padding:0;}
  .game-shell {height:100svh;height:100dvh;min-height:0;max-height:none;border:0;border-radius:0;box-shadow:none;}
  .masthead {position:fixed;top:calc(env(safe-area-inset-top) + 8px);right:calc(env(safe-area-inset-right) + 44px);margin:0;z-index:12;pointer-events:none;}
  .masthead .brand,.masthead .prototype,.below-game,.about {display:none;}
  .masthead .header-tools {display:block;}
  #sound {pointer-events:auto;width:28px;height:28px;font-size:17px;background:#fffdf1de;}
  .sound-slash {font-size:19px;}
  .hud {top:calc(env(safe-area-inset-top) + 8px);left:calc(env(safe-area-inset-left) + 12px);right:calc(env(safe-area-inset-right) + 12px);height:34px;align-items:flex-start;gap:8px;}
  .count-pill {padding:6px 10px;font-size:14px;gap:4px;}
  .mini-ghost {width:19px;height:19px;}
  .count-label {display:none;}
  .stage-status {position:absolute;left:50%;transform:translateX(-50%);width:min(29vw,260px);margin:0;}
  .stage-status .stage-pill {padding:5px 8px;font-size:10px;gap:6px;}
  .stage-status .progress-track {margin-top:4px;}
  .star-status {margin-left:auto;margin-right:70px;gap:5px;}
  .star-status .star-pill {padding:5px 8px;font-size:14px;}
  .hud-score {font-size:10px;padding-top:8px;}
  .pause {position:absolute;right:0;top:0;width:28px;height:28px;}
  
  
  .play-hint {left:calc(env(safe-area-inset-left) + 20px);bottom:calc(env(safe-area-inset-bottom) + 12px);max-width:55%;padding:5px 9px;font-size:8px;background:#fffcef70;}
  .toast {top:calc(env(safe-area-inset-top) + 49px);font-size:10px;padding:6px 12px;}
  .overlay {padding:calc(env(safe-area-inset-top) + 44px) calc(env(safe-area-inset-right) + 12px) calc(env(safe-area-inset-bottom) + 8px) calc(env(safe-area-inset-left) + 12px);align-items:center;}
  .intro-panel,.result-panel,.ranking-panel,.pause-panel {max-height:100%;width:100%;padding:14px 18px;}
  .intro-panel {max-width:960px;height:100%;grid-template-columns:minmax(150px,.7fr) minmax(0,2fr);gap:8px 18px;overflow:hidden;}
  .intro-panel h1 {font-size:27px;line-height:1.25;margin:6px 0;}
  .intro-panel p {font-size:9px;line-height:1.55;}
  .eyebrow {font-size:8px;}
  .intro-browser {display:flex;flex-direction:column;overflow:hidden;}
  .intro-browser .stage-grid-scroll {flex:1;max-height:none;min-height:0;overflow-y:auto;}
  .stage-tabs button {font-size:9px;padding:5px 3px;}
  .world-choices .stage-choice {padding:5px 4px;min-height:52px;}
  .world-choices .stage-choice b {font-size:9px;}
  .world-choices .stage-choice small {font-size:9px;}
  .intro-launch .primary-button {padding:9px 8px;}
  .intro-launch .intro-help {margin-top:6px;}
  .intro-panel .world-score {margin:0 0 3px;font-size:10px;}
  .result-copy h2 {font-size:24px;}.result-copy .score-breakdown {font-size:12px;margin:8px 0;}
  .result-copy .result-parade {height:26px;margin:3px 0;}.result-copy .parade-ghost {width:24px;height:25px;}
  .result-stars.score-number {font-size:34px;}
  .ranking-panel h2 {font-size:22px;}.ranking-panel p {font-size:10px;}
  #ranking-list {max-height:none;}#ranking-list li {padding:8px 5px;font-size:12px;}
}
@media (orientation:landscape) and (max-height:300px) {
  .intro-panel {grid-template-columns:140px minmax(0,1fr);gap:6px 12px;}.intro-panel h1 {font-size:23px;}.intro-welcome>p,.intro-launch .intro-help {display:none;}.hud-score {display:none;}.result-copy .result-parade {display:none;}.result-copy p {margin:3px 0;}.result-copy h2 {font-size:20px;}.result-stars.score-number {font-size:30px;}
}
@media (orientation:landscape) and (max-width:650px) {
  .star-status {flex-direction:column;align-items:flex-end;gap:0;}
  .hud-score {padding-top:1px;font-size:9px;}
}

/* The home is a scrollable page; only the actual game fills a phone in landscape. */
body:not(.showing-game){overflow:auto;background:radial-gradient(ellipse at 85% 0,#d8cdf33d,transparent 45%),#FFF9F1;color:#5D5968;}
body:not(.showing-game) .app{max-width:1140px;padding:20px max(20px,env(safe-area-inset-right)) 18px max(20px,env(safe-area-inset-left));}
body:not(.showing-game) .masthead{position:relative;inset:auto;display:flex;align-items:center;justify-content:space-between;gap:14px;pointer-events:auto;margin:0 0 20px;padding:10px 14px;border:1px solid #5D59681f;border-radius:22px;background:#FFFDF8;box-shadow:0 6px 20px #7964990b;}
body:not(.showing-game) .masthead .brand{display:flex;color:#5D5968;font-size:16px;}
body:not(.showing-game) .brand svg{width:49px;height:42px;}body:not(.showing-game) .brand small{color:#776D86;font-size:10px;}
body:not(.showing-game) .masthead .header-tools{display:flex;align-items:center;gap:12px;}
body:not(.showing-game) #sound{width:36px;height:36px;font-size:21px;background:#DDF1F2;pointer-events:auto;}
.main-nav{display:flex;gap:3px;padding:4px;border-radius:14px;background:#F0EAF9;}
.main-nav button{border:0;border-radius:10px;background:transparent;padding:10px 14px;color:#756C82;font-family:inherit;font-weight:700;font-size:12px;white-space:nowrap;cursor:pointer;}
.main-nav button.active{background:#E6DFF7;color:#625B78;box-shadow:0 2px 8px #5D59680d;}
body.showing-game .main-nav{display:none;}
.home-view{max-width:none;}
.paper-panel{border:2px solid #FFFDF8;border-radius:28px;background:#FFFDF8;box-shadow:0 8px 28px #79649910;}
.home-hero{position:relative;background:#FFF9F1;display:grid;grid-template-columns:1.2fr .8fr;min-height:320px;overflow:hidden;}
.home-hero::before{content:"";position:absolute;width:440px;height:340px;border-radius:48% 52% 58% 42%;right:-55px;top:-85px;background:#BFE6EA80;animation:soda-shape 18s ease-in-out infinite;}
.home-hero::after{content:"";position:absolute;width:390px;height:220px;border-radius:50%;right:100px;bottom:-130px;background:#D8CDF399;animation:soda-shape 23s ease-in-out infinite reverse;}
.hero-copy{position:relative;z-index:1;align-self:center;padding:36px 42px;}
.hero-copy .eyebrow{color:#8873B4;font-size:10px;letter-spacing:.16em;}
.hero-copy h1{margin:10px 0 14px;font-size:clamp(38px,5vw,57px);line-height:1.22;color:#5D5968;letter-spacing:.03em;}
.hero-copy h1 span{color:#8873B4;}.hero-copy p{font-size:13px;color:#756C82;line-height:1.9;margin:0;}
.hero-actions{display:flex;align-items:center;gap:12px;margin:22px 0 12px;}
.hero-actions .primary-button{padding:13px 22px;background:#AFA2DF;border:0;box-shadow:0 4px 0 #8C7AB6;color:#FFFDF8;font-size:14px;min-height:46px;}
.soft-button{border:1px solid #5D596826;border-radius:14px;padding:12px 18px;min-height:44px;background:#E4F3F2;color:#71677F;font:inherit;font-size:12px;cursor:pointer;}
#continue-label{display:block;font-size:10px;color:#776D86;}
.hero-art{position:relative;z-index:1;display:grid;align-content:center;justify-items:center;padding:38px 28px 18px;}
.hero-art>svg{width:170px;height:158px;animation:home-float 3.7s ease-in-out infinite;}
.hero-art>p{margin:0 0 6px;padding:10px 16px;border-radius:16px 16px 4px 16px;transform:rotate(4deg);background:#FFFDF8;box-shadow:0 5px 20px #5D59680a;font-size:12px;line-height:1.5;color:#756C82;}
.hero-parade{display:flex;align-items:end;justify-content:center;max-width:100%;margin-top:16px;}
.hero-parade svg{width:29px;height:30px;margin:0 -1px;animation:home-float 2.5s ease-in-out infinite;animation-delay:var(--delay);}
@keyframes home-float{50%{transform:translateY(-7px) rotate(-2deg);}}
.home-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:18px 24px;border-radius:22px;}
.home-summary .eyebrow{font-size:9px;color:#8873B4;}.home-summary strong{display:block;font-size:16px;margin-top:5px;}
.progress-pill{display:inline-block;flex-shrink:0;padding:8px 12px;border-radius:999px;background:#E6DFF7;color:#706083;font-size:11px;font-weight:700;}
.fields-section{margin-top:30px;}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:16px;}
.section-heading .eyebrow{color:#8873B4;font-size:10px;}.section-heading h2{margin:5px 0 0;font-size:24px;color:#5D5968;letter-spacing:0;}.section-heading>p{margin:0;font-size:11px;color:#776D86;}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.field-card{min-width:0;border:2px solid #FFFDF8;border-radius:24px;overflow:hidden;background:#FFFDF8;box-shadow:0 7px 24px #7964990a;}
.field-picture{position:relative;background:var(--field-color);overflow:hidden;}.field-scene{display:block;width:100%;height:auto;max-height:158px;}
.field-number{position:absolute;left:16px;top:14px;border-radius:999px;padding:6px 9px;background:#FFFDF8df;color:#716581;font-size:9px;font-weight:800;letter-spacing:.13em;}
.field-copy{padding:18px;}.field-copy h3{font-size:20px;margin:0 0 6px;}.field-copy>p{font-size:11px;color:#776D86;line-height:1.6;margin:0;min-height:35px;}
.field-stats{display:flex;justify-content:space-between;gap:8px;margin:13px 0 12px;font-size:10px;color:#77698D;}
.field-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.field-stages .stage-choice{min-width:0;min-height:76px;padding:9px 5px;border:1px solid #5D596826;border-radius:12px;background:#FAF7FE;color:#5D5968;text-align:center;cursor:pointer;transition:background .15s,transform .15s;}
.field-stages .stage-choice>span{display:block;color:#8873B4;font-size:10px;font-weight:800;margin:0 0 5px;}
.field-stages .stage-choice>b{display:block;font-size:10px;line-height:1.4;color:#71677F;overflow-wrap:anywhere;}
.field-stages .stage-choice>small{display:block;font-size:9px;color:#80758F;margin:5px 0 0;}
.field-stages .stage-choice.completed{background:#E6F3EF;border-color:#B8DDE0;}.field-stages .stage-choice.completed>span::after{content:" ✓";color:#608D8D;}
.field-stages .stage-choice:hover{background:var(--field-color);transform:translateY(-2px);}.field-stages .stage-choice.selected{border-color:#AFA2DF;}
button:focus-visible,a:focus-visible{outline:3px solid #9784C6;outline-offset:4px;}
body:not(.showing-game) .below-game,body:not(.showing-game) .about{display:flex;}
body:not(.showing-game) .about{margin-top:18px;}.below-game{margin-top:18px;}
body:not(.showing-game) .ranking-panel{display:block;width:100%;max-width:none;max-height:none;overflow:visible;text-align:left;margin:0;padding:28px;background:#FFFDF8;border:1px solid #5D596821;border-radius:28px;box-shadow:0 8px 28px #79649910;}
body:not(.showing-game) .ranking-panel h2{margin:10px 0;font-size:28px;color:#5D5968;}
body:not(.showing-game) .ranking-panel form{max-width:580px;margin:20px 0;}body:not(.showing-game) .ranking-panel label{text-align:left;margin:8px 0;}
body:not(.showing-game) .ranking-panel form>div{display:flex;flex-direction:row;gap:8px;}body:not(.showing-game) .ranking-panel input{flex:1;width:auto;}
body:not(.showing-game) #ranking-list{max-height:none;margin:24px 0;}
body:not(.showing-game) #ranking-list li{display:grid;grid-template-columns:45px minmax(0,1fr) auto;padding:14px 10px;border-radius:12px;background:#F2EDF9;margin:6px 0;}
body:not(.showing-game) #ranking-list li strong{display:flex;align-items:center;gap:12px;white-space:nowrap}body:not(.showing-game) #ranking-list li strong em{font-style:normal;color:#b58d35;font-size:.88em}
body:not(.showing-game) .ranking-panel>.result-actions{justify-content:flex-start;}
.help-view{padding:32px;}.help-view>h2{font-size:28px;margin:10px 0;color:#5D5968;}.help-view>p,.help-note p{font-size:12px;line-height:1.9;color:#756C82;}
.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:25px 0;}.help-grid article{border:1px solid #5D59681a;background:#F2ECFB;border-radius:18px;padding:22px;}.help-grid article>span{color:#8873B4;font-size:12px;font-weight:800;}.help-grid h3{font-size:17px;margin:9px 0;}.help-grid p{font-size:12px;line-height:1.8;color:#756C82;margin:0;}
.help-note{padding:20px;border-radius:18px;background:#E2F3F2;margin-bottom:20px;}.help-note strong{font-size:15px;}.help-note p{margin-bottom:0;}
.feedback-settings{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 20px;}.feedback-settings p{margin:0;font-size:12px;line-height:1.8;color:#756C82;}.feedback-settings button[aria-pressed="true"]{background:#E6DFF7;color:#625B78;}
@media(max-width:760px){body:not(.showing-game) .app{padding-top:max(12px,env(safe-area-inset-top));}body:not(.showing-game) .masthead{flex-wrap:wrap;gap:8px;padding:10px 12px;margin-bottom:14px;}.main-nav button{padding:9px 10px;font-size:11px;}.hero-copy{padding:25px 24px;}.home-hero{min-height:270px;grid-template-columns:1.35fr .65fr;}.hero-copy h1{font-size:38px;}.hero-copy p{font-size:11px;}.hero-art{padding:24px 14px;}.hero-art>svg{width:120px;height:120px;}.hero-art>p{font-size:10px;padding:8px 10px;}.hero-parade{flex-wrap:wrap;width:150px;}.hero-parade svg{width:25px;height:26px;}.hero-actions{gap:8px;}.hero-actions .primary-button{padding:12px 15px;font-size:12px;}.hero-actions .soft-button{padding:12px;font-size:11px;}.field-grid{gap:14px;}.field-copy{padding:14px;}.field-stages{gap:6px;}.section-heading>p{display:none;}.field-copy h3{font-size:18px;}.field-stats{font-size:9px;}.home-summary{padding:14px 18px;}.home-summary strong{font-size:14px;}}
@media(max-width:620px) and (orientation:portrait){body:not(.showing-game) .app{padding-left:14px;padding-right:14px;}.field-grid{grid-template-columns:1fr;}.home-hero{grid-template-columns:minmax(0,1fr) 110px;}.hero-copy{padding:23px 18px;}.hero-copy h1{font-size:34px;}.hero-art{padding:30px 8px 20px;}.hero-art>svg{width:99px;height:100px;}.hero-parade{width:100px;}.hero-parade svg{width:19px;height:20px;}.hero-art>p{font-size:9px;}.hero-actions{flex-wrap:wrap;margin-top:18px;}body:not(.showing-game) .masthead .header-tools{gap:6px;}.brand{flex:1;}body:not(.showing-game) .brand span{font-size:13px;}.main-nav{order:2;}.home-summary{flex-wrap:wrap;}.help-grid{grid-template-columns:1fr;}.help-view{padding:22px;}.help-view>h2{font-size:23px;}.section-heading h2{font-size:22px;}body:not(.showing-game) .ranking-panel{padding:22px;}}
@media(orientation:landscape) and (max-height:540px){body.showing-game{overflow:hidden;}body:not(.showing-game) .home-hero{min-height:230px;}body:not(.showing-game) .hero-copy{padding:23px 32px;}body:not(.showing-game) .hero-copy h1{font-size:35px;}body:not(.showing-game) .hero-art{padding:16px;}body:not(.showing-game) .hero-art>svg{width:115px;height:105px;}body:not(.showing-game) .hero-parade{margin-top:8px;}body:not(.showing-game) .eyebrow{font-size:9px;}}
@media(prefers-reduced-motion:reduce){.hero-art>svg,.hero-parade svg{animation:none;}.field-stages .stage-choice{transition:none;}}

/* Locked courses remain visible so the next destination is easy to discover. */
.unlock-guide{margin:-5px 0 16px;font-size:11px;color:#776D86;}
.field-access{display:block;margin:-1px 0 8px;font-size:10px;color:#6E8D89;}
.field-card.locked .field-access{color:#82768F;}
.field-card.locked .field-scene{opacity:.85;}
.field-stages .stage-choice:disabled{opacity:1;background:#F0EBF7;border-color:#E1D8EE;color:#8B7F9A;cursor:default;transform:none;}
.field-stages .stage-choice:disabled>b,.field-stages .stage-choice:disabled>span{color:#8B7F9A;}
.field-stages .stage-choice:disabled>small{font-size:8px;color:#8B7F9A;line-height:1.5;}
.field-stages .stage-choice:disabled:hover{background:#F0EBF7;transform:none;}

/* Cream soda, lilac and lemon: a bouncy entrance to eight small adventures. */
:root{--run-cream:#FFF9F1;--run-soda:#BFE6EA;--run-lilac:#D8CDF3;--run-pink:#F5CDD9;--run-lemon:#F6E6A8;--run-mint:#CDE8D0;--run-ink:#5D5968;--run-button:#AFA2DF;}
body:not(.showing-game) .masthead{border-color:#FFFFFF;box-shadow:0 6px 22px #8873B411;}
body:not(.showing-game) .eyebrow{color:#8873B4;}
body:not(.showing-game) .about{border-color:#DDD4E8;color:#847790;}
body:not(.showing-game) .sound-slash{color:#9784B5;}
body:not(.showing-game) #sound{color:#8873B4;border-color:#C8DDE4;}
.hero-actions .primary-button:hover{background:#9B8ACF;}
.hero-actions .primary-button:active{background:#9180C5;box-shadow:0 1px 0 #806AAE;}
.soft-button:hover{background:#D4ECEE;border-color:#ADCFD4;}
.main-nav button:hover:not(.active){background:#E4F3F2;color:#706083;}
.hero-art::before{content:"";position:absolute;width:210px;height:175px;right:-30px;top:42px;background:#F5CDD970;border-radius:55% 45% 48% 52%;z-index:0;}
.hero-art>svg,.hero-art>p,.hero-parade{position:relative;z-index:1;}
.hero-art>p{background:#FFFDF8d9;border:1px solid #FFFDF8;color:#756C82;}
.hero-decoration{position:absolute;inset:0;pointer-events:none;z-index:0;}
.hero-bubble{position:absolute;width:22px;height:22px;border:2px solid #FFFDF8ce;border-radius:50%;background:#BFE6EA35;box-shadow:inset 2px 2px 0 #D8CDF380;animation:soda-bubble 7s ease-in-out infinite;}
.bubble-one{left:56%;top:19%;width:16px;height:16px;animation-delay:-1s;}
.bubble-two{right:5%;top:32%;width:27px;height:27px;animation-delay:-4s;}
.bubble-three{left:60%;bottom:19%;width:24px;height:24px;animation-delay:-2s;}
.bubble-four{right:16%;bottom:14%;width:12px;height:12px;animation-delay:-5s;}
.hero-spark{position:absolute;color:#DBC675;font-size:24px;line-height:1;animation:soda-spark 6s ease-in-out infinite;}
.spark-one{left:62%;top:11%;}.spark-two{right:4%;bottom:27%;font-size:18px;animation-delay:-3s;}.spark-three{left:52%;bottom:12%;font-size:13px;animation-delay:-1s;color:#AFA2DF;}
.home-summary{background:linear-gradient(105deg,#FFFDF8 20%,#E9F5F3 100%);}
.home-summary .progress-pill{background:#E6DFF7;color:#706083;}
.field-copy h3{color:#5D5968;}.field-number{background:#FFFDF8e8;border:1px solid #FFFFFF;}
.field-stages .stage-choice:not(:disabled):hover{border-color:#B6A7D4;box-shadow:0 3px 9px #8873B412;}
.field-stages .stage-choice.completed>small{color:#628C89;}
body:not(.showing-game) .ranking-panel{border:2px solid #FFFDF8;}
body:not(.showing-game) .ranking-panel button{background:#E4F3F2;color:#706083;}
body:not(.showing-game) .ranking-panel #ranking-join{background:#AFA2DF;color:#FFFDF8;font-weight:700;}
body:not(.showing-game) .ranking-panel #ranking-join:hover{background:#9B8ACF;}
body:not(.showing-game) .ranking-panel input{border-color:#D5C9E7;background:#FFFDF8;color:#5D5968;}
body:not(.showing-game) .ranking-panel p,body:not(.showing-game) .ranking-panel small,body:not(.showing-game) #ranking-list li small{color:#776D86;}
body:not(.showing-game) #ranking-list li{border-color:#E1D8EE;}
body:not(.showing-game) .ranking-panel .result-actions button{border-color:#C8BFDB;}
@keyframes soda-bubble{0%,100%{transform:translateY(4px);opacity:.55;}50%{transform:translateY(-12px);opacity:.9;}}
@keyframes soda-spark{0%,100%{transform:translateY(2px) rotate(-8deg);opacity:.65;}50%{transform:translateY(-5px) rotate(8deg);opacity:1;}}
@keyframes soda-shape{50%{transform:translate(10px,8px) rotate(5deg);}}
body.showing-game .home-hero::before,body.showing-game .home-hero::after,body.showing-game .home-hero *{animation-play-state:paused;}
@media(max-width:620px) and (orientation:portrait){.hero-art::before{width:150px;height:160px;right:-45px;top:50px;}.bubble-one{left:64%;}.spark-one{left:71%;}.spark-three{left:56%;}.home-hero::after{right:20px;}}
@media(prefers-reduced-motion:reduce){.home-hero::before,.home-hero::after,.hero-bubble,.hero-spark{animation:none;}body:not(.showing-game) button{transition:none;}}

.primary-button{background:var(--run-button);color:#FFFDF8;box-shadow:0 4px 0 #8C7AB6;}
.primary-button:hover{background:#9B8ACF;}.primary-button:active{background:#9180C5;box-shadow:0 1px 0 #806AAE;}
/* Endless web app */
.endless-app{background:radial-gradient(circle at 15% 8%,#e8f6f5 0 10%,transparent 28%),radial-gradient(circle at 88% 18%,#eee7fb 0 12%,transparent 30%),#fff9f1;color:#5d5968}
.endless-home{width:min(1180px,calc(100% - 36px));margin:24px auto 54px;display:grid;gap:22px}
.endless-hero{min-height:520px;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(380px,.96fr);align-items:center;overflow:hidden;position:relative;padding:clamp(34px,6vw,78px);border:1px solid #fff;background:linear-gradient(135deg,#fffdf8 0 45%,#e7f5f4 45% 72%,#e8dff8 72%);box-shadow:0 24px 70px #776c9230}
.endless-copy{position:relative;z-index:2}.endless-copy h1{font-size:clamp(40px,5vw,68px);line-height:1;letter-spacing:-.06em;margin:18px 0 24px}.endless-copy h1 span{color:#8f7bd0}.endless-copy h1 .title-main{color:#505b56;white-space:nowrap}.endless-copy>p{font-size:clamp(16px,2vw,21px);line-height:1.9;margin-bottom:30px}.endless-copy .primary-button{font-size:18px;padding:18px 28px;box-shadow:0 12px 28px #8e7aca42}
.home-record{display:inline-flex;flex-direction:column;margin-left:20px;vertical-align:middle}.home-record small{font-size:10px;letter-spacing:.18em}.home-record strong{font-size:25px;color:#7565ad}
.endless-hero-art{position:relative;height:390px;display:grid;place-items:center}.endless-hero-art>svg{width:min(310px,75%);filter:drop-shadow(0 18px 18px #6a657026);animation:endless-bob 2.4s ease-in-out infinite}.route-line{position:absolute;width:390px;height:210px;border:3px dashed #ffffffb8;border-radius:50%;transform:rotate(-12deg)}
.field-orbit span{position:absolute;padding:8px 14px;border-radius:999px;background:#fffdf8dd;border:1px solid #fff;color:#716a80;font-size:12px;box-shadow:0 6px 18px #74698820}.field-orbit span:nth-child(1){left:2%;top:13%}.field-orbit span:nth-child(2){right:3%;top:8%}.field-orbit span:nth-child(3){left:0;bottom:18%}.field-orbit span:nth-child(4){right:0;bottom:22%}.field-orbit span:nth-child(5){left:32%;bottom:0}.field-orbit span:nth-child(6){right:27%;top:0}@keyframes endless-bob{50%{transform:translateY(-12px) rotate(1.5deg)}}
.field-route{padding:25px 30px;background:#ffffffbd}.field-route-list{display:flex;gap:9px;align-items:center;overflow-x:auto;padding:16px 0 10px;scrollbar-width:thin}.field-route-list span{flex:0 0 auto;padding:10px 14px;border-radius:16px;background:#f0eafa;font-weight:700}.field-route-list span:nth-of-type(3n+1){background:#e2f1df}.field-route-list span:nth-of-type(3n+2){background:#e0f2f4}.field-route-list span:nth-of-type(3n){background:#f7e6ee}.field-route-list i{font-style:normal;color:#a69ab9}.field-route p{margin:8px 0 0;color:#81788a}
.endless-hud{grid-template-columns:auto minmax(200px,360px) auto auto}.endless-hud .stage-pill{display:flex;gap:10px;align-items:baseline;justify-content:center}.endless-hud .stage-pill small{font-size:10px;color:#948ca0}.distance-pill{min-width:116px;padding:7px 15px;border-radius:18px;background:#fffdf6df;border:1px solid #fff;box-shadow:0 4px 14px #655e761a;text-align:right}.distance-pill small{display:block;font-size:8px;letter-spacing:.16em;color:#8d8497}.distance-pill strong{font-size:21px;color:#665a8e;font-variant-numeric:tabular-nums}.endless-result .score-number{font-size:clamp(42px,7vw,74px);color:#8b78c7}.endless-result #result-ranking-status{font-size:12px;color:#7d7587;margin-top:12px}.endless-result .result-parade{opacity:.62;filter:grayscale(.15)}
.game-home{position:absolute;z-index:4;top:76px;left:25px;display:flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid #ffffffd9;border-radius:999px;background:#fffdf6d9;color:#706783;box-shadow:0 4px 14px #655e7617;font-size:10px;font-weight:700;letter-spacing:.03em;backdrop-filter:blur(5px)}.game-home:hover{background:#f0eafa}.game-home:active{transform:translateY(1px)}
@media(max-width:760px){.endless-hero{grid-template-columns:1fr;min-height:auto;padding:34px 26px}.endless-hero-art{height:270px}.endless-copy h1{font-size:40px}.home-record{margin:18px 0 0 12px}.endless-hud{grid-template-columns:auto 1fr auto}.endless-hud .stage-status{display:block}.endless-hud .pause{position:fixed;right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom))}.distance-pill{min-width:94px;padding:5px 10px}.distance-pill strong{font-size:17px}}
@media(max-width:760px){.game-home{top:58px;left:max(10px,env(safe-area-inset-left));padding:6px 10px;font-size:9px}}
@media(max-height:520px) and (orientation:landscape){.masthead,.below-game{display:none}.game-shell{height:100dvh}.endless-hud{top:max(5px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right))}.game-home{top:48px;left:max(8px,env(safe-area-inset-left))}.play-hint{bottom:max(5px,env(safe-area-inset-bottom))}}
.game-share-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}
.game-share-actions button{padding:10px 16px;border:1px solid #cbbde8;border-radius:999px;background:#fffdf8e8;color:#71628f;font-size:12px;font-weight:700;box-shadow:0 4px 12px #776c9217}
.game-share-actions button:hover{background:#f0eafa}
.game-share-status{min-height:1.5em;margin:8px 0 0;font-size:11px;line-height:1.5;color:#71628f}
.endless-result .game-share-status{margin:0;font-size:10px}
.endless-app .stamp-promo{margin:0 auto 28px;--accent:#71628f;--focus:#9784c6}
body.showing-game .stamp-promo{display:none}
@media(max-width:760px){.game-share-actions{margin-top:22px}.game-share-actions button{padding:9px 13px;font-size:11px}}
