html,body{margin:0;height:100%;overflow:hidden;background:#05030f}html{-webkit-tap-highlight-color:transparent}#game{position:fixed;top:0;right:0;bottom:0;left:0;touch-action:none;user-select:none;-webkit-user-select:none}#game canvas{display:block;cursor:none}.failure-notice{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:16px;background:#05030fb8;color:#f4ecff;font:20px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;text-align:center}.failure-notice h1{margin:0;font-size:clamp(40px,8vw,88px);color:#ffd35f;text-shadow:0 0 12px #ff7a4f,0 0 32px #ff5fd2}.failure-notice p{max-width:32em;margin:0}.finale-dock{position:absolute;left:max(12px,2vmin);bottom:max(12px,2vmin);display:flex;align-items:flex-end;gap:10px;pointer-events:none}.finale-dock[hidden]{display:none}.finale-note{padding:6px 12px;border:1px solid rgba(255,211,95,.5);border-radius:10px;background:#05030fbf;color:#ffd35f;font:700 clamp(13px,2.4vmin,18px) / 1.25 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;white-space:pre-line;pointer-events:none}.finale-note[hidden]{display:none}.finale-gauge{position:relative;pointer-events:auto;display:flex;align-items:center;gap:8px;padding:8px 14px;border:2px solid rgba(255,211,95,.7);border-radius:999px;background:#05030f99;color:#ffd35f;font:700 16px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;cursor:pointer;transform-origin:left bottom;touch-action:none}.finale-dock.banked .finale-gauge{pointer-events:none;cursor:default}.finale-gauge:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:inherit;box-shadow:0 0 18px 4px #ffd35f;opacity:0;pointer-events:none}.finale-gauge.full:after{animation:finale-full .8s ease-in-out infinite alternate}.finale-gauge.busy{opacity:.45}.finale-gauge.busy:after{animation:none}@keyframes finale-full{0%{opacity:.25}to{opacity:1}}.finale-notches{display:flex;gap:5px}.finale-notch{position:relative;width:clamp(26px,5vmin,52px);height:clamp(10px,1.6vmin,16px);border:1px solid rgba(255,211,95,.7);border-radius:3px;overflow:hidden}.finale-notch[data-locked=true]{opacity:.25}.finale-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffd35f;transform:scaleX(0);transform-origin:left}.pause-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:8px 16px;background:#05030fc7;color:#f4ecff;font:16px/1.3 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:clamp(14px,3vh,22px);cursor:default;animation:pause-overlay-in .2s ease-out}.pause-overlay[hidden]{display:none}@keyframes pause-overlay-in{0%{opacity:0}}.pause-card{display:flex;flex-direction:column;align-items:stretch;gap:min(2vh,14px);width:min(100%,360px);padding:20px 28px;border:2px solid rgba(169,155,201,.4);border-radius:16px;background:#05030f99}.pause-card p{margin:0;text-align:center}.pause-title{color:#ffd35f;font-size:1.4em;font-weight:700;text-shadow:0 0 10px #ff7a4f}.pause-run{color:#a99bc9}.pause-credit{color:#a99bc9;font-size:.6em;white-space:pre-line}.pause-card button{min-height:44px;padding:min(1.2vh,12px) 24px;border:2px solid rgba(169,155,201,.6);border-radius:999px;background:transparent;color:#f4ecff;font:inherit;font-weight:700;cursor:pointer}.pause-card .pause-resume{border-color:#5fe8ff;font-size:1.3em;box-shadow:0 0 12px #5fe8ff,inset 0 0 12px #5fe8ff66}.pause-card .pause-end[data-armed=true]{border-color:#ff7a4f;color:#ffd35f}.pause-sound[aria-disabled=true]{opacity:.55;cursor:default}.pause-button{position:absolute;left:max(12px,2vmin);top:max(12px,2vmin);display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:2px solid rgba(169,155,201,.6);border-radius:50%;background:#05030f99;cursor:pointer;touch-action:none}.pause-button[hidden]{display:none}.pause-bars{box-sizing:border-box;width:14px;height:16px;border-right:5px solid #f4ecff;border-left:5px solid #f4ecff}.tree-overlay{--cell-width: min(10.8vw, 170px);--cell-height: min(15vh, 96px);--cell-gap: min(1.2vw, 1.5vh, 12px);--panel-width: min(23vw, 320px);--body-gap: min(2vw, 20px);--side: 16px;--again-side: clamp(16px, calc(20vw - 132px) , 48px);position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:min(2vh,16px);padding:0 var(--side) max(12px,2vmin);color:#f4ecff;font:16px/1.3 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:clamp(12px,2.6vh,20px);cursor:default;animation:tree-overlay-in .3s ease-out}.tree-overlay[hidden]{display:none}@keyframes tree-overlay-in{0%{opacity:0}}.tree-top{display:flex;flex:none;align-items:center;align-self:stretch;min-height:calc(88px * var(--playfield-scale, 1) * var(--counter-scale, 1));padding-right:calc(360px * var(--playfield-scale, 1) * var(--counter-scale, 1))}.tree-run{margin:0;overflow:hidden;color:#a99bc9;text-overflow:ellipsis;white-space:nowrap}.tree-title{color:#ffd35f;font-weight:700;text-shadow:0 0 10px #ff7a4f}.tree-body{display:flex;flex:none;gap:var(--body-gap);max-width:100%}.tree-grid{isolation:isolate;display:grid;grid-template-columns:repeat(6,var(--cell-width));grid-template-rows:auto;grid-auto-rows:var(--cell-height);gap:var(--cell-gap)}.tree-column-title{display:flex;align-items:center;align-self:end;justify-content:center;gap:.35em;color:#a99bc9;font-size:clamp(11px,2vh,15px);white-space:nowrap}.tree-cell{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;padding:0;border:2px solid rgba(169,155,201,.4);border-radius:10px;background:#05030f99;color:#f4ecff;font:inherit;font-size:clamp(10px,2.2vh,16px);cursor:pointer;transition:border-color .15s ease-out,box-shadow .15s ease-out,opacity .15s ease-out,background-color .15s ease-out}.tree-glyph{flex:none;width:calc(var(--cell-height) * .5);height:calc(var(--cell-height) * .5);fill:currentColor}.tree-column-title .tree-glyph{width:1.25em;height:1.25em}.tree-mystery{display:none;font-size:calc(var(--cell-height) * .45);font-weight:700;line-height:1}.tree-cell .tree-glyph,.tree-cell .tree-mystery{margin-block:auto}.tree-panel-icon{display:contents}.tree-panel .tree-glyph{width:2.2em;height:2.2em}.tree-panel .tree-mystery{width:1.2em;font-size:1.8em;text-align:center}.tree-cell-text{display:flex;flex:none;align-self:stretch;justify-content:space-between;gap:.4em;padding:.15em .5em;border-top:1px solid rgba(169,155,201,.3);border-radius:0 0 8px 8px;line-height:1.15;white-space:nowrap;transition:border-color .15s ease-out,background-color .15s ease-out}.tree-price,.tree-cell[data-special=true]{color:#ffd35f}.tree-cell[data-state=affordable]{border-color:#5fe8ff;box-shadow:0 0 8px #5fe8ff99}.tree-cell[data-special=true][data-state=affordable]{border-color:#ffd35f;box-shadow:0 0 8px #ffd35f99}.tree-cell[data-state=maxed]{border-color:#5fe8ff;background:#5fe8ff47}.tree-cell[data-state=maxed] .tree-price{color:#a99bc9}.tree-cell[data-state=tooDear]{opacity:.55}.tree-cell[data-state=closed]{opacity:.28}.tree-cell[data-state=hidden]{opacity:.4;border-style:dashed}.tree-cell[data-state=hidden] .tree-glyph{display:none}.tree-cell[data-state=hidden] .tree-mystery{display:block}.tree-cell.glow,.tree-chip.glow{box-shadow:0 0 6px #5fe8ff}.tree-cell.glow:after,.tree-chip.glow:after{content:"";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:0 0 22px #ff5fd2,0 0 8px #ffd35f;pointer-events:none;animation:tree-glow .9s ease-in-out infinite alternate}@keyframes tree-glow{0%{opacity:0}to{opacity:1}}.tree-cell.selected{outline:2px solid #f4ecff;outline-offset:2px}.tree-cell.buys .tree-cell-text{justify-content:center;border-top-color:#5fe8ff;background:#5fe8ff;color:#05030f;font-weight:700}.tree-cell.buys .tree-price{color:inherit}.tree-cell[data-special=true].buys .tree-cell-text{border-top-color:#ffd35f;background:#ffd35f}@media(hover:hover){.tree-cell:hover>*{filter:brightness(1.3)}}.tree-panel{display:flex;flex-direction:column;gap:min(1vh,8px);width:var(--panel-width);min-width:0;padding:min(1.6vh,14px);border:2px solid rgba(169,155,201,.4);border-radius:12px;background:#05030f99;overflow:hidden}.tree-panel p{margin:0}.tree-panel-head{display:flex;align-items:center;gap:8px;min-height:2.2em}.tree-panel-name,.tree-panel-level,.tree-panel-note{min-height:1lh}.tree-panel[data-state=hidden] .tree-glyph{display:none}.tree-panel[data-state=hidden] .tree-mystery{display:block}.tree-panel-name{font-weight:700;line-height:1.15}.tree-panel[data-special=true] .tree-panel-head{color:#ffd35f}.tree-panel-level,.tree-panel-note{color:#a99bc9}.tree-panel-effect{flex:1}.tree-panel[data-empty=true] .tree-panel-head{visibility:hidden}.tree-panel[data-empty=true] .tree-panel-effect{color:#a99bc9}.tree-foot{display:flex;flex:none;align-items:center;align-self:stretch}.tree-foot:before,.tree-foot:after{content:"";flex:0 0 max(0px,calc(var(--finale-dock-room, 0px) - var(--side)))}.tree-foot:after{flex-shrink:1}.tree-foot-row{display:flex;flex:none;align-items:center;gap:var(--body-gap);margin:0 auto}.tree-start{isolation:isolate;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--cell-gap)}.tree-start[hidden]{display:none}.tree-start-label{color:#a99bc9;white-space:nowrap}.tree-chip{position:relative;display:flex;align-items:center;justify-content:center;gap:.2em;min-width:2.6em;padding:min(.8vh,8px) .7em;border:2px solid rgba(169,155,201,.4);border-radius:999px;background:#05030f99;color:#f4ecff;font:inherit;font-size:clamp(14px,3vh,22px);font-weight:700;cursor:pointer}.tree-start .tree-chip .tree-glyph{display:none;width:.9em;height:.9em}.tree-chip[data-state=picked]{border-color:#5fe8ff;background:#5fe8ff47;box-shadow:0 0 8px #5fe8ff99}.tree-chip[data-state=locked]{border-style:dashed;opacity:.4;cursor:default}.tree-chip[data-state=locked] .tree-glyph{display:block}@media(hover:hover){.tree-chip:not([data-state=locked]):hover>*{filter:brightness(1.3)}}.tree-again{padding:min(1.4vh,14px) var(--again-side);border:2px solid #5fe8ff;border-radius:999px;background:transparent;color:#f4ecff;font:inherit;font-size:clamp(18px,4vh,30px);font-weight:700;box-shadow:0 0 12px #5fe8ff,inset 0 0 12px #5fe8ff66;cursor:pointer}@media(max-width:1365px){.tree-start-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.tree-start{gap:6px}.tree-chip{min-width:2em;padding-inline:.45em}.tree-chip[data-state=locked] .tree-glyph{display:none}}@media(orientation:landscape)and (max-width:739px){.tree-cell .tree-glyph{width:calc(var(--cell-height) * .42);height:calc(var(--cell-height) * .42)}.tree-cell-text{gap:.25em;padding:.1em .25em}.tree-foot-row{gap:6px}.tree-start{gap:3px}.tree-chip{min-width:1.7em;padding-inline:.3em;font-size:13px}.tree-again{padding-inline:12px}}@media(orientation:portrait){.tree-overlay{--cell-width: min(14vw, 150px);--cell-height: min(9vh, 68px);--again-side: 48px;font-size:clamp(12px,3.8vw,18px)}.tree-run{white-space:normal}.tree-column-title{flex-direction:column;gap:.1em;font-size:min(3.1vw,15px)}.tree-body{flex-direction:column}.tree-panel{width:auto}.tree-foot{padding-bottom:var(--finale-dock-rise, 0px)}.tree-foot:before,.tree-foot:after{content:none}.tree-foot-row{flex-direction:column;gap:min(1.2vh,10px)}.tree-cell{font-size:clamp(9px,3vw,13px)}.tree-cell .tree-glyph{width:calc(var(--cell-height) * .4);height:calc(var(--cell-height) * .4)}.tree-cell .tree-mystery{font-size:calc(var(--cell-height) * .4)}.tree-cell-text{flex-direction:column;align-items:center;gap:0;padding:.1em .2em}}
