/* Blokbølge's own play space. Styles remain scoped to this game. */
[data-game="blokboelge"]{--wave-accent:#ffb59a;border-color:#dce4e4;background:#f8fbfa}
[data-game="blokboelge"] #board{max-width:100%;margin:0 22px 18px;min-height:0}
[data-game="blokboelge"] #status{font-size:12px;padding:12px;min-height:42px;color:#61747b}
[data-game="blokboelge"] .toolbar{background:#fff;border-bottom-color:#e2e9e7}
.wave-universe{user-select:none;-webkit-user-select:none;overflow:hidden;background:#122a37;border:1px solid #173844;border-radius:18px;color:#ecf3ec;box-shadow:0 18px 45px #183a3921;max-width:800px;margin:auto}
.wave-hud{padding:22px 27px 17px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#102732}
.wave-eyebrow{display:block;color:#8ca8af;font-size:9px;letter-spacing:2.2px;font-weight:700;margin-bottom:7px}
.wave-stage-title{font-size:24px;letter-spacing:-.6px;color:#f0f2e6;margin:0}
.wave-hud-right{display:flex;align-items:center;gap:24px}
.wave-combo{font-size:11px;letter-spacing:1px;font-weight:700;color:#8aa8ac;border:1px solid #ffffff15;padding:8px 12px;border-radius:7px;min-width:94px;text-align:center}
.wave-combo.active{color:var(--wave-accent);background:#ffffff08;border-color:var(--wave-accent)}
.wave-lives{color:#f4a697;letter-spacing:4px;font-size:18px;white-space:nowrap}
.wave-journey{margin:0;padding:0 27px 17px;list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:9px;background:#102732}
.wave-journey li{display:flex;align-items:center;gap:8px;color:#6f8992;border-top:2px solid #29404b;padding-top:8px;min-width:0}
.wave-step-no{font-size:10px;font-weight:750;font-variant-numeric:tabular-nums}
.wave-step-name{font-size:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.wave-journey li.current{color:var(--wave-accent);border-color:var(--wave-accent)}
.wave-journey li.done{color:#9ed6c4;border-color:#9ed6c4}
.wave-arena{position:relative;overflow:hidden;background:#142d3a;border-top:1px solid #a0c1c914}
.wave-canvas{display:block;width:100%;height:auto;touch-action:none;outline:none;user-select:none;-webkit-user-select:none}
.wave-canvas:focus-visible{outline:2px solid #ffe1ab;outline-offset:-4px}
.wave-overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;padding:24px;background:linear-gradient(0deg,#0b202a9c,#0b202a18);z-index:2}
.wave-overlay[hidden]{display:none}
.wave-overlay-card{text-align:center;max-width:390px;width:100%;padding:23px 31px 28px;border:1px solid #bfdee025;background:#102833ee;border-radius:20px;box-shadow:0 20px 60px #04131d55;backdrop-filter:blur(10px)}
.wave-over-icon{width:57px;height:51px;margin:0 auto 14px;color:#ffd5b2;font-size:51px;line-height:.78;font-family:Georgia,serif;font-weight:bold;border:1px solid #e0c6a335;border-radius:15px;display:grid;place-items:center;background:#ecd6a70a;transform:rotate(-7deg)}
.wave-over-icon.stars{font-family:system-ui,sans-serif;font-size:30px;width:auto;transform:none;border:0;background:none;letter-spacing:4px}
.wave-over-kicker{font-size:8px;letter-spacing:1.8px;font-weight:700;color:#9db9bc;margin:0 0 11px}
.wave-overlay h3{font-size:31px;color:#f6f3e6;letter-spacing:-1.3px;line-height:1.1;margin:0 0 13px}
.wave-over-text{font-size:12px;color:#b7c8c9;line-height:1.75;margin:0 auto 18px;max-width:320px}
.wave-over-details{display:flex;justify-content:center;gap:32px;margin:20px 0 23px}
.wave-over-details[hidden]{display:none}
.wave-over-details strong{display:block;color:#f6d4af;font-size:23px;letter-spacing:-.6px}
.wave-over-details span{display:block;font-size:9px;color:#95aeb4;margin-top:2px}
.wave-action{background:#f5cfa7;color:#253740;border:1px solid #ffe0ba;border-radius:10px;width:100%;font-weight:750;font-size:13px;padding:13px 15px;box-shadow:0 3px 0 #c5a887}
.wave-action:hover{background:#ffdeb8;filter:none;transform:translateY(-1px)}
.wave-action:active{transform:translateY(2px);box-shadow:none}
.wave-toast{position:absolute;bottom:60px;left:50%;transform:translateX(-50%);font-size:12px;font-weight:600;color:#f9efd8;background:#102831e8;padding:10px 17px;border:1px solid #9cbbbc35;border-radius:40px;max-width:90%;width:max-content;pointer-events:none;text-align:center;z-index:3;box-shadow:0 5px 20px #0002}
.wave-toast[hidden]{display:none}
.wave-bottom{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:#102732;color:#9cb5bc;font-size:11px;min-height:46px}
.wave-effects{display:flex;gap:7px;min-height:20px}
.wave-effects span{font-variant-numeric:tabular-nums;color:#e8d7b9;border:1px solid #456068;padding:0 7px;border-radius:6px}
.wave-meter{height:3px;background:#23424c}.wave-meter>div{height:100%;background:var(--wave-accent);width:0;transition:width .2s}
.wave-touchpad{display:none;touch-action:none;user-select:none;-webkit-user-select:none}
[data-game="blokboelge"] #controls{display:block;text-align:center;padding:0 20px 22px}
.wave-buttons{display:flex;gap:8px;justify-content:center}
.wave-buttons button{font-size:12px;font-weight:650;color:#53636b;background:white;padding:9px 17px;min-height:42px!important}
.wave-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin:18px 0 9px}
.wave-legend>span{display:flex;align-items:center;gap:6px;font-size:10px;color:#68777d}
.wave-legend i{font-style:normal;background:#173440;border:1px solid #dce5e4;width:23px;height:23px;border-radius:7px;display:grid;place-items:center;font-size:15px;font-weight:650}
.wave-control-note{font-size:10px;color:#819097;margin:0}
@media(max-width:650px){
 [data-game="blokboelge"] #board{margin:0 9px 14px}
 [data-game="blokboelge"] #status{font-size:10px;padding:10px 14px;min-height:36px}
 .wave-universe{border-radius:13px}.wave-hud{padding:16px 15px 12px;gap:8px;align-items:flex-start}.wave-eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:7px}.wave-stage-title{font-size:20px}.wave-hud-right{flex-direction:column;gap:6px;align-items:flex-end}.wave-combo{font-size:8px;min-width:74px;padding:4px 7px;order:2}.wave-lives{font-size:14px;letter-spacing:2px}.wave-journey{padding:0 15px 12px;gap:6px}.wave-journey li{padding-top:6px}.wave-step-name{display:none}.wave-step-no{font-size:9px}.wave-overlay{padding:16px}.wave-overlay-card{padding:20px 21px 24px;border-radius:17px;max-width:310px}.wave-over-icon{width:49px;height:44px;font-size:43px;margin-bottom:13px}.wave-overlay h3{font-size:28px}.wave-over-kicker{font-size:7px;letter-spacing:1.4px}.wave-over-text{font-size:11px;line-height:1.7}.wave-over-details{gap:26px;margin:17px 0 20px}.wave-over-details strong{font-size:21px}.wave-action{font-size:12px;padding:12px}.wave-bottom{padding:11px 13px;font-size:10px}.wave-effects{gap:4px}.wave-effects span{padding:1px 4px;font-size:10px}.wave-touchpad{display:flex;justify-content:space-between;align-items:center;padding:18px 19px;background:#1a3946;font-size:10px;letter-spacing:.2px;color:#a9c8ce;border-top:1px solid #35545c}.wave-touchpad>span:first-child,.wave-touchpad>span:last-child{font-size:20px;color:#c8ded9}.wave-toast{font-size:10px;bottom:45px;padding:9px 12px}.wave-buttons{gap:6px}.wave-buttons button{font-size:10px;padding:8px 11px}.wave-legend{gap:8px 13px;margin-top:15px}.wave-legend>span{font-size:9px}.wave-control-note{font-size:9px;max-width:270px;margin:auto}.wave-legend i{width:20px;height:20px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){.wave-meter>div,.wave-action{transition:none;transform:none}}

.wave-step-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.wave-step-stars{font-size:9px;letter-spacing:2px;color:#91b6b3;line-height:1}.wave-journey li.current .wave-step-stars{color:var(--wave-accent)}
@media(max-width:650px){.wave-step-copy{display:block}.wave-step-stars{font-size:7px;letter-spacing:0}.wave-journey li{gap:4px}.wave-step-name{display:none}}
@media(min-width:651px) and (max-width:900px){.wave-overlay-card{padding:17px 24px 20px}.wave-over-icon{height:38px;width:43px;font-size:39px;margin-bottom:10px}.wave-overlay h3{font-size:25px;margin-bottom:10px}.wave-over-text{font-size:11px;margin-bottom:12px}.wave-over-details{margin:13px 0 15px}.wave-over-details strong{font-size:19px}.wave-action{padding:10px 13px}}

.wave-score{order:-1;text-align:right;min-width:60px}.wave-score>span{display:block;color:#83a3ac;font-size:8px;letter-spacing:1.5px}.wave-score>strong{display:block;color:#f4e3c9;font-size:23px;line-height:1.3;font-variant-numeric:tabular-nums;letter-spacing:-.7px}.wave-lives{order:1}
@media(max-width:650px){.wave-hud-right{display:grid;grid-template-columns:auto auto;gap:5px 13px;align-items:center}.wave-score{grid-column:1;grid-row:1/3;min-width:44px}.wave-score>strong{font-size:20px}.wave-lives{grid-column:2;grid-row:1}.wave-combo{grid-column:2;grid-row:2}}

.wave-buttons{padding:12px;flex-wrap:wrap;background:#102732}
.wave-buttons button{background:#203e4b;color:#e1eeea;border:1px solid #42616a}
.wave-fullscreen{position:fixed;inset:0;z-index:99999;width:100%;height:100dvh;max-width:none;border-radius:0;margin:0;display:flex;flex-direction:column;box-sizing:border-box}
.wave-fullscreen .wave-hud{padding:10px 20px;flex-shrink:0}
.wave-fullscreen .wave-journey{padding-bottom:8px;flex-shrink:0}
.wave-fullscreen .wave-arena{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}
.wave-fullscreen .wave-canvas{flex-shrink:0}
.wave-fullscreen .wave-bottom,.wave-fullscreen .wave-buttons,.wave-fullscreen .wave-touchpad{flex-shrink:0}
.wave-fullscreen .wave-overlay{overflow:auto}
@media(max-height:600px){.wave-fullscreen .wave-journey,.wave-fullscreen .wave-touchpad{display:none}.wave-fullscreen .wave-hud{padding:6px 16px}.wave-fullscreen .wave-stage-title{font-size:17px}.wave-fullscreen .wave-bottom{min-height:26px;padding:4px 16px}.wave-fullscreen .wave-buttons{padding:4px}.wave-fullscreen .wave-overlay-card{padding:12px 20px}.wave-fullscreen .wave-over-icon,.wave-fullscreen .wave-over-details{display:none}.wave-fullscreen .wave-over-text{margin-bottom:8px}}

.wave-effects{flex-wrap:wrap;justify-content:flex-end;max-width:65%}.wave-bottom{gap:12px;min-height:58px}.wave-legend{gap:12px 18px}.wave-remaining{white-space:nowrap}
