@import "https://fonts.googleapis.com/css2?family=DotGothic16&family=Noto+Sans+TC:wght@700;900&display=swap";:root{--bg:#fbf7dd;--panel:#f7efc7;--panel-soft:#fbf7dd;--panel-border:#7f9f50;--panel-shadow:#d2e0ad;--panel-shadow-rgb:210, 224, 173;--text:#566c3c;--muted:#566c3cd6;--accent:#7f9f50;--accent-strong:#566c3c;--cream:#fff9e8;--sky:#91d8ff;--shadow:6px 6px 0 rgba(var(--panel-shadow-rgb), .95);--stage-hud-height:60px;--stage-frame-dark:#566c3c;--stage-frame-mid:#d2e0ad;--stage-frame-light:#f8f4d7;--ui-line-soft:#d2e0ad;--ui-wash:#fbf7dd;--font-ui:"Noto Sans TC", "Segoe UI", sans-serif;--font-display:"DotGothic16", "Noto Sans TC", sans-serif;font-family:var(--font-ui);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}*{box-sizing:border-box}html,body{background:var(--bg);width:100%;min-height:100%;margin:0;overflow-x:hidden}body{color:var(--text);font-weight:700}:is(html:has(.modal-shell[open]),body:has(.modal-shell[open])){overflow:hidden}h1,h2,h3,p{margin:0}button{font:inherit;color:inherit;cursor:pointer;font-family:inherit}a{color:inherit;text-decoration:none}.app-shell{flex-direction:column;width:100%;max-width:100%;height:100dvh;margin:0 auto;display:flex;overflow:hidden}.more-games-link{color:var(--accent-strong);text-underline-offset:3px;font-weight:900;text-decoration:underline}.game-banner-slot{width:100%;min-height:90px;margin:0 auto;overflow:hidden}.game-over-ad-slot{border-top:2px solid var(--ui-line-soft);border-bottom:2px solid var(--ui-line-soft);text-align:center;min-height:0;padding:4px 0 6px}.game-over-ad-slot:before{content:attr(aria-label);color:var(--muted);text-align:center;margin-bottom:3px;font-size:11px;line-height:1;display:block}.game-over-ad-stub{border:3px dashed var(--ui-line-soft);background:var(--panel-soft);width:min(100%,336px);height:280px;color:var(--muted);place-content:center;gap:6px;margin:0 auto;font-size:12px;line-height:1.2;display:grid}.game-over-ad-stub strong{color:var(--accent-strong);font-size:14px}.more-games-link{justify-self:center;font-size:13px}@media (width>=480px){.app-shell{max-width:480px}}.play-stage{min-height:0;padding-top:max(0px, env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom);background:var(--panel-soft);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;flex:1;align-items:stretch;padding-left:0;padding-right:0;display:flex;position:relative;overflow:hidden}.canvas-hud{flex:0 0 var(--stage-hud-height);background:var(--panel-soft);border-bottom:2px solid var(--stage-frame-dark);align-items:center;gap:8px;width:100%;padding:6px 10px;display:flex}.canvas-area{background:var(--panel-soft);flex:auto;min-height:0;padding:0;display:flex;overflow:hidden}.stage-frame{background:#74caf2;flex:auto;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #45592f24}.stage-backdrop{z-index:0;position:absolute;inset:0;overflow:hidden}.stage-backdrop:before,.stage-backdrop:after{content:none}.stage-backdrop-image{object-fit:cover;object-position:center bottom;width:100%;height:100%;image-rendering:crisp-edges;image-rendering:pixelated;display:block}.hud-strip{background:var(--panel);border:3px solid var(--panel-border);min-width:0;height:100%;box-shadow:3px 3px 0 rgba(var(--panel-shadow-rgb), .78);border-radius:12px;flex:auto;align-items:stretch;display:flex;overflow:hidden}.hud-stat{flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:3px;min-width:0;padding:4px;display:flex}.hud-stat+.hud-stat{border-left:2px solid #7f9f503d}.hud-meta{color:var(--muted);align-items:center;gap:3px;line-height:1;display:flex}.hud-label{letter-spacing:.04em;white-space:nowrap;font-size:14px}.hud-icon{font-size:14px;line-height:1}.hud-icon--level{color:var(--accent-strong)}.hud-icon--score{color:#c8922a}.hud-icon--lives{color:#d95050}.hud-icon--coins{color:#c8a030}.hud-stat>strong{font-size:15px;line-height:1}.hud-menu-btn{border:3px solid var(--panel-border);background:var(--panel);width:50px;height:100%;color:var(--text);box-shadow:3px 3px 0 rgba(var(--panel-shadow-rgb), .78);border-radius:12px;flex-direction:column;flex:0 0 50px;justify-content:center;align-items:center;gap:5px;transition:transform .12s;display:inline-flex}.hud-menu-btn:hover{transform:translateY(-1px)}.hud-menu-btn>span{background:var(--text);width:18px;height:3px;font-size:unset;color:unset;border-radius:1px;display:block}.game-canvas{z-index:1;width:100%;height:auto;max-height:100%;image-rendering:pixelated;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:0 0;flex:none;display:block;position:relative}.primary-button,.secondary-button,.icon-button{border:3px solid var(--panel-border);background:var(--panel);color:var(--text);box-shadow:4px 4px 0 rgba(var(--panel-shadow-rgb), .9)}.icon-button{justify-content:center;align-items:center;display:inline-flex}.primary-button,.secondary-button,.icon-button{border-radius:10px;min-height:44px;padding:0 16px;transition:transform .12s}.primary-button:hover,.secondary-button:hover,.icon-button:hover{transform:translateY(-1px)}.primary-button{background:var(--accent);border-color:var(--accent-strong);color:var(--cream);text-shadow:0 1px #0000001f}.result-download-link{text-align:center;justify-content:center;align-items:center;text-decoration:none;display:flex}.result-download-link.is-disabled{cursor:wait;opacity:.68}.secondary-button{background:var(--cream)}.icon-button{flex-shrink:0;width:46px;padding:0;font-size:26px;line-height:1}.icon-button-glyph{width:16px;height:16px;display:block;position:relative}.icon-button-glyph--close:before,.icon-button-glyph--close:after{content:"";transform-origin:50%;background:currentColor;border-radius:1px;width:16px;height:3px;position:absolute;top:50%;left:50%}.icon-button-glyph--close:before{transform:translate(-50%,-50%)rotate(45deg)}.icon-button-glyph--close:after{transform:translate(-50%,-50%)rotate(-45deg)}.start-screen{z-index:5;padding:calc(22px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:pointer;background:#dff4ffd6;place-items:center;transition:opacity .18s,visibility .18s;display:grid;position:absolute;inset:0}.start-screen.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.start-card,.modal-card,.drawer-card,.stat-card,.skin-card{background:var(--panel);border:4px solid var(--panel-border);box-shadow:var(--shadow)}.start-card{text-align:center;border-radius:14px;gap:14px;width:min(100%,360px);padding:18px;display:grid}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-strong);font-size:14px;line-height:1.2}h1{font-family:var(--font-display);font-size:30px;line-height:1}h2{font-family:var(--font-display);font-size:24px;line-height:1.1}h3{font-size:16px;line-height:1.2}.start-copy,.panel-copy,.result-summary{color:var(--muted);font-size:14px;line-height:1.5}.pixel-hero-art{border:3px solid var(--panel-border);box-shadow:4px 4px 0 rgba(var(--panel-shadow-rgb), .85);background:#d7f0ff;border-radius:10px;padding:8px}.hero-art-svg{width:100%;height:auto;image-rendering:pixelated;animation:2.4s steps(2,end) infinite meadowFloat;display:block}.start-prompt-wrap{gap:8px;display:grid}.start-prompt{font-family:var(--font-display);color:var(--text);font-size:16px;animation:1.1s steps(2,end) infinite promptBlink}.start-sub{color:var(--muted);font-size:14px}.drawer-copyright{padding:12px 20px calc(12px + env(safe-area-inset-bottom));color:var(--muted);text-align:center;opacity:.7;margin:4px 0 0;font-size:12px}.drawer-copyright a{color:inherit;text-decoration:none}@media (height<=720px){.app-footer{display:none!important}}.modal-shell,.drawer-shell{background:0 0;border:0;padding:0}.modal-shell::backdrop,.drawer-shell::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#10181b8f}.modal-shell{width:min(100%,480px);max-width:calc(100vw - 18px);max-height:calc(100dvh - 18px)}.guide-shell{width:min(100%,480px)}.modal-card{border-radius:14px;max-height:calc(100dvh - 18px);padding:18px;overflow:auto}.modal-card--share{align-content:start;gap:12px;padding-bottom:18px;padding-left:15px;padding-right:15px;display:grid;overflow:hidden}.modal-card--share .result-summary{text-align:center;margin:0}.result-score-title{color:var(--accent-strong);font-family:var(--font-display);font-size:34px;line-height:1}.modal-card--share .share-actions{grid-template-columns:minmax(0,1fr);display:grid}.modal-card--score-upload{gap:12px;display:grid}.guide-card{gap:14px;display:grid}.guide-list{color:var(--muted);gap:10px;margin:0;padding-left:18px;font-size:14px;line-height:1.5;display:grid}.drawer-shell{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;position:fixed;inset:0}.drawer-card{width:min(92vw,388px);height:100%;padding:calc(18px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom));border-width:0 0 0 4px;align-content:start;gap:14px;margin-left:auto;display:grid;overflow:auto}.drawer-header,.modal-header,.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.drawer-section,.drawer-stats,.shop-grid{gap:10px;display:grid}.drawer-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat-card{background:var(--panel-soft);min-width:0;box-shadow:3px 3px 0 rgba(var(--panel-shadow-rgb), .78);border-width:3px;border-radius:8px;padding:7px 9px}.stat-card span,.drawer-pill,.skin-price{color:var(--muted);font-size:12px}.stat-card strong{white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:15px;display:block;overflow:hidden}.drawer-pills,.drawer-actions,.share-actions,.tag-grid{flex-wrap:wrap;gap:8px;display:flex}.drawer-pill{border:3px solid var(--ui-line-soft);background:var(--cream);color:var(--text);border-radius:999px;padding:7px 11px}.locale-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.locale-button{border:3px solid var(--panel-border);background:var(--cream);min-width:0;color:var(--text);text-align:center;border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.1;transition:transform .12s,background-color .12s,color .12s}.locale-button:hover{transform:translateY(-1px)}.locale-button.is-active{background:var(--accent);color:var(--cream);box-shadow:4px 4px 0 rgba(var(--panel-shadow-rgb), .92)}.menu-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.menu-entry-card{text-align:left;border:3px solid var(--panel-border);background:var(--panel-soft);box-shadow:4px 4px 0 rgba(var(--panel-shadow-rgb), .92);color:var(--text);border-radius:12px;align-content:start;gap:6px;padding:12px;transition:transform .12s;display:grid}.menu-entry-card:hover{transform:translateY(-1px)}.menu-entry-title{font-family:var(--font-display);font-size:18px;line-height:1.1}.menu-entry-copy{color:var(--muted);font-size:13px;line-height:1.35}.menu-entry-cta{border:2px solid var(--accent-strong);background:var(--cream);color:var(--accent-strong);border-radius:999px;justify-self:start;margin-top:2px;padding:5px 12px;font-size:13px;line-height:1}.share-actions>button,.drawer-actions>button{flex:calc(50% - 4px)}.tag-grid{margin-top:2px}.power-tag{color:var(--text);border:3px solid #566c3c2e;border-radius:999px;padding:6px 10px;font-size:14px}.power-stretch{background:#9de0a2}.power-shrink{background:#dca07d}.power-sticky{background:#9fc3ff}.power-slow{background:#9fe1e6}.power-burst{background:#ffc29a}.power-coin{background:#efd27d}.skin-preview,.skin-card-preview{border-radius:10px;width:100%;overflow:hidden}.skin-preview-canvas,.skin-card-preview{width:100%;image-rendering:pixelated;display:block}.skin-card{border-radius:10px;gap:10px;padding:14px;display:grid}.shop-grid{margin-top:16px}.score-upload-panel{gap:10px;display:grid}.score-upload-label{color:var(--text);font-size:14px;line-height:1.2}.score-upload-input{border:3px solid var(--panel-border);background:var(--cream);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:10px;padding:0 12px;font-family:inherit;font-size:16px;font-weight:700}.score-upload-input::placeholder{color:var(--muted)}.score-upload-feedback{margin:0;font-size:14px;line-height:1.35}.score-upload-feedback--success{color:var(--accent-strong)}.score-upload-success{text-align:center;justify-items:center;gap:12px;padding:18px 14px 6px;display:grid}.score-upload-success-badge{border:3px solid var(--accent-strong);background:var(--accent);width:52px;height:52px;color:var(--cream);box-shadow:4px 4px 0 rgba(var(--panel-shadow-rgb), .9);border-radius:50%;justify-content:center;align-items:center;font-size:28px;line-height:1;animation:.36s scoreUploadPop;display:inline-flex}.score-upload-success .score-upload-feedback--success{font-size:16px}.score-upload-success .primary-button{min-width:160px}@keyframes scoreUploadPop{0%{opacity:0;transform:scale(.4)}70%{transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.score-upload-feedback--error{color:#9b5a35}.score-upload-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.leaderboard-status{text-align:center;margin:6px 0}.leaderboard-status--error{color:#9b5a35}.leaderboard-list{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.leaderboard-row{border:3px solid var(--ui-line-soft);background:var(--panel-soft);border-radius:10px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.leaderboard-rank{border:2px solid var(--ui-line-soft);background:var(--cream);width:30px;height:30px;font-family:var(--font-display);color:var(--text);border-radius:8px;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.leaderboard-rank--1{background:#f4d46f;border-color:#c8a030}.leaderboard-rank--2{background:#dde6ef;border-color:#9fb0c4}.leaderboard-rank--3{background:#e8c79a;border-color:#c08a4f}.leaderboard-player{gap:2px;min-width:0;display:grid}.leaderboard-player strong{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.leaderboard-skin{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.leaderboard-meta{text-align:right;justify-items:end;gap:2px;display:grid}.leaderboard-score{color:var(--accent-strong);font-size:16px}.leaderboard-level{color:var(--muted);font-size:12px}.leaderboard-actions{margin-top:16px}.result-summary{margin:14px 0}@keyframes promptBlink{0%,to{opacity:1}50%{opacity:.42}}@keyframes meadowFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@media (width<=430px){h1{font-size:26px}.start-card,.modal-card{padding:16px}.modal-card--share{gap:6px;padding:10px 15px 12px}.modal-card--share .result-summary{font-size:12px;line-height:1.1}.result-score-title{font-size:30px}.modal-card--share .share-actions{gap:5px}.modal-card--share .more-games-link{font-size:11px;line-height:1.1}.drawer-card{width:100%;padding-left:14px;padding-right:14px}.drawer-actions>button{flex-basis:100%}}@media (width<=360px){.modal-shell{max-width:calc(100vw - 8px)}.modal-card--share{padding-left:6px;padding-right:6px}}@media (height<=760px){.modal-card--share{gap:4px;padding-top:6px;padding-bottom:8px}.modal-card--share .result-summary{font-size:11px}.game-over-ad-slot{padding-top:2px;padding-bottom:3px}.game-over-ad-slot:before{margin-bottom:2px;font-size:10px}.start-card{gap:10px;padding:14px}.pixel-hero-art{padding:6px}.start-copy,.panel-copy,.guide-list{font-size:14px}}
