.mobile-views,.mobile-title-controls,.mobile-rotate,.mobile-focus-meter{display:none}
.mobile-rotate[hidden]{display:none}
.hold-card{width:100%;text-align:left;cursor:pointer;touch-action:manipulation}
.hold-card:not(:disabled):hover,.hold-card:focus-visible{border-color:#7defff;box-shadow:0 0 18px #60e8ff55,inset 0 1px #ffffff2b}
.hold-card:disabled{cursor:default;border-color:#455068;filter:saturate(.65)}

.mobile-mode{height:100dvh;min-height:0;overflow:hidden;overscroll-behavior:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
.mobile-mode input,.mobile-mode textarea,.mobile-mode [contenteditable]{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}
.mobile-mode .app{width:100%;height:100dvh;overflow:hidden}
.mobile-mode .topbar{height:44px;padding:0 8px;border-bottom:1px solid #70dfff55}
.mobile-mode .brand{gap:5px}
.mobile-mode .brand-icon{width:27px;height:27px;font-size:20px}
.mobile-mode .brand strong{font-size:17px;letter-spacing:0}
.mobile-mode .brand small,.mobile-mode .arcade-marquee,.mobile-mode .page-footer{display:none}
.mobile-mode .top-actions{gap:5px}
.mobile-mode #recordBtn,.mobile-mode #rankBtn{display:none}
.mobile-mode .icon-button{width:34px;height:34px}
.mobile-mode .mobile-views{height:42px;display:flex;align-items:center;gap:5px;padding:3px 8px;background:#0a1830;border-bottom:1px solid #5ebfe771}
.mobile-mode .mobile-views .mode-label,.mobile-mode .mobile-views button{height:34px;border:1px solid #53708e;border-radius:7px;background:#162b49;color:#b9d5e8;font-size:12px;font-weight:900}
.mobile-mode .mobile-views .mode-label{display:grid;place-items:center}
.mobile-mode .mobile-views .mode-label[aria-current="true"]{border-color:#7defff;background:#245e72;color:#fff;box-shadow:0 0 12px #54e8ff66}
.mobile-mode #mobileBlockTab,.mobile-mode #mobilePuzzleTab{flex:1;touch-action:manipulation}
.mobile-mode #mobileFullscreen{width:34px;flex:none;font-size:20px}
.mobile-mode .mobile-focus-meter{position:fixed;z-index:25;top:96px;right:6px;width:32px;height:122px;padding:4px 3px;display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid #ffe49b;border-radius:6px;background:#13233bed;color:#ffe8a9;box-shadow:0 0 12px #ffcf6655;font:800 9px 'Barlow Condensed',sans-serif}
.mobile-mode .mobile-focus-meter[hidden]{display:none}
.mobile-mode #mobileFocusClock{font-size:14px;line-height:1}
.mobile-mode .mobile-focus-track{width:16px;min-height:0;flex:1;display:flex;align-items:end;padding:2px;border:1px solid #bca769;border-radius:3px;background:#081426}
.mobile-mode #mobileFocusFill{display:block;width:100%;height:100%;border-radius:2px;background:linear-gradient(#ffe386,#ff914c);box-shadow:0 0 7px #ffcc79}
.mobile-mode .game-layout{display:block;padding:3px 0 0;min-height:0}
.mobile-mode .left-panel{height:140px;width:calc(100% - 12px);margin:0 auto 5px;padding:0;display:grid;grid-template-columns:clamp(78px,25vw,96px) clamp(108px,33vw,132px) minmax(0,1fr);grid-template-rows:70px 70px;column-gap:4px;row-gap:0;overflow:visible}
.mobile-mode .left-panel .card{min-width:0;min-height:0;padding:6px;border-radius:9px}
.mobile-mode .left-panel .next-card,.mobile-mode .left-panel .hold-card{display:block}
.mobile-mode .left-panel .next-card{grid-column:1;grid-row:1/3;height:140px}
.mobile-mode .left-panel .hold-card{grid-column:2;grid-row:1;height:70px;display:flex;align-items:center;justify-content:space-between;gap:3px;border-color:#75d9e9;border-radius:9px 9px 0 0;background:linear-gradient(145deg,#203955,#142039)}
.mobile-mode .left-panel .bomb-button{grid-column:2;grid-row:2}
.mobile-mode .left-panel .score-card{grid-column:3;grid-row:1;height:68px;align-self:start}
.mobile-mode .left-panel .stat-card{grid-column:3;grid-row:2;height:68px;align-self:end}
.mobile-mode .left-panel .card-title{font-size:13px;letter-spacing:.7px}
.mobile-mode .left-panel .card-title small{display:none}
.mobile-mode .next-canvases{margin:1px 0 0;gap:0}
.mobile-mode .next-card .next{display:block;width:min(100%,52px);height:auto;aspect-ratio:124/88;border:0;margin:auto}
.mobile-mode .next-card .next+.next{border-top:1px solid #ffffff22}
.mobile-mode .hold-card canvas{width:54px;height:auto;aspect-ratio:124/104;margin:0}
.mobile-mode .left-panel .bomb-button{height:70px;padding:5px 8px;gap:6px;border-radius:0 0 9px 9px}
.mobile-mode .bomb-symbol{width:30px;height:30px;font-size:21px;border-width:1px}
.mobile-mode .bomb-label{font-size:15px}
.mobile-mode .bomb-button strong{min-width:20px;height:20px;font-size:12px}
.mobile-mode .score-card .large-number{font-size:21px;margin:8px 0 0}
.mobile-mode .score-card .stat-row{display:none}
.mobile-mode .stat-card .stat-row:first-child{display:block;border:0;padding:0;margin:0}
.mobile-mode .stat-card .stat-row:first-child span{display:block;color:#a5c1d8;font-size:10px}
.mobile-mode .stat-card .stat-row:first-child strong{display:block;margin-top:7px;font-size:clamp(13px,4vw,17px);white-space:nowrap}
.mobile-mode .stat-card .stage-name,.mobile-mode .stat-card .stage-dots,.mobile-mode .stat-card .level-track,.mobile-mode .stat-card .stat-row:not(:first-child){display:none}
.mobile-mode .board-shell{--mobile-board-w:min(calc(100vw - 16px),calc((100dvh - 253px)/2));width:calc(var(--mobile-board-w) + 10px);margin:0 auto}
.mobile-mode .board-bezel{padding:4px;border-radius:8px}
.mobile-mode #board{display:block;width:var(--mobile-board-w);height:calc(var(--mobile-board-w) * 2)}
.mobile-mode .board-footer{display:none}
.mobile-mode .puzzle-panel{position:absolute;z-index:15;top:86px;left:0;right:0;bottom:0;width:100%;height:calc(100dvh - 86px);margin:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));display:flex;flex-direction:column;border-radius:0;visibility:hidden;pointer-events:none}
.mobile-mode:not(.mobile-view-puzzle) .puzzle-panel{display:none}
.mobile-mode.mobile-view-puzzle .puzzle-panel{visibility:visible;pointer-events:auto}
.mobile-mode.mobile-view-puzzle .left-panel,.mobile-mode.mobile-view-puzzle .board-shell{display:none}
.mobile-mode .puzzle-head{flex:none}
.mobile-mode .puzzle-head h2{font-size:20px;margin-top:2px}
.mobile-mode .puzzle-kicker{font-size:8px}
.mobile-mode .puzzle-count{font-size:20px}
.mobile-mode .puzzle-progress{flex:none;margin:8px 0}
.mobile-mode .puzzle-rule{display:none}
.mobile-mode .puzzle-stage{--board-w:min(calc(100vw - 24px),calc((100dvh - 322px - env(safe-area-inset-bottom))/1.5));height:0;min-height:0;flex:1}
.mobile-mode .puzzle-tray{height:110px}
.mobile-mode .puzzle-hint{flex:none;margin:4px 0 0}
.mobile-mode .title-card{width:calc(100vw - 16px);height:calc(100dvh - 16px);min-height:0;grid-template-columns:1fr;grid-template-rows:32% 1fr}
.mobile-mode .title-art{background-position:center top}
.mobile-mode .title-copy{padding:12px;justify-content:center}
.mobile-mode .title-copy h1{font-size:clamp(32px,10vw,48px);margin:7px 0}
.mobile-mode .title-copy p{font-size:12px;margin:3px 0}
.mobile-mode .title-controls,.mobile-mode .title-copy small{display:none}
.mobile-mode .mobile-title-controls{display:block;margin-top:8px;color:#b9ddec;font-size:11px;text-align:center}
.mobile-mode .title-start{margin:10px 0}
.mobile-mode .title-ranking{margin:0 0 10px;padding:9px 22px;font-size:14px}
.mobile-mode .title-record{display:none}
.mobile-mode .mobile-rotate{position:fixed;z-index:140;inset:0;display:grid;place-items:center;padding:20px;background:#061225f5;color:white;text-align:center}
.mobile-mode .mobile-rotate[hidden]{display:none}
.mobile-mode .mobile-rotate strong{font-size:27px;color:#8af4ff}
.mobile-mode .mobile-rotate p{font-size:15px}
.mobile-mode .mobile-rotate button{padding:10px 18px;border:1px solid #9defff;border-radius:8px;background:#1e5270;color:#fff;font-weight:900}
@media(max-height:700px){.mobile-mode .board-shell{--mobile-board-w:min(calc(100vw - 16px),calc((100dvh - 253px)/2))}}
