:root{--y:#F3CB72;--o:#E9806A;--p:#DE7461;--b:#8FB3D6;--g:#9FC1A0;--v:#5E4B78;--ink:#2E2A3B;--bg:#FBF6EE;--card:#fff;--r:24px;--line:#E9DFD0;--mut:#6D6779;--sh:0 1px 2px rgba(46,42,59,.05),0 10px 30px rgba(46,42,59,.07);--hf:Fraunces,Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:17px/1.55 "DM Sans",system-ui,sans-serif;color:var(--ink);background:var(--bg);}
h1,h2,h3,h4,.logo,.btn,.chip,.tab,.boredbtn{font-family:"DM Sans",system-ui,sans-serif}
h1,h2{line-height:1.15;margin:.2em 0}a{color:#B5533D}.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:3px solid var(--v);outline-offset:2px}
.top{background:var(--y);border-bottom:1.5px solid var(--line);position:sticky;top:0;z-index:20}.bar{display:flex;align-items:center;gap:12px;padding-top:8px;padding-bottom:8px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:6px;font-size:30px;font-weight:700;text-decoration:none;color:var(--ink)}.logo .mascot{width:44px;height:44px}
nav{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}nav a{text-decoration:none;color:var(--ink);font-weight:800;padding:6px 12px;border-radius:99px}nav a:hover{background:#fff}
.menu{display:none}
@media(max-width:760px){.menu{display:block;margin-left:auto;font:600 16px "DM Sans";background:#fff;border:1.5px solid var(--line);border-radius:99px;padding:4px 14px}nav{display:none;width:100%;order:9}nav.open{display:flex}.logo{font-size:26px}}
.btn{display:inline-block;border:1.5px solid var(--line);background:var(--o);color:#fff;font-weight:600;font-size:17px;padding:10px 18px;border-radius:99px;cursor:pointer;text-decoration:none;box-shadow:var(--sh);transition:transform .1s,box-shadow .1s}
.btn:hover{transform:translateY(-2px);box-shadow:var(--sh)}.btn:active{transform:translateY(3px);box-shadow:var(--sh)}
.btn.ghost{background:#fff;color:var(--ink)}.btn.sm{font-size:14px;padding:6px 12px;box-shadow:var(--sh)}.btn.big{font-size:20px;padding:12px 24px;margin:4px 6px 4px 0}.btn.wa{background:#25d366}.btn.did{background:var(--p)}.btn.saved{background:var(--y);color:var(--ink)}.btn.done{background:var(--g);color:var(--ink)}
.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;align-items:center;padding:34px 0 10px}
.hero h1{font-size:clamp(38px,6vw,64px);font-weight:700}.hero em{font-style:normal;color:var(--p);background:linear-gradient(transparent 62%,var(--y) 62%)}.kick{font-weight:800;color:var(--v);text-transform:uppercase;letter-spacing:.06em;margin:0}.lead{font-size:19px;max-width:34em}
.hero-m{position:relative;text-align:center}.hero-m .mascot{width:min(300px,70vw);animation:bob 3s ease-in-out infinite;}
.bubble{position:absolute;top:6%;right:4%;background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:6px 14px;font:600 20px "DM Sans";transform:rotate(6deg)}
@keyframes bob{50%{transform:translateY(-12px) rotate(-3deg)}}.k-eyes{animation:blink 4s infinite;transform-origin:60px 58px}@keyframes blink{0%,94%,100%{transform:scaleY(1)}97%{transform:scaleY(.1)}}
@media(max-width:760px){.hero{grid-template-columns:1fr;padding-top:14px}.hero-m{order:-1}.hero-m .mascot{width:150px}.bubble{right:12%;font-size:16px}}
.sec{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:22px;margin:26px 0;box-shadow:var(--sh)}.sec h2{font-size:clamp(26px,4vw,34px)}.sh p{margin:.2em 0 1em}
.bored{background:#EDF3F8;text-align:center}.chipsbar{display:flex;flex-wrap:wrap;gap:10px 18px;justify-content:center;margin:12px 0}
.cg{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.cgl{font-weight:800;font-size:14px;text-transform:uppercase;opacity:.7}
.chip{border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:6px 13px;font-size:15px;font-weight:500;cursor:pointer;color:var(--ink);min-height:40px}.chip[aria-pressed=true],.chip.on{background:var(--v);color:#fff}
.boredbtn{font-size:clamp(32px,7vw,52px);font-weight:700;color:#fff;background:var(--p);border:1.5px solid var(--line);border-radius:999px;padding:18px 46px;cursor:pointer;box-shadow:var(--sh);margin:14px 0;transition:transform .1s;animation:pulse 2.4s infinite}
.boredbtn:active{transform:translateY(6px);box-shadow:var(--sh)}.boredbtn.spin span{display:inline-block;animation:wob .6s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.04)}}@keyframes wob{25%{transform:rotate(-8deg) scale(1.1)}75%{transform:rotate(8deg) scale(1.1)}}
.out{text-align:left;max-width:760px;margin:0 auto}.out .card{animation:pop .45s cubic-bezier(.3,1.6,.5,1)}@keyframes pop{from{transform:scale(.6) rotate(-4deg);opacity:0}}
.reel{font-size:64px;height:80px;text-align:center}.quiz{background:#FBEFEA}.qsteps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.q{background:#fff;border:1.5px dashed var(--line);border-radius:18px;padding:12px}.q div{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.qa{border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:8px 12px;font:500 16px "DM Sans";cursor:pointer;min-height:44px}.qa.on{background:var(--y)}
@media(max-width:760px){.qsteps{grid-template-columns:1fr}}.qgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:16px;max-width:none}.out.wide{max-width:none}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.card{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--sh);position:relative;transition:transform .15s}.card:hover{transform:translateY(-3px) rotate(-.4deg)}
.card:nth-child(4n+1) .emo{background:var(--y)}.card:nth-child(4n+2) .emo{background:var(--b)}.card:nth-child(4n+3) .emo{background:var(--g)}.card:nth-child(4n) .emo{background:#F7D3C8}
.emo{width:58px;height:58px;border-radius:18px;border:1.5px solid var(--line);display:grid;place-items:center;font-size:32px;background:var(--y)}
.card h3{font-size:22px;margin:10px 0 4px}.card h3 a{color:var(--ink);text-decoration:none}.card h3 a:hover{text-decoration:underline}.card p{margin:.2em 0 .6em}
.chips{display:flex;flex-wrap:wrap;gap:5px}.chips span{font-size:13px;font-weight:800;background:#F2EEF0;border-radius:99px;padding:3px 9px}.chips .c-age{background:#F8E5B8}.chips .c-time{background:#DFEAF3}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.how,.share{display:none;margin-top:12px}.how.open,.share.open{display:block}.share.open{display:flex;flex-wrap:wrap;gap:8px}.how{background:#FDF6E6;border-radius:14px;padding:10px 14px}.src{font-size:13px;opacity:.7}
.card.isdone::after{content:"✅";position:absolute;top:-12px;right:-10px;font-size:34px;transform:rotate(12deg)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:22px}.duo .sec{margin:0}@media(max-width:760px){.duo{grid-template-columns:1fr;gap:26px}}.duo{margin:26px 0}
.prog{height:16px;border:1.5px solid var(--line);border-radius:99px;background:#fff;margin-top:12px;overflow:hidden}.prog i{display:block;height:100%;background:repeating-linear-gradient(45deg,var(--g),var(--g) 10px,#8DB38F 10px,#8DB38F 20px);transition:width .5s}
#tleft{position:absolute;inset:0;display:grid;place-items:center;font:700 38px "DM Sans"}
.tabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.tab{border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:8px 18px;font-size:18px;font-weight:600;cursor:pointer;color:var(--ink)}.tab[aria-selected=true]{background:var(--b);color:#fff}
.evs,.fbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.ev,.fb{border:1.5px solid var(--line);border-radius:18px;padding:14px;background:#F1F6FA;position:relative}.fb{background:#FCF0EA}.ev h4,.fb h4{margin:0 0 4px;font-size:19px}.ev p,.fb p{margin:0 0 6px}.meta{font-size:14px;opacity:.85;margin-bottom:6px}
.free{position:absolute;top:-12px;right:12px;background:var(--g);border:1.5px solid var(--line);border-radius:99px;padding:1px 10px;font:700 13px "DM Sans"}.st{font:700 12px "DM Sans";background:var(--y);border-radius:99px;padding:2px 8px}
.news{background:var(--v);color:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:24px;margin:26px 0;box-shadow:var(--sh)}.news a{color:#fff}.kicker{font:700 14px "DM Sans";letter-spacing:.08em;color:var(--y)}
.form{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.form input{flex:1;min-width:220px;border:1.5px solid var(--line);border-radius:99px;padding:10px 16px;font-size:17px}.form .btn{background:var(--y);color:var(--ink)}
.topics{display:flex;flex-wrap:wrap;gap:8px}.topics label{background:#ffffff26;border-radius:99px;padding:5px 12px;font-weight:700;cursor:pointer}.fine{font-size:14px;opacity:.85}
.single{max-width:760px;margin:30px auto}.prose{max-width:800px}table{border-collapse:collapse;width:100%}td,th{border:1.5px solid var(--line);padding:6px 10px;text-align:left}
footer{background:var(--ink);color:#fff;margin-top:40px;padding:20px 0;font-size:15px}footer a{color:var(--y)}
#confetti{position:fixed;inset:0;pointer-events:none;z-index:50;overflow:hidden}#confetti i{position:absolute;top:-20px;width:11px;height:16px;border-radius:3px;animation:fall linear forwards}@keyframes fall{to{transform:translateY(110vh) rotate(720deg)}}
#toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%) translateY(150%);background:var(--ink);color:#fff;font:600 18px "DM Sans";padding:12px 22px;border-radius:99px;z-index:60;transition:transform .3s;max-width:92vw;text-align:center}#toast.show{transform:translateX(-50%)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
[hidden]{display:none!important}#toast{visibility:hidden}#toast.show{visibility:visible}

/* ---- Bobbli premium-playful layer ---- */
h1,h2,.logo span,.sbstats b,#tleft,.hero em{font-family:var(--hf);font-optical-sizing:auto;font-variation-settings:"SOFT" 100,"WONK" 0;letter-spacing:-.015em}
h1,h2{font-weight:600}h3,h4{font-weight:700;letter-spacing:-.01em}body{font-size:17px;color:var(--ink)}
.top{background:rgba(251,246,238,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.logo{font-size:28px;gap:8px}.logo span{font-weight:600}.logo .mascot{width:42px;height:42px}
nav a{font-weight:600;color:var(--ink)}nav a:hover{background:#F3EADC}.menu{border:1.5px solid var(--line);font-weight:700}
.btn{border:0;font-weight:700;box-shadow:0 2px 0 rgba(46,42,59,.12);letter-spacing:.005em}.btn:hover{box-shadow:0 6px 16px rgba(233,128,106,.28)}.btn.ghost{border:1.5px solid var(--line);box-shadow:none}.btn.ghost:hover{box-shadow:none;background:#F7F1E7}
.hero h1{font-size:clamp(40px,6vw,66px);line-height:1.04}.hero em{font-style:italic;color:var(--o);background:none;font-weight:500}.kick{color:var(--o);font-size:14px;letter-spacing:.12em}.lead{color:var(--mut)}
.hero-m .mascot{width:min(320px,70vw)}.bubble{border:1.5px solid var(--line);box-shadow:var(--sh);font:600 19px var(--hf);border-radius:22px 22px 22px 6px}
.k-bob{transform-origin:61px 26px;animation:sway 3s ease-in-out infinite}@keyframes sway{50%{transform:rotate(9deg)}}
.k-eyes{transform-origin:60px 68px}
.sec,.card,.news{box-shadow:var(--sh)}.card:hover{transform:translateY(-3px)}
.emo{border:0;border-radius:20px}
.boredbtn{border:0;color:#fff;background:var(--o);box-shadow:0 10px 30px rgba(222,116,97,.35),inset 0 -6px 0 rgba(0,0,0,.08);font-family:var(--hf);font-weight:600;animation:pulse 2.8s infinite}
.chip{border:1.5px solid var(--line);font-weight:600}.chip[aria-pressed=true],.chip.on{background:var(--ink);border-color:var(--ink)}
.tab[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.qa.on{background:var(--y);border-color:var(--y)}
.news{background:var(--v);border:0}.kicker{color:var(--y);letter-spacing:.14em}.form input{border:0}.form .btn{background:var(--y);color:var(--ink)}
.chips span{font-weight:700;color:#4A4458}
.bdg{font-size:15px;filter:grayscale(1);opacity:.45}.bdg .mascot{width:58px;height:58px}.bdg.on{border:1.5px solid var(--line);box-shadow:var(--sh)}
.nomatch{display:flex;align-items:center;justify-content:center;gap:12px}.nomatch .mascot{width:64px}
.says{display:flex;align-items:center;justify-content:center;gap:10px;font:600 22px var(--hf)}.says .mascot{width:52px;height:52px}
footer{background:#2E2A3B}footer a{color:var(--y)}

@media(max-width:760px){.hero-m .mascot{width:170px}.hero-m{padding-top:10px}.bubble{top:2%;right:4%;font-size:15px}}
.bdg{padding:10px 16px}.bdg .mascot{width:64px;height:64px}
/* ---- voting ---- */
.card{position:relative}.card .vote{position:absolute;top:14px;right:14px}
.vote{display:inline-flex;align-items:center;gap:6px;background:#FFF7F2;border:1.5px solid #F4D3C6;color:var(--ink);border-radius:99px;padding:5px 12px 5px 8px;font:700 14px "DM Sans",sans-serif;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}
.vote:hover{transform:translateY(-1px);border-color:var(--o)}.vote .vh{width:24px;height:22px;fill:#fff;stroke:var(--o);stroke-width:2.2;transition:fill .2s}
.vote .ve{fill:var(--o);stroke:none}.vote .vm{fill:none;stroke:var(--o);stroke-width:1.6;stroke-linecap:round}
.vote .vl{font-weight:600;color:var(--mut)}.vote .vc{min-width:1.2em;text-align:right;font-variant-numeric:tabular-nums}
.vote.on{background:var(--o);border-color:var(--o);color:#fff}.vote.on .vl{color:#fff}.vote.on .vh{fill:#fff;stroke:#fff}.vote.on .ve{fill:var(--o)}.vote.on .vm{stroke:var(--o)}
.vote.pop .vh{animation:vpop .6s cubic-bezier(.3,1.6,.5,1)}.vote.pop{animation:vbump .45s ease-out}
.vote.pop::after{content:"";position:absolute;inset:-6px;border-radius:99px;border:2px solid var(--o);opacity:0;animation:vring .6s ease-out}
@keyframes vpop{0%{transform:scale(1)}30%{transform:scale(1.5) rotate(-12deg)}60%{transform:scale(.85) rotate(6deg)}100%{transform:scale(1)}}
@keyframes vbump{40%{transform:translateY(-4px) scale(1.06)}100%{transform:none}}
@keyframes vring{0%{opacity:.7;transform:scale(.9)}100%{opacity:0;transform:scale(1.25)}}
@media(prefers-reduced-motion:reduce){.vote.pop,.vote.pop .vh,.vote.pop::after{animation:none}}
.card.capped{display:none}
.sorts{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 18px}.stab{font:700 15px "DM Sans",sans-serif;background:#fff;border:1.5px solid var(--line);border-radius:99px;padding:8px 16px;cursor:pointer;color:var(--ink)}
.stab[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:#fff}.stab:hover{border-color:var(--o)}
.demo-note{display:inline-block;background:#FDF6E6;border:1px dashed #E2C77C;border-radius:12px;padding:6px 12px;font-size:14px;color:#7a6320;margin:8px 0 0}
.lb{background:linear-gradient(135deg,#FFF3EC,#F3F8F1);border:1.5px solid var(--line);border-radius:var(--r);padding:24px 26px}
.lb-head{display:flex;gap:16px;align-items:center}.lb-head .mascot{width:76px;height:76px;flex:none}.lb-head h2{font-family:var(--hf);font-size:32px}.lb-head p{margin:0;color:var(--mut)}
.lbl{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;counter-reset:none}
.lbl li{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px 12px}
.lbl .rk{font:700 18px var(--hf);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#F4EFE6;flex:none}
.lbl .p1 .rk{background:var(--y)}.lbl .p2 .rk{background:#E7E3EC}.lbl .p3 .rk{background:#F2C6A8}
.lbl .le{font-size:22px}.lbl a{flex:1;color:var(--ink);font-weight:700;text-decoration:none}.lbl a:hover{color:var(--p)}.lbl .lw{font-weight:800;color:var(--p);white-space:nowrap}.lbl .lw small{font-weight:500;color:var(--mut)}
.lbl .empty{grid-column:1/-1;justify-content:center;color:var(--mut)}
@media(max-width:760px){.lbl{grid-template-columns:1fr}.lb{padding:18px}}
/* ---- suggest ---- */
.suggest{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:start;background:#F3F8F1;border:1.5px solid var(--line);border-radius:var(--r);padding:26px}
.suggest h2{font-family:var(--hf);font-size:32px}.sg-m .mascot{width:160px}
#sg{display:grid;gap:12px;max-width:640px}#sg label{display:grid;gap:4px;font-weight:700;font-size:15px}
#sg input,#sg textarea,#sg select{font:16px "DM Sans",sans-serif;border:1.5px solid var(--line);border-radius:14px;padding:10px 12px;background:#fff;color:var(--ink)}
#sg input:focus,#sg textarea:focus,#sg select:focus{border-color:var(--g);outline:none;box-shadow:0 0 0 3px #C3DBC2}
.sg-row{display:grid;grid-template-columns:1fr 2fr;gap:12px}#sg .btn{justify-self:start;background:var(--ink)}.hp{position:absolute;left:-9999px}
#sgMsg.err{color:#b4462b}.sg-ok{background:#fff;border-radius:16px;padding:16px 18px}
@media(max-width:760px){.suggest{grid-template-columns:1fr}.sg-m .mascot{width:90px}.sg-row{grid-template-columns:1fr}}

/* ---------- mobile compact layout ---------- */
.acc>summary{display:none}.bnav{display:none}.nlmini{display:none}
@media(max-width:700px){
body{font-size:16px;padding-bottom:72px}html,body{overflow-x:hidden}
.wrap{padding-left:14px;padding-right:14px}
.sec,.news{padding:16px 14px!important;margin:12px 0!important;border-radius:20px}
h2{font-size:22px!important;line-height:1.2}.sec p{margin:6px 0}
.hero{padding:6px 0 4px!important;gap:6px!important;min-height:0!important}.hero-m{display:none!important}.hero .lead{display:none}.hero .kick{margin:0 0 4px;font-size:13px}
.hero h1{font-size:30px!important;line-height:1.1;margin:0 0 10px}
.hero-cta{display:flex;gap:8px}.hero-cta .btn{flex:1;text-align:center;padding:12px 10px;font-size:16px;min-height:48px}
.nlmini{display:flex;gap:8px;margin-top:10px}.nlmini input{flex:1;min-width:0;min-height:46px;font-size:16px;padding:0 12px;border:1.5px solid var(--line);border-radius:14px}.nlmini .btn{min-height:46px;padding:0 14px;white-space:nowrap}
#ideas .grid,.evs,.fbs{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px;-webkit-overflow-scrolling:touch;grid-template-columns:none!important}
#ideas .grid>.card,.evs>*,.fbs>*{flex:0 0 84%;scroll-snap-align:start;margin:0!important}
#ideas .grid>.card details,#ideas .grid>.card .more{}
#ideas .sh p{font-size:14px}
details.acc{margin:10px 0;border:1.5px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}
details.acc>summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 16px;font:700 18px "DM Sans";cursor:pointer;list-style:none}
details.acc>summary::-webkit-details-marker{display:none}details.acc>summary::after{content:"＋";font-size:20px}details.acc[open]>summary::after{content:"－"}
details.acc>.sec,details.acc>.duo{margin:0!important;border-radius:0;border:0}details.acc h2:first-of-type{display:none}details.acc .duo h2{display:block!important;font-size:19px!important}
.duo{gap:0!important}.lb-head .mascot,.sg-m{display:none!important}
.boredbtn{padding:16px!important;font-size:22px!important;min-height:60px}
button,.btn,.chip,.tab,.qa,.stab,select,input,textarea,.vote,nav#nav a{min-height:44px}
.chip,.tab,.qa,.stab{display:inline-flex;align-items:center}
.chipsbar,.tabs,.sorts{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px}
.chipsbar>*,.tabs>*,.sorts>*{flex:0 0 auto}.sorts .stab{white-space:nowrap;padding:0 14px;border-radius:99px;font-size:14px;width:auto!important;height:44px!important;flex-direction:row!important}
.bnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1.5px solid var(--line);padding:4px 4px calc(4px + env(safe-area-inset-bottom))}
.bnav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;text-decoration:none;color:var(--ink);font-size:20px}
.bnav span{font:700 11px "DM Sans"}
footer{padding-bottom:12px}
.logo,nav#nav a,.sh p a,.card h3 a{min-height:44px;display:inline-flex;align-items:center}
}
/* ---------- picker-first + pictures ---------- */
.intro{padding:18px 0 4px}.intro h1{font:600 clamp(26px,3.4vw,40px)/1.12 Fraunces,serif;margin:0}.intro h1 em{color:var(--o,#E07A5F)}
.bored .bhelp{margin:0 0 10px;font-weight:600;color:var(--mut)}
.bored .cg{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 8px}.bored .cgl{font:800 12px "DM Sans";text-transform:uppercase;letter-spacing:.06em;color:var(--mut);min-width:58px}
.card .pic{display:block;margin:-6px -6px 10px;border-radius:18px;overflow:hidden;background:#FBF6EE;aspect-ratio:8/5}.card .pic img{display:block;width:100%;height:auto}
.single .card .pic{margin:0 0 14px}
.needs{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px;font-size:13px;align-items:center}.needs b{font-size:13px;margin-right:2px}
.needs span{display:inline-flex;align-items:center;gap:5px;background:#FBF6EE;border:1.5px solid var(--line);border-radius:99px;padding:3px 10px 3px 6px;font-weight:600}.needs i{font-style:normal;font-size:16px}
@media(max-width:700px){
.intro{padding:8px 0 0}.intro h1{font-size:24px}
.bored{padding:12px!important}.bored .chipsbar{display:block;overflow:visible}
.bored .cg{flex-wrap:nowrap;overflow-x:auto;margin:0 -12px 6px;padding:0 12px;scrollbar-width:none}.bored .cg::-webkit-scrollbar{display:none}.bored .cg>*{flex:0 0 auto}
.bored .chip{min-height:40px;padding:0 12px}
.boredbtn{width:100%;margin-top:6px}
.card .needs{max-height:62px;overflow:hidden}
}
/* badges must not overflow swipe-row scrollers */
.free{top:10px;right:10px;z-index:2}
@media(max-width:700px){.evs .free,.fbs .free{position:static;display:inline-block;margin:0 0 6px}#ideas .grid,.evs,.fbs{padding-top:4px}}

/* ---------- ad slots ---------- */
.feat{display:inline-block;background:var(--y);border:1.5px solid var(--line);border-radius:99px;padding:1px 10px;font:700 12px "DM Sans";margin:0 6px 6px 0}.ev.featured{border-color:#E9C46A}
.sponsored .grid{display:block!important}.card.sp{max-width:520px}.spl{display:inline-block;font:700 12px "DM Sans";color:var(--mut);border:1.5px dashed var(--line);border-radius:99px;padding:1px 10px;margin-bottom:6px}
.needs a.aff{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1.5px dashed var(--line);border-radius:99px;padding:3px 10px 3px 6px;font-weight:600;color:var(--ink);text-decoration:none}.needs a.aff i{font-style:normal}
.adslot{min-height:250px;margin:16px 0;border-radius:18px;background:#F5EFE6;display:flex;align-items:flex-start;justify-content:center;padding-top:6px}.adl{font:600 11px "DM Sans";color:var(--mut);text-transform:uppercase;letter-spacing:.08em}
.adv li{margin-bottom:8px}
