/* Talking With Jon: shared styles for the 100 Big Ideas pages (/extras) */
.xp{max-width:1200px;margin:0 auto;padding:clamp(1.5rem,5vw,5rem) clamp(.8rem,4vw,3rem) 4rem;position:relative}
.xp h1{margin:.3em 0 .2em}
.xp .lede{font-size:1.15em;max-width:46em}
.xp .card{padding:clamp(1rem,3vw,2rem);margin:1.6rem 0}
.xp .card h2{font:clamp(1.4rem,1rem + 2vw,2.4rem) "Bowlby One";margin:0 0 .4em;color:var(--purple)}
.xp .row{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin:.6rem 0}
.xp button.btn{border:0;cursor:pointer}
.xp .btn.sm{font-size:clamp(.9rem,.85rem + .3vw,1.1rem);padding:.45em .9em}
.xp .btn[aria-pressed="true"]{background:var(--gold);color:var(--ink)}
.xp input,.xp select,.xp textarea{font:inherit;padding:.35em .6em;border:3px solid var(--ink);border-radius:8px 4px 10px 5px;background:#fffdf6;color:var(--ink);max-width:100%}
.xp textarea{width:100%;min-height:8em}
.xp canvas{max-width:100%;height:auto;display:block;touch-action:none;background:#2a1d5c;border-radius:10px;box-shadow:5px 6px 0 #0008}
.xp .status{min-height:1.5em;font-weight:700}
.xp .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:1rem}
.xp .tile{display:block;padding:1rem;text-decoration:none;color:var(--ink);transition:transform .15s}
.xp .tile:hover,.xp .tile:focus-visible{transform:rotate(-1.5deg) scale(1.03)}
.xp .tile b{font-family:"Bowlby One";display:block;color:var(--purple);font-size:1.05em}
.xp .tile small{display:block;opacity:.8}
.xp .num{display:inline-block;background:var(--gold);color:var(--ink);font:1rem "Bowlby One";padding:.1em .5em;border-radius:6px;transform:rotate(-4deg);margin-right:.3em}
.xp .crumbs{font-size:.95em}.xp .crumbs a{color:var(--gold)}
.xp .more{margin-top:3rem}
.xp .note{background:#fff59d;color:var(--ink);padding:.6em .9em;transform:rotate(-1deg);box-shadow:3px 4px 0 #0006;display:inline-block}
/* retro paper TV */
.rtv{position:relative;background:#7a4a1f var(--paper);padding:4% 4% 9%;border-radius:22px 26px 20px 28px;box-shadow:8px 10px 0 #000a;max-width:900px;margin:1rem auto}
.rtv::after{content:"";position:absolute;bottom:2.5%;right:6%;width:7%;aspect-ratio:1;border-radius:50%;background:var(--gold);box-shadow:-180% 0 0 var(--teal)}
.rtv .scr{position:relative;aspect-ratio:16/9;background:#111;border-radius:14px/20px;overflow:hidden;border:6px solid #2b1a0c}
.rtv .scr video,.rtv .scr img{width:100%;height:100%;object-fit:cover}
.onair{display:inline-block;padding:.2em .7em;border-radius:6px;background:#552;color:#aa9;font:1rem "Bowlby One";letter-spacing:.1em}
.onair.on{background:var(--red);color:#fff;box-shadow:0 0 18px var(--red)}
.xp .print-only{display:none}
@media print{.top,.foot,.xp .noprint,.k-dock{display:none!important}.xp .print-only{display:block}.xp{padding:0}.xp .card{box-shadow:none;border:2px solid #000}body{background:#fff!important;color:#000}}
@media (prefers-reduced-motion:reduce){.xp *{animation:none!important;transition:none!important}}
/* b01 */
.guide{list-style:none;padding:0;margin:0}.guide li{padding:.4em .2em;border-bottom:2px dashed #0003}.guide li.now{font-weight:700;background:#ffc83d55}
.tix{display:flex;flex-direction:column;gap:.6rem;margin-top:1rem}.tix1{display:flex;gap:1rem;align-items:center;background:#ffe9a8;color:var(--ink);text-decoration:none;padding:.5rem;border:3px dashed var(--red);border-radius:6px;transform:rotate(-.6deg)}.tix1:nth-child(even){transform:rotate(.6deg)}.tix1 img{width:clamp(90px,20vw,160px);border-radius:4px}.tix1 b{display:block;font-family:"Bowlby One";color:var(--red);font-size:.9em}.tix1 small{display:block}
.suit{width:min(240px,60%);aspect-ratio:4/3;margin:1rem auto;border:8px solid #7a4a1f;border-radius:18px;position:relative;overflow:hidden;background:#3a2a10}.suit::before{content:"";position:absolute;top:-30px;left:35%;width:30%;height:30px;border:8px solid #7a4a1f;border-bottom:0;border-radius:12px 12px 0 0}.suitfill{position:absolute;bottom:0;left:0;right:0;height:0;background:repeating-linear-gradient(45deg,var(--gold) 0 14px,var(--warm) 14px 28px);transition:height .6s}
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:.3rem;margin-top:1rem}.checks label{padding:.2em .4em;border-radius:6px}.checks label.packed{background:#2bb3a833}.checks label.packed::after{content:" 🧳"}
#drScr img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s}#drScr img.live{opacity:1}
.arset{--bass:0;--mid:0;--hi:0;position:relative;aspect-ratio:16/9;max-width:900px;margin:1rem auto;background:radial-gradient(circle at 50% 40%,var(--plum),var(--ink));border-radius:14px;overflow:hidden;box-shadow:8px 10px 0 #000a}
.arset .curt{position:absolute;top:0;bottom:0;width:18%;background:repeating-linear-gradient(90deg,#8a1c2c 0 20px,#b02a3c 20px 40px);transform-origin:top;transform:skewX(calc(var(--bass) * 8deg))}.arset .curt.l{left:0}.arset .curt.r{right:0;transform:skewX(calc(var(--bass) * -8deg))}
.armq{position:absolute;left:25%;width:50%;top:10%;transform:scale(calc(1 + var(--bass) * .08))}
.bulbs{position:absolute;left:22%;right:22%;top:5%;display:flex;justify-content:space-between}.bulbs i{width:3%;aspect-ratio:1;border-radius:50%;background:#ffe9a8;opacity:calc(.3 + var(--hi) * 1.6);box-shadow:0 0 calc(var(--hi) * 30px) var(--gold)}
.pots{position:absolute;bottom:4%;left:20%;right:20%;display:flex;justify-content:space-between}.pots i{width:11%;aspect-ratio:3/4;background:#b98a4e;border-radius:45% 45% 40% 40%;transform:translateY(calc(var(--mid) * -40px * (1 + var(--d) * .1)))}
.bcwall{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));gap:.8rem}.bc{display:block;color:var(--ink);text-decoration:none;background:#fff;padding:.4rem .4rem .2rem;box-shadow:3px 4px 0 #0005}.bc svg{width:100%;height:70px;display:block}.bc span{font-size:.9em}
.ccwrap{overflow-x:auto}.cc{border-collapse:collapse;font-size:.85em}.cc th,.cc td{border:2px solid #0e0c2a33;padding:.15em .3em;text-align:center;min-width:1.8em}.cc thead a{color:var(--purple)}.cc th[scope=row]{text-align:left;white-space:nowrap;position:sticky;left:0;background:var(--cream)}.ccn{font:inherit;background:none;border:0;cursor:pointer;color:var(--ink);text-decoration:underline dotted}.stk{color:#c99400;font-style:normal;text-shadow:1px 1px 0 #0004}.cc tr.hot td,.cc tr.hot th{background:#ffc83d66}
.gn{position:relative;aspect-ratio:16/9;max-width:900px;margin:1rem auto;background:linear-gradient(#2b2a7a,#14123a);border-radius:14px;overflow:hidden;transition:background 8s}.gn.sleep{background:linear-gradient(#05041a,#0e0c2a)}.gnmoon{position:absolute;left:70%;top:100%;width:14%;aspect-ratio:1;border-radius:50%;background:#fff4dc;box-shadow:-14px 6px 0 0 #fff4dc inset,0 0 40px #fff4dc88;transition:top 14s ease-out}.gn.sleep .gnmoon{top:10%}.gnlights{position:absolute;top:4%;left:8%;right:8%;display:flex;justify-content:space-between}.gnlights i{width:5%;aspect-ratio:1;border-radius:50%;background:var(--gold);box-shadow:0 0 20px var(--gold);transition:all 1s}.gnlights i.off{background:#333;box-shadow:none}.gnpot{position:absolute;bottom:0;left:15%;width:70%;transition:filter 10s,transform 10s}.gn.sleep .gnpot{filter:brightness(.35);transform:translateY(6%) rotate(-2deg)}
body.gn-dim{transition:background-color 10s}
.sp{text-align:center}.spclock{font:clamp(3rem,2rem + 10vw,10rem)/1 "Bowlby One";color:var(--purple);text-shadow:4px 4px 0 var(--gold)}
.kset{display:grid;gap:.8rem}.kset label{display:flex;gap:.8rem;align-items:flex-start;padding:.6rem;border:3px dashed #0e0c2a33;border-radius:10px}.kset input{width:1.6em;height:1.6em;flex:none;margin-top:.2em}.kset small{display:block;opacity:.8}
.k-note{position:relative;display:block;background:#fff59d;color:#0e0c2a;padding:.5em .8em;margin:.6em 0;transform:rotate(-1deg);box-shadow:3px 4px 0 #0006;font:1.05rem/1.4 "Patrick Hand",sans-serif;max-width:40em}.k-note b{font-family:"Bowlby One";color:#e8433a}
.xp h1{font:clamp(2.2rem,1rem + 5vw,5.5rem)/.95 "Bowlby One";color:var(--gold);text-shadow:4px 4px 0 var(--red);letter-spacing:.01em}
.bulbs{align-items:flex-start}
/* b02 */
.s3d{padding:1rem}.s3dc{min-height:300px;display:grid;place-items:center;background:#14123a url(/img/stage-640.webp) center/cover;border-radius:10px;overflow:hidden}.s3dc canvas{display:block;width:100%;border-radius:10px;touch-action:none}
.arbox{min-height:260px;display:grid;place-items:center;background:#2a1d5c;border-radius:12px;position:relative}
.g3demo img{filter:drop-shadow(-6px 0 0 rgba(255,0,0,.6)) drop-shadow(6px 0 0 rgba(0,230,255,.6));max-width:480px;margin:1rem auto}.g3svg{width:100%;max-width:700px;background:#fff;border-radius:8px}
.cue{font:clamp(1.4rem,1rem + 3vw,3rem)/1.1 "Bowlby One";background:#fff;color:var(--ink);padding:1rem;margin:0 0 .8rem;border-radius:6px;box-shadow:4px 5px 0 #0006;text-align:center;transform:rotate(-1deg)}.cue.bad{color:var(--red)}
.tybar{height:14px;background:#0e0c2a33;border-radius:8px;overflow:hidden;margin-top:.6rem}.tybar i{display:block;height:100%;width:0;background:var(--red)}
.rhpads,.pbpads{justify-content:center}.rhpads .btn{min-width:4.2em;touch-action:manipulation}.pbpads .btn{touch-action:manipulation;user-select:none}
#pbC{max-height:75vh;width:auto;margin:0 auto}#bbC,#rhC{margin:0 auto}#rhC{max-height:70vh;width:auto}
/* b03 */
.arrows4{justify-content:center}.arrows4 .btn{touch-action:manipulation;min-width:3.2em}
#liC,#spC,#crC,#mgC,#cxC,#paC2{margin:0 auto}#bwC{margin:0 auto;max-height:72vh;width:auto}
.crpads{justify-content:center}.crpads .btn{touch-action:manipulation;user-select:none;min-width:4em}
.esc{position:relative}.escroom{position:relative;aspect-ratio:16/9;background:#000 url(/img/stage-1280.webp) center/cover;border-radius:12px;overflow:hidden;filter:brightness(.45) saturate(.7);transition:filter 1s}.esc.lit .escroom{filter:brightness(.85)}
.esc .hot{position:absolute;background:#ffc83d22;border:3px dashed #ffc83d99;border-radius:10px;cursor:pointer;color:#fff4dc;font:clamp(.6rem,.5rem + .6vw,1rem) "Bowlby One";display:grid;place-items:center;padding:2px}.esc .hot:hover,.esc .hot:focus-visible{background:#ffc83d55}
.applause{font:clamp(1.4rem,1rem + 2vw,2.4rem) "Bowlby One";text-align:center;background:#3a2a10;color:#5a4a2a;padding:.2em;border-radius:10px;margin-bottom:.6rem;letter-spacing:.2em}.applause.on{background:var(--red);color:#fff;box-shadow:0 0 30px var(--red)}
.bwscore{border-collapse:collapse;margin:.8rem auto;font-size:.85em}.bwscore td,.bwscore th{border:2px solid var(--ink);min-width:2.2em;text-align:center;padding:.1em}
.petstage{display:grid;place-items:center;min-height:260px;background:radial-gradient(circle,#ffc83d55,transparent 70%)}.petp svg{max-width:60vw;height:auto}.meters{display:flex;flex-wrap:wrap;gap:1rem}.meters meter{width:8em;height:1.2em}.lock{opacity:.6;font-size:.9em}
.srlist li{margin:.3em 0}.srlist li.got b{text-decoration:line-through;color:#2f8a4a}.srlist li.got::after{content:" ✔ found!";color:#2f8a4a;font-weight:700}.cert{font-size:1.3em;border:6px double var(--purple);padding:1rem;text-align:center}
/* b04 */
.k-coop{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:-.2rem 0 .8rem;font-size:.95em}.k-coop .pill{background:var(--purple);color:var(--cream);padding:.1em .6em;border-radius:20px}
.flg{display:grid;gap:6px;justify-content:center;margin:1rem 0}.flr{display:grid;grid-template-columns:repeat(5,clamp(44px,13vw,64px));gap:6px}.flt{aspect-ratio:1;display:grid;place-items:center;font:clamp(1.3rem,1rem + 2vw,2rem) "Bowlby One";background:#fff;border:3px solid #0e0c2a55;border-radius:6px;text-transform:uppercase}.flt.fg{background:var(--gold);animation:flip .5s calc(var(--k)*.1s) both}.flt.fy{background:var(--teal);color:#fff;animation:flip .5s calc(var(--k)*.1s) both}.flt.fx{background:#8a8aa0;color:#fff;animation:flip .5s calc(var(--k)*.1s) both}@keyframes flip{from{transform:rotateX(90deg)}}
.flk{display:grid;gap:5px;justify-content:center}.flk div{display:flex;gap:4px;justify-content:center}.flkey{font:clamp(.8rem,.7rem + .6vw,1.1rem) "Bowlby One";min-width:clamp(26px,8vw,44px);height:clamp(40px,11vw,54px);border:0;border-radius:6px;background:#d8d0ff;color:var(--ink);cursor:pointer;padding:0 .3em}.flkey.fg{background:var(--gold)}.flkey.fy{background:var(--teal);color:#fff}.flkey.fx{background:#777;color:#fff}
.cwwrap{display:flex;flex-wrap:wrap;gap:1.5rem}.cwg{display:grid;gap:2px;flex:1 1 320px;max-width:560px}.cwc{position:relative;aspect-ratio:1;background:#fff;border:2px solid var(--ink)}.cwc small{position:absolute;top:0;left:2px;font-size:.55em;line-height:1}.cwc input{width:100%;height:100%;border:0;text-align:center;font:clamp(.9rem,.6rem + 1.2vw,1.4rem) "Bowlby One";text-transform:uppercase;padding:0;background:transparent;border-radius:0}.cwc input.bad{color:var(--red)}.cwb{aspect-ratio:1}.cwclues{flex:1 1 260px;font-size:.95em}
.wswrap{display:flex;flex-wrap:wrap;gap:1rem}.wsg{display:grid;gap:2px;flex:1 1 320px;max-width:620px}.wsg button{aspect-ratio:1;border:0;background:#fff;font:clamp(.75rem,.5rem + 1vw,1.2rem) "Bowlby One";color:var(--ink);cursor:pointer;padding:0;border-radius:4px}.wsg button.sel{background:var(--gold)}.wsg button.got{background:var(--teal);color:#fff}.wsl{columns:2;flex:1 1 200px}.wsl li.got{text-decoration:line-through;opacity:.6}
.sdg{display:grid;gap:0;max-width:min(92vw,560px);margin:0 auto;border:4px solid var(--ink)}.sdg button{aspect-ratio:1;border:1px solid #0e0c2a55;background:#fff;font-size:clamp(1rem,.6rem + 3vw,2.2rem);cursor:pointer;padding:0}.sdg.n9 button{font-size:clamp(.8rem,.4rem + 2vw,1.6rem)}.sdg button.giv{background:#ffe9a8;cursor:default}.sdg button.sel{outline:4px solid var(--purple);outline-offset:-4px}.sdg button.br{border-right:4px solid var(--ink)}.sdg button.bb{border-bottom:4px solid var(--ink)}.sdp{justify-content:center}
.lpgrid{overflow-x:auto}.lpt{border-collapse:collapse;font-size:.9em}.lpt th,.lpt td{border:2px solid #0e0c2a55;padding:0;text-align:center}.lpt th{padding:.2em .4em}.lpv{height:8em;vertical-align:bottom}.lpv span{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}.lpt td button{width:2.2em;height:2.2em;border:0;background:#fff;font:1.1em "Bowlby One";cursor:pointer;color:var(--purple)}.lpcat{background:var(--purple);color:var(--cream)}.lpclues li{margin:.2em 0}
.mof{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:.6rem}.mof label{display:flex;flex-direction:column}
.tpv{position:fixed;inset:0;z-index:10000;background:#000;color:#fff;overflow:hidden}.tpin{padding:0 8vw;font-family:"Patrick Hand",sans-serif;line-height:1.35;white-space:pre-wrap}.tpv.mir .tpin{transform-origin:center}.tpv.mir{transform:scaleX(-1)}.tpbar{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;gap:.5rem;z-index:2}.tpline{position:absolute;left:0;right:0;top:40%;border-top:3px solid #ffc83d88;pointer-events:none}
.rdl{padding-left:0;list-style:none;counter-reset:rd}.rdl li{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.5rem;margin:.4rem 0;background:#fff;border-left:8px solid var(--purple);border-radius:4px;box-shadow:2px 3px 0 #0003}.rdl li input:first-of-type{flex:1 1 10em}.rdt{font-family:"Bowlby One";min-width:5.5em;color:var(--red)}
@media print{.rdl li{box-shadow:none;border:1px solid #000}.rdl input{border:0}}
/* b05 */
.tsl{display:flex;gap:1.2rem;align-items:flex-start;flex-wrap:wrap}.tsl>div:last-child{flex:1 1 260px}.tsi{width:110px;aspect-ratio:1;border-radius:18px;flex:none;background:var(--purple) center/70% no-repeat}
.tsi-cue{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Crect x='1' y='2' width='8' height='6' fill='%23fff'/%3E%3Cpath d='M2 4h6M2 6h4' stroke='%23000' stroke-width='.6'/%3E%3C/svg%3E")}.tsi-cam{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Crect x='1' y='3' width='6' height='4' fill='%23ffc83d'/%3E%3Cpath d='M7 4l2-1v4l-2-1z' fill='%23ffc83d'/%3E%3C/svg%3E")}.tsi-count{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ctext x='5' y='7.5' font-size='7' text-anchor='middle' fill='%23ffc83d' font-family='sans-serif'%3E3%3C/text%3E%3C/svg%3E")}.tsi-band{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cellipse cx='5' cy='5.5' rx='3' ry='3.8' fill='%23fff4dc'/%3E%3C/svg%3E")}.tsi-talk{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1 2h8v5H4l-2 2V7H1z' fill='%232bb3a8'/%3E%3C/svg%3E")}.tsi-fun{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 1l1.2 2.6 2.8.3-2.1 1.9.6 2.8L5 7.2 2.5 8.6l.6-2.8L1 3.9l2.8-.3z' fill='%23ffc83d'/%3E%3C/svg%3E")}
#tsC{width:100%;height:auto;margin-top:1rem;background:#fff4dc}
.fopads{justify-content:center}.foline{position:relative;height:18px;background:#0e0c2a22;border-radius:9px;margin:.6rem 0}.foline i{position:absolute;top:2px;width:6px;height:14px;background:var(--red);border-radius:3px}
.smv{position:relative;max-width:720px;margin:0 auto;background:#111;border-radius:10px;overflow:hidden;aspect-ratio:4/3}.smv video,.smv canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:transparent;box-shadow:none;border-radius:0}.smstrip{display:flex;gap:4px;overflow-x:auto;margin-top:.6rem}.smstrip canvas{flex:none;width:80px;box-shadow:none}
.mbbox{position:relative;max-width:640px;margin:0 auto;aspect-ratio:2/1;background:#7a4a1f var(--paper);border-radius:18px;box-shadow:8px 10px 0 #000a;overflow:hidden}.mbdrum{--x:0%;position:absolute;left:8%;right:28%;top:12%;bottom:12%;background:#c0c0c0;border-radius:10px;overflow:hidden}.mbdrum i{position:absolute;width:2%;aspect-ratio:1;border-radius:50%;background:#333;transform:translateX(var(--x));transition:transform .2s}
.mbcrank{--r:0rad;position:absolute;right:4%;top:22%;width:22%;aspect-ratio:1;border-radius:50%;background:var(--gold);cursor:grab;touch-action:none;transform:rotate(var(--r))}.mbcrank i{position:absolute;left:46%;top:-6%;width:8%;height:56%;background:var(--red);border-radius:6px}.mbcrank i::after{content:"";position:absolute;left:-90%;top:-20%;width:280%;aspect-ratio:1;border-radius:50%;background:var(--red)}
.piano{display:flex;gap:4px;justify-content:center;margin:1rem 0}.pk{flex:1;max-width:90px;height:clamp(140px,40vw,240px);background:#fff;border:3px solid var(--ink);border-radius:0 0 12px 12px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:.6rem;font:inherit;cursor:pointer;touch-action:manipulation;box-shadow:3px 4px 0 #0005}.pk.on,.pk:active{background:var(--gold);transform:translateY(3px)}.pk b{font-family:"Bowlby One"}
.dice{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:1rem;margin-bottom:1rem}.die{background:#fff;border:4px solid var(--ink);border-radius:18px;padding:1rem;min-height:9rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;box-shadow:5px 6px 0 #0007}.die b{font-family:"Bowlby One";color:var(--red)}.die span{font-size:1.2em}.die.roll{animation:dice .5s ease-out}@keyframes dice{0%{transform:rotate(0) scale(1)}50%{transform:rotate(200deg) scale(.7)}100%{transform:rotate(360deg) scale(1)}}
.diopage{background:#fff;margin:1rem 0;padding:.5rem;border-radius:6px}.diosvg{width:100%;height:auto}@media print{.diopage{page-break-after:always;margin:0}}
.orsteps{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:1rem;margin-top:1rem}.orstep{margin:0;padding:.8rem;animation:orin .5s calc(var(--i)*.15s) both}.orstep svg{width:100%;background:#fff;border-radius:8px}@keyframes orin{from{opacity:0;transform:translateY(20px) rotate(-3deg)}}
.ppwrap{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start}#ppC{flex:1 1 300px;max-width:640px;background:#fff}.ppleg{list-style:none;padding:0}.ppleg i{display:inline-block;width:1.2em;height:1.2em;border:1px solid #000;vertical-align:middle;margin-right:.4em}
/* b06 */
.ddsvg{width:min(100%,520px);display:block;margin:0 auto;background:#fff;border-radius:10px}.dd{cursor:pointer}
.zoe{width:min(60vw,240px);margin:0 auto;background:#fff;border-radius:12px;padding:6px}.zoestrip{display:grid;grid-template-columns:repeat(12,1fr);gap:2px;background:#fff;padding:4px;border:2px dashed #000;margin:1rem 0}.zoestrip svg{width:100%}
.thau{position:relative;width:min(60vw,220px);aspect-ratio:1;margin:1rem auto;perspective:600px}.thau .tf{position:absolute;inset:0;border-radius:50%;background:#fff;border:3px solid #000;backface-visibility:hidden}.thau .tf.b{transform:rotateX(180deg)}.thau{transform-style:preserve-3d}.thau.spin{animation:thspin 2s linear}@keyframes thspin{to{transform:rotateX(3600deg)}}
@media print{.thau .tf{position:static;display:inline-block;width:45%;margin:2%;transform:none!important}.thau{width:100%;aspect-ratio:auto}}
.snwrap{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.snwrap canvas{width:min(100%,420px);flex:1 1 280px;max-width:420px}.winwin{background:linear-gradient(#1d2a6b,#3a1f6e);border:12px solid #7a4a1f;border-radius:8px}.snwin{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;min-height:140px}.snwin img{width:120px;filter:drop-shadow(0 0 6px #fff8)}
.bmout{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:1rem;border-top:4px solid #0e0c2a;padding-top:6px}.pen{width:clamp(56px,11vw,120px)}.bmsp{width:clamp(20px,4vw,40px)}
.rcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));gap:1rem}.rc h2{font-size:1.4rem}.rc h3{margin:.6em 0 .2em}@media print{.rc{page-break-inside:avoid}}
.qhedit{display:grid;gap:.4rem;margin:1rem 0}.qhcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:1rem}.qhc{background:#fff;color:#0e0c2a;border:3px dashed #0e0c2a;padding:1rem;text-align:center;border-radius:8px}.qhc svg{width:70%;margin:.5rem auto;display:block}.qhc b{font-family:"Bowlby One";font-size:.85rem;color:var(--purple)}@media print{.qhc{page-break-inside:avoid}}
.pcout{display:grid;gap:6px}.pcs{display:flex;align-items:center;gap:1rem;padding:.4rem 1rem;border:2px dashed #0e0c2a;min-height:3.4rem}.pcs b{font:2rem "Bowlby One";min-width:2.2em}.pcs small{display:block;font-size:.85em;opacity:.9}@media print{.pcs{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.cbstage{position:relative;height:clamp(200px,40vw,320px);background:radial-gradient(circle at 50% 30%,var(--plum),var(--ink));border-radius:12px;overflow:hidden}.streamers{--w:0;position:absolute;top:0;left:5%;right:5%;display:flex;justify-content:space-between}.streamers i{width:5%;height:calc(40% + 60px);background:var(--h);transform-origin:top;transform:rotate(calc(var(--w) * 25deg)) skewX(calc(var(--w) * 15deg));transition:transform .2s;height:120px}.cake{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:min(60%,280px);height:30%;background:#fff4dc;border-radius:12px 12px 0 0;display:flex;justify-content:space-around;align-items:flex-start}.cand{width:8%;height:50%;background:#2bb3a8;transform:translateY(-100%);position:relative}.cand::after{content:"";position:absolute;left:50%;top:-60%;width:120%;aspect-ratio:2/3;transform:translateX(-50%);background:radial-gradient(#fff6a0,#ffb000);border-radius:50% 50% 50% 50%/60% 60% 40% 40%}.cand.out::after{display:none}
.fsboard{max-width:420px;margin-top:1rem}.fsboard .fsb{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fsboard .fsb button{background:var(--gold);border:0;border-radius:8px;padding:12px 6px;font:inherit;cursor:pointer;box-shadow:2px 3px 0 #000a;color:var(--ink)}
.hunt .cert{font-size:1.2em}
/* b07 */
.taout{background:#0e0c2a;color:#9ff7a8;font:1.1rem/1.45 ui-monospace,monospace;min-height:16rem;max-height:55vh;overflow:auto;padding:1rem;border-radius:8px;border:4px solid #6b4bd6}
.taout .tah{color:#ffc83d;font-weight:700}.taout .tac{color:#b9b4ff}.taout .taw{color:#fff;background:#e8433a;padding:.3em}
.taprompt{font:1.4rem monospace;color:#ffc83d}#taQuick .btn{font-size:.85rem}
.adlist li{margin:.3em 0}.adlist li.now{background:#ffc83d;color:#0e0c2a;border-radius:4px}.linkbtn{background:none;border:0;color:inherit;text-decoration:underline;font:inherit;cursor:pointer}
.gul{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.gu h3{margin:.2em 0}.gu .meta{opacity:.75;margin:0}
