:root{--bg:#fff3e4;--bg-2:#ffe0c7;--card:#fff;--ink:#2a1f3d;--muted:#6e5f7a;--primary:#ff5470;--primary-dark:#d63a57;--primary-ink:#fff;--accent:#ffc43d;--accent-2:#48a9ff;--success:#2fb36d;--danger:#e5484d;--border:var(--ink);--bw:3px;--radius:16px;--radius-sm:10px;--shadow:0 5px 0 var(--ink);--shadow-sm:0 3px 0 var(--ink);--gap:16px;--font-display:ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,"Courier New",monospace;--font-body:ui-rounded,"SF Pro Rounded","Nunito","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;--buncss-light:initial;--buncss-dark: ;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background-color:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-image:linear-gradient(#2a1f3d09 2px,#0000 2px),linear-gradient(90deg,#2a1f3d09 2px,#0000 2px);background-size:24px 24px;min-height:100vh;margin:0;font-size:17px;line-height:1.5}#root{display:flex;flex-direction:column;min-height:100vh}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-weight:800;line-height:1.15}h1{font-size:clamp(28px,7vw,44px)}h2{font-size:clamp(22px,5vw,30px)}h3{font-size:19px}p{margin:0}a{color:var(--primary-dark);text-underline-offset:3px;font-weight:700}img{display:block;max-width:100%}pre,code{font-family:var(--font-display);font-size:13px}:focus-visible{outline:3px solid var(--accent-2);outline-offset:3px}.icon{display:inline-block;vertical-align:middle;flex:none}.title{font-family:var(--font-display);text-shadow:3px 3px 0 var(--accent);font-weight:800}.muted{color:var(--muted)}.center{text-align:center}.small{font-size:14px}.mono{font-family:var(--font-display)}.nobreak{white-space:nowrap}.page{flex:1;width:100%;max-width:720px;margin:0 auto;padding:24px 16px 56px}.page.wide{max-width:1240px}.stack{display:flex;gap:var(--gap);flex-direction:column}.stack.tight{--gap:8px}.stack.loose{--gap:28px}.row{display:flex;flex-wrap:wrap;align-items: center;gap:12px}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.row.nowrap{flex-wrap:nowrap}.row.nowrap>*{min-width:0}.row.nowrap>.pill,.row.nowrap>.icon,.row.nowrap>.btn{flex:none}.row.top{align-items: flex-start}.icon-line{display:flex;align-items: flex-start;gap:8px}.icon-line>.icon{flex:none;margin-top:2px}.icon-line>span{min-width:0}.icon-line.centered{text-align:center;justify-content:center}.grow{flex:1;min-width:0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.card{background:var(--card);border:var(--bw)solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card.flat{box-shadow:none}.card.peach{background:var(--bg-2)}.card.yellow{background:#fff1c2}.btn{appearance:none;display:inline-flex;border:var(--bw)solid var(--ink);border-radius:var(--radius);background:var(--card);color:var(--ink);font-family:var(--font-body);text-decoration:none;text-align:center;cursor:pointer;box-shadow:var(--shadow-sm);user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items: center;gap:10px;min-height:52px;padding:10px 22px;transition:transform 80ms,box-shadow 80ms,background-color .12s;font-size:17px;font-weight:800;line-height:1.1}.btn:hover{background:#fff8ef}.btn:active:not(:disabled){box-shadow:0 0 0 var(--ink);transform:translateY(3px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-ink);text-shadow:0 2px #0000002e}.btn-primary:hover{background:#ff6a83}.btn-secondary{background:var(--accent)}.btn-secondary:hover{background:#ffd063}.btn-ghost{box-shadow:none;color:var(--ink);background:0 0;border-color:#0000}.btn-ghost:hover{background:#2a1f3d0f}.btn-ghost:active:not(:disabled){transform:none}.btn-big{box-shadow:var(--shadow);border-radius:18px;min-height:64px;padding:14px 30px;font-size:20px}.btn-big:active:not(:disabled){transform:translateY(5px)}.btn-small{border-radius:var(--radius-sm);min-height:44px;padding:6px 14px;font-size:15px}.btn-block{width:100%}.btn-danger{background:var(--danger);color:#fff}.field{display:flex;flex-direction:column;gap:6px}.field>label,.field .label{font-size:16px;font-weight:800}.field .hint{color:var(--muted);font-size:14px}.field .error{color:var(--danger);font-size:14px;font-weight:700}input[type=text],input[type=email],input[type=password],input[type=search],input[type=url],input[type=number],input:not([type]),textarea,select{border:var(--bw)solid var(--ink);border-radius:var(--radius-sm);color:var(--ink);font-family:var(--font-body);background:#fff;width:100%;min-height:52px;padding:12px 14px;font-size:17px;box-shadow:inset 0 3px #2a1f3d14}textarea{resize:vertical;min-height:110px;line-height:1.45}input::placeholder,textarea::placeholder{color:#a597ad}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent-2);box-shadow:0 0 0 3px #48a9ff4d}.field.invalid input,.field.invalid textarea{border-color:var(--danger)}.chip{appearance:none;display:inline-flex;border:var(--bw)solid var(--ink);color:var(--ink);font-family:var(--font-body);cursor:pointer;box-shadow:0 2px 0 var(--ink);-webkit-tap-highlight-color:transparent;background:#fff;border-radius:999px;align-items: center;gap:6px;min-height:48px;padding:8px 16px;font-size:16px;font-weight:700}.chip:active{box-shadow:none;transform:translateY(2px)}.chip.on{background:var(--ink);color:#fff}.pill{display:inline-flex;border:2px solid var(--ink);white-space:nowrap;background:#fff;border-radius:999px;align-items: center;gap:6px;padding:3px 12px;font-size:14px;font-weight:800}.pill:before{content:"";background:currentColor;width:8px;height:8px}.pill-draft{color:#4b3f5c;background:#ece6f1}.pill-queued{color:#1c5f99;background:#dcefff}.pill-building{color:#8a5a00;background:#fff1c2}.pill-building:before{animation:.9s steps(2,end) infinite pg-blink}.pill-published{color:#1a6e42;background:#d6f5e3}.pill-failed{color:#a52a2e;background:#ffe0e0}.alert{display:flex;border:var(--bw)solid var(--ink);border-radius:var(--radius-sm);background:#fff;align-items: flex-start;gap:10px;padding:12px 14px;font-weight:600}.alert-error{background:#ffe3e3}.alert-info{background:#e3f1ff}.alert-ok{background:#dcf7e8}.spinner{display:inline-block;background:conic-gradient(var(--ink)0 25%,transparent 0 50%,var(--ink)0 75%,transparent 0);border:3px solid var(--ink);animation:.8s steps(4,end) infinite pg-spin;width:22px;height:22px}.loading-screen{display:flex;flex:1;justify-content:center;align-items: center;gap:12px;padding:60px 16px;font-weight:700}@keyframes pg-spin{to{transform:rotate(360deg)}}@keyframes pg-blink{50%{opacity:0}}@keyframes pg-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pg-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-12px)rotate(8deg)}}@keyframes pg-drift{0%{transform:translate(-30px)}to{transform:translate(30px)}}@keyframes pg-stripes{to{background-position:32px 0}}@keyframes pg-pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}@keyframes pg-confetti{0%{transform:translateY(-20px)rotate(0);opacity:1}to{transform:translateY(260px)rotate(540deg);opacity:0}}.site-header{position:sticky;z-index:20;background:var(--bg);border-bottom:var(--bw)solid var(--ink);top:0}.site-header-inner{display:flex;align-items: center;gap:6px;max-width:1240px;margin:0 auto;padding:8px 12px}.logo{display:inline-flex;font-family:var(--font-display);color:var(--ink);text-decoration:none;letter-spacing:-.03em;align-items: center;gap:8px;min-height:48px;margin-right:auto;font-size:20px;font-weight:900}.logo .icon,.logo-text b{color:var(--primary)}.nav-link{display:inline-flex;border-radius:var(--radius-sm);color:var(--ink);text-decoration:none;cursor:pointer;font-size:15px;font-weight:800;font-family:var(--font-body);background:0 0;border:none;align-items: center;gap:6px;min-height:48px;padding:6px 10px}.nav-link:hover{background:#2a1f3d12}.nav-link.active{background:var(--bg-2)}@media (max-width:420px){.nav-link .nav-label-long{display:none}.logo{font-size:18px}}.site-footer{border-top:var(--bw)dashed #2a1f3d40;text-align:center;color:var(--muted);padding:20px 16px 28px;font-size:14px}.site-footer .testmode{display:inline-flex;border:2px solid var(--ink);color:var(--ink);background:#fff1c2;border-radius:999px;align-items: center;gap:8px;padding:6px 12px;font-weight:700}.hero{display:grid;align-items: center;gap:28px}@media (min-width:760px){.hero{grid-template-columns:1.1fr .9fr}}.hero h1{font-size:clamp(32px,8.5vw,54px)}.hero h1 .hl{color:var(--primary);text-shadow:3px 3px 0 var(--ink)}.hero-lead{max-width:34ch;font-size:19px}.price-tag{display:inline-flex;background:var(--accent);border:var(--bw)solid var(--ink);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);font-family:var(--font-display);align-self: flex-start;align-items: center;gap:8px;padding:6px 14px;font-size:18px;font-weight:900;transform:rotate(-3deg)}.game-screen{position:relative;overflow:hidden;aspect-ratio:4/5;border:4px solid var(--ink);box-shadow:0 8px 0 var(--ink),inset 0 0 0 6px #fff;background:linear-gradient(#8fd3ff 0%,#c8ecff 62% 62%);border-radius:28px;width:100%;max-width:340px;margin:0 auto}.game-screen .ground{position:absolute;border-top:4px solid var(--ink);background:repeating-linear-gradient(90deg,#5bc96a 0 16px,#4db35b 16px 32px) top/100% 14px no-repeat,repeating-linear-gradient(90deg,#b9774a 0 16px,#a8683e 16px 32px) 0 14px/100% 100% no-repeat;height:26%;bottom:0;left:0;right:0}.game-screen .hud{position:absolute;display:flex;font-family:var(--font-display);color:var(--ink);justify-content:space-between;align-items: center;font-size:15px;font-weight:900;top:16px;left:16px;right:16px}.game-screen .hud .hearts{display:flex;color:var(--primary);gap:4px}.game-screen .cloud{position:absolute;animation:6s ease-in-out infinite alternate pg-drift}.game-screen .cloud.c1{top:18%;left:12%}.game-screen .cloud.c2{animation-duration:8s;animation-direction:alternate-reverse;top:30%;right:8%}.game-screen .hero-sprite{position:absolute;animation:1.2s steps(2,end) infinite pg-bob;margin-left:-36px;bottom:25%;left:50%}.game-screen .floaty{position:absolute;animation:2.4s ease-in-out infinite pg-float}.game-screen .floaty.f1{color:var(--accent);bottom:52%;left:18%}.game-screen .floaty.f2{color:var(--primary);animation-delay:-1.2s;bottom:60%;right:18%}.game-screen .floaty.f3{color:var(--accent);animation-delay:-.6s;bottom:44%;right:30%}.game-screen .bubble{position:absolute;white-space:nowrap;border:3px solid var(--ink);background:#fff;border-radius:10px;padding:6px 12px;font-size:14px;font-weight:800;top:46px;left:50%;transform:translate(-50%)}.steps{display:grid;counter-reset:step;gap:16px}@media (min-width:760px){.steps{grid-template-columns:repeat(3,1fr)}}.step{display:flex;flex-direction:column;gap:10px}.step-num{display:inline-flex;border:var(--bw)solid var(--ink);font-family:var(--font-display);box-shadow:var(--shadow-sm);border-radius:10px;justify-content:center;align-items: center;width:44px;height:44px;font-size:20px;font-weight:900}.step:first-child .step-num{background:var(--accent)}.step:nth-child(2) .step-num{background:var(--accent-2);color:#fff}.step:nth-child(3) .step-num{background:var(--primary);color:#fff}.faq details{border:var(--bw)solid var(--ink);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);background:#fff}.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items: center;gap:12px;min-height:56px;padding:12px 16px;font-weight:800}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--font-display);font-size:24px;font-weight:900}.faq details[open] summary:after{content:"−"}.faq details p{padding:0 16px 16px}.pixel-divider{background:repeating-linear-gradient(90deg,var(--ink)0 12px,transparent 12px 24px);opacity:.15;height:12px;margin:8px 0}.auth-card{width:100%;max-width:440px;margin:0 auto}.order-card{display:flex;flex-direction:column;gap:14px}.order-card .order-title{font-family:var(--font-display);overflow-wrap:anywhere;word-break:break-word;font-size:19px;font-weight:900}.order-card .order-link{font-family:var(--font-display);word-break:break-all;font-size:14px}.empty-state{text-align:center;align-items: center}.progress-card{position:relative;overflow:hidden;text-align:center;align-items: center}.progress-bar{border:var(--bw)solid var(--ink);background:#fff;border-radius:8px;width:100%;height:34px;padding:4px}.progress-fill{background:repeating-linear-gradient(90deg,var(--primary)0 12px,#ff7f94 12px 16px);animation:.8s linear infinite pg-stripes;background-size:32px 100%;border-radius:3px;min-width:6%;height:100%;transition:width .8s steps(8,end)}.progress-pct{font-family:var(--font-display);font-size:28px;font-weight:900}.progress-msg{min-height:2.9em;font-size:19px;font-weight:800}.builder-sprite{animation:.7s steps(2,end) infinite pg-bob}.done-card{text-align:center;animation:.42s ease-out both pg-pop;position:relative;overflow:hidden;align-items: center}.confetti{position:absolute;pointer-events:none;animation:2.6s ease-in forwards pg-confetti;width:10px;height:10px;top:0}.btn-pair{flex-wrap:nowrap;width:100%}.btn-pair>*{flex:1;min-width:0}.link-box{display:flex;align-items:stretch;gap:8px;width:100%}.link-box input{font-family:var(--font-display);flex:1;min-width:0;font-size:15px}.receipt{font-size:15px}.receipt dl{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:0}.receipt dt{color:var(--muted);font-weight:700}.receipt dd{text-align:right;margin:0;font-weight:700}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (min-width:760px){.stat-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1100px){.stat-grid{grid-template-columns:repeat(6,1fr)}}.stat{padding:14px 16px}.stat .stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:800}.stat .stat-value{font-family:var(--font-display);font-size:26px;font-weight:900;line-height:1.2}.stat .stat-sub{color:var(--muted);font-size:13px}.table-wrap{overflow-x:auto;border:var(--bw)solid var(--ink);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);background:#fff;width:100%}table.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{text-align:left;white-space:nowrap;vertical-align:top;border-bottom:2px solid #efe6f2;padding:9px 10px}.table th{background:var(--bg-2);border-bottom:var(--bw)solid var(--ink);position:sticky;font-weight:800;top:0}.table th button{all:unset;cursor:pointer;display:inline-flex;align-items: center;gap:4px;min-height:28px}.table th button:focus-visible{outline:3px solid var(--accent-2)}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table th.num button{justify-content:flex-end}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover{background:#fff8ef}.table tbody tr:last-child td{border-bottom:none}.table tfoot td{border-top:var(--bw)solid var(--ink);border-bottom:none;font-weight:800}.table .wrap{white-space:normal;min-width:220px}.chart{display:block;width:100%;height:auto}.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:14px;font-weight:700}.legend .swatch{display:inline-block;border:2px solid var(--ink);vertical-align:-2px;width:14px;height:14px;margin-right:6px}.log-tail{overflow:auto;color:#f4ecff;border:var(--bw)solid var(--ink);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;background:#1e1630;max-height:460px;margin:0;padding:14px;font-size:12px;line-height:1.45}.json-tree{font-family:var(--font-display);overflow-x:auto;font-size:13px;line-height:1.6}.json-tree details{margin-left:14px}.json-tree summary{cursor:pointer;margin-left:-14px}.json-tree .jk{color:#7a3db8;font-weight:700}.json-tree .js{color:#1a6e42;white-space:pre-wrap;word-break:break-word}.json-tree .jn{color:#1c5f99}.json-tree .jb{color:#a52a2e}.json-tree .jline{margin-left:0}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.photo-grid figure{border:var(--bw)solid var(--ink);border-radius:var(--radius-sm);overflow:hidden;background:#fff;margin:0}.photo-grid img{aspect-ratio:1;object-fit:cover;width:100%}.photo-grid figcaption{border-top:2px solid var(--ink);padding:6px 8px;font-size:13px;font-weight:700}.notfound{text-align:center;align-items: center;padding-top:32px}.notfound .big{font-family:var(--font-display);text-shadow:4px 4px 0 var(--primary);font-size:clamp(40px,12vw,72px);font-weight:900}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.create-page{display:flex;flex-direction:column;gap:18px;max-width:640px;padding-bottom:24px}.create-page .visually-hidden{position:absolute;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0}.create-loading{display:flex;flex-direction:column;align-items: center;gap:14px;padding:40px 20px;font-weight:700}.wiz-top{display:flex;flex-direction:column;gap:8px}.wiz-progress{display:grid;grid-template-columns:repeat(8,1fr);border:var(--bw)solid var(--ink);box-shadow:var(--shadow-sm);background:#fff;border-radius:8px;gap:4px;padding:4px}.wiz-seg{background:#efe6f2;border-radius:3px;height:14px;transition:background-color .2s steps(2,end)}.wiz-seg.done{background:var(--primary)}.wiz-seg.now{background:repeating-linear-gradient(90deg,var(--accent)0 6px,#ffd469 6px 9px);animation:.9s linear infinite pg-stripes;background-size:18px 100%}.wiz-meta{display:flex;justify-content:space-between;align-items: center;gap:8px;min-height:28px;font-size:15px}.wiz-count{color:var(--muted);font-weight:700}.wiz-count strong{color:var(--ink)}.save-badge{display:inline-flex;color:var(--muted);white-space:nowrap;align-items: center;gap:4px;font-size:13px;font-weight:800}.save-badge.save-saved{color:var(--success)}.save-badge.save-error,.save-badge.save-error .link-btn{color:var(--danger)}.link-btn{appearance:none;display:inline-flex;color:var(--primary-dark);font:inherit;text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-items: center;gap:4px;padding:0;font-weight:800}.wiz-title{outline:none;font-size:clamp(24px,6.4vw,32px)}.wiz-title:focus-visible{outline:3px solid var(--accent-2);outline-offset:4px}.step-intro{font-size:18px;font-weight:600}.wiz-body{animation:.22s ease-out both wiz-in}@keyframes wiz-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.create-page .alert{flex-direction:column}.create-page .alert ul{display:flex;flex-direction:column;gap:6px;margin:0;padding-left:20px}.wiz-nav{position:sticky;z-index:10;display:flex;padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top,var(--bg)70%,#fff3e400);justify-content:space-between;align-items: center;gap:10px;margin:8px -16px 0;bottom:0}.wiz-nav .btn{min-height:56px}.wiz-next,.wiz-review{flex:1;max-width:280px;margin-left:auto;font-size:19px}.wiz-back{padding-left:10px;padding-right:14px}.create-page .chips{display:flex;flex-wrap:wrap;gap:8px}.create-page .chip-suggest{box-shadow:none;background:#fffaf4;border-style:dashed;min-height:44px;padding:6px 12px;font-size:15px}.create-page .chip-static{cursor:default;box-shadow:none;min-height:36px;padding:4px 12px}.create-page .chip-static:active{transform:none}.create-page .swatch{display:inline-block;border:2px solid var(--ink);border-radius:6px;flex:none;width:20px;height:20px}.create-page .chip.on .swatch{border-color:#fff}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}.tag{display:inline-flex;border:var(--bw)solid var(--ink);background:var(--accent);border-radius:999px;align-items: center;gap:2px;max-width:100%;min-height:44px;padding:4px 4px 4px 14px;font-weight:800}.tag span{overflow-wrap:anywhere}.tag-x{appearance:none;display:inline-flex;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items: center;width:36px;height:36px}.tag-x:hover{background:#2a1f3d1f}.tag-entry{display:flex;gap:8px}.tag-entry input{flex:1;min-width:0}.tag-add{flex:none;gap:6px;padding:10px 14px}.input-small{margin-top:4px}.looks{display:flex;flex-direction:column;gap:18px}.looks-compact{gap:14px}.looks-compact .chip{min-height:44px;padding:6px 12px;font-size:15px}.sub-head{margin-top:6px;font-size:18px}.card-soft{background:var(--bg-2);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px}.tip{display:flex;color:var(--ink);align-items: center;gap:6px;font-size:14px;font-weight:700}.thumbs{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin:0;padding:0}.photos-compact .thumbs{grid-template-columns:repeat(auto-fill,minmax(76px,1fr))}.thumb{position:relative;aspect-ratio:1;border:var(--bw)solid var(--ink);border-radius:var(--radius-sm);overflow:hidden;background:#fff}.thumb img{object-fit:cover;width:100%;height:100%}.thumb-x{appearance:none;position:absolute;display:inline-flex;border:2px solid var(--ink);color:var(--ink);cursor:pointer;box-shadow:0 2px 0 var(--ink);background:#fff;border-radius:999px;justify-content:center;align-items: center;width:34px;height:34px;top:4px;right:4px}.thumb-x:disabled{opacity:.5}.thumb-pending img{opacity:.6}.thumb-progress{position:absolute;border:2px solid var(--ink);background:#fff;border-radius:4px;height:12px;padding:2px;bottom:8px;left:8px;right:8px}.thumb-progress span{display:block;background:var(--primary);border-radius:2px;height:100%;transition:width .2s linear}.thumb-fail{position:absolute;display:flex;text-align:center;background:#ffe3e3f0;flex-direction:column;justify-content:center;align-items: center;gap:6px;padding:6px;font-size:12px;font-weight:800;line-height:1.2;inset:0}.thumb-fail .row{flex-wrap:nowrap;gap:6px}.thumb-act{appearance:none;display:inline-flex;border:2px solid var(--ink);color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items: center;width:34px;height:34px}.thumb-add{background:#fffaf4;border-style:dashed}.thumb-add-label{position:absolute;display:flex;text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items: center;gap:4px;font-size:14px;font-weight:800;inset:0}.thumb-add:hover{background:#fff1df}.thumb-add:focus-within{outline:3px solid var(--accent-2);outline-offset:2px}.hint-warn{color:var(--danger);margin-top:8px;font-size:14px;font-weight:700}.friend-card{display:flex;flex-direction:column;gap:16px;scroll-margin-top:80px}.friend-head{display:flex;align-items: center;gap:10px}.friend-head h3{overflow-wrap:anywhere;flex:1;min-width:0}.friend-badge{display:inline-flex;border:var(--bw)solid var(--ink);background:var(--accent-2);color:#fff;border-radius:10px;flex:none;justify-content:center;align-items: center;width:40px;height:40px}.icon-btn{width:48px;min-height:48px;padding:0}.add-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.add-btn{gap:8px;padding:12px 10px;font-size:17px}@media (max-width:360px){.add-row{grid-template-columns:1fr}}.disclosure{border:var(--bw)solid var(--ink);border-radius:var(--radius-sm);background:#fffaf4}.disclosure>:not(.disclosure-btn){padding:0 14px 16px}.disclosure-btn{appearance:none;display:flex;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items: center;gap:10px;width:100%;min-height:52px;padding:10px 14px;font-weight:800}.disclosure-caret{border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);flex:none;width:12px;height:12px;transition:transform .15s;transform:rotate(45deg)translate(-2px,-2px)}.disclosure-btn[aria-expanded=true] .disclosure-caret{transform:rotate(225deg)translate(-2px,-2px)}.story-card{display:flex;flex-direction:column;gap:10px}.story-head{display:flex;justify-content:space-between;align-items: flex-start;gap:8px}.story-q{font-family:var(--font-display);padding-top:10px;font-size:17px;font-weight:800;line-height:1.25}.story-head .btn{flex:none;gap:6px;padding:6px 10px}.story-card textarea{min-height:140px}.story-remove{color:var(--muted);align-self: flex-end;gap:6px}.vibe-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (min-width:560px){.vibe-grid{grid-template-columns:repeat(3,1fr)}}.vibe{appearance:none;position:relative;display:flex;border:var(--bw)solid var(--ink);border-radius:var(--radius);color:var(--ink);font-family:var(--font-body);cursor:pointer;box-shadow:var(--shadow-sm);-webkit-tap-highlight-color:transparent;background:#fff;flex-direction:column;align-items: center;gap:4px;min-height:132px;padding:14px 8px 12px;transition:transform 80ms,box-shadow 80ms,background-color .12s}.vibe:active{box-shadow:none;transform:translateY(3px)}.vibe.on{box-shadow:0 3px 0 var(--ink),inset 0 0 0 3px var(--accent);background:#fff1c2}.vibe-art{display:flex;justify-content:center;align-items: center;height:48px}.vibe.on .vibe-art{animation:.8s steps(2,end) infinite pg-bob}.vibe-label{font-family:var(--font-display);font-size:17px;font-weight:900}.vibe-blurb{color:var(--muted);text-align:center;font-size:13px;font-weight:600;line-height:1.25}.vibe-check{position:absolute;display:inline-flex;border:2px solid var(--ink);background:var(--success);color:#fff;border-radius:6px;justify-content:center;align-items: center;width:24px;height:24px;top:8px;right:8px}.callout{border:var(--bw)dashed var(--ink);border-radius:var(--radius-sm);background:#e3f1ff;padding:14px 16px;font-weight:600}.slug-box{display:flex;border:var(--bw)solid var(--ink);border-radius:var(--radius-sm);overflow:hidden;background:#fff;align-items:stretch;box-shadow:inset 0 3px #2a1f3d14}.slug-box:focus-within{border-color:var(--accent-2);box-shadow:0 0 0 3px #48a9ff4d}.slug-box.ok{border-color:var(--success)}.slug-box.bad{border-color:var(--danger)}.slug-host{display:flex;background:var(--bg-2);font-family:var(--font-display);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-right:2px solid #2a1f3d33;align-items: center;max-width:50%;padding:0 4px 0 12px;font-size:14px}.create-page .slug-box input{box-shadow:none;font-family:var(--font-display);border:0;border-radius:0;flex:1;min-width:0;padding-left:8px;font-size:17px}.create-page .slug-box input:focus{box-shadow:none}.slug-status{display:flex;flex-wrap:wrap;align-items: center;gap:8px 12px;min-height:32px;font-size:15px;font-weight:700}.slug-status>span{display:inline-flex;align-items: center;gap:6px}.ok-text{color:var(--success)}.bad-text{color:var(--danger)}.spinner.spinner-sm{vertical-align:-2px;border-width:2px;width:14px;height:14px}.missing-box:focus{outline:3px solid var(--danger);outline-offset:3px}.missing-box .link-btn{color:var(--ink)}.review-card{padding:16px}.review-missing{border-color:var(--danger);box-shadow:0 5px 0 var(--danger)}.review-head{display:flex;justify-content:space-between;align-items: center;gap:8px;margin-bottom:8px}.review-head h3{display:inline-flex;align-items: center;gap:6px}.review-missing .review-head h3{color:var(--danger)}.review-head .btn{gap:6px}.review-list{display:flex;flex-direction:column;gap:8px;margin:0}.review-line{display:grid;grid-template-columns:96px 1fr;align-items:baseline;gap:10px}.review-line dt{color:var(--muted);font-size:14px;font-weight:800}.review-line dd{overflow-wrap:anywhere;white-space:pre-line;margin:0;font-weight:600}.review-friend-icon{display:flex;justify-content:flex-end;align-self: center}.review-story dd{font-weight:500}.review-thumbs,.review-vibes{display:flex;flex-wrap:wrap;gap:6px}.review-thumbs img{object-fit:cover;border:2px solid var(--ink);border-radius:8px;width:56px;height:56px}.missing-text{color:var(--danger);font-weight:800}.price-card{display:flex;background:#fff1c2;flex-direction:column;gap:14px;margin-top:6px}.price-top{display:flex;align-items: center;gap:10px}.price-top h3{flex:1}.price{font-family:var(--font-display);text-shadow:3px 3px 0 var(--primary);font-size:34px;font-weight:900;line-height:1}.price-points{list-style:none;display:flex;flex-direction:column;gap:6px;margin:0;padding:0;font-weight:600}.price-points li{position:relative;padding-left:22px}.price-points li:before{content:"";position:absolute;background:var(--primary);border:2px solid var(--ink);width:10px;height:10px;top:.5em;left:2px}.test-mode{display:flex;flex-wrap:wrap;align-items: center;gap:8px;font-size:14px;font-weight:700}.test-badge{border:2px solid var(--ink);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;background:#fff;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:900}.pay-btn{font-size:19px}
