/* lumibot.si Batch 8 (Oct 29 2026): Card Treasure Maps, garden extras, card-back garden + map. Kid look + Sleek (darker). */
.b8-back { position:absolute; inset:6% 7%; display:flex; flex-direction:column; gap:5%; justify-content:center; pointer-events:none; z-index:2; }
.b8-bk { display:flex; flex-direction:column; min-height:0; flex:1 1 0; background:rgba(14,10,40,.82); border:2px solid rgba(255,255,255,.35); border-radius:12px; padding:6px 7px; color:#fff; text-align:center; }
.b8-bk b { display:block; font-size:clamp(10px, 4.2cqw, 18px); line-height:1.1; }
.b8-bk small { display:block; font-size:clamp(8px, 3.2cqw, 14px); opacity:.9; margin-bottom:3px; }
.b8-bk + .b8-bk { flex-grow:1.7; }
.b8-bk svg { display:block; width:100%; flex:1 1 0; min-height:0; }
.b8-parch { fill:#f6e7c4; stroke:#c9a46a; stroke-width:3; }
.pv-card .pc { container-type:inline-size; }
html.lx-pg .b8-bk { background:rgba(8,9,13,.88); border-color:rgba(217,195,138,.45); }
html.lx-pg .b8-parch { fill:#2a2620; stroke:#8a7448; }

.tm-sum { font-size:20px; margin:8px 0; }
.tm-links .lg-btn, .tm-chest { min-height:60px; font-size:19px; }
.tm-head { display:flex; gap:12px; align-items:center; } .tm-head h2 { margin:0; }
.tm-art { width:56px; height:78px; object-fit:cover; border-radius:8px; flex:none; }
.tm-map { position:relative; max-width:min(640px, 100%); margin:12px auto; aspect-ratio:3/2; }
.tm-svg { position:absolute; inset:0; width:100%; height:100%; }
.tm-svg .b8-fog { display:none; }
.tm-grid { position:absolute; inset:0; display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(2,1fr); }
.tm-cell { appearance:none; border:0; margin:0; font:inherit; color:#2a2350; background:radial-gradient(circle at 40% 45%, #fff 0 30%, #e3e8fa 60%, #c7cfee); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; cursor:pointer; border:1px solid rgba(120,130,190,.25); transition:transform .15s; }
.tm-cell:first-child { border-top-left-radius:16px; } .tm-cell:nth-child(3) { border-top-right-radius:16px; } .tm-cell:nth-child(4) { border-bottom-left-radius:16px; } .tm-cell:nth-child(6) { border-bottom-right-radius:16px; }
.tm-cell span { font-size:clamp(28px, 7vw, 46px); } .tm-cell small { font-size:16px; font-weight:900; }
.tm-cell:active { transform:scale(.96); } .tm-cell:focus-visible { outline:4px solid #ffe27a; outline-offset:-4px; }
.tm-cell.clear { background:transparent; border-color:transparent; pointer-events:none; }
.tm-prog { text-align:center; font-size:20px; font-weight:900; margin:6px 0; }
.tm-tabs { flex-wrap:wrap; margin:8px 0; } .tm-tabs .lg-tab { min-height:52px; font-size:17px; }
.tm-cards { display:grid; grid-template-columns:repeat(auto-fill, minmax(130px, 1fr)); gap:10px; }
.tm-card { appearance:none; font:inherit; color:inherit; cursor:pointer; border-radius:16px; padding:8px; border:2px solid rgba(255,255,255,.18); background:linear-gradient(#1a1440,#241a55); display:flex; flex-direction:column; align-items:center; gap:4px; min-height:150px; }
.tm-card img { width:64px; height:88px; object-fit:cover; border-radius:8px; }
.tm-card b { font-size:15px; line-height:1.15; text-align:center; } .tm-card small { font-size:14px; opacity:.9; }
.tm-card.on { border-color:#ffcf7a; box-shadow:0 0 0 3px rgba(255,207,122,.4); }
.tm-spots { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:10px; }
.tm-spot { border-radius:16px; padding:12px; border:2px solid var(--sc, #ffcf7a); background:linear-gradient(#1b1440,#271c58); display:flex; flex-direction:column; gap:4px; }
.tm-spot b { font-size:18px; } .tm-spot small { font-size:15px; opacity:.9; }
.tm-spot-ic { font-size:40px; line-height:1; }
.tm-spot.lock { border-style:dashed; opacity:.75; filter:saturate(.4); }
.tm-visit { min-height:54px; font-size:17px; margin-top:4px; justify-content:center; }
.tm-gal h2 { color:var(--sc); }
.tm-meter { height:18px; border-radius:99px; background:rgba(255,255,255,.12); overflow:hidden; margin:8px 0 12px; } .tm-meter i { display:block; height:100%; background:linear-gradient(90deg,#ffcf7a,#ff9de2); }
.tm-pz { text-align:center; } .tm-pz h2 { margin-top:0; }
.tm-pz-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; max-width:420px; margin:14px auto 4px; }
.tm-pz-b { appearance:none; font:inherit; min-height:84px; border-radius:20px; border:3px solid rgba(255,255,255,.35); background:linear-gradient(#2a2070,#3a2b8f); color:#fff; font-size:38px; cursor:pointer; display:flex; flex-direction:column; align-items:center; justify-content:center; line-height:1; }
.tm-pz-b b { font-size:28px; } .tm-pz-b span { font-size:26px; }
.tm-pz-b.ok { background:linear-gradient(#2f8f5a,#46c27c); border-color:#c9ffd9; }
.tm-pz-b.wig { animation:tm-wig .35s; } @keyframes tm-wig { 25% { transform:translateX(-6px); } 75% { transform:translateX(6px); } }
.tm-pz-target { font-size:64px; margin:6px 0; line-height:1; } .tm-pz-count { font-size:38px; letter-spacing:4px; margin:8px 0; word-break:break-all; }
.tm-reveal { font-size:80px; margin:4px 0; line-height:1; }
.gd-look { min-height:52px; font-size:16px; justify-content:center; }
html.lx-pg .tm-card, html.lx-pg .tm-spot { background:linear-gradient(#0b0c12,#15171f); border-color:rgba(255,255,255,.14); }
html.lx-pg .tm-spot { border-color:rgba(217,195,138,.6); } html.lx-pg .tm-card.on { border-color:#b8a46a; box-shadow:none; }
html.lx-pg .tm-cell { background:radial-gradient(circle at 40% 45%, #8d93a8 0 30%, #5b6075 60%, #3c4052); color:#eef; }
html.lx-pg .tm-pz-b { background:linear-gradient(#1a1c26,#262935); border-color:rgba(255,255,255,.2); }
html.lx-pg .tm-pz-b.ok { background:linear-gradient(#24503a,#2f6a4b); }
html.lx-pg .tm-meter i { background:linear-gradient(90deg,#b8a46a,#d9c38a); }
@media (max-width:520px) { .tm-cards { grid-template-columns:repeat(2, 1fr); } .tm-spots { grid-template-columns:1fr; } .tm-pz-b { min-height:76px; } }
@media (prefers-reduced-motion:reduce) { .tm-pz-b.wig { animation:none; outline:3px solid #ff9db0; } .tm-cell { transition:none; } }

/* ===== Batch 8: Lens hub ===== */
.lg-vh { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.ln-hero { display:flex; align-items:center; gap:18px; margin:6px 0 14px; }
.ln-lens { width:150px; height:150px; flex:0 0 auto; filter:drop-shadow(0 0 22px rgba(255,226,122,.55)); }
.ln-orbit { transform-origin:100px 100px; animation:lnSpin 40s linear infinite; } .ln-orbit2 { transform-origin:100px 100px; animation:lnSpin 70s linear infinite reverse; }
@keyframes lnSpin { to { transform:rotate(360deg); } }
.ln-doors { display:grid; grid-template-columns:repeat(auto-fill, minmax(160px, 1fr)); gap:12px; margin:0 0 18px; }
.ln-door { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; min-height:132px; padding:14px 10px; border-radius:24px; text-decoration:none; color:#fff;
  background:linear-gradient(160deg, rgba(201,162,255,.38), rgba(80,60,170,.32)); border:3px solid rgba(255,255,255,.28); box-shadow:0 6px 18px rgba(0,0,0,.3); transition:transform .15s; }
.ln-door span { font-size:44px; line-height:1.1; } .ln-door b { font-size:20px; font-weight:900; } .ln-door small { font-size:15px; color:#e8e2ff; }
.ln-door:hover, .ln-door:focus-visible { transform:translateY(-3px) scale(1.02); outline:4px solid #ffe27a; outline-offset:2px; }
.ln-scene { position:relative; height:240px; border-radius:24px; overflow:hidden; margin:8px 0; background:radial-gradient(ellipse at 50% 30%, #3b2a7a, #120b2e 70%); border:3px solid rgba(255,255,255,.2); }
.ln-pip { position:absolute; left:50%; bottom:58px; width:110px; height:110px; transform:translateX(-50%); z-index:2; transition:transform .4s; }
.ln-pip svg { width:100%; height:100%; display:block; }
.ln-cushion { position:absolute; left:50%; bottom:28px; width:180px; height:52px; transform:translateX(-50%); border-radius:50%; background:radial-gradient(ellipse at 50% 30%, #ffb3e6, #b25fd0); box-shadow:0 8px 20px rgba(0,0,0,.4); }
.ln-zz { position:absolute; left:calc(50% + 50px); bottom:150px; font-size:34px; opacity:0; transition:opacity .4s; }
.ln-shelf { position:absolute; right:12px; top:12px; display:flex; gap:6px; padding:6px; border-radius:12px; background:rgba(255,255,255,.12); max-width:46%; }
.ln-shelf img { height:72px; width:auto; border-radius:6px; box-shadow:0 2px 8px rgba(0,0,0,.4); }
.ln-shelf small { color:#e8e2ff; font-size:13px; }
.ln-hop .ln-pip { animation:lnHop .7s ease; }
@keyframes lnHop { 0%,100% { transform:translateX(-50%) translateY(0); } 40% { transform:translateX(-50%) translateY(-34px) rotate(-6deg); } 70% { transform:translateX(-50%) translateY(-8px) rotate(4deg); } }
.ln-sleep .ln-pip { transform:translateX(-50%) translateY(20px) rotate(-14deg) scale(.92); filter:brightness(.8); } .ln-sleep .ln-zz { opacity:1; animation:lnZ 2.4s ease-in-out infinite; }
.ln-sleep { background:radial-gradient(ellipse at 50% 30%, #1f1850, #07051a 70%); }
@keyframes lnZ { 50% { transform:translateY(-10px); } }
.ln-say { font-size:20px; font-weight:800; min-height:1.6em; text-align:center; margin:6px 0; }
.ln-acts .lg-btn, .bd-acts .lg-btn { min-height:64px; font-size:20px; }
.ln-pulls { display:grid; grid-template-columns:repeat(auto-fill, minmax(120px, 1fr)); gap:10px; margin:10px 0; }
.ln-pull { margin:0; text-align:center; } .ln-pull img { width:100%; border-radius:10px; box-shadow:0 4px 12px rgba(0,0,0,.4); }
.ln-pull figcaption b { display:block; font-size:15px; } .ln-pull figcaption small { font-size:13px; color:#cfc8ee; }
.ln-mine { font-size:19px; font-weight:800; margin:8px 0; }
.ln-form label { display:block; font-size:18px; margin:10px 0 6px; }
.ln-row { display:flex; gap:10px; flex-wrap:wrap; align-items:stretch; }
.ln-input { flex:1 1 220px; min-height:64px; font:inherit; font-size:22px; font-weight:800; letter-spacing:.04em; padding:8px 16px; border-radius:18px; border:3px solid rgba(255,255,255,.35); background:rgba(255,255,255,.95); color:#1a1530; }
.ln-input:focus-visible { outline:4px solid #ffe27a; }
.ln-vroom { margin-top:14px; } .ln-vroom h3 { font-size:22px; margin-bottom:8px; }
.ln-stage { cursor:default; touch-action:auto; } .ln-it { cursor:default; pointer-events:none; }
.ln-stars { font-size:20px; font-weight:900; margin:8px 0; }

/* ===== Batch 8: Star Buddies ===== */
.bd-mk { display:flex; gap:16px; align-items:flex-start; flex-wrap:wrap; }
.bd-preview { display:flex; justify-content:center; align-items:center; }
.bd-mk .bd-preview { flex:0 0 220px; position:sticky; top:8px; padding:10px; border-radius:24px; background:radial-gradient(circle, rgba(255,255,255,.14), rgba(255,255,255,0) 70%); }
.bd-parts { flex:1 1 300px; }
.bd-pick h3, .bd-sub h3 { font-size:19px; margin:10px 0 6px; }
.bd-opts { display:flex; flex-wrap:wrap; gap:8px; }
.bd-opt { min-height:58px; min-width:58px; padding:8px 14px; font:inherit; font-size:18px; font-weight:800; color:#fff; border-radius:18px; border:3px solid rgba(255,255,255,.28); background:rgba(255,255,255,.1); cursor:pointer; display:inline-flex; align-items:center; gap:6px; }
.bd-opt.on { border-color:#ffe27a; background:rgba(255,226,122,.25); box-shadow:0 0 0 3px rgba(255,226,122,.35); }
.bd-opt:focus-visible { outline:4px solid #9be8ff; outline-offset:2px; }
.bd-sw { display:inline-block; width:34px; height:34px; border-radius:50%; border:3px solid rgba(255,255,255,.7); }
.bd-names .bd-nm { min-height:64px; font-size:21px; padding:8px 20px; }
.bd-name { text-align:center; } .bd-name .bd-opts { justify-content:center; margin:10px 0; } .bd-name .bd-form { text-align:left; max-width:560px; margin:10px auto; }
.bd-err { color:#ffb3b3; font-weight:800; min-height:1.4em; }
.bd-tog { display:flex; align-items:center; justify-content:center; gap:10px; font-size:18px; font-weight:700; min-height:60px; cursor:pointer; }
.bd-tog input { width:30px; height:30px; }
.bd-svg { display:block; overflow:visible; }
.bd-big { width:200px; height:200px; } .bd-mid { width:150px; height:150px; } .bd-sm { width:84px; height:84px; }
.bd-hop { animation:bdHop .8s ease; } @keyframes bdHop { 0%,100% { transform:translateY(0); } 40% { transform:translateY(-30px) scale(1.05,.95); } 70% { transform:translateY(-6px); } }
.bd-wave { animation:bdWave 3s ease-in-out infinite; transform-origin:50% 90%; } @keyframes bdWave { 0%,100% { transform:rotate(0); } 20% { transform:rotate(-6deg); } 40% { transform:rotate(5deg); } 60% { transform:rotate(0); } }
.bd-sleep { transform:rotate(-12deg) translateY(12px); filter:brightness(.8); }
.bd-day { text-align:center; } .bd-day-sky { font-size:46px; font-weight:900; letter-spacing:.08em; padding:18px 8px; border-radius:20px; background:radial-gradient(ellipse, #2c2070, #0b0820); color:#ffe27a; text-shadow:0 0 14px #ffe27a; }
.bd-day-sky span { display:inline-block; opacity:0; animation:bdStar .6s ease forwards; animation-delay:calc(var(--i) * .18s); }
@keyframes bdStar { from { opacity:0; transform:translateY(-20px) scale(.4); } to { opacity:1; transform:none; } }
.bd-cert { text-align:center; padding:16px; border-radius:20px; border:6px double #e8c766; background:linear-gradient(#fff9e4, #f3e4b6); color:#3a2a12; }
.bd-cert h2 { color:#3a2a12; } .bd-cert p { font-size:18px; } .bd-cert .lg-small { color:#6a5530; }
.bd-cert-h { font-size:24px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; color:#8a6418; }
.bd-care h2 { text-align:center; font-size:30px; } .bd-care h2 small { font-size:18px; color:#ffe27a; }
.bd-bedscene { position:relative; height:250px; border-radius:24px; overflow:hidden; background:radial-gradient(ellipse at 50% 30%, #3b2a7a, #120b2e 70%); border:3px solid rgba(255,255,255,.2); }
.bd-bedscene.asleep { background:radial-gradient(ellipse at 50% 30%, #1f1850, #07051a 70%); }
.bd-bed { position:absolute; left:50%; bottom:22px; width:220px; height:64px; transform:translateX(-50%); border-radius:50%; box-shadow:0 8px 20px rgba(0,0,0,.4); }
.bed-cushion .bd-bed { background:radial-gradient(ellipse at 50% 30%, #fff0a8, #e6b23a); }
.bed-basket .bd-bed { border-radius:0 0 50% 50% / 0 0 100% 100%; background:repeating-linear-gradient(45deg, #c98a4a 0 10px, #a8693a 10px 20px); }
.bed-nest .bd-bed { background:radial-gradient(ellipse at 50% 30%, #c9e6ff, #7b8fd6); filter:blur(.5px); box-shadow:0 0 30px rgba(170,200,255,.6); }
.bd-who { position:absolute; left:50%; bottom:46px; transform:translateX(-50%); }
.bd-zz { position:absolute; left:calc(50% + 70px); top:30px; font-size:36px; animation:lnZ 2.4s ease-in-out infinite; }
.bd-sub { margin-top:14px; }
.bd-marks { font-size:28px; line-height:1.4; word-break:break-all; }
.bd-baby { display:flex; flex-wrap:wrap; gap:8px; } .bd-baby svg { background:rgba(255,255,255,.08); border-radius:16px; padding:4px; }
.bd-tabs { flex-wrap:wrap; margin:8px 0; } .bd-tabs .lg-tab { min-height:56px; font-size:18px; }

/* Sleek (PG): same layout, darker */
html.lx-pg .ln-door { background:linear-gradient(160deg, rgba(40,40,52,.9), rgba(18,18,26,.9)); border:2px solid rgba(255,255,255,.12); box-shadow:none; }
html.lx-pg .ln-door small { color:#a9a9b6; }
html.lx-pg .ln-door:hover, html.lx-pg .ln-door:focus-visible { outline-color:#d9c38a; }
html.lx-pg .ln-scene, html.lx-pg .bd-bedscene { background:radial-gradient(ellipse at 50% 30%, #23232e, #0a0a10 70%); border:2px solid rgba(255,255,255,.1); }
html.lx-pg .ln-lens { filter:drop-shadow(0 0 10px rgba(217,195,138,.35)); }
html.lx-pg .ln-cushion { background:radial-gradient(ellipse at 50% 30%, #6b5a7a, #3a2f48); }
html.lx-pg .ln-input { background:#15151c; color:#f4f4f6; border:2px solid rgba(255,255,255,.18); }
html.lx-pg .bd-opt { background:rgba(255,255,255,.05); border:2px solid rgba(255,255,255,.14); }
html.lx-pg .bd-opt.on { border-color:#d9c38a; background:rgba(217,195,138,.16); box-shadow:none; }
html.lx-pg .bd-day-sky { background:#0c0c14; color:#d9c38a; text-shadow:none; }
html.lx-pg .bd-cert { background:linear-gradient(#24222a, #17161c); color:#eee; border-color:#8a7a50; }
html.lx-pg .bd-cert h2 { color:#f4f4f6; } html.lx-pg .bd-cert-h { color:#d9c38a; } html.lx-pg .bd-cert .lg-small { color:#a9a9b6; }
html.lx-pg .bd-care h2 small { color:#d9c38a; }
html.lx-pg .bed-cushion .bd-bed { background:radial-gradient(ellipse at 50% 30%, #8a7a50, #4a3f26); }
html.lx-pg .bed-nest .bd-bed { background:radial-gradient(ellipse at 50% 30%, #4a5068, #262a3a); box-shadow:none; }

@media (max-width: 520px) {
  .ln-hero { flex-direction:column; text-align:center; } .ln-lens { width:110px; height:110px; }
  .ln-doors { grid-template-columns:1fr 1fr; gap:10px; } .ln-door { min-height:120px; } .ln-door span { font-size:38px; } .ln-door b { font-size:18px; }
  .ln-shelf img { height:54px; } .ln-scene { height:220px; }
  .bd-mk .bd-preview { flex-basis:100%; position:static; } .bd-big { width:170px; height:170px; }
  .bd-day-sky { font-size:34px; }
}
@media (prefers-reduced-motion: reduce) {
  .ln-orbit, .ln-orbit2, .ln-hop .ln-pip, .ln-sleep .ln-zz, .bd-hop, .bd-wave, .bd-zz { animation:none !important; }
  .bd-day-sky span { animation:none; opacity:1; }
}
