*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit}button:disabled{cursor:default;opacity:.5}[hidden]{display:none!important}
.breaker-main{--ink:#253e56;--gold:#e4ab47;display:grid;grid-template-columns:minmax(320px,820px) 230px;justify-content:center;align-items:start;gap:28px;padding:14px 24px 24px;color:var(--ink)}
.cabinet{width:100%;height:calc(100dvh - var(--breaker-shell-height,200px) - 28px);max-height:850px;min-height:350px;display:flex;flex-direction:column;background:#e4f2fb;border:2px solid #607b94;border-radius:12px;overflow:hidden;box-shadow:0 6px 0 #c1cbd5,0 14px 30px #334a6020;color:#29445c}
.cabinet-top,.hud,.meters,.controls,.cabinet-bottom,#compact-status{flex-shrink:0}
.cabinet-top{display:flex;align-items:center;justify-content:space-between;padding:7px 12px;background:#faf7ec;border-bottom:2px solid #c8d5dc;font-size:12px;font-weight:900;letter-spacing:1px}.cabinet-top i{display:inline-block;width:7px;height:7px;background:#edb954;transform:rotate(45deg);margin-right:8px}.cabinet-top small{font:8px ui-monospace,monospace;letter-spacing:1px;color:#8a9292;margin-left:12px}.cabinet-top>div{display:flex;gap:5px}.cabinet-top button{padding:6px 8px;border:1px solid #cbd4d5;border-radius:5px;background:#fffef8;color:#52697c;font-size:10px;letter-spacing:0}
.arena{position:relative;flex:1;min-height:0;width:100%;display:flex;justify-content:center;overflow:hidden;background:#afd3f5;container-type:size}.arena canvas{display:block;height:100%;max-height:100%;width:auto;max-width:100%;object-fit:contain;aspect-ratio:4/3;touch-action:none;outline:none}
.overlay{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:12px;background:linear-gradient(#c4dff422,#86b4d340)}
.start-card{width:min(360px,93%);max-height:100%;overflow:auto;padding:23px 26px;background:#fffdf0f2;border:2px solid #5b7993;border-radius:5px;box-shadow:6px 7px 0 #4568823a;transform:rotate(-1deg)}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px;color:#8c774d}.start-card h2{font-size:31px;line-height:1.25;letter-spacing:-1.5px;margin:14px 0;color:#2d4862}.start-card em{font-style:normal;color:#c67629}.start-card p{font-size:12px;line-height:1.7;color:#6e7c80;margin:10px 0}.start-rule{display:flex;gap:10px;justify-content:center;font-size:10px;color:#58778b;margin:14px 0}.primary{border:2px solid #775535;border-radius:6px;background:#ffd779;color:#513c29;font-size:15px;font-weight:900;padding:12px 20px;box-shadow:0 4px 0 #b88845;width:100%;margin-bottom:5px}.primary:hover{background:#ffe4a1}.primary:active{transform:translateY(2px);box-shadow:0 2px 0 #b88845}
.hud{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 18px;background:#fffcf1;border-top:2px solid #7993a4}.hud small{display:block;font-size:9px;font-weight:800;letter-spacing:1px;color:#86908b;margin-bottom:2px}.hud strong{font:900 italic 27px ui-monospace,monospace;color:#2d4559}.hud-center{text-align:center}.hud-center strong{font:900 16px system-ui;color:#c17830}.life-box{text-align:right}.life-box strong{color:#e38977;font-style:normal;letter-spacing:3px;font-size:24px;text-shadow:1px 1px #af695e}
.meters{display:grid;grid-template-columns:1fr 2fr;gap:20px;padding:4px 18px 8px;background:#fffcf1}.meters span{display:flex;justify-content:space-between;font-size:9px;font-weight:800;color:#7b878a}.meters b{color:#4b677c}.meters meter{display:block;width:100%;height:10px;margin-top:3px;appearance:none;border:1px solid #8d9da3;background:#e4e7e4;border-radius:2px}.meters meter::-webkit-meter-bar{background:#e4e7e4;border:0;border-radius:0}.meters meter::-webkit-meter-optimum-value{background:#93bec4}.meters .skill-meter meter::-webkit-meter-optimum-value{background:#efbb5c}.meters meter::-moz-meter-bar{background:#93bec4}
.controls{display:flex;justify-content:space-between;gap:12px;padding:8px 14px 9px;touch-action:none;user-select:none;-webkit-user-select:none;background:#dae5e9;border-top:1px solid #c4d1d6}.controls>div{display:flex;gap:7px}.controls button{min-width:49px;min-height:45px;border:1px solid #9badb8;border-bottom:4px solid #8297a4;border-radius:7px;padding:6px 12px;background:#f8fbfa;color:#39556b;font-size:12px;font-weight:900;touch-action:none;user-select:none;-webkit-touch-callout:none}.controls small{display:block;font:8px ui-monospace,monospace;color:#82939c;margin-top:3px}.controls button.pressed{transform:translateY(2px);border-bottom-width:2px;background:#c1e2ef}.controls .attack{min-width:75px;background:#ffd77a;border-color:#c49b56;color:#634a2f}.controls .attack small{color:#997c4b}.controls .special{background:#c7dde7;color:#537286}.controls .special.ready{background:#ffd77a;color:#6b4e2e;border-color:#c9964b;box-shadow:0 0 15px #edb44e88}
.cabinet-bottom{display:flex;justify-content:space-between;gap:8px;padding:5px 13px;font:9px ui-monospace,monospace;color:#7e919b;background:#edf2f1;min-height:23px}.cabinet-bottom #hint{font:9px system-ui}
.field-notes{padding-top:18px}.field-notes h2{font-size:31px;line-height:1.28;letter-spacing:-1.8px;margin:16px 0}.field-notes h2 em{font-style:normal;color:#b87936}.lede{font-size:12px;color:#818b95;line-height:1.8;margin-bottom:20px}.record{border-block:1px solid #d8dcdf;padding:14px 0;margin-bottom:6px}.record small{font-size:10px;color:#8c949c}.record>strong{display:block;font:900 italic 30px ui-monospace,monospace;margin:6px 0}.record>strong span{font-size:10px;color:#98a3ac}.record p{font-size:11px;line-height:1.7;color:#7c8a94;overflow-wrap:anywhere;margin:5px 0}.record button{border:1px solid #b4c6cd;background:#e4eff2;color:#3b5c71;border-radius:5px;padding:7px;font-size:11px}.note{display:flex;gap:12px;padding:12px 0}.note>b{font:italic 15px Georgia,serif;color:#b79865}.note strong{font-size:12px}.note p{font-size:11px;line-height:1.7;color:#7c8992;margin:5px 0 0}.preview-label{font:8px ui-monospace,monospace;letter-spacing:2px;color:#9da7af;margin-top:12px}.preview-label span{font:10px system-ui;letter-spacing:0;display:inline-block;margin-top:5px}
#compact-status:empty{display:none}dialog{width:min(460px,calc(100vw - 24px));max-height:85dvh;overflow:auto;background:#fffdf3;color:#34516a;border:2px solid #8196a3;border-radius:12px;padding:24px;box-shadow:0 20px 70px #18374d44}dialog::backdrop{background:#263f5c66}.panel-heading{display:flex;justify-content:space-between;align-items:center}.panel-heading h2{font-size:21px;margin:0}.panel-heading button{border:0;border-radius:5px;background:#e2eaec;color:#50697c;padding:8px 12px}#panel-content{font-size:13px;line-height:1.9}#panel-content p{color:#6d7e8a}#panel-content li{margin:8px 0}#panel-content button{padding:9px 15px;background:#ffd77a;border:1px solid #c8a46d;border-radius:5px;color:#594528}button:focus-visible,a:focus-visible{outline:3px solid #e4a548;outline-offset:3px}
@container(max-height:320px){.start-card{padding:12px 20px}.start-card h2{font-size:25px;margin:8px 0}.start-card p{font-size:10px;margin:5px 0}.start-rule,.start-card .tip{display:none}.primary{padding:9px;margin-top:7px}.eyebrow{font-size:9px}}
@container(max-height:205px){.start-card{padding:8px 14px}.start-card h2{font-size:21px;margin:5px 0}.start-card #copy{display:none}.primary{margin-top:5px;padding:7px}.start-card .eyebrow{font-size:8px}}
@media(max-width:960px){.breaker-main{grid-template-columns:minmax(320px,760px)}.field-notes{display:none}}
@media(max-width:600px){.breaker-main{display:block;padding:8px}.cabinet{height:calc(100dvh - var(--breaker-shell-height,180px) - 18px);min-height:320px}.cabinet-top{padding:6px 8px}.cabinet-top small{display:none}.hud{padding:6px 11px}.hud strong{font-size:23px}.hud-center strong{font-size:13px}.life-box strong{font-size:18px;letter-spacing:0}.meters{padding:3px 11px 6px;gap:15px}.controls{padding:7px 8px;gap:6px}.controls>div{gap:4px}.controls button{min-width:40px;padding:6px;min-height:46px}.controls .attack{min-width:52px}.cabinet-bottom #hint{display:none}.arena canvas{width:100%;height:100%;object-fit:contain}}
@media(max-width:350px){.controls button{min-width:34px;font-size:11px;padding:5px}.controls .attack{min-width:42px}.controls small{font-size:7px}.cabinet-top{font-size:10px;letter-spacing:0}}
@media(max-height:760px){.bi-page[data-page=building-breaker] .bi-topbar{height:45px}.bi-page[data-page=building-breaker] .bi-titlebar{min-height:48px;padding-top:5px;padding-bottom:5px}.bi-page[data-page=building-breaker] .bi-title h1{font-size:22px}.bi-page[data-page=building-breaker] .bi-title p{display:none}.bi-page[data-page=building-breaker] .bi-brandmark{width:32px;height:32px}.bi-page[data-page=building-breaker] .bi-brand small{display:none}.cabinet-top small{display:none}.hud{padding-block:4px}.hud strong{font-size:22px}.hud-center strong{font-size:14px}.meters{padding-block:3px 5px}.controls{padding-block:5px}.controls button{min-height:40px}.cabinet-bottom{min-height:21px}.breaker-main{padding-top:8px}}
/* Keep the cabinet fitted to the 4:3 playfield instead of adding wide empty gutters. */
@media(min-width:961px){.breaker-main{grid-template-columns:minmax(400px,clamp(400px,calc((100dvh - var(--breaker-shell-height,200px) - 246px)*1.3333),780px)) 230px}}
@container(max-height:390px){.start-rule,.start-card .tip{display:none}.start-card{padding:12px 20px}.start-card h2{font-size:25px;margin:8px 0}.start-card p{font-size:11px;margin:6px 0}.primary{padding:9px;margin-top:7px}}

@media(max-width:600px){.cabinet{max-height:calc((100vw - 20px)*.75 + 230px)}}

@container(max-height:210px){.start-card{padding:8px 12px}.start-card h2{font-size:19px;margin:5px 0}.start-card #copy,.start-card .tip,.start-rule{display:none}.primary{padding:7px;margin-top:5px}.start-card .eyebrow{font-size:8px}}
