.mobile-puzzle-tools,.mobile-solve-dock{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:800px){
 html{scroll-padding-bottom:110px;scroll-padding-top:12px}body{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}main{padding:10px 10px 14px}.intro{margin-bottom:10px}.intro h1{font-size:16px}.brand{font-size:17px}.brand span{font-size:12px}.connection{font-size:9px}
 .board-panel{padding:12px;scroll-margin-top:10px}.board-heading{order:0;margin-bottom:8px}.board-heading h2{font-size:16px}.board-tools button{min-height:36px;padding:7px 11px}.badge{font-size:10px}
 .mobile-puzzle-tools{order:1;display:grid;grid-template-columns:minmax(80px,1fr) minmax(100px,1.25fr) auto;gap:7px;margin:0 0 12px}.mobile-puzzle-tools select,.mobile-puzzle-tools button{min-height:44px;margin:0;padding:9px 10px;font-size:12px;border-radius:7px}.mobile-puzzle-tools select{width:100%;background:#f5faf7;color:#226b59}.mobile-puzzle-tools button{background:#fff;color:#376b5d}.mobile-puzzle-tools button:disabled{opacity:.45}
 .board-scroll{order:2;height:min(85vw,500px)}.board-footer{order:3;margin:9px 0 12px}.live-bitstream{order:4;margin-bottom:0}.keypad-fold{order:5}#notice{order:6;font-size:11px;max-height:90px}.keypad-fold summary{min-height:36px;display:flex;align-items:center}.keypad-fold .keypad button{width:38px;height:42px;font-size:14px}
 .mobile-solve-dock{display:block;position:fixed;bottom:0;left:0;right:0;z-index:40;padding:8px max(12px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));background:#fffffff5;border-top:1px solid #d9e7e0;box-shadow:0 -5px 24px #133b2910;backdrop-filter:blur(12px)}
 .mobile-solve-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;font-size:11px;color:#5b7770;line-height:15px}#mobile-solve-status{color:#16816b}.mobile-solve-buttons{display:grid;grid-template-columns:minmax(140px,1fr) 64px 64px;gap:7px}.mobile-solve-buttons button{min-height:46px;border-radius:8px;margin:0;font-size:12px;padding:10px 7px;font-weight:600}.mobile-solve-buttons #mobile-start{background:#14765f;border-color:#14765f;color:white;font-size:14px;box-shadow:0 3px 8px #14765f20}.mobile-solve-buttons #mobile-stop{color:#87594b}.mobile-solve-buttons button:disabled{opacity:.4;box-shadow:none}
 .q-top-controls{display:none}.controls{scroll-margin-top:12px}.controls input[type=number],.controls select{min-height:42px;font-size:16px}.controls button{min-height:44px}.controls summary{min-height:36px}.controls:focus{outline:none}.controls:focus-visible{outline:2px solid #16816b;outline-offset:2px}
 .q-detail-toolbar select{min-height:38px;font-size:12px}.q-detail-toolbar button{min-height:38px}button:focus-visible,select:focus-visible{outline:2px solid #40a88b;outline-offset:2px}
}
@media(max-width:360px){.brand span{font-size:11px}.mobile-solve-buttons{grid-template-columns:minmax(120px,1fr) 59px 59px}.mobile-puzzle-tools{gap:5px}.mobile-puzzle-tools button{padding:8px;font-size:11px}}

@media(max-width:800px){#bitstream-lines:has(.bitstream-empty){height:42px}}

.compile-progress{flex:none;order:1;border:1px solid #cce3d9;background:#eff8f4;border-radius:7px;padding:8px 10px;margin:0 0 8px;color:#286651;min-width:0}.compile-progress[hidden]{display:none}.compile-heading{display:flex;justify-content:space-between;gap:8px;font-size:11px}.compile-heading span{font-variant-numeric:tabular-nums;font-size:10px;white-space:nowrap}.compile-progress progress{display:block;width:100%;height:5px;accent-color:#16816b;margin:6px 0}.compile-progress progress::-webkit-progress-bar{background:#d5e9df;border-radius:4px}.compile-progress progress::-webkit-progress-value{background:#16816b;border-radius:4px}#compile-detail{font-size:10px;line-height:1.4;overflow-wrap:anywhere}.compile-progress[data-state="stopped"]{background:#faf5ef;border-color:#e5d9cb;color:#795936}@media(min-width:801px){.compile-progress{order:0}}

@media(max-width:800px){.mobile-solve-buttons{grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:6px}.mobile-solve-buttons button{padding:9px 3px}.mobile-solve-buttons #mobile-reset{color:#376b5d;background:#f4f9f6;border-color:#cbded4}}
