.tool,.icon-button{display:inline-flex;align-items:center;justify-content:center}
.biir-brand{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.biir-word{display:flex;align-items:center;gap:6px;height:42px;font:bold 44px/1 Arial,Helvetica,sans-serif;color:#987000;letter-spacing:0}
.biir-stick{display:block;position:relative;width:6px;height:35px;margin:0 2px;background:linear-gradient(90deg,#bc8739,#f4d58b 45%,#d5a453);border-radius:1px}
.biir-stick:before{content:'';position:absolute;top:-2px;left:-1px;width:8px;height:10px;border-radius:50%;background:#794533}
.biir-ghost{opacity:.35}
.biir-caption{font:700 10px/1.3 Arial,Helvetica,sans-serif;color:#56634f}
.biir-header{position:relative;justify-content:center;padding:10px 48px;border-bottom:0}
.biir-header .biir-brand{width:min(100%,440px);display:block}
.biir-logo{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:contain}
.biir-header #soundless{position:absolute;right:16px;top:16px}
.headline h1.biir-rule{font-size:14px;line-height:1.4;color:#56634f}
.biir-header+main{padding-top:8px}
.text-button{display:inline-flex;align-items:center;gap:12px}
.headline{margin-bottom:22px}
.board-shell,#board{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.destination-dot{opacity:0;fill:#a8d7ff}
.placing .empty .destination-dot{opacity:.85}
.navigation{display:flex;align-items:center;gap:10px}
.tool,.icon-button{min-width:48px;min-height:48px}
.puzzle,.primary,#hint{min-height:48px}
.board-shell{aspect-ratio:895/290}
.board-top{padding-bottom:12px;font-size:13px}
.board-bottom{font-size:16px}
@media(max-width:600px){
  .headline{margin-bottom:16px}.headline h1{font-size:26px}
  main{padding-top:18px}
  .board-shell{aspect-ratio:895/360}
  .board-top{font-size:12px}
  .board-bottom{font-size:15px;min-height:64px}
  .controls{display:grid;grid-template-columns:1fr;gap:12px}
  .tools{justify-content:center;gap:16px}
  .navigation{justify-content:space-between}
  #previous{width:64px}.primary{font-size:16px}
  #hint{font-size:16px}.puzzle{font-size:16px}
}
@media(orientation:landscape) and (max-height:550px){
  header,.headline,footer{display:none}
  main{padding:8px 18px;max-width:1000px}
  #packs{margin-bottom:6px}#packs button{padding:5px;min-height:36px}
  .play-area{margin:0}
  .board-top{padding:8px 14px 0}
  .board-shell{aspect-ratio:auto;height:clamp(145px,49dvh,260px)}
  .board-bottom{min-height:28px;padding:0 14px 6px;font-size:14px;align-items:center}
  .controls{display:flex;padding:8px 0;gap:12px}
  .tools{gap:8px}.navigation{gap:10px}
  .puzzles{grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}
}
#packs{display:flex;align-items:center;gap:8px;margin-bottom:16px;min-width:0}
#set-strip{display:flex;gap:8px;flex:1;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;touch-action:pan-x;scrollbar-width:thin;padding:2px 0 6px}
#packs button{flex-shrink:0;min-height:48px;border:0;border-radius:4px;background:transparent;color:#56634f}
#packs .set-button{width:92px;padding:10px 4px;font-size:16px;border-bottom:3px solid transparent}
#packs .set-button.active{border-bottom-color:#b88013;background:#f4e6b9;color:#252927;font-weight:bold}
#packs .set-scroll{width:44px;display:inline-flex;align-items:center;justify-content:center}
#packs .set-scroll svg{width:22px;height:22px}
#timer{font-variant-numeric:tabular-nums;text-align:center;min-width:130px;color:#f7df92;font-size:16px}
#timer.overtime{color:#b9e0f8}
.save-settings{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px;font-size:14px}
.save-settings label{display:flex;align-items:center;gap:8px;min-height:44px}
.save-settings input{width:22px;height:22px;accent-color:#6b510e}
.save-settings a{color:inherit;padding:12px}
#summary{max-height:90dvh;overflow:auto}
#summary #share{margin:14px auto 0;display:flex;justify-content:center}
#summary p{overflow-wrap:anywhere}
@media(max-width:600px){#packs{gap:3px}#set-strip{gap:4px}#packs .set-button{width:76px}#timer{font-size:14px;min-width:110px}.save-settings{font-size:13px}}
@media(orientation:landscape) and (max-height:550px){.save-settings{margin-top:4px;font-size:12px}}
@media(min-width:601px) and (max-height:850px){main{padding-top:22px}.headline h1{font-size:32px}.eyebrow{margin-bottom:8px}.headline{margin-bottom:18px}.controls{padding:14px 0 18px}footer{margin-top:22px}}
