@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-announcement-height:52px;--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%;height:100%;margin:0;overflow:hidden}body{color:var(--text);font-weight:700}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}@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}.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)}.announcement[hidden]{visibility:hidden;pointer-events:none;display:block!important}.announcement-band{flex:0 0 var(--stage-announcement-height);background:var(--panel-soft);border-top:2px solid var(--stage-frame-dark);justify-content:flex-start;align-items:center;width:100%;padding:0 14px 2px;display:flex}.announcement{width:100%;max-width:none;min-height:0;color:var(--muted);box-shadow:none;pointer-events:none;background:0 0;border:0;border-radius:0;flex-shrink:0;align-self:center;margin:0;padding:0;font-size:15px;line-height:1.35}.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}.modal-card--share .result-summary{text-align:center;margin:0}.modal-card--share .share-actions{grid-template-columns:minmax(0,1fr);display:grid}.modal-card--score-upload{gap:12px;display:grid}.guide-card,.revive-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,.revive-actions>button{flex:calc(50% - 4px)}.revive-actions .primary-button{background:var(--accent-strong);border-color:var(--text);color:var(--cream);box-shadow:4px 4px 0 rgba(var(--panel-shadow-rgb), .95), inset 0 -3px 0 #21311538}.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}.share-canvas{border:4px solid var(--panel-border);background:var(--ui-wash);image-rendering:auto;border-radius:10px;width:min(100%,312px);height:auto;margin:0 auto;display:block}.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}.revive-summary{border:3px solid var(--ui-line-soft);background:var(--panel-soft);border-radius:10px;margin:0;padding:12px 14px}.revive-status-board{grid-template-columns:minmax(0,160px) minmax(0,1fr);gap:10px;display:grid}.revive-progress-card,.revive-quip-card{border:2px solid var(--panel-border);background:var(--cream);border-radius:8px}.revive-progress-card{text-align:left;align-items:center;gap:6px;padding:3px 8px;display:flex}.revive-progress-ring{flex-shrink:0;width:22px;height:22px;transform:rotate(-90deg)}.revive-progress-track,.revive-progress-value{fill:none;stroke-width:8px}.revive-progress-track{stroke:var(--panel-shadow)}.revive-progress-value{stroke:var(--accent);stroke-linecap:square;transition:stroke-dashoffset .26s linear}.revive-progress-copy{flex-direction:column;justify-content:center;gap:0;display:flex}.revive-progress-seconds{font-size:14px;line-height:1.1;animation:.9s steps(2,end) infinite countdownPop}.revive-progress-copy span{color:var(--muted);font-size:14px;line-height:1.1}.revive-quip-card{flex-direction:column;justify-content:center;gap:0;padding:3px 8px;display:flex}.revive-quip-title{display:none}.revive-quip-line{color:var(--text);margin:0;font-size:14px;line-height:1.2}.revive-progress-card.is-ready,.revive-quip-card.is-ready{background:var(--panel-shadow);border-color:var(--accent-strong)}.revive-ad-panel{gap:10px;display:grid}.revive-ad-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:14px}.revive-ad-slot-wrap{border:4px solid var(--panel-border);background:var(--ui-wash);border-radius:12px;min-height:346px;padding:20px;position:relative;overflow:hidden}.revive-ad-slot{align-content:center;justify-items:center;width:100%;min-height:250px;display:grid}.revive-ad-fallback{border:3px dashed var(--ui-line-soft);text-align:center;background:#fff9e8f0;border-radius:10px;align-content:center;justify-items:center;gap:10px;padding:18px;display:grid;position:absolute;inset:20px}.revive-ad-fallback strong{font-size:16px}.revive-ad-fallback p,.revive-ad-help{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.revive-close-button{align-self:start}@keyframes promptBlink{0%,to{opacity:1}50%{opacity:.42}}@keyframes meadowFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes countdownPop{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@media (width<=430px){h1{font-size:26px}.start-card,.modal-card{padding:16px}.modal-card--share{gap:10px}.drawer-card{width:100%;padding-left:14px;padding-right:14px}.drawer-actions>button,.revive-actions>button{flex-basis:100%}.revive-status-board{grid-template-columns:1fr}}@media (height<=760px){.start-card{gap:10px;padding:14px}.pixel-hero-art{padding:6px}.start-copy,.panel-copy,.guide-list,.announcement{font-size:14px}.announcement{min-height:0;padding:0}}
