:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--font-sans:system-ui, -apple-system, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:2rem;--tap-min:44px;--cta-height:56px;--max-content:560px;--focus:#8056df;--accent:var(--theme-accent,#6540be);--accent-contrast:var(--theme-accent-contrast,#fff);--surface:var(--theme-surface,#faf7f0);--surface-alt:var(--theme-surface-alt,#f0ece4);--ink:var(--theme-ink,#27251f);--muted:#68645c;--radius:var(--theme-radius,20px);--border:#ddd8cd;--paper:#fffdf8;--soft-accent:color-mix(in srgb, var(--accent) 10%, var(--paper));--shadow:0 6px 0 #27251f06, 0 16px 40px #27251f05}[data-archetype=playful]{--accent:var(--theme-accent,#6540be)}[data-archetype=minimal]{--accent:var(--theme-accent,#176d62)}[data-archetype=bold]{--accent:var(--theme-accent,#ba421d);--surface:var(--theme-surface,#fcf4e7)}[data-archetype=cute]{--accent:var(--theme-accent,#984661);--surface:var(--theme-surface,#fcf3f5)}[data-archetype=dark],[data-archetype=game]{--accent:var(--theme-accent,#d4f785);--accent-contrast:var(--theme-accent-contrast,#20281c);--surface:var(--theme-surface,#1d251f);--surface-alt:var(--theme-surface-alt,#29322b);--ink:var(--theme-ink,#f3f4e9);--muted:#b9c0ae;--border:#465143;--paper:#252e26;--soft-accent:color-mix(in srgb, var(--accent) 10%, var(--paper));--focus:#e2ffae;--shadow:0 6px 0 #0002, 0 16px 40px #0001}[data-archetype=retro]{--accent:var(--theme-accent,#315f52);--surface:var(--theme-surface,#f7f1d9);--radius:var(--theme-radius,8px)}[data-archetype=editorial]{--accent:var(--theme-accent,#4f5c9c);--surface:var(--theme-surface,#f4f4ef)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--surface);min-height:100svh;color:var(--ink);font:var(--text-md)/1.65 var(--font-sans);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{color:var(--accent)}button{cursor:pointer}img,svg{vertical-align:middle;max-width:100%}#root,.site-footer{max-width:var(--max-content);margin:0 auto;padding:0 20px}.app,.hub,.static-page{padding:0 0 40px}h1,h2,h3,p{overflow-wrap:anywhere;word-break:keep-all}h1{letter-spacing:-.055em;margin:12px 0 20px;font-size:clamp(1.65rem,6.9vw,2.25rem);font-weight:800;line-height:1.35}h2{font-size:var(--text-lg);letter-spacing:-.035em;line-height:1.4}p{margin:12px 0}.eyebrow,.meta,.step-count,.hint,.play-note{color:var(--muted);font-size:var(--text-sm)}.eyebrow{letter-spacing:.015em;font-weight:600}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.brand-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:22px 0;display:flex}.brand{letter-spacing:-.06em;color:var(--ink);align-items:center;gap:8px;min-height:44px;font-size:1.375rem;font-weight:850;text-decoration:none;display:inline-flex}.brand-mark{background:var(--accent);width:32px;height:32px;color:var(--accent-contrast);letter-spacing:-.13em;border-radius:11px 11px 11px 3px;justify-content:center;align-items:center;padding-right:3px;font-size:28px;line-height:1;display:inline-flex}.brand-mark span{color:inherit}.brand-explore{color:var(--muted);align-items:center;gap:8px;min-height:44px;font-size:.8125rem;font-weight:650;text-decoration:none;display:inline-flex}.btn{width:100%;min-height:var(--cta-height);font:inherit;border:1px solid #0000;border-radius:16px;justify-content:center;align-items:center;gap:10px;margin:12px 0;padding:14px 18px;font-weight:750;line-height:1.45;text-decoration:none;transition:transform .12s,background-color .12s,box-shadow .12s;display:flex}.btn-primary{background:var(--accent);color:var(--accent-contrast);box-shadow:0 4px 0 color-mix(in srgb, var(--accent) 75%, #000)}.btn-secondary{background:var(--paper);color:var(--ink);border-color:var(--border)}.btn:active:not([disabled]),.choice:active:not([disabled]){box-shadow:none;transform:translateY(2px)}.btn[disabled],button[disabled]{opacity:.5;cursor:not-allowed}.link-button{color:var(--muted);font:inherit;text-underline-offset:4px;min-height:var(--tap-min);cursor:pointer;background:0 0;border:0;padding:8px;font-size:.875rem;text-decoration:underline}.landing{text-align:center;padding-bottom:8px}.landing-meta{text-align:left;justify-content:space-between;align-items:center;gap:12px;display:flex}.time-pill{border:1px solid var(--border);color:var(--muted);border-radius:30px;align-items:center;padding:5px 12px;font-size:.8125rem;font-weight:600;display:inline-flex}.service-art{background:radial-gradient(ellipse, var(--soft-accent), transparent 68%);justify-content:center;align-items:center;min-height:200px;margin:12px 0 20px;display:flex}.service-art img{filter:drop-shadow(0 8px #27251f08);width:176px;height:176px;transform:rotate(-5deg)}.service-art-small{min-height:84px;margin:0}.service-art-small img{width:84px;height:84px}.landing .promise{max-width:32ch;color:var(--muted);margin:0 auto 24px;line-height:1.7}.landing-note{color:var(--muted);margin:0 0 20px;font-size:.8125rem}.landing .btn-primary{margin:16px 0}.play-service-name{color:var(--muted);border-bottom:1px solid var(--border);margin:0 0 20px;padding-bottom:14px;font-size:.8125rem}.engine{min-height:290px}.step-progress{align-items:center;gap:16px;margin:0 0 28px;display:flex}.step-count{font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:650}.step-progress progress{min-width:0;height:5px;accent-color:var(--accent);border:0;border-radius:8px;flex:1}progress::-webkit-progress-bar{background:var(--border);border-radius:8px}progress::-webkit-progress-value{background:var(--accent);border-radius:8px}.step-prompt{margin:0 0 24px;font-size:1.55rem;line-height:1.5}.choices{gap:12px;margin:20px 0;display:grid}.choices-two{grid-template-columns:repeat(2,minmax(0,1fr))}.choice{border:1px solid var(--border);border-radius:var(--radius);background:var(--paper);min-height:72px;color:var(--ink);font:inherit;word-break:keep-all;overflow-wrap:anywhere;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px 12px;font-weight:650;line-height:1.5;transition:transform .12s,border-color .12s,background-color .12s;display:flex;position:relative;box-shadow:0 3px #27251f07}.choice[aria-pressed=true]{border:2px solid var(--accent);background:var(--soft-accent)}.choice[aria-pressed=true]:after{content:"✓";color:var(--accent);font-weight:800;position:absolute;top:7px;right:10px}.engine-compare .choice{border-radius:50% 50% 18px 18px;min-height:148px;font-size:1.125rem}.engine-compare .choice:nth-child(2){background:var(--soft-accent);border-radius:18px 18px 50% 50%}.step-back{margin-top:4px}.item-icon{color:var(--accent)}.engine-bracket .choices{gap:18px;position:relative}.engine-bracket .choice{border:2px solid var(--accent);min-height:194px}.engine-bracket .item-icon{width:68px;height:68px}.choices-versus:after{content:"VS";color:var(--accent-contrast);background:var(--accent);border:4px solid var(--surface);pointer-events:none;border-radius:50%;place-content:center;width:42px;height:42px;font-size:.6875rem;font-weight:900;display:grid;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)rotate(-10deg)}.bracket-rounds{justify-content:center;align-items:center;gap:8px;margin:0 0 24px;padding:0;list-style:none;display:flex}.bracket-rounds li{border:1px solid var(--border);color:var(--muted);border-radius:30px;padding:6px 14px;font-size:.8125rem}.bracket-rounds .is-current{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:700}.engine-quiz .choice{text-align:left;flex-direction:row;justify-content:flex-start;padding:18px}.engine-quiz .choice:before{content:"↗";background:var(--soft-accent);width:32px;height:32px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.engine-ranking .choice{flex-direction:row;justify-content:flex-start;gap:18px;min-height:62px;padding:12px 18px}.engine-ranking .item-icon{width:36px;height:36px;padding:3px}.ranking-list{flex-wrap:wrap;gap:8px;margin:12px 0;padding:0;list-style:none;display:flex}.ranking-list li{background:var(--soft-accent);border:1px solid var(--border);border-radius:30px;padding:6px 12px;font-size:.8125rem}.engine-visual .choice{min-height:208px;padding-top:145px;position:relative;overflow:hidden}.choice-visual:before{content:"";pointer-events:none;background:#edb678;border-radius:70px 70px 12px 12px;position:absolute;inset:12px 12px 66px}.choice-visual-warm:before{background:linear-gradient(120deg,#ffbd86 0 50%,#e97b64 50%)}.choice-visual-cool:before{background:linear-gradient(120deg,#a4d5d2 0 50%,#7c98bb 50%)}.choice-visual-bright:before{background:linear-gradient(120deg,#ffdb68 0 50%,#f18c78 50%)}.choice-visual-calm:before{background:linear-gradient(120deg,#bcb9ce 0 50%,#7d9290 50%)}.choice-visual-simple:before{background:linear-gradient(120deg,#eee3d4 0 50%,#bfaa8b 50%)}.choice-visual-colorful:before{background:linear-gradient(120deg,#ec977f 0 25%,#f2ce70 25% 50%,#8bbab5 50% 75%,#9581b9 75%)}.engine-timing{text-align:center}.timing-target{letter-spacing:-.07em;font-variant-numeric:tabular-nums;margin:18px 0;font-size:5.5rem;font-weight:850;line-height:1}.timing-target span{letter-spacing:-.03em;color:var(--muted);margin-left:10px;font-size:1.25rem}.timing-hint{color:var(--muted);max-width:26ch;margin:20px auto;font-size:.9375rem}.timing-button{aspect-ratio:1;border:8px solid var(--surface);outline:1px solid var(--border);border-radius:50%;width:176px;min-height:176px;margin:24px auto;font-size:1.4rem}.timing-button.is-running{background:var(--paper);border-color:var(--accent);color:var(--ink);box-shadow:none}.timing-status{min-height:3.3em;color:var(--accent);margin:12px 0;font-size:.875rem}.timing-attempts{justify-content:center;gap:10px;display:flex}.timing-attempts span{border:1px solid var(--muted);border-radius:50%;width:10px;height:10px}.timing-attempts .is-done{background:var(--accent);border-color:var(--accent)}.bingo-grid{background:var(--border);border:2px solid var(--ink);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;list-style:none;display:grid}.bingo-cell,.bingo-grid li{border:1px solid var(--border);background:var(--paper);min-height:92px;color:var(--ink);font:inherit;word-break:keep-all;overflow-wrap:anywhere;text-align:center;border-radius:6px;justify-content:center;align-items:center;padding:10px 5px;font-size:.8125rem;font-weight:650;display:flex;position:relative}.bingo-cell[aria-pressed=true],.bingo-grid li.is-on{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.bingo-cell[aria-pressed=true]:after{content:"✓";font-size:.75rem;position:absolute;top:2px;right:5px}.bingo-result{margin-top:24px}.engine-calculator h2{margin-bottom:24px}.stepper{grid-template-columns:var(--tap-min) minmax(70px, 1fr) var(--tap-min);border:1px solid var(--border);border-radius:var(--radius);background:var(--paper);align-items:center;gap:12px;margin:16px 0;padding:18px;display:grid}.stepper-label{color:var(--muted);grid-column:1/-1;font-size:.875rem}.stepper-btn{min-width:var(--tap-min);min-height:var(--tap-min);border:1px solid var(--border);background:var(--surface-alt);color:var(--ink);border-radius:50%;font-size:1.375rem}.stepper-value{text-align:center;font-variant-numeric:tabular-nums;min-height:44px;font-size:1.75rem;font-weight:800;line-height:1.4}.engine-card .choice{border:2px solid var(--border);min-height:180px;box-shadow:0 5px 0 var(--surface), 0 6px 0 var(--border);border-radius:24px 24px 6px 6px}.engine-card .choice:before{content:"✳";color:var(--accent);font-size:3rem;line-height:1}.engine-card .choice:nth-child(2):before{content:"☀"}.result-ticket{border:1px solid var(--border);background:var(--paper);box-shadow:var(--shadow);border-radius:26px;padding:22px 20px;position:relative}.result-heading{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;gap:8px;margin-bottom:22px;padding-bottom:14px;display:flex}.result-heading .eyebrow{margin:0;font-size:.75rem}.result-stamp{white-space:nowrap;color:var(--accent);background:var(--soft-accent);border-radius:30px;padding:4px 8px;font-size:.6875rem;font-weight:700}.result h1:focus{outline:none}.result h1{margin:14px 0 22px;font-size:1.75rem}.result-body{color:var(--muted);margin:24px 0 12px;font-size:.875rem;line-height:1.85}.result .play-note{text-align:center;margin:18px 0 0;font-size:.75rem}.result-public{padding:32px 24px}.result-public [data-testid=friend-metric]{color:var(--accent);border:1px dashed var(--border);border-radius:16px;padding:20px;font-size:1.375rem;font-weight:800}.record-board{text-align:center;margin:32px 0 18px}.record-number{letter-spacing:-.06em;color:var(--accent);font-variant-numeric:tabular-nums;margin:12px 0 26px;font-size:clamp(2.5rem,12vw,4.25rem);font-weight:850;line-height:1.2}.record-number>span{letter-spacing:0;margin-left:8px;font-size:1.125rem}.attempt-records{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0;list-style:none;display:grid}.attempt-records li{border:1px solid var(--border);border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;font-size:.75rem;display:flex}.attempt-records strong{overflow-wrap:anywhere;font-size:.875rem}.attempt-records small{font-weight:400}.attempt-records .is-best{border-color:var(--accent)}.best-badge{color:var(--accent);font-size:.625rem;font-weight:800}.compare-symbol{text-align:center;margin:8px 0 20px;padding:20px 0 10px;position:relative}.compare-orbits{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.compare-orbits span{border:2px solid var(--accent);background:var(--soft-accent);opacity:.45;border-radius:50%;width:145px;height:145px}.compare-orbits span+span{border-style:dashed;margin-left:-70px}.compare-metric,.compare-symbol>p{position:relative}.compare-metric{margin:0;line-height:1.2}.compare-metric strong{letter-spacing:-.05em;color:var(--accent);font-size:3.5rem}.compare-metric>span{font-size:1.25rem}.compare-symbol .eyebrow{margin-top:12px;font-size:.75rem}.match-percent{font-size:.8125rem;font-weight:700}.pairs{table-layout:fixed;border-collapse:collapse;width:100%;margin:24px 0;font-size:.8125rem}.pairs th,.pairs td{text-align:left;border-bottom:1px solid var(--border);word-break:keep-all;overflow-wrap:anywhere;padding:12px 6px}.pairs th:first-child{width:44%}.pairs thead{color:var(--muted);font-size:.75rem}.pairs td{font-weight:650}.pair-flag{color:var(--muted);font-size:.625rem;font-weight:400;display:block}.diff-topics{background:var(--soft-accent);border-radius:16px;padding:16px}.diff-topics h2{margin:0 0 8px;font-size:1rem}.diff-topics ul{margin:0;padding-left:20px;font-size:.875rem}.winner-podium{text-align:center;margin:24px 0}.winner-label{border:1px solid var(--accent);color:var(--accent);border-radius:30px;padding:4px 16px;font-size:.75rem;font-weight:700;display:inline-flex}.winner-icon{background:var(--soft-accent);border-radius:50%;place-content:center;width:104px;height:104px;margin:16px auto 0;display:grid}.winner-icon .item-icon{width:68px;height:68px}.winner-podium>p{margin:8px 0;font-size:1.75rem;font-weight:850}.podium-base{background:var(--accent);width:140px;color:var(--accent-contrast);border-radius:12px 12px 0 0;margin:0 auto;padding:10px;font-size:1.5rem;font-weight:850}.energy-chart{margin:28px 0}.energy-chart>div{grid-template-columns:44px 1fr;align-items:center;gap:12px;margin:16px 0;display:grid}.energy-chart dt{font-size:.875rem;font-weight:650}.energy-chart dd{align-items:center;gap:12px;margin:0;display:flex}.energy-track{background:var(--surface-alt);border-radius:4px;flex:1;height:22px;overflow:hidden}.energy-track>span{background:var(--accent);height:100%;display:block}.energy-chart>div:nth-child(2) .energy-track>span{opacity:.8}.energy-chart>div:nth-child(3) .energy-track>span{opacity:.6}.energy-chart strong{font-size:.875rem}.energy-chart small{color:var(--muted);font-weight:400}.swatches{border:1px solid var(--border);border-radius:100px 100px 16px 16px;gap:0;min-height:184px;margin:28px 0;display:flex;overflow:hidden}.swatch{flex:1;min-width:0;position:relative}.swatch-code{color:#27251f;background:#fff;border-radius:3px;padding:2px 4px;font:10px/1.4 monospace;display:block;position:absolute;bottom:6px;left:50%;transform:translate(-50%)rotate(-90deg)}.result-list{counter-reset:rank;gap:10px;margin:24px 0;padding:0;list-style:none;display:grid}.result-list li{counter-increment:rank;background:var(--soft-accent);border:1px solid var(--border);border-radius:14px;align-items:center;gap:14px;padding:14px;font-weight:700;display:flex}.result-list li:before{content:counter(rank, decimal-leading-zero);color:var(--accent);font-size:1.125rem;font-weight:850}.result-list li:first-child{border-color:var(--accent);padding:22px 14px;font-size:1.25rem}.bingo-score{flex-wrap:wrap;align-items:baseline;gap:8px;margin:24px 0;display:flex}.bingo-score strong{color:var(--accent);font-size:3.5rem;font-weight:850;line-height:1}.bingo-score>span{font-size:1.125rem;font-weight:700}.bingo-score .bingo-checked{color:var(--muted);margin-left:auto;font-size:.75rem;font-weight:400}.packing-meta{text-align:center;color:var(--accent);font-size:1rem;font-weight:700}.packing-list{border-top:2px solid var(--accent);margin:20px 0}.packing-list>div{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 4px;display:flex}.packing-list dt{font-size:.9375rem}.packing-list dt>span{color:var(--accent);margin-right:6px}.packing-list dd{margin:0;font-size:1.375rem;font-weight:800}.quest-seal{flex-direction:column;align-items:center;gap:12px;margin:24px 0;display:flex}.quest-seal>span{color:var(--accent);font-size:.8125rem;font-weight:700}.result[data-engine=card_draw] .result-ticket{border:2px solid var(--accent);border-radius:26px 26px 6px 6px}.result[data-engine=visual_choice] .result-ticket{background:var(--paper)}.share{margin:32px 0 12px}.share-heading{margin:0 0 6px;font-size:1.125rem}.share-intro{color:var(--muted);margin:0 0 18px;font-size:.8125rem}.share-actions{gap:0;display:grid}.share-challenge{margin-bottom:18px}.share-challenge [data-testid=challenge-notice]{color:var(--muted);border:1px dashed var(--border);background:var(--paper);border-radius:16px;padding:16px;font-size:.875rem}.share [role=alert],.share [role=status]{background:var(--soft-accent);border-radius:12px;padding:12px 16px;font-size:.875rem}.share-manual{background:var(--paper);border:1px solid var(--border);border-radius:16px;padding:16px;font-size:.875rem}.share-manual input{border:1px solid var(--border);width:100%;min-height:48px;color:var(--ink);background:var(--surface);border-radius:8px;margin-top:12px;padding:10px;font-size:16px}.share-image{border:1px dashed var(--border);border-radius:18px;margin-top:24px;padding:18px}.image-heading{color:var(--muted);margin:0 0 12px;font-size:.8125rem}.segmented{background:var(--surface-alt);border-radius:12px;gap:4px;padding:4px;display:flex}.segmented button{min-width:0;min-height:44px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:9px;flex:1;padding:6px;font-size:.8125rem}.segmented button[aria-checked=true]{background:var(--paper);border-color:var(--border);color:var(--ink);font-weight:750;box-shadow:0 2px 4px #0001}.share-image .btn{margin-bottom:0}.share-preview{border:1px solid var(--border);background:var(--paper);border-radius:20px;margin:24px 0;padding:16px}.share-preview img{border-radius:12px;width:100%;height:auto}.share-preview figcaption{color:var(--muted);margin:12px 0;font-size:.8125rem}.recommendations{border-top:1px solid var(--border);margin:32px 0 0;padding-top:24px}.recommendations h2{margin:0 0 16px;font-size:1.125rem}.recommendations ul{margin:0;padding:0;list-style:none}.rec-card{border:1px solid var(--border);background:var(--paper);min-height:100px;color:var(--ink);border-radius:20px;grid-template-columns:60px minmax(0,1fr);align-items:center;gap:4px 14px;margin:10px 0;padding:18px;text-decoration:none;display:grid}.rec-card img{grid-row:span 3;width:60px;height:60px}.rec-title{font-size:.9375rem;font-weight:750}.rec-desc{color:var(--muted);font-size:.75rem}.rec-cta{color:var(--accent);font-size:.75rem;font-weight:750}.ad-boundary{border-top:1px dashed var(--border);margin-top:32px;padding-top:24px}.ad-boundary.ad-loading .ad-slot{min-height:100px}.ad-label{color:var(--muted);letter-spacing:.06em;margin:0 0 8px;font-size:.6875rem}.ad-mock{border:1px dashed var(--border);min-height:100px;color:var(--muted);background:var(--surface-alt);border-radius:12px;justify-content:center;align-items:center;font-size:.8125rem;display:flex}.banner{border:1px solid var(--border);background:var(--surface-alt);border-radius:12px;padding:12px 16px;font-size:.8125rem}.banner-draft{color:#684e06;background:#fff0c2;border-color:#dfca8c;font-weight:700}.consent{border:1px solid var(--border);background:0 0;border-radius:18px;margin:36px 0 12px;padding:20px}.consent h2{margin:0 0 8px;font-size:.875rem}.consent p{color:var(--muted);font-size:.75rem;line-height:1.8}.consent-toggle{align-items:center;gap:10px;min-height:44px;font-size:.8125rem;display:flex}.consent-toggle input{width:20px;height:20px;accent-color:var(--accent)}.consent-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.consent-actions .btn{min-height:48px;box-shadow:none;border:1px solid var(--border);margin:0;padding:8px 4px;font-size:.75rem}.consent-slot{margin-top:24px}.state-symbol{background:var(--soft-accent);width:84px;height:84px;color:var(--accent);border-radius:50%;place-items:center;margin:32px auto;font-size:3rem;display:grid}.state-error p,.challenge p{color:var(--muted)}.loading{background:var(--soft-accent);min-height:160px;color:var(--muted);border-radius:20px;padding:32px 20px}.hub .brand-header{margin-bottom:0;padding-bottom:8px}.hub-header{padding:8px 0 16px}.hub-header .eyebrow{color:var(--accent);margin:0}.hub-header h1{margin:6px 0;font-size:clamp(1.75rem,7.6vw,2.75rem)}.hub-header .hub-subline{color:var(--muted);margin:0;font-size:.875rem}.hub section{margin:0 0 32px}.hub section h2{margin:0 0 12px;scroll-margin-top:16px;font-size:1.125rem}.hub section h2:focus{outline:none}.hub-grid{gap:10px;margin:0;padding:0;list-style:none;display:grid}.hub-card a{border:1px solid var(--border);background:var(--paper);color:var(--ink);border-radius:18px;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:2px 14px;min-height:88px;padding:14px;text-decoration:none;transition:transform .15s;display:grid}.hub-card img{grid-row:span 3;align-self:center;width:56px;height:56px}.hub-card-title{word-break:keep-all;font-size:.9375rem;font-weight:750;line-height:1.35}.hub-card-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;line-height:1.5;display:-webkit-box;overflow:hidden}.hub-card-meta{color:var(--muted);font-size:.6875rem}.hub-spotlight a{background:var(--soft-accent);border-color:#0000;grid-template-columns:88px minmax(0,1fr);gap:4px 16px;min-height:0;padding:18px}.hub-spotlight img{grid-row:span 3;width:88px;height:88px;transform:rotate(-4deg)}.hub-spotlight .hub-card-title{font-size:1.1875rem}.hub-spotlight-cta{background:var(--accent);min-height:48px;color:var(--accent-contrast);border-radius:14px;grid-column:1/-1;justify-content:center;align-items:center;gap:8px;margin-top:12px;font-size:.9375rem;font-weight:750;display:flex}.hub-quick{margin:0 0 20px}.hub-cats{overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:8px;margin:0;padding:0 0 4px;list-style:none;display:flex;overflow-x:auto}.hub-cats::-webkit-scrollbar{display:none}.hub-cats li{flex:none}.hub-cats a{border:1px solid var(--border);min-height:44px;color:var(--muted);white-space:nowrap;background:var(--paper);border-radius:30px;align-items:center;padding:0 14px;font-size:.8125rem;text-decoration:none;display:inline-flex}.hub-cats a[aria-current=page]{background:var(--ink);color:var(--paper);border-color:var(--ink);font-weight:700}.pager{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.pager a{padding:10px}.site-footer{border-top:1px solid var(--border)}.site-footer nav{padding:20px 0 calc(24px + env(safe-area-inset-bottom));flex-wrap:wrap;gap:4px 16px;font-size:.75rem;display:flex}.site-footer a{color:var(--muted);align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.site-footer a:first-child{color:var(--ink);letter-spacing:-.04em;margin-right:auto;font-weight:850}.static-page{padding:32px 0}.static-page form{gap:12px;display:grid}.static-page select,.static-page textarea{border:1px solid var(--border);background:var(--paper);min-height:48px;color:var(--ink);border-radius:12px;padding:12px}@media (hover:hover){.choice:hover{border-color:var(--accent);background:var(--soft-accent)}.hub-card a:hover{transform:translateY(-3px)}.btn-secondary:hover{background:var(--soft-accent)}}@media (max-width:350px){#root,.site-footer{padding:0 16px}.result-ticket{padding:18px 16px}.result h1{font-size:1.5rem}.step-prompt{font-size:1.375rem}.brand-explore{font-size:.75rem}.bingo-cell,.bingo-grid li{min-height:86px;font-size:.75rem}.hub-spotlight a{grid-template-columns:72px minmax(0,1fr);padding:16px 14px}.hub-spotlight img{width:72px;height:72px}}@media (min-width:768px){#root:has(.hub){max-width:1080px}.site-footer:has(+.hub){max-width:1080px}.app{padding-bottom:56px}.brand-header{margin-bottom:28px;padding:28px 0}.landing{padding:16px 28px 28px}.result-ticket{padding:32px}.result h1{font-size:2.1rem}.hub-header{max-width:640px;padding:20px 0 28px}.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.hub-cats{flex-wrap:wrap;overflow:visible}.featured-list{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-spotlight{grid-row:span 2}.hub-spotlight a{grid-template-columns:120px minmax(0,1fr);align-content:center;height:100%;padding:24px}.hub-spotlight img{width:120px;height:120px}.share-actions{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.site-footer{max-width:1080px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.loading:before{content:"";background:var(--border);width:60%;height:12px;box-shadow:0 22px 0 -2px var(--border);border-radius:6px;margin-bottom:24px;display:block}.bingo-result-mark{font-size:.75rem;position:absolute;top:2px;right:5px}
