:root { color-scheme:light; --ink:#141414; --blue:#4978b0; --ice:#c4d8ee; --red:#a93836; --line:#d5d5d5; --nav-line-width:2px; --display:Impact,"Nimbus Sans Narrow","Arial Narrow",sans-serif; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:#fff; font-family:Arial,"Liberation Sans",sans-serif; -webkit-tap-highlight-color:transparent; }
button,input { font:inherit; }
a { color:inherit; text-decoration:none; }
button { color:inherit; cursor:pointer; }
button:disabled { cursor:not-allowed; }
button,a { touch-action:manipulation; }
button:focus-visible,a:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
button,a { -webkit-user-select:none; user-select:none; }
img { display:block; max-width:100%; height:auto; }
[hidden] { display:none !important; }
.mobile-shop { position:relative; height:100svh; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto minmax(0,1fr) auto; background:#fff; }
html[data-app-state="loading"] :is(.section-nav,.shop-view,.shop-footer,.bottom-nav) { visibility:hidden; }
.startup-status { display:none; }
html[data-app-state="loading"] .startup-status { position:absolute; top:50%; left:50%; display:grid; place-items:center; width:24px; height:24px; transform:translate(-50%,-50%); }
.startup-status::after { content:""; width:20px; height:20px; border:2px solid var(--line); border-top-color:var(--ink); border-radius:50%; animation:startup-spin .8s linear infinite; }
@keyframes startup-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .startup-status::after { animation:none; } }
.shop-header { display:flex; justify-content:center; padding:14px 17px 12px; border-bottom:var(--nav-line-width) solid var(--ink); }
.shop-brand { display:block; width:100%; max-width:354px; }
.icon-button { width:44px; height:44px; flex:none; display:grid; place-items:center; border:0; padding:10px; background:transparent; }
.icon-button svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:square; }
.shop-content { display:flex; flex-direction:column; min-width:0; min-height:0; overflow-y:auto; scrollbar-width:none; scroll-padding-block:18px; }
.shop-content::-webkit-scrollbar { display:none; }
.shop-view { flex:1 0 auto; min-width:0; }
.shop-content:focus { outline:none; }
.section-nav { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.8fr) minmax(0,.6fr) minmax(0,1fr); padding-inline:20px; border-bottom:var(--nav-line-width) solid var(--ink); background:white; }
.section-nav a { display:grid; place-items:center; min-height:46px; padding:9px 4px; border-right:1px solid var(--ink); font-family:var(--display); font-size:16px; font-weight:700; line-height:1.4; }
.section-nav a:first-child { border-left:1px solid var(--ink); }
.section-nav a[aria-current="page"] { color:white; background:var(--ink); }
.section-nav a:hover:not([aria-current="page"]) { background:#f1f1f1; }
.scoreboard-heading { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin:26px 0 0; padding-bottom:12px; border-bottom:3px solid var(--ink); }
.scoreboard-heading:first-child { margin-top:0; }
.scoreboard-heading h2 { margin:0; }
.scoreboard-heading>span { font-size:12px; }
.score-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:14px; }
.score-rank-column { width:38px; }
.score-points-column { width:82px; }
.score-table :is(th,td) { padding:14px 7px; border-bottom:1px solid var(--line); text-align:left; vertical-align:middle; overflow-wrap:anywhere; }
.score-table thead th { font-size:12px; }
.score-table tr[data-self] { background:var(--blue); color:white; }
.score-table :is(th,td):last-child { text-align:right; }
.score-player { display:block; }
.score-table small { display:block; color:#555; margin-top:4px; font-size:12px; }
.score-table tr[data-self] small { color:inherit; }
.score-value { font-weight:700; font-size:18px; }
.scoreboard-error:not(:empty) { margin-top:20px; color:var(--red); font-size:13px; }
.eyebrow { font-size:10px; line-height:1.4; font-weight:700; letter-spacing:1.1px; margin:0 0 12px; }
h1,h2,h3,p { margin-top:0; }
.category-strip { display:flex; position:sticky; top:0; z-index:5; padding:0 20px; background:#fff; border-bottom:var(--nav-line-width) solid var(--ink); }
.category-strip button { min-height:46px; flex:1; padding:9px 6px; border:0; border-right:1px solid var(--ink); background:white; font-family:var(--display); font-size:17px; font-weight:700; letter-spacing:.4px; }
.category-strip button:first-child { border-left:1px solid var(--ink); }
.category-strip button[aria-pressed="true"] { background:var(--ink); color:white; }
.category-strip button:hover:not([aria-pressed="true"]) { background:#edf2f7; }
.section-nav a:focus-visible,.category-strip button:focus-visible { outline:2px solid var(--blue); outline-offset:-5px; }
.product-list { padding:0 20px; }
.merch-product { position:relative; margin:0 0 30px; padding-bottom:27px; }
.merch-product:last-child { margin-bottom:0; padding-bottom:0; border-bottom:0; }
.merch-art { position:relative; aspect-ratio:1 / 1.02; margin-top:12px; }
.merch-art::before { content:""; position:absolute; width:73%; height:65%; right:18px; top:28px; transform:rotate(5deg); background:#e4ecf5; }
.merch-art.is-cutout::before { display:none; }
.product-photo-stage { position:absolute; inset:0 0 54px; }
.product-gallery[data-has-back="true"] .product-photo-stage { inset:54px 0 0; }
.product-gallery[data-has-back="true"] .merch-art::before { top:82px; }
.merch-photo { position:relative; width:100%; height:100%; object-fit:contain; }
.product-zoom-trigger { display:block; width:100%; height:100%; padding:0; border:0; background:transparent; cursor:zoom-in; }
.product-zoom-trigger:focus-visible { outline:3px solid var(--blue); outline-offset:2px; }
.merch-product:nth-child(even) .merch-art::before { right:auto; left:18px; width:70%; height:63%; background:#ecebe8; transform:rotate(-5deg); }
.product-sticker { position:absolute; right:8px; bottom:3px; width:40%; max-width:140px; height:auto; transform:rotate(-7deg); filter:drop-shadow(0 1px 1px #182f4940); pointer-events:none; }
.product-gallery[data-mug] .product-sticker { right:8px; bottom:0; width:32%; max-width:120px; transform:rotate(-5deg); }
.product-sticker[data-state="pending"] { visibility:hidden; }
.product-view-switch { display:flex; position:absolute; left:0; top:0; border:1px solid var(--ink); background:white; }
.product-view-switch button { display:flex; align-items:center; justify-content:center; gap:6px; min-width:88px; height:44px; padding:0 10px; border:0; background:white; font-family:var(--display); font-size:15px; font-weight:700; line-height:1; letter-spacing:.3px; }
.product-view-switch button+button { border-left:1px solid var(--ink); }
.product-view-switch button[aria-pressed="true"] { background:var(--ink); color:white; }
.product-view-switch button:hover:not([aria-pressed="true"]) { background:#e4ecf5; }
.product-view-switch button:active { background:var(--blue); color:white; }
.product-view-switch button:focus-visible { position:relative; z-index:1; }
.product-view-switch svg { width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:butt; stroke-linejoin:miter; }
.product-view-switch--author { gap:10px; border:0; background:transparent; }
.product-view-switch--author button { position:relative; min-width:44px; height:46px; padding:5px 4px 11px; color:var(--ink); background:transparent; border:0; }
.product-view-switch--author button+button { border:0; }
.product-view-switch--author button[aria-pressed="true"] { background:transparent; color:var(--red); }
.product-view-switch--author button:hover:not([aria-pressed="true"]) { background:transparent; color:var(--ink); }
.product-view-switch--author button:active { background:transparent; color:var(--ink); }
.product-view-switch--author button[aria-pressed="true"]:active { color:var(--red); }
.product-view-switch--author button::after { content:""; position:absolute; width:24px; height:2px; bottom:3px; left:calc(50% - 12px); background:currentColor; opacity:0; }
.product-view-switch--author button[aria-pressed="true"]::after { opacity:1; }
.handwritten-side { display:block; width:calc(30px * var(--side-ratio)); height:30px; flex:none; background:currentColor; mask:var(--side-mask) center / contain no-repeat; -webkit-mask:var(--side-mask) center / contain no-repeat; }
.product-view-switch--author [data-side="back"] .handwritten-side { transform:rotate(4.4deg); }
.product-gallery[data-family="other"] .merch-art { aspect-ratio:1.22; }
.product-gallery[data-family="other"] .product-photo-stage { inset:8px 0; }
.product-gallery[data-family="other"][data-has-back="true"] .merch-art { aspect-ratio:1 / 1.02; }
.product-gallery[data-family="other"][data-has-back="true"] .product-photo-stage { inset:54px 0 0; }
.product-gallery[data-family="other"] .merch-photo { width:82%; margin-left:auto; }
.merch-product:nth-child(even) .product-gallery[data-family="other"] .merch-photo { width:88%; margin-left:0; }
.product-gallery[data-family="other"][data-mug] .merch-art .merch-photo { width:76%; margin-left:12%; }
.product-gallery[data-family="other"] .merch-art::before { height:74%; }
.photo-zoom { width:min(100vw,700px); height:min(100dvh,900px); max-width:100vw; max-height:100dvh; margin:auto; padding:0; border:0; background:#fff; color:var(--ink); }
.photo-zoom[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.photo-zoom::backdrop { background:rgba(0,0,0,.78); }
.photo-zoom-header { display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:center; gap:4px 12px; min-height:58px; padding:6px 12px 6px 20px; border-bottom:1px solid var(--ink); }
.photo-zoom-header h2 { grid-column:1; margin:0; font-family:var(--display); font-size:20px; line-height:1.2; overflow-wrap:anywhere; }
.photo-zoom-close { grid-column:2; grid-row:1; }
.photo-zoom-sides { grid-column:1 / -1; display:flex; gap:8px; padding:2px 0 5px; }
.photo-zoom-sides button { min-width:88px; min-height:44px; padding:8px 12px; border:1px solid var(--ink); background:#fff; font-size:12px; font-weight:700; }
.photo-zoom-sides button[aria-pressed="true"] { color:#fff; background:var(--ink); }
.photo-zoom-error { grid-column:1 / -1; margin:0 0 4px; color:var(--red); font-size:12px; }
.photo-zoom-stage { min-height:0; overflow:auto; display:flex; align-items:center; justify-content:center; overscroll-behavior:contain; scrollbar-width:none; }
.photo-zoom-stage::-webkit-scrollbar { display:none; }
.photo-zoom-stage.is-zoomed { display:block; }
.photo-zoom-stage img { display:block; width:calc(100% * var(--photo-scale, 1)); max-width:none; height:auto; margin:auto; }
.photo-zoom-controls { display:flex; align-items:center; justify-content:center; gap:20px; min-height:64px; border-top:1px solid var(--ink); }
.photo-zoom-controls button { width:44px; height:44px; border:1px solid var(--ink); background:#fff; font-size:26px; line-height:1; }
.photo-zoom-controls button:disabled { opacity:.35; }
.photo-zoom-controls output { min-width:48px; text-align:center; font-size:12px; font-weight:700; }
.shop-dialog .product-gallery { margin:0 0 20px; }
.shop-dialog .product-sticker { width:39%; }
.merch-title { display:block; position:relative; width:fit-content; max-width:100%; margin:12px 0 0; padding:8px 11px; background:var(--ink); color:#fff; font-family:var(--display); font-size:26px; font-weight:700; line-height:1.2; text-align:left; overflow-wrap:anywhere; }
.merch-kind { font-size:14px; line-height:1.4; font-weight:400; margin:8px 0 18px; text-align:left; }
.merch-buy { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.merch-price { display:inline-flex; align-items:baseline; gap:6px; color:var(--blue); font-family:var(--display); font-weight:700; font-size:28px; white-space:nowrap; }
.merch-price small { color:inherit; font-family:inherit; font-size:16px; font-weight:inherit; line-height:1.2; letter-spacing:.2px; }
.select-button { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:44px; padding:10px 14px; background:var(--ink); color:white; border:1px solid var(--ink); font-size:12px; font-weight:700; }
.merch-buy .select-button { margin-left:auto; }
.select-button .link-chevron { width:14px; height:14px; }
.select-button:hover { background:#333; }
.select-button:active { transform:translateY(1px); }
.price-note { font-size:10px; color:#646464; margin:9px 0 0; }
.category-empty { padding:35px 20px; }
.empty-word { display:block; font-family:var(--display); font-size:54px; font-weight:700; color:var(--blue); margin-bottom:24px; }
.category-empty h2 { font-size:21px; line-height:1.1; }
.category-empty p { font-size:13px; line-height:1.6; }
.shop-footer { display:flex; flex:0 0 auto; align-items:center; justify-content:center; margin:24px 20px 0; padding:24px 0 28px; border-top:1px solid var(--ink); background:#fff; }
.shop-footer-logo { flex:0 1 190px; width:190px; min-width:0; height:auto; }
.bottom-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); min-height:66px; padding:0 10px env(safe-area-inset-bottom,0px); border-top:1px solid var(--line); background:#fff; }
.bottom-nav a { display:flex; flex-direction:column; gap:6px; align-items:center; justify-content:center; min-height:64px; color:#666; font-size:11px; letter-spacing:.15px; font-weight:700; }
.bottom-nav svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.6; }
.bottom-nav a[aria-current="page"] { color:var(--ink); }
.bottom-nav a[aria-current="page"] svg { stroke:var(--blue); stroke-width:2; }
.nav-icon { position:relative; width:21px; height:21px; }
.cart-badge { position:absolute; right:-11px; top:-6px; min-width:16px; padding:2px 3px; color:white; background:var(--red); font-size:9px; text-align:center; }
.inner-view { padding:28px 20px 0; }
.inner-view h1 { font-family:var(--display); font-size:45px; font-weight:700; line-height:.98; letter-spacing:-.5px; margin-bottom:26px; overflow-wrap:break-word; }
.inner-view h2 { font-size:20px; line-height:1.2; }
.inner-view p:not(.eyebrow) { font-size:13px; line-height:1.6; }
.red-dot { color:var(--red); }
.text-button { display:flex; align-items:center; gap:16px; width:fit-content; min-height:44px; border:0; padding:10px 0; background:transparent; text-decoration:underline; text-underline-offset:4px; font-size:13px; font-weight:700; }
.text-button span { font-size:21px; }
.wide-link { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:52px; padding:12px 0; border-bottom:1px solid var(--ink); font-family:var(--display); font-weight:700; font-size:23px; }
.wide-link.shortcut-link { min-height:56px; border:0; }
.link-chevron { flex:none; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.section-art { margin:25px 0; }
.stand-section-art { display:flex; gap:5px; align-items:center; }
.stand-section-art span { flex:1; padding:22px 0; text-align:center; background:var(--ice); font-size:34px; }
.stand-section-art span:nth-child(2) { background:var(--red); color:white; transform:rotate(-2deg); }
.stand-section-art span:nth-child(3) { background:#a7cbd4; }
.stand-section-art span:nth-child(4) { background:#eee8d8; transform:rotate(2deg); }
.account-note { border-block:1px solid var(--ink); padding:16px 0; margin-bottom:20px; }
.account-mark { display:block; color:var(--blue); font-size:65px; line-height:1; margin-bottom:16px; }
.help-steps { padding:0; list-style:none; counter-reset:step; }
.help-steps li { border-top:1px solid var(--ink); padding:18px 0; counter-increment:step; }
.help-steps li::before { content:"0" counter(step); display:block; font-family:var(--display); font-size:35px; color:var(--blue); margin-bottom:8px; }
.help-steps strong { font-size:19px; }
.help-steps p { margin:10px 0 0; }
.cart-empty-symbol { font-family:var(--display); font-weight:700; font-size:120px; color:#d6e2f0; line-height:1; margin:30px 0; }
.cart-item { display:grid; grid-template-columns:88px minmax(0,1fr); gap:14px; border-block-end:1px solid var(--line); padding:20px 0; }
.cart-item-image { width:88px; align-self:start; background:#e4ecf5; }
.cart-item-image img { width:100%; }
.cart-item h2 { margin-bottom:5px; font-family:var(--display); font-size:25px; }
.cart-item p { margin-bottom:9px; }
.cart-item-meta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.quantity-control { display:flex; align-items:center; border:1px solid var(--ink); }
.quantity-control button { width:38px; height:40px; border:0; background:#fff; font-size:22px; }
.quantity-control output { min-width:25px; text-align:center; font-size:13px; }
.remove-item { min-height:44px; font-size:11px; text-decoration:underline; border:0; padding:4px 0; background:white; }
.cart-total { display:flex; justify-content:space-between; gap:12px; font-family:var(--display); font-size:27px; font-weight:700; padding:24px 0 16px; }
.primary-button { display:flex; justify-content:space-between; align-items:center; width:100%; min-height:48px; gap:12px; border:1px solid var(--ink); background:var(--ink); color:white; padding:13px 15px; font-size:13px; font-weight:700; }
.primary-button span { font-size:22px; line-height:1; }
.primary-button:disabled { background:#ededed; border-color:#ccc; color:#686868; }
.local-note { color:#555; font-size:12px !important; line-height:1.5; margin:12px 0 18px; }
.shop-dialog { width:calc(100% - 24px); max-width:440px; max-height:calc(100svh - 24px); padding:28px 22px 22px; border:2px solid var(--ink); border-radius:0; color:var(--ink); background:white; overflow-y:auto; scrollbar-width:none; }
.shop-dialog::-webkit-scrollbar { display:none; }
.shop-dialog::backdrop { background:#14141480; }
.dialog-close { position:absolute; top:4px; right:4px; font-size:30px; z-index:1; }
.shop-dialog h2 { font-family:var(--display); font-size:34px; font-weight:700; line-height:1; margin:0 40px 20px 0; }
.dialog-image { width:75%; margin:15px auto 22px; }
.dialog-description { font-size:13px; line-height:1.6; margin-bottom:20px; }
.dialog-price { display:flex; justify-content:space-between; gap:10px; align-items:center; border-top:1px solid var(--line); padding-top:18px; margin-bottom:18px; }
.dialog-price p { margin:0; font-size:11px; max-width:130px; line-height:1.4; }
.success-mark { font-size:65px; color:var(--blue); line-height:1; margin:10px 0 22px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; clip-path:inset(50%); overflow:hidden; white-space:nowrap; border:0; }
.noscript-note { margin:20px; padding:16px; border:1px solid var(--ink); }
@media (max-width:359px) {
  .shop-header { padding:12px 14px; }
  .inner-view { padding-inline:16px; }
  .product-list { padding-inline:16px; }
  .shop-footer { margin-inline:16px; }
  .section-nav,.category-strip { padding-inline:16px; }
  .merch-title { font-size:28px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; } }

/* Account, real catalogue data and role-based workflows. */
input,select,textarea { min-width:0; max-width:100%; font:inherit; }
input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:3px solid var(--blue); outline-offset:2px; }
form,fieldset { min-width:0; }
fieldset { border:1px solid var(--line); padding:14px; margin:16px 0; }
legend { padding:0 5px; font-size:12px; font-weight:bold; }
.form-field { display:block; margin:18px 0; }
.form-field>span { display:block; margin-bottom:8px; font-size:12px; font-weight:700; line-height:1.4; }
.form-field input,.form-field select,.form-field textarea { display:block; width:100%; border:1px solid var(--ink); border-radius:0; background:#fff; padding:11px 10px; color:var(--ink); font-size:16px; min-height:46px; }
.form-field textarea { resize:vertical; line-height:1.5; }
.form-field input[type=file] { font-size:12px; }
.check-field { display:flex; align-items:center; gap:10px; min-height:44px; font-size:13px; line-height:1.4; margin:5px 0; }
.check-field input { width:18px; height:18px; flex:none; accent-color:var(--ink); }
.form-error,.error-text { color:#962b29; font-size:13px; line-height:1.5; }
.form-error { padding:12px; border-left:3px solid var(--red); background:#faf0ed; }
.auth-switch,.tab-row { display:flex; flex-wrap:wrap; gap:4px; margin:16px 0 24px; }
.auth-switch button,.tab-row button { flex:1; min-height:44px; padding:8px 12px; background:#fff; border:1px solid var(--ink); font-size:12px; font-weight:700; }
.auth-switch [aria-pressed=true],.tab-row [aria-pressed=true] { color:white; background:var(--ink); }
.auth-switch button:disabled { opacity:.45; }
.catalog-tools { padding:14px 20px 0; }
.catalog-tools input[type=checkbox] { width:16px; height:16px; margin:0; accent-color:var(--ink); }
.catalog-filter-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:0 12px; margin:5px 0; }
.catalog-filter-row .check-field { min-height:44px; margin:0; gap:8px; font-size:16px; line-height:1.5; white-space:nowrap; }
.catalog-balance { min-width:0; max-width:100%; margin-left:auto; padding-left:12px; border-left:1px solid var(--line); color:var(--ink); }
.catalog-balance-value { display:flex; align-items:baseline; justify-content:flex-end; flex-wrap:wrap; gap:5px; font-size:16px; line-height:1.5; }
.catalog-balance b { min-width:0; overflow-wrap:anywhere; }
.catalog-balance small { font-size:12px; }
.category-strip button { font-size:15px; padding-inline:4px; }
.empty-state { padding:22px 0; }
.empty-state h2 { font-family:var(--display); font-size:29px; margin:0 0 14px; }
.empty-state p { color:#555; line-height:1.6; }
.merch-buy { flex-wrap:wrap; }
.merch-placeholder { position:relative; display:flex; flex-direction:column; gap:14px; width:75%; padding:25px 15px; font-family:var(--display); font-size:38px; font-weight:700; line-height:1; transform:rotate(-4deg); overflow-wrap:anywhere; }
.merch-placeholder small { font-family:Arial,sans-serif; font-size:9px; line-height:1.5; font-weight:700; letter-spacing:1px; }
.merch-product:nth-child(even) .merch-placeholder { transform:rotate(4deg); margin-left:28px; }
button.wide-link { width:100%; text-align:left; background:white; border:0; border-bottom:1px solid var(--ink); }
.identity-card { padding:0 0 8px; margin-bottom:20px; }
.identity-card h2 { overflow-wrap:anywhere; margin:0 0 8px; }
.identity-card p { margin:0; overflow-wrap:anywhere; }
.balance-card { background:var(--ink); color:white; padding:22px 20px; margin:0 0 20px; }
.balance-card dt { font-size:12px; font-weight:700; line-height:1.4; }
.balance-earned { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px 14px; }
.balance-amount { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px; max-width:100%; margin:0; font-family:var(--display); font-size:28px; font-weight:700; line-height:1.1; }
.balance-value { min-width:0; max-width:100%; color:var(--ice); overflow-wrap:anywhere; }
.balance-amount small { color:white; font-size:12px; font-weight:700; }
.balance-available { margin-top:18px; padding-top:18px; border-top:1px solid rgb(255 255 255 / 30%); }
.balance-available .balance-amount { margin-top:10px; font-size:48px; }
.ledger { margin-top:22px; border-top:1px solid var(--ink); }
[data-view="account"] .ledger { margin-block:16px; border-top:0; }
summary { cursor:pointer; padding:15px 0; font-size:13px; font-weight:700; line-height:1.5; }
.ledger>div { display:flex; justify-content:space-between; align-items:center; gap:18px; border-top:1px solid var(--line); padding:14px 0; font-size:12px; line-height:1.5; }
.ledger small,.order-line small { display:block; color:#666; margin-top:4px; }
.ledger b { flex:none; }
.positive { color:#315e3d; }
.qr-image { width:min(100%,240px); margin:24px auto 18px; background:#fff; }
.qr-image svg { display:block; width:100%; height:auto; }
.qr-pass { padding:18px; border:1px solid var(--ink); margin-bottom:24px; background:white; }
.qr-pass-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.qr-pass .identity-card { min-width:0; padding:0; margin:0; }
.qr-pass .identity-card h2 { font-size:20px; line-height:1.25; margin:0; }
.inner-view .qr-pass .identity-card p { font-size:14px; line-height:1.4; color:#555; margin:4px 0 0; }
.qr-pass-id { flex:none; max-width:45%; padding:6px 8px; background:var(--ink); color:white; font-size:12px; font-weight:700; line-height:1.3; overflow-wrap:anywhere; }
.qr-pass .qr-image { margin:8px auto 0; }
.inner-view[data-view="qr"] .qr-pass-hint { font-size:13px; line-height:1.4; text-align:center; margin:0; color:#555; }
.inner-view[data-view="qr"] .qr-order-note { margin:0 0 14px; font-size:13px; line-height:1.4; color:#555; }
.order-qr { text-align:center; margin-bottom:15px; }
.order-qr .text-button { margin:auto; }
.order-card { border-top:3px solid var(--ink); margin-top:28px; padding:15px 0 4px; }
.order-top { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:10px; }
.order-top>strong { font:700 25px/1 var(--display); }
.status-label { display:inline-block; padding:5px 7px; background:var(--ice); font-size:10px; font-weight:700; }
.muted { color:#666; }
.order-line,.order-total { display:flex; gap:14px; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--line); }
.order-line b,.order-total b { white-space:nowrap; font-size:13px; }
.order-line>span { min-width:0; overflow-wrap:anywhere; }
.danger-button { display:block; padding:12px; min-height:44px; border:1px solid var(--red); color:var(--red); background:white; width:100%; font-weight:700; font-size:12px; }
.pickup-note { padding:18px; border-left:4px solid var(--blue); background:#eef3f8; margin-top:28px; }
.pickup-note p:last-child { margin-bottom:0; }
.booth-card { margin:0 0 36px; }
.booth-card+.booth-card { margin-top:24px; border-top:3px solid var(--ink); padding-top:16px; }
.booth-card>h2 { font-family:var(--display); font-size:30px; line-height:1.05; margin-bottom:15px; }
.task-card { border-block:1px solid var(--line); margin-top:-1px; padding:6px 0 12px; }
.task-card summary { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:14px 0 7px; }
.task-card summary b { color:var(--blue); flex:none; }
.task-card summary span::after { content:' +'; color:var(--red); }
.task-card[open] summary span::after { content:' −'; }
.task-card small { font-size:11px; color:#666; line-height:1.5; }
.task-card>p,.task-card>h2 { margin:16px 0; }
.task-card>.primary-button { margin-top:15px; }
.help-copy p { white-space:pre-line; overflow-wrap:anywhere; }
.help-copy a { display:inline-flex; align-items:center; min-height:44px; color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.help-copy h2 { margin-top:30px; }
.result-card { display:block; width:100%; text-align:left; padding:18px 12px; background:white; border:1px solid var(--ink); margin:10px 0; line-height:1.4; }
.result-card b,.result-card span,.result-card small { display:block; margin:4px 0; overflow-wrap:anywhere; }
.result-card b { font-size:18px; }
.result-card span { font-size:13px; }
.result-card:disabled { opacity:.55; }
.scanner-video { display:block; width:100%; aspect-ratio:1; background:#141414; object-fit:cover; }
.admin-intro { margin:0 0 12px; padding:22px 20px; background:var(--ink); color:#fff; }
.admin-intro .eyebrow { color:var(--ice); }
.admin-intro h2 { font:700 29px/1 var(--display); margin:0 0 12px; }
.inner-view .admin-intro p:last-child { margin:0; color:#eee; }
.admin-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; font-size:10px; line-height:1.25; }
.admin-stats span { min-width:0; padding:12px 9px; background:var(--ice); overflow-wrap:anywhere; }
.admin-stats span:nth-child(2) { background:#e9edf1; }
.admin-stats span:nth-child(3) { background:#f0e6e5; }
.admin-stats b { display:block; margin-bottom:5px; font:700 30px/.9 var(--display); }
.admin-section-select { margin:22px 0; }
.admin-section-select select { border-width:2px; font:700 20px var(--display); }
.admin-section-heading { display:flex; align-items:end; justify-content:space-between; gap:12px; margin:28px 0 14px; padding-bottom:10px; border-bottom:3px solid var(--ink); }
.admin-section-heading h2 { margin:0; font:700 27px/1 var(--display); }
.admin-section-heading .eyebrow { margin-bottom:5px; }
.admin-section-heading .primary-button { width:auto; flex:none; min-height:44px; padding:9px 12px; font-size:12px; }
.admin-quick-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.admin-quick { min-height:106px; padding:14px 12px; border:1px solid var(--ink); background:#fff; text-align:left; }
.admin-quick:first-child { color:#fff; background:var(--blue); }
.admin-quick b { display:flex; align-items:start; justify-content:space-between; gap:4px; font:700 20px/1 var(--display); }
.admin-quick b span { font:700 17px Arial,sans-serif; }
.admin-quick small { display:block; margin-top:12px; font-size:11px; line-height:1.3; }
.admin-alert,.admin-activity { display:flex; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); font-size:12px; line-height:1.35; }
.admin-alert span,.admin-activity b { min-width:0; overflow-wrap:anywhere; }
.admin-alert b,.admin-activity span { flex:none; white-space:nowrap; }
.admin-card { border-bottom:1px solid var(--ink); padding:22px 0 16px; }
.admin-card h2,.admin-card p { overflow-wrap:anywhere; }
.admin-card h3 { margin:0 0 7px; font:700 22px/1.1 var(--display); overflow-wrap:anywhere; }
.admin-product-top { display:grid; grid-template-columns:88px minmax(0,1fr); gap:14px; align-items:start; }
.admin-product-top img,.admin-product-placeholder { display:grid; place-items:center; width:88px; height:88px; border:1px solid var(--line); background:#f3f5f7; object-fit:contain; }
.admin-product-top .eyebrow { margin-bottom:8px; }
.admin-product-top p:not(.eyebrow) { margin-bottom:6px; }
.admin-product-top strong,.admin-card-split strong { display:block; color:var(--blue); font:700 23px/1 var(--display); white-space:nowrap; }
.admin-product-top strong small,.admin-card-split strong small,.admin-person-balance small { font-size:12px; }
.admin-stock { margin-top:15px; }
.admin-preview { margin-top:8px; padding:14px 12px; border:1px solid var(--line); background:#f3f6f9; }
.admin-preview .text-button { margin-top:7px; }
.admin-card-split { display:flex; align-items:start; justify-content:space-between; gap:10px; }
.admin-card-split h2 { margin:0 0 10px; }
.admin-person-balance { display:flex; align-items:baseline; gap:8px; margin:12px 0 6px; }
.admin-person-balance b { color:var(--blue); font:700 24px var(--display); }
.admin-person-balance span { font-size:11px; }
.admin-activity-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin:20px 0; }
.admin-activity-stats span { min-width:0; padding:12px 10px; background:var(--ice); font-size:11px; line-height:1.3; }
.admin-activity-stats b { display:block; font:700 24px var(--display); }
.admin-detail-heading { margin:26px 0 5px; padding-bottom:8px; border-bottom:3px solid var(--ink); font:700 22px var(--display); }
.admin-activity-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 10px; padding:11px 0; border-bottom:1px solid var(--line); font-size:12px; line-height:1.35; }
.admin-activity-row b,.admin-activity-row small { min-width:0; overflow-wrap:anywhere; }
.admin-activity-row span { white-space:nowrap; font-weight:700; }
.admin-activity-row small { grid-column:1 / -1; color:#555; }
.stock-row { display:flex; justify-content:space-between; gap:10px; padding:6px 0; margin:0; border-top:1px solid var(--line); }
.variant-row { background:#f3f6f9; }
.audit-entry { border-bottom:1px solid var(--line); }
.audit-entry small { display:block; font-size:10px; font-weight:400; color:#666; }
.audit-entry pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:11px; line-height:1.5; }
.exports { margin:30px 0 0; border-top:2px solid var(--ink); }
.exports .wide-link { font-size:20px; }
.shop-toast { position:fixed; z-index:50; bottom:82px; left:50%; transform:translateX(-50%); width:min(calc(100% - 32px),350px); padding:12px 16px; margin:0; background:var(--ink); color:#fff; font-size:12px; line-height:1.5; pointer-events:none; border-left:3px solid var(--red); }
@media(max-width:359px) {
  .catalog-tools { padding-inline:16px; }
  .inner-view h1 { font-size:39px; }
  .balance-available .balance-amount { font-size:42px; }
  .category-strip button { font-size:14px; }
}

.booth-card,.task-card,.order-card,.empty-state,.dialog-description,.form-error { overflow-wrap:anywhere; }
.task-card summary>span { min-width:0; }
