/* v8: a fixed game viewport, with sheets for secondary tasks. */
html,body{height:100%;overflow:hidden;overscroll-behavior:none}body{height:100dvh;display:flex;flex-direction:column}button,select,input{font-family:inherit}select{border:1px solid #bcc6b0;border-radius:7px;padding:8px;background:#fffef8;color:var(--ink);min-width:0}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}[hidden]{display:none!important}.header{height:64px;flex-shrink:0;padding:0 24px;gap:16px}.brand{font-size:19px;gap:10px;white-space:nowrap}.brand-icon{width:36px;height:36px;font-size:32px;border-radius:7px}.brand small{font-size:9px;letter-spacing:1.4px;margin-top:1px}.edition{font-family:inherit;font-size:12px;letter-spacing:0;margin:auto;color:#77816b}.header-right{gap:8px}.header-button{padding:8px 12px;min-height:36px;border:1px solid #bec7b2;border-radius:7px;background:#fffef7;font-size:13px;font-weight:600;white-space:nowrap}.header-button:hover{background:#e5edda}.app-shell{width:100%;max-width:1800px;margin:0 auto;padding:16px 20px 12px;display:grid;grid-template-columns:minmax(0,1fr) 276px;gap:18px;flex:1;min-height:0}.play-column{display:flex;flex-direction:column;gap:8px;min-height:0;min-width:0}.arena-toolbar{display:flex;align-items:center;gap:10px;flex-shrink:0}.arena-toolbar>#map-mode-help{font-size:12px;color:#737f64;margin-left:auto}.map-mode{margin:0;gap:4px;flex-wrap:nowrap}.map-mode button{padding:8px 12px;font-size:13px;min-height:36px}.rooms-nav{margin:0;min-height:28px;flex-shrink:0;display:block}.room-tabs{display:flex;overflow-x:auto;flex-wrap:nowrap;gap:6px;padding:0;scrollbar-width:none}.room-chip{font:500 12px inherit;flex-shrink:0;border:1px solid #c9d1bd;background:#edf0e5;border-radius:5px;padding:4px 10px;white-space:nowrap;cursor:pointer}.room-chip>span{margin-left:6px;color:#82936c;font-size:11px}.room-chip:hover{background:#dce9c6}.game-frame{flex:1;min-height:0;display:flex;flex-direction:column;border-radius:11px;box-shadow:0 3px 0 #d6dccb;isolation:isolate}.game-topbar{flex-shrink:0;padding:10px 14px;font-size:13px}.office-time{font-size:11px}.office-time b{font-size:13px}.arena-stage{position:relative;flex:1;min-height:0;overflow:hidden;background:#e3e8d9}.canvas-wrap{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab;min-height:0;max-height:none}.canvas-wrap.is-dragging{cursor:grabbing}#office{position:absolute;left:0;top:0;width:960px;height:1290px;max-width:none;transform-origin:0 0;touch-action:none;cursor:inherit;user-select:none}.camera-hint{position:absolute;left:12px;bottom:12px;z-index:3;pointer-events:none;background:#fffdf2dd;padding:6px 10px;border:1px solid #c0cab3;border-radius:6px;font-size:12px;color:#586a49;max-width:60%;line-height:1.4}.map-controls{position:absolute;right:12px;bottom:12px;padding:3px;display:flex;align-items:center;gap:2px;z-index:4;background:#fffdf2f2;border:1px solid #acb99e;border-radius:8px;box-shadow:0 2px 5px #243f171a}.map-controls button{min-width:34px;height:34px;border:0;background:transparent;border-radius:5px;font-size:18px;padding:0 8px}.map-controls #map-fit{font-size:12px;border-left:1px solid #d6ddc9;border-radius:0}.map-controls #zoom-value{font:11px monospace;width:39px;text-align:center;color:#617450}.combo{position:absolute;inset:12px auto auto 50%;transform:translateX(-50%) rotate(-3deg);z-index:6;font-size:21px;white-space:nowrap;pointer-events:none}.arena-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 13px;background:#f9faef;font-size:12px;min-height:32px;flex-shrink:0}.arena-footer>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arena-footer button{font-size:12px;flex-shrink:0}.quick-record{display:flex;align-items:center;gap:9px;background:#e9eee1;border:1px solid #cbd4bf;border-radius:7px;padding:7px 10px;font-size:12px;flex-shrink:0;min-width:0}.quick-record>label{font-weight:600;white-space:nowrap}.quick-record select{padding:4px 6px;font-size:13px;max-width:100px}.quick-record #quick-numbers{flex:1;display:flex;gap:10px;flex-wrap:wrap;color:#647457;font-variant-numeric:tabular-nums}.quick-record b{color:#344b29}.quick-record button{font-size:12px;white-space:nowrap}.target-bar{padding:6px 10px;margin:0;font-size:12px;flex-shrink:0}.target-bar button{font-size:12px}.event-strip{margin:0;min-height:22px;padding:0 3px;gap:8px;flex-shrink:0;overflow:hidden;border:0;background:none}.event-strip .event-label{font-size:9px;letter-spacing:1px;white-space:nowrap}.event-strip p{font-size:12px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.control-panel{display:flex;flex-direction:column;gap:12px;min-height:0;overflow:auto;scrollbar-width:thin}.player-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:10px;gap:8px;margin:0;background:#e6edf4;border-radius:8px}.player-card label{margin:0;font-size:13px;white-space:nowrap}.player-card select{grid-column:auto;grid-row:auto;font-size:14px;padding:7px 5px}.player-card #my-desk{font-size:12px;white-space:nowrap}.stress-card{margin:0;padding:12px 13px;border-radius:8px}.stress-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.stress-top label{font-size:13px;margin:0}.stress-top input{width:76px;font-size:17px;font-weight:700;padding:4px 6px;border:1px solid #cbd0bf;border-radius:5px;background:#fffef8;text-align:right}.relief-heading{margin-top:10px;margin-bottom:7px;gap:6px}.relief-heading>span{font-size:12px}.relief-heading strong{font-size:18px}.relief-heading strong span{font-size:12px}.meter{height:7px}.stress-card #relief-caption{font-size:11px;line-height:1.4;margin:6px 0 0;min-height:0}.tool-heading{margin:0;display:flex;justify-content:space-between;align-items:center}.tool-heading h2{font-size:14px;margin:0}.tool-heading span{font:11px monospace}.tools{display:grid;grid-template-columns:1fr;gap:6px;margin:0}.tools .tool,.tools .tool[data-tool=hammer]{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;gap:0 10px;align-items:center;text-align:left;position:relative;padding:6px 12px;min-height:56px;grid-column:auto;border-radius:8px}.tool .tool-icon,.tool[data-tool=hammer] .tool-icon{grid-column:1;grid-row:1/3;width:48px;height:38px;margin:0;align-self:center}.tools .tool strong{grid-column:2;grid-row:1;font-size:14px;line-height:1.4;align-self:end}.tools .tool>span{display:block;grid-column:2;grid-row:2;font-size:11px;align-self:start;margin:0;color:#7e856d}.tools .tool kbd{position:absolute;right:7px;left:auto;top:7px;font:10px monospace;border:0;background:transparent;color:#8b947a;width:auto;height:auto}.tools .tool.selected{border-color:#718b4c;background:#e5f2c9;box-shadow:inset 3px 0 #87ac4b}.tap-meter{margin-top:auto;padding:10px 12px;background:#e9ebdf;border:1px solid #ccd1bd;border-radius:8px}.tap-meter>div:first-child{display:flex;align-items:baseline;gap:8px}.tap-meter strong{font:800 23px monospace;white-space:nowrap}.tap-meter small{font-size:11px;font-weight:500}.tap-meter #best-cps{font-size:11px;flex:1;color:#758168;white-space:nowrap}.tap-meter #power-label{font-size:12px;white-space:nowrap;color:#617d32}.power-track{height:5px;border-radius:9px;background:#d8dfc9;overflow:hidden;margin-top:7px}.power-track i{display:block;height:100%;width:0;background:#8daa45;transition:width .12s}.tap-meter p{font-size:11px;margin:5px 0 0;color:#788268}.smash-button{flex-shrink:0;min-height:87px;height:auto;margin:0;border-radius:10px;padding:10px 18px;box-shadow:0 5px 0 #8fae43;touch-action:manipulation;user-select:none}.smash-button strong{font-size:30px;line-height:1.1;display:flex;justify-content:space-between}.smash-button .smash-hint{font-size:12px;margin-top:5px}.smash-button.pressed{transform:translateY(3px);box-shadow:0 2px 0 #8fae43}.local-note{margin:2px 0 0;font-size:10px;line-height:1.4;text-align:center}.desk-detail{position:absolute;inset:0;margin:0;border:0;border-radius:0;display:flex;flex-direction:column;background:#e1d8c5;overflow:hidden}.desk-heading{padding:8px 10px;gap:8px;flex-shrink:0;background:#f5f1e4}.desk-heading h2{font-size:15px;letter-spacing:0;white-space:nowrap}.desk-heading label{margin-left:auto}.desk-heading select{padding:6px;font-size:13px;max-width:100px}.desk-heading button{font-size:12px;padding:6px 8px;min-height:32px}.desk-play-wrap{position:relative;flex:1;min-height:0;margin:0;border:0;border-radius:0;overflow:hidden;touch-action:none;cursor:grab}.desk-play-wrap::after{display:none}.desk-stage{position:absolute;left:0;top:0;min-width:0;width:850px;height:500px;aspect-ratio:auto;transform-origin:0 0;touch-action:none;user-select:none;border:8px solid #a18b68;border-radius:10px;box-shadow:0 10px 0 #958164}.desk-object{touch-action:none}.desk-object:hover{transform:none}.desk-event{margin:0;position:absolute;left:10px;bottom:54px;max-width:70%;z-index:4;background:#fff8e6e6;padding:5px 8px;border-radius:4px;pointer-events:none;font-size:12px;line-height:1.4;min-height:0}.object-mark{font-size:calc(24px * var(--power,1));line-height:1;white-space:nowrap}.object-pop{animation:desk-hit .3s ease-out}@keyframes desk-hit{0%{transform:scale(1)}30%{transform:translate(calc(-4px * var(--power,1)),calc(-3px * var(--power,1))) rotate(-6deg)}65%{transform:translate(calc(4px * var(--power,1)),2px) rotate(6deg)}100%{transform:none}}.desk-blast{position:absolute;pointer-events:none;border:3px solid #fff0a1;border-radius:50%;width:calc(85px * var(--power));height:calc(85px * var(--power));transform:translate(-50%,-50%);animation:blast-ring .6s ease-out forwards;background:#f1a05033}.desk-blast[data-kind=fart]{background:#a4bc7766;border-color:#c3d6a2}.desk-blast[data-kind=poop]{border-color:#b39168;background:#af855b33}@keyframes blast-ring{from{opacity:1;scale:.4}to{opacity:0;scale:1.5}}dialog{max-height:calc(100dvh - 30px);overscroll-behavior:contain}#records-dialog{width:min(1120px,calc(100% - 24px));max-width:1120px;padding:22px}#records-dialog .records{border:0;margin:0;padding:0;box-shadow:none}#records-dialog .records-heading{margin-top:10px}#records-dialog .records-heading h2{font-size:22px}#records-dialog .records-summary{grid-template-columns:repeat(6,1fr);gap:8px}#records-dialog .record-total{padding:10px}#records-dialog .record-total-pair strong{font-size:20px}.record-cps{font:700 18px monospace;white-space:nowrap}.record-cps small{display:block;font:12px sans-serif;margin-top:6px;color:#7b8970}.records-table{min-width:900px}.move-panel{margin:0;border:0;padding:0}.move-fields{grid-template-columns:1fr 1fr}.move-bottom{display:block}.move-bottom p{margin-top:12px}.team-button{width:100%;margin-bottom:12px}.dialog-header h2{font-size:22px}
@media(min-width:761px) and (max-height:790px){.app-shell{padding-top:10px;gap:14px}.control-panel{gap:8px}.tools .tool,.tools .tool[data-tool=hammer]{min-height:48px;padding-top:4px;padding-bottom:4px}.tool .tool-icon,.tool[data-tool=hammer] .tool-icon{height:32px;width:40px}.stress-card{padding:8px 12px}.tap-meter{padding:7px 10px}.smash-button{min-height:65px;padding:7px 16px}.smash-button strong{font-size:26px}.local-note{display:none}.header{height:56px}}
@media(max-width:760px){.header{height:52px;padding:0 12px;gap:8px}.brand{font-size:16px;gap:7px}.brand-icon{width:29px;height:29px;font-size:28px;box-shadow:2px 2px 0}.brand small{font-size:8px}.edition{display:none}.header-right{gap:5px}.header-button{padding:6px 9px;font-size:12px;min-height:32px}.icon-button{width:30px;height:30px;font-size:17px}.header-right #help-button{display:none}.app-shell{padding:7px 8px max(8px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:7px;max-width:none}.play-column{flex:1;gap:5px}.arena-toolbar{gap:6px}.map-mode button{padding:6px 9px;font-size:12px;min-height:31px}.arena-toolbar>#map-mode-help{display:none}.arena-toolbar #move-open{margin-left:auto}.rooms-nav{min-height:24px}.room-chip{padding:3px 8px;font-size:11px}.game-topbar{padding:7px 10px;font-size:11px}.office-time{gap:7px;font-size:10px}.office-time b{font-size:12px}.arena-footer{padding:5px 9px;min-height:27px;font-size:11px}.arena-footer button{font-size:11px}.camera-hint{left:7px;bottom:7px;font-size:10px;padding:5px 7px;max-width:50%}.map-controls{right:7px;bottom:7px}.map-controls button{height:30px;min-width:28px;padding:0 5px}.map-controls #map-fit{font-size:10px}.map-controls #zoom-value{width:31px;font-size:10px}.quick-record{padding:5px 7px;gap:6px;font-size:11px;flex-wrap:wrap}.quick-record>label{display:none}.quick-record select{font-size:12px;max-width:76px}.quick-record #quick-numbers{gap:7px;flex-wrap:nowrap;justify-content:space-around;font-size:10px}.quick-record button{font-size:10px}.event-strip{display:none}.target-bar{font-size:10px;min-height:22px;padding:3px 7px}.target-bar button{font-size:10px}.control-panel{overflow:visible;flex:none;display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:stretch}.player-card{grid-column:1;grid-row:1;padding:6px;gap:5px;grid-template-columns:auto 1fr}.player-card label{font-size:11px}.player-card select{font-size:13px;padding:6px 3px;grid-row:auto;grid-column:auto}.player-card #my-desk{grid-column:1/-1;font-size:11px;margin:0;text-align:right;line-height:1.2}.stress-card{grid-column:2;grid-row:1;padding:6px 8px;margin:0}.stress-top label{font-size:10px}.stress-top input{font-size:13px;width:52px;padding:2px 3px}.relief-heading{margin-top:4px;margin-bottom:4px;gap:2px}.relief-heading>span{font-size:9px}.relief-heading strong{font-size:13px}.relief-heading strong span{font-size:9px}.meter{height:4px}.stress-card #relief-caption{display:none}.tool-heading,.local-note{display:none}.tools{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.tools .tool,.tools .tool[data-tool=hammer]{grid-column:auto;min-height:65px;display:flex;flex-direction:column;text-align:center;padding:5px 1px;gap:1px;justify-content:center}.tool .tool-icon,.tool[data-tool=hammer] .tool-icon{width:37px;height:30px;margin:0}.tools .tool strong{font-size:10px;align-self:center;line-height:1.3;white-space:nowrap;letter-spacing:-.5px}.tools .tool>span{display:none}.tools .tool kbd{font-size:9px;right:5px;top:4px}.tools .tool.selected{box-shadow:inset 0 -3px #87ac4b}.tap-meter{grid-column:1;grid-row:3;margin:0;padding:6px 8px}.tap-meter>div:first-child{gap:4px;flex-wrap:wrap}.tap-meter strong{font-size:20px}.tap-meter small{font-size:9px}.tap-meter #best-cps{font-size:9px;text-align:right}.tap-meter #power-label{font-size:10px}.tap-meter p{display:none}.power-track{margin-top:4px;height:4px}.smash-button{grid-column:2;grid-row:3;min-height:57px;padding:6px 11px;border-radius:8px;box-shadow:0 3px 0 #8fae43}.smash-button strong{font-size:25px}.smash-button .smash-hint{font-size:10px;margin-top:2px}.desk-heading{gap:5px;padding:5px}.desk-heading h2{display:none}.desk-heading label{margin-left:auto}.desk-heading button{font-size:11px;padding:4px 7px}.desk-event{font-size:10px;bottom:45px;max-width:85%}.combo{font-size:18px;top:9px}#records-dialog{padding:14px}.records-heading{align-items:start;gap:8px}.records-heading h2{font-size:19px!important}.records-heading .eyebrow{font-size:10px}.records-filter{font-size:12px}.records-filter select{max-width:100px;font-size:12px}.records-description,.records-footnote{font-size:12px}#records-dialog .records-summary{grid-template-columns:repeat(3,1fr);gap:5px}.record-total>span{font-size:12px}.record-total-pair>span{font-size:10px}.record-total-pair strong{font-size:17px!important}.dialog-header h2{font-size:19px}}
@media(max-height:550px) and (orientation:landscape){.header{height:43px}.app-shell{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:8px;padding:6px 8px}.play-column{gap:4px}.control-panel{display:flex;flex-direction:column;overflow:auto;gap:5px}.player-card{padding:5px;display:grid;grid-template-columns:auto 1fr auto}.player-card #my-desk{grid-column:auto}.stress-card{padding:5px 8px}.tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.tools .tool,.tools .tool[data-tool=hammer]{padding:3px 1px;min-height:53px;display:flex;flex-direction:column;text-align:center;gap:1px}.tools .tool strong{font-size:9px;white-space:normal;align-self:center}.tools .tool-icon,.tools .tool[data-tool=hammer] .tool-icon{height:25px;width:31px}.tools .tool>span,.tool-heading,.local-note,.tap-meter p,.stress-card #relief-caption{display:none}.tap-meter{margin:0;padding:6px}.smash-button{min-height:52px;padding:6px 10px}.smash-button strong{font-size:24px}.smash-hint{font-size:10px!important}.game-topbar{padding:5px 9px}.arena-footer{padding:4px 9px;min-height:24px}.event-strip,.edition,#map-mode-help{display:none}.header-button,.map-mode button{min-height:29px;padding:5px 8px;font-size:11px}.quick-record{padding:4px 7px;font-size:10px}.quick-record select{font-size:11px}.quick-record>label{display:none}.quick-record #quick-numbers{font-size:10px;gap:8px}.quick-record button{font-size:10px}}
@media(prefers-reduced-motion:reduce){.object-pop,.desk-blast{animation:none}.power-track i{transition:none}}
.control-panel{order:0;padding-top:0;position:static}.play-column{order:0}.map-mode button{white-space:nowrap}.smash-button{align-self:stretch}.quick-record #quick-numbers span{white-space:nowrap}.game-frame .camera-hint{display:block}.map-controls #zoom-value{display:inline-block}.arena-toolbar{flex-wrap:nowrap}
@media(min-width:761px) and (max-width:1020px){.app-shell{grid-template-columns:minmax(0,1fr) 250px;gap:12px;padding-left:12px;padding-right:12px}.arena-toolbar>#map-mode-help{display:none}.quick-record>label{display:none}.quick-record #quick-numbers{gap:8px;font-size:11px}.tools .tool strong{font-size:13px}}
@media(max-width:760px){.relief-heading>strong{font-size:14px;margin:0}.relief-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap}.relief-heading>strong>span{font-size:10px}.player-card{align-content:center}.smash-button>strong{font-size:25px;margin:0}.quick-record #quick-numbers{font-size:11px}.tools .tool strong{font-size:11px}.stress-top label,.relief-heading>span{font-size:11px}.camera-hint{font-size:11px}.player-card #my-desk{text-align:left}}
.stress-card .relief-heading>strong{font-size:21px}.stress-card .relief-heading{flex-direction:row;align-items:center}.records-table tr.selected-record{background:#eef4e2}.records-table tr.selected-record td:first-child{box-shadow:inset 3px 0 #8aaa4a}
@media(max-width:760px){.stress-card .relief-heading>strong{font-size:14px;letter-spacing:-.5px}.stress-card .relief-heading>span{font-size:10px}.stress-card .relief-heading strong span{font-size:9px}.stress-card .relief-heading{gap:2px}.stress-card{min-height:68px}}
.arena-footer:has(.target-bar:not([hidden]))>#aim-label{display:none}.arena-footer .target-bar{padding:0;background:none;border:0;margin:0;flex:1;min-width:0;gap:7px}.arena-footer .target-bar>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.arena-footer .target-bar button{white-space:nowrap;flex-shrink:0}.arena-footer:has(.target-bar:not([hidden]))>#reset-button{display:none}
@media(max-width:760px){.wide-label{display:none}.stress-top label{white-space:nowrap;font-size:11px}.stress-card .relief-heading>span{white-space:nowrap}.arena-footer .target-bar{font-size:11px}.arena-footer .target-bar button{font-size:10px}}
@media(max-width:360px){.tools .tool strong{white-space:normal;word-break:keep-all;line-height:1.15}.tools .tool,.tools .tool[data-tool=hammer]{min-height:68px}.quick-record #quick-numbers{font-size:10px;gap:5px}.quick-record select{max-width:64px}.quick-record button{font-size:10px}.quick-record{gap:4px}}
@media(max-width:760px) and (max-height:700px){.header{height:44px}.app-shell{padding:5px 7px 7px;gap:5px}.play-column{gap:4px}.game-topbar{display:none}.player-card{padding:5px;gap:3px}.player-card label{font-size:10px}.player-card select{padding:5px 3px;font-size:12px}.player-card #my-desk{font-size:10px}.stress-card{padding:5px 6px;min-height:57px}.stress-top label{font-size:10px}.stress-top input{font-size:12px;width:46px}.stress-card .relief-heading>span{font-size:9px}.stress-card .relief-heading>strong{font-size:12px}.stress-card .relief-heading strong span{font-size:9px}.tools .tool,.tools .tool[data-tool=hammer]{min-height:57px;padding:3px 1px}.tools .tool-icon,.tools .tool[data-tool=hammer] .tool-icon{height:25px;width:31px}.tools .tool strong{font-size:10px}.tap-meter{padding:5px 6px}.tap-meter strong{font-size:17px}.tap-meter #best-cps{font-size:9px}.tap-meter #power-label{font-size:9px}.smash-button{min-height:49px;padding:5px 9px}.smash-button>strong{font-size:22px}.smash-button .smash-hint{font-size:9px}.quick-record{padding:4px 6px}.quick-record select{padding:3px 4px}.arena-footer{min-height:24px;padding:4px 8px}.camera-hint{display:none!important}.desk-event{font-size:10px;bottom:40px;padding:3px 5px}.rooms-nav{min-height:22px}.room-chip{padding:2px 7px}}
@media(max-height:550px) and (orientation:landscape){.app-shell{grid-template-columns:minmax(0,1fr) 230px}.control-panel{gap:5px}.player-card{padding:5px;gap:5px;flex-shrink:0}.player-card label{font-size:11px}.player-card select{padding:5px;font-size:12px}.player-card #my-desk{font-size:10px}.stress-card{padding:6px 8px;flex-shrink:0}.stress-top label{font-size:11px}.stress-top input{font-size:14px;width:58px;padding:3px 5px}.stress-card .relief-heading{margin-top:5px;margin-bottom:4px}.stress-card .relief-heading>span{font-size:11px}.stress-card .relief-heading>strong{font-size:16px}.stress-card .relief-heading strong span{font-size:10px}.tools .tool,.tools .tool[data-tool=hammer]{min-height:61px;grid-template-columns:none;padding:3px 1px}.tools .tool strong{font-size:10px;line-height:1.15;word-break:keep-all;white-space:normal}.tools .tool-icon,.tools .tool[data-tool=hammer] .tool-icon{height:24px;width:30px}.tap-meter{padding:6px 8px}.tap-meter strong{font-size:19px}.tap-meter #best-cps{font-size:10px}.tap-meter #power-label{font-size:10px}.smash-button{min-height:53px;padding:6px 10px}.smash-button>strong{font-size:24px;line-height:1.1;margin:0}.smash-button .smash-hint{font-size:10px;margin-top:2px}.power-track{margin-top:4px}.control-panel .meter{height:5px}}
@media(max-height:550px) and (orientation:landscape){.game-topbar{display:none}.camera-hint{display:none!important}.desk-heading{padding:5px 7px}.desk-heading h2{font-size:13px}.desk-heading button{min-height:28px;padding:4px 6px;font-size:11px}}
/* Together mode keeps its entry and connection state inside the existing viewport. */
.brand>span:last-child{white-space:nowrap;font-size:20px}.brand small{font-size:8px;letter-spacing:1.3px}.online-button{background:#eef2df;border-color:#91a56f;color:#49632d;white-space:nowrap}.online-button.is-live{background:#ddecbb}.edition{font-size:11px}#online-dialog{width:min(580px,calc(100vw - 24px))}#online-state{padding:10px 13px;background:#e8eedb;border-radius:8px;color:#546647;font-size:13px}#online-start>p{font-size:14px;line-height:1.8}#online-create{width:100%;margin:10px 0}#online-dialog label,#online-dialog h3{display:block;font-size:13px;font-weight:700;margin:16px 0 8px}.invite-row{display:flex;gap:8px;min-width:0}.invite-row input{flex:1;min-width:0;padding:11px;border:1px solid #c2c9b4;border-radius:6px;background:#fffdf3;color:#526246}.invite-row button{flex:none}.online-choose{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:18px}.online-choose button{padding:12px 5px;border:1px solid #c8cfbc;border-radius:8px;background:#faf9ee;color:#526147;font-size:13px}.online-choose button.chosen{background:#dbeab7;border-color:#6f8d42}.online-choose button:disabled{opacity:.45}.online-choose button:hover:not(:disabled){background:#ebf0df}#online-notice{font-size:12px;color:#755a39;min-height:18px;line-height:1.7}body.is-online #player-notice{position:static;width:auto;height:auto;clip:auto;overflow:visible;margin:4px 0 0;font-size:10px;grid-column:1/-1}body.is-online #auto-walk:disabled{opacity:.4}
@media(max-width:1000px){.edition{display:none}.brand>span:last-child{font-size:17px}.header-right{gap:5px}}
@media(max-width:760px){.header{gap:5px}.brand>span:last-child{font-size:15px}.brand small{font-size:6px;letter-spacing:.5px}.header .brand-icon{width:25px;height:25px;font-size:20px}.header-right{gap:3px}.header-right .header-button{padding:7px 6px;font-size:10px}.header-right #help-button{display:none}body.is-online #player-notice{display:none}}
@media(max-width:360px){.brand small{display:none}.brand>span:last-child{font-size:13px}.header .brand-icon{display:none}.header-right #sound-button{width:24px}.header-right .header-button{padding:6px 5px}}

.desk-impact{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5;image-rendering:pixelated}
