:root{--safe-top: var(--tg-viewport-safe-area-inset-top, env(safe-area-inset-top, 0px));--safe-bottom: var(--tg-viewport-safe-area-inset-bottom, env(safe-area-inset-bottom, 0px));--content-top: var(--tg-viewport-content-safe-area-inset-top, 0px);--content-bottom: var(--tg-viewport-content-safe-area-inset-bottom, 0px);--panel-width: 340px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;min-height:100%;padding-top:calc(var(--safe-top) + var(--content-top));padding-bottom:calc(var(--safe-bottom) + var(--content-bottom))}.stage{position:relative;flex:0 0 auto}.scene{position:relative;width:100%;aspect-ratio:3 / 4;overflow:hidden;touch-action:none;background:var(--tg-theme-secondary-bg-color, #eef1f4)}.scene-frame{position:absolute;top:0;left:50%;height:100%;aspect-ratio:1 / 1;transform:translate(-50%)}.scene-layer{position:absolute;top:0;left:-20%;width:140%;height:100%;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform}.scene-positions{pointer-events:none}.scene-position{position:absolute;padding:0;border:none;background:none;pointer-events:auto;transition:opacity .16s ease}.scene-position img{width:100%;height:100%;object-fit:contain}.scene-position.empty:after{content:"";position:absolute;top:12%;right:12%;bottom:12%;left:12%;border:2px dashed var(--tg-theme-hint-color, #9aa6b2);border-radius:8px;opacity:.35}.scene-position.dim{opacity:.25}.scene-position.target:after{opacity:.9}.scene-debug{pointer-events:none}.balance{position:absolute;top:12px;right:14px;font-size:16px;font-weight:600;padding:6px 14px;border-radius:999px;color:var(--tg-theme-text-color, #000000);background:var(--tg-theme-bg-color, #ffffff);opacity:.92}.panel{flex:1 1 auto;display:flex;flex-direction:column;gap:12px;padding:16px 20px 20px;background:var(--tg-theme-bg-color, #ffffff)}.panel-head{display:flex;justify-content:space-between;align-items:center;font-weight:600}.stack{display:flex;flex-direction:column;gap:12px;align-items:stretch}.centred{margin:auto;text-align:center}.headline{margin:0;font-size:20px;font-weight:600;text-align:center}.timer{margin:0;font-size:56px;font-weight:300;font-variant-numeric:tabular-nums;text-align:center}.timer.paused{color:var(--tg-theme-hint-color, #708499)}.muted{margin:0;font-size:15px;text-align:center;color:var(--tg-theme-hint-color, #708499)}.hint{margin:0;font-size:13px;text-align:center;color:var(--tg-theme-hint-color, #708499)}.error{margin:0;font-size:16px;color:var(--tg-theme-destructive-text-color, #e53935)}.button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:12px;padding:14px 18px;font-size:16px;font-weight:600;font-family:inherit;cursor:pointer;background:var(--tg-theme-button-color, #2ea6ff);color:var(--tg-theme-button-text-color, #ffffff)}.button:disabled{opacity:.45}.button.secondary{background:var(--tg-theme-secondary-bg-color, #f1f1f1);color:var(--tg-theme-link-color, #2ea6ff)}.link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;font:inherit;cursor:pointer;color:var(--tg-theme-link-color, #2ea6ff)}.flash{position:absolute;left:50%;top:36%;transform:translate(-50%);font-size:38px;font-weight:700;color:var(--tg-theme-link-color, #2ea6ff);pointer-events:none;animation:rise 1.8s ease-out forwards}@keyframes rise{0%{opacity:0;transform:translate(-50%,10px)}20%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-40px)}}.shop{display:flex;flex-direction:column;gap:10px;min-height:0}.shop-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.shop-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;white-space:nowrap;border-radius:999px;padding:7px 13px;font:inherit;font-size:14px;cursor:pointer;background:var(--tg-theme-secondary-bg-color, #f1f1f1);color:var(--tg-theme-hint-color, #708499)}.shop-tab.active{background:var(--tg-theme-button-color, #2ea6ff);color:var(--tg-theme-button-text-color, #ffffff)}.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:200px;overflow-y:auto}.shop-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid transparent;border-radius:12px;padding:10px 8px;font:inherit;cursor:pointer;text-align:center;display:flex;flex-direction:column;gap:4px;background:var(--tg-theme-secondary-bg-color, #f1f1f1);color:var(--tg-theme-text-color, #000000)}.shop-card.locked{opacity:.55}.shop-card.selected{border-color:var(--tg-theme-button-color, #2ea6ff)}.shop-card.on{border-color:var(--tg-theme-link-color, #2ea6ff);opacity:1}.shop-card-name{font-size:13px;font-weight:600}.shop-card-price,.shop-card-state{font-size:11px;color:var(--tg-theme-hint-color, #708499)}.shop-tryon{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:var(--tg-theme-secondary-bg-color, #f1f1f1)}.shop-tryon-name{font-size:14px;font-weight:600}.shop-tryon-price{font-size:12px;color:var(--tg-theme-hint-color, #708499)}.shop-banner{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:8px 12px;border-radius:10px;background:var(--tg-theme-secondary-bg-color, #f1f1f1)}.shop-notice{margin:0;font-size:13px;color:var(--tg-theme-destructive-text-color, #e53935)}.shop-goal{margin:0;font-size:13px;text-align:center;color:var(--tg-theme-hint-color, #708499)}.debug{margin-top:auto;display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:12px;font-size:12px;background:var(--tg-theme-secondary-bg-color, #f1f1f1)}.debug-head{display:flex;justify-content:space-between;font-weight:600}.debug-reset{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;font:inherit;cursor:pointer;color:var(--tg-theme-link-color, #2ea6ff)}.debug-grants{display:flex;gap:8px}.debug-grants .button{flex:1;padding:8px 10px;font-size:14px}.debug-row{display:flex;flex-direction:column;gap:2px}.debug-row input{width:100%}@media(min-width:768px){.app{flex-direction:row;align-items:stretch}.stage{flex:1 1 auto;display:flex;align-items:center;justify-content:center}.scene{aspect-ratio:1 / 1;height:100%;max-height:100vh;margin:0 auto}.panel{flex:0 0 var(--panel-width);width:var(--panel-width);overflow-y:auto;border-left:1px solid var(--tg-theme-secondary-bg-color, #f1f1f1)}}
