*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{color:#f6f2ff;-webkit-user-select:none;user-select:none;overscroll-behavior:none;background:#2a2342;height:100%;margin:0;font-family:system-ui,-apple-system,sans-serif;overflow:hidden}#app{height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.screen{flex-direction:column;height:100%;display:flex}.screen[hidden]{display:none}.bar{align-items:center;gap:16px;padding:12px 16px;display:flex}.bar h1{margin:0 auto 0 0;font-size:22px}.stat{align-items:center;gap:8px;display:flex}.label{text-transform:uppercase;letter-spacing:.06em;color:#b3a8d6;font-size:13px}.value{font-variant-numeric:tabular-nums;font-size:30px;font-weight:800}.value.small{font-size:20px}.coin{background:#ffd43b;border:3px solid #b8860b;border-radius:50%;width:22px;height:22px}.flame{background:#f76b15;border:3px solid #a23c00;border-radius:50%/62% 62% 38% 38%;width:18px;height:22px}#streak-chip.cold{opacity:.4}button{font:inherit;color:inherit;background:#443b63;border:0;border-radius:10px;padding:9px 14px;font-size:15px;font-weight:600}#path{-webkit-overflow-scrolling:touch;flex-direction:column-reverse;flex:1;align-items:center;gap:18px;padding:30px 0 40px;display:flex;overflow-y:auto}.node{background:#8e4ec6;border:4px solid #2a2030;border-radius:50%;flex-direction:column;flex:none;justify-content:center;align-items:center;width:76px;height:76px;padding:0;font-size:24px;font-weight:800;display:flex}.node.done{background:#46a758}.node.next{transform-origin:50%;background:#f76b15;box-shadow:0 0 0 6px #f76b1559}.node.locked{color:#8f84b3;background:#443b63}.node .stars{letter-spacing:1px;font-size:12px;line-height:1}.star-off{opacity:.3}#panel{flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 16px;display:flex}#goals,#overlay-goals{gap:14px;display:flex}.goal{font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:20px;font-weight:700;display:flex}.goal.done{opacity:.45}.goal img{width:34px;height:34px}#meter{background:#443b63;border-radius:7px;width:100px;height:14px;overflow:hidden}#meter-fill{background:linear-gradient(90deg,#e5484d,#f2b824,#46a758,#3e8ede,#8e4ec6);width:0;height:100%;transition:width .2s}#cat{width:84px;height:68px}#cat svg,#overlay-cat svg{width:100%;height:100%;overflow:visible}.buttons{gap:8px;margin-left:auto;display:flex}#board-wrap{flex:1;min-width:0;min-height:0;position:relative}#board{touch-action:none;width:calc(100% - 16px);height:calc(100% - 16px);position:absolute;inset:8px}#overlay{background:#181328b8;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#overlay[hidden],.card [hidden]{display:none}.card{text-align:center;background:#3b3357;border:4px solid #2a2030;border-radius:20px;flex-direction:column;align-items:center;gap:12px;min-width:270px;padding:22px 30px 26px;display:flex}#overlay-cat{width:150px;height:121px}.card h1{margin:0;font-size:30px}#overlay-stars{color:#ffd43b;font-size:40px;line-height:1}#overlay-stars:empty{display:none}.card p{color:#d9d1f2;margin:0;font-size:18px}#overlay-primary{background:#46a758;border:3px solid #2a2030;align-self:stretch;padding:14px 20px;font-size:20px;font-weight:800}#overlay-secondary{color:#b3a8d6;background:0 0}.sheet{-webkit-user-select:text;user-select:text;flex:1;width:100%;max-width:520px;margin:0 auto;padding:8px 20px 40px;overflow-y:auto}.sheet h2{margin:28px 0 6px;font-size:18px}.sheet p{color:#d9d1f2;margin:6px 0 12px}#stat-list{grid-template-columns:1fr auto;gap:10px 16px;margin:0;font-size:18px;display:grid}#stat-list dd{font-variant-numeric:tabular-nums;text-align:right;margin:0;font-weight:800}.code-row{gap:8px;display:flex}#player-code{color:#2a2030;min-width:0;font:inherit;letter-spacing:.1em;text-transform:uppercase;background:#f6f2ff;border:3px solid #2a2030;border-radius:10px;flex:1;padding:10px 12px;font-size:20px;font-weight:800}.credits{font-size:14px;color:#b3a8d6!important;margin-top:36px!important}@media (orientation:landscape){#game{flex-direction:row}#panel{flex-flow:column;align-items:flex-start;gap:14px;width:190px;padding:20px 16px}#goals{flex-direction:column;gap:6px}#cat{width:158px;height:128px;margin-top:auto}.buttons{flex-wrap:wrap;align-self:stretch;margin:0}.buttons button{flex:1}}
