/* Round 183 — Choice Board. Mobile first. The full-screen board uses container units so every choice scales to its share of the screen. */
.cbw{max-width:980px}
.cb{--cb-red:#D9411E;--cb-ink:#2A1A14;--cb-soft:#FFF0EA;--cb-blue:#2A5BD7;padding:6px 0 40px}
.cb *{box-sizing:border-box}
.cbp-hero{background:linear-gradient(135deg,#E6F0FF,#FFF3E8);padding:22px 0;margin-bottom:10px}
.cbp-hero h1{font-family:var(--font-display);font-size:clamp(24px,5vw,34px);margin:0 0 6px;color:#2A1A14}.cbp-hero .lead{margin:0;font-size:16px;color:#4a342b}
.cb-fine{font-size:14px;color:var(--color-text-muted,#6b5b53)}
.cb-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:10px 18px;border-radius:14px;border:2px solid var(--color-border,#e2d6cf);background:#fff;font:inherit;font-weight:700;font-size:16px;cursor:pointer;text-decoration:none;color:var(--cb-ink)}
.cb-btn:hover{border-color:var(--cb-red)}.cb-btn--primary{background:var(--cb-red);border-color:var(--cb-red);color:#fff}.cb-btn--big{min-height:60px;font-size:19px}.cb-btn--small{min-height:44px;padding:8px 14px;font-size:15px}
.cb-btn.is-warn{background:#fff3cd;border-color:#e0a33a}.cb-btn--add{width:100%;border-style:dashed}
.cb :focus-visible,.cb-modal :focus-visible,.cb-play :focus-visible{outline:3px solid #2A5BD7;outline-offset:2px}
.cb-link{background:none;border:0;padding:8px 4px;min-height:44px;font:inherit;font-weight:700;color:var(--cb-blue);cursor:pointer;text-decoration:underline}.cb-link--bad{color:#B8341A}
.cb-head{margin:6px 0}.cb-who{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-weight:700}.cb-who select{font-size:16px;min-height:44px;flex:1 1 200px}
.cb-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none;position:sticky;top:0;background:var(--color-bg,#fff);z-index:3}.cb-tabs::-webkit-scrollbar{display:none}
.cb-tab{flex:0 0 auto;border:1px solid var(--color-border,#e2d6cf);background:#fff;border-radius:999px;padding:10px 16px;font:inherit;font-size:15px;font-weight:700;cursor:pointer;min-height:46px;white-space:nowrap}
.cb-tab[aria-selected=true]{background:var(--cb-red);color:#fff;border-color:var(--cb-red)}
.cb-panel[hidden]{display:none}
.cb-lead{margin:10px 0}.cb-lead h2{font-size:22px;margin:0 0 6px;color:var(--cb-ink)}.cb-lead p{margin:0;color:#4a342b}
.cb-card{background:#fff;border:1px solid var(--color-border,#e2d6cf);border-radius:18px;padding:16px;margin:12px 0}.cb-card h3{margin:0 0 8px;font-size:17px;color:#B8341A}
.cb-banner{background:#fff7e6;border:1px solid #f0d9a8;border-radius:14px;padding:12px 14px;font-size:15px;margin:10px 0;color:#5a4310}
.cb-chip{border:1px solid var(--color-border,#e2d6cf);background:#fff;border-radius:999px;padding:8px 14px;font:inherit;font-size:14px;cursor:pointer;min-height:44px;color:var(--cb-ink);white-space:nowrap}.cb-chip.is-on{border-color:var(--cb-red);background:var(--cb-soft);font-weight:700}
.cb-tpl{display:flex;gap:8px;align-items:center;overflow-x:auto;padding:4px 0 8px;scrollbar-width:thin}
.cb-l{display:block;font-weight:700;margin:12px 0 4px}
.cb input[type=text],.cb input[type=search],.cb input[type=number],.cb select,.cb-modal input[type=search]{width:100%;font-size:16px;min-height:46px}
.cb-make{display:grid;gap:16px}
.cb-prevbox{background:#F7F3F0;border-radius:18px;padding:12px;display:flex;flex-direction:column;align-items:center}
.cb-prev{width:150px;aspect-ratio:9/16;background:#1b2027;padding:4px;border-radius:16px;margin:6px auto}.cb-prev--side{width:260px;aspect-ratio:16/9}.cb-prev--sm{width:88px;flex:0 0 88px;margin:0}.cb-prev--sm.cb-prev--side{width:140px;flex-basis:140px}
.cb-prev .cb-grid{gap:3px}.cb-prev .cb-tile{border-radius:8px}
.cb-opts{display:grid;gap:10px;margin:12px 0}
.cb-opt{border:1px solid var(--color-border,#e2d6cf);border-radius:16px;padding:10px 12px;background:#FCFAF8}
.cb-opt__n{font-size:13px;font-weight:700;color:var(--color-text-muted,#6b5b53);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.cb-opt__row{display:grid;grid-template-columns:84px 1fr auto;gap:10px;align-items:start}
.cb-opt__thumb{width:84px;height:84px}.cb-opt__thumb .cb-tile{width:100%;height:100%;border-radius:14px}
.cb-opt__f{display:grid;gap:8px;min-width:0}.cb-opt__btns{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cb-opt__ctl{display:flex;flex-direction:column;gap:4px}.cb-ic{width:44px;height:44px;border-radius:10px;border:1px solid var(--color-border,#e2d6cf);background:#fff;font-size:18px;cursor:pointer}.cb-ic[disabled]{opacity:.35;cursor:not-allowed}.cb-ic--bad{color:#B8341A}
.cb-sw{display:flex;flex-wrap:wrap;gap:6px}.cb-sw__b{width:36px;height:36px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #c9bdb5;cursor:pointer;padding:0;font-size:16px;line-height:1}.cb-sw__b.is-on{box-shadow:0 0 0 3px #2A1A14}.cb-sw__none{background:#fff;color:#777}
.cb-more{border:1px solid var(--color-border,#e2d6cf);border-radius:14px;background:#FCFAF8;padding:2px 14px;margin:12px 0}.cb-more>summary{cursor:pointer;font-weight:700;min-height:48px;display:flex;align-items:center}
.cb-fields{padding-bottom:10px}.cb-chk{display:flex;gap:10px;align-items:flex-start;margin:12px 0;cursor:pointer}.cb-chk input{width:24px;height:24px;margin-top:2px;flex:none}.cb-chk small{display:block;color:var(--color-text-muted,#6b5b53);font-size:13px}
.cb-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 4px}.cb-actions .cb-btn--big{flex:1 1 100%}
.cb-msg{margin-top:8px;font-size:15px}.cb-msg.is-bad{color:#B8341A}.cb-msg.is-ok{color:#1B7A3E}
.cb-tips{padding-left:1.2em}.cb-tips li{margin:6px 0}
@media (min-width:860px){.cb-make{grid-template-columns:1fr 240px;align-items:start}.cb-make__r{position:sticky;top:64px}.cb-actions .cb-btn--big{flex:1 1 auto}}
/* boards list */
.cb-meter{margin:10px 0}.cb-meter__bar{height:12px;background:#f1e9e4;border-radius:999px;overflow:hidden}.cb-meter__fill{height:100%;background:var(--cb-red)}
.cb-findrow{display:flex;gap:8px;margin:10px 0}.cb-findrow input{flex:1}
.cb-boards{display:grid;gap:12px}
.cb-bcard{display:flex;gap:14px;background:#fff;border:1px solid var(--color-border,#e2d6cf);border-radius:18px;padding:12px}.cb-bcard__b{flex:1;min-width:0}.cb-bcard h3{margin:0 0 2px;font-size:17px;color:var(--cb-ink);overflow-wrap:anywhere}.cb-bcard__a{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
@media (min-width:760px){.cb-boards{grid-template-columns:1fr 1fr}}
/* choices */
.cb-stats{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:10px;margin:12px 0}.cb-stat{background:#fff;border:1px solid var(--color-border,#e2d6cf);border-radius:16px;padding:12px;text-align:center}.cb-stat b{display:block;font-size:24px;color:var(--cb-ink);overflow-wrap:anywhere}.cb-stat span{font-size:13px;color:var(--color-text-muted,#6b5b53)}
.cb-bar{margin:10px 0}.cb-bar__l{display:flex;gap:8px;align-items:center;font-size:15px}.cb-bar__l span:nth-last-child(1){margin-left:auto}.cb-bar__t{background:#f1e9e4;border-radius:999px;height:12px;overflow:hidden;margin-top:4px}.cb-bar__f{background:var(--cb-red);height:100%;border-radius:999px}
.cb-dot{display:inline-block;width:22px;height:22px;border-radius:50%;border:1px solid #c9bdb5}
.cb-recent{list-style:none;padding:0;margin:0}.cb-recent li{display:flex;gap:8px;align-items:center;padding:6px 0;border-top:1px solid #f0e8e3;flex-wrap:wrap}.cb-recent li:first-child{border-top:0}
.cb-toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,30px);opacity:0;pointer-events:none;background:#2A1A14;color:#fff;border-radius:14px;padding:12px 18px;font-size:15px;max-width:90vw;z-index:5000;transition:opacity .2s,transform .2s}.cb-toast.is-show{opacity:1;transform:translate(-50%,0)}.cb-toast.is-bad{background:#8a1f10}
.cb-seo{margin:30px 0}.cb-seo h2{font-size:22px}.cb-seo p{line-height:1.6}
.cb-noscroll{overflow:hidden}

/* ---------- the tile (preview, full screen, confirmation, print) ---------- */
.cb-tile{container-type:size;position:relative;display:block;width:100%;height:100%;min-width:0;min-height:0;padding:0;border:0;border-radius:22px;background:var(--bg,#fff);color:#1b1b1b;overflow:hidden;font-family:inherit;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.cb-tile.is-dark{color:#fff}
.cb-tile__in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2cqmin;padding:5cqmin}
.cb-pic{position:relative;flex:1 1 0;min-height:0;width:100%}
.cb-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 .8cqmin 1.2cqmin rgba(0,0,0,.22));user-select:none;-webkit-user-drag:none;pointer-events:none}
.cb-lbl{font-size:calc(var(--fs,15) * 1cqmin);font-weight:800;line-height:1.05;text-align:center;overflow-wrap:anywhere;max-width:100%;letter-spacing:.01em}
.cb-tile.is-num .cb-lbl{font-size:calc(var(--fs,34) * 1.9cqmin);line-height:1}
@supports not (container-type:size){.cb-lbl{font-size:calc(var(--fs,15) * .55vmin)}.cb-tile.is-num .cb-lbl{font-size:calc(var(--fs,34) * 1vmin)}.cb-tile__in{padding:3vmin}}
/* grid: every choice gets an equal share (2 = 50%, 3 = 33%, 4 = 25%, 5 = 20%) */
.cb-grid{display:grid;gap:6px;width:100%;height:100%}
.cb-m-stack{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(var(--n),minmax(0,1fr))}
.cb-m-side{grid-template-columns:repeat(var(--n),minmax(0,1fr));grid-template-rows:minmax(0,1fr)}
.cb-m-land[data-n="2"],.cb-m-land[data-n="3"]{grid-template-columns:repeat(var(--n),minmax(0,1fr));grid-template-rows:minmax(0,1fr)}
.cb-m-land[data-n="4"]{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.cb-m-land[data-n="5"]{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.cb-m-land[data-n="5"]>*:nth-child(-n+3){grid-column:span 2}.cb-m-land[data-n="5"]>*:nth-child(n+4){grid-column:span 3}

/* ---------- full screen play ---------- */
.cb-play{position:fixed;inset:0;z-index:3000;background:#0f1419;padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));height:100vh;height:100dvh;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
.cb-play__board{width:100%;height:100%}
.cb-tile--btn{cursor:pointer;appearance:none;-webkit-appearance:none;transition:transform .14s ease,opacity .35s ease,box-shadow .2s;animation:cb-in .45s cubic-bezier(.2,.9,.3,1.2) both;animation-delay:var(--d,0ms);box-shadow:inset 0 -1.6cqmin 0 rgba(0,0,0,.12)}
.cb-tile--btn:active{transform:scale(.95)}
@keyframes cb-in{from{transform:scale(.82);opacity:0}to{transform:scale(1);opacity:1}}
.cb-tile--btn.is-picked{animation:cb-pick .5s ease both;z-index:2;box-shadow:0 0 0 1.2cqmin #fff,0 0 5cqmin rgba(255,255,255,.7)}
@keyframes cb-pick{0%{transform:scale(1)}35%{transform:scale(1.07) rotate(-1.2deg)}65%{transform:scale(1.04) rotate(1.2deg)}100%{transform:scale(1.05) rotate(0)}}
.cb-play.is-chosen .cb-tile--btn:not(.is-picked){opacity:.12;transform:scale(.92)}
.cb-confirm{position:absolute;inset:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));z-index:4;background:#0f1419;animation:cb-fade .25s ease both}
.cb-tile--confirm{position:absolute;inset:0;border-radius:26px;animation:cb-grow .5s cubic-bezier(.2,.9,.3,1.2) both}
@keyframes cb-fade{from{opacity:0}to{opacity:1}}@keyframes cb-grow{from{transform:scale(.92)}to{transform:scale(1)}}
.cb-confirm__tick{position:absolute;top:14px;right:14px;width:min(18vmin,96px);height:min(18vmin,96px);border-radius:50%;background:#2e9e5b;color:#fff;font-size:min(11vmin,60px);display:flex;align-items:center;justify-content:center;font-weight:900;box-shadow:0 4px 18px rgba(0,0,0,.35);animation:cb-grow .6s .15s cubic-bezier(.2,.9,.3,1.4) both}
.cb-confirm__word{position:absolute;left:0;right:0;bottom:0;padding:3vmin;text-align:center;font-size:12vmin;font-weight:900;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.72));border-radius:0 0 26px 26px;text-shadow:0 2px 8px rgba(0,0,0,.5)}
.cb-confirm__bar{position:absolute;left:12px;right:12px;bottom:12px;display:flex;gap:10px;z-index:6}.cb-confirm__bar .cb-btn{flex:1}
.cb-fx{position:absolute;inset:0;z-index:5;pointer-events:none}
.cb-exit{position:absolute;top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));z-index:7;width:48px;height:48px;border-radius:50%;border:0;background:rgba(0,0,0,.38);color:#fff;opacity:.5;cursor:pointer;overflow:hidden;touch-action:none}
.cb-exit__x{font-size:20px;line-height:48px}.cb-exit__ring{position:absolute;left:0;bottom:0;height:6px;width:0;background:#fff}.cb-exit.is-hold{opacity:.95}.cb-exit.is-hold .cb-exit__ring{width:100%;transition:width 1s linear}
.cb-hint{position:absolute;z-index:7;left:50%;top:max(10px,env(safe-area-inset-top));transform:translateX(-50%);margin-left:20px;background:rgba(0,0,0,.65);color:#fff;border-radius:12px;padding:8px 14px;font-size:14px;max-width:70vw;text-align:center;animation:cb-fade .3s ease both}
.cb-play.is-reduced .cb-tile--btn,.cb-play.is-reduced .cb-confirm,.cb-play.is-reduced .cb-tile--confirm,.cb-play.is-reduced .cb-confirm__tick{animation:none!important;transition:none!important}
@media (prefers-reduced-motion:reduce){.cb-toast{transition:none}}

/* ---------- picture picker ---------- */
.cb-modal{position:fixed;inset:0;z-index:2500;background:rgba(15,20,25,.55);display:flex;align-items:flex-end;justify-content:center}
.cb-modal__in{background:#fff;width:100%;max-width:760px;max-height:94vh;max-height:94dvh;overflow-y:auto;border-radius:22px 22px 0 0;padding:14px 14px max(16px,env(safe-area-inset-bottom))}
@media (min-width:760px){.cb-modal{align-items:center}.cb-modal__in{border-radius:22px;max-height:86vh}}
.cb-modal__top{display:flex;justify-content:space-between;align-items:center;gap:10px;position:sticky;top:-14px;background:#fff;padding:6px 0;z-index:2}.cb-modal__top h3{margin:0;font-size:19px}
.cb-pk__cats{display:flex;gap:6px;overflow-x:auto;padding:8px 0;scrollbar-width:thin}
.cb-pk__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;margin:8px 0}
.cb-pk__sec{grid-column:1/-1;font-size:13px;font-weight:700;color:var(--color-text-muted,#6b5b53);text-transform:uppercase;letter-spacing:.04em;margin-top:6px}
.cb-pk__c{display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid var(--color-border,#e2d6cf);border-radius:14px;background:#fff;padding:8px 4px;cursor:pointer;min-height:96px;font:inherit}.cb-pk__c:hover,.cb-pk__c:focus-visible{border-color:var(--cb-red);background:var(--cb-soft)}
.cb-pk__c img{width:64px;height:64px;object-fit:contain}.cb-pk__c span{font-size:12px;line-height:1.15;text-align:center;overflow-wrap:anywhere;color:#2A1A14}
.cb-modal__foot{text-align:center;margin-top:6px}

/* ---------- print cards ---------- */
.cb-printroot{display:none}
@media print{
  body.cb-printing>*:not(.cb-printroot){display:none!important}
  body.cb-printing .cb-printroot{display:block;font-family:system-ui,sans-serif;color:#222}
  .cb-printroot h1{font-size:24px;margin:0 0 4px}.cb-printroot__sub{font-size:13px;color:#555;margin:0 0 10px}
  .cb-printroot__cards{display:grid;grid-template-columns:repeat(2,3.6in);gap:0;justify-content:center}
  .cb-card-cut{width:3.6in;height:3.6in;border:2px dashed #888;padding:.08in;break-inside:avoid}
  .cb-card-cut .cb-tile{border:2px solid #222;border-radius:.18in}
  .cb-printroot__foot{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-between;font-size:11px;color:#777;border-top:1px solid #ddd;padding-top:4px}
  @page{size:letter portrait;margin:.45in}
}
