:root{--sh-ink: #0a0a0c;--sh-ink-2: #0f0f12;--sh-surface: #141418;--sh-surface-2: #1c1c22;--sh-line: #27272f;--sh-fg: #f5f5f7;--sh-muted: #a2a2af;--sh-amber-300: #fcd34d;--sh-amber-400: #fbbf24;--sh-amber-500: #f59e0b;--sh-amber-600: #d97706;--sh-amber-700: #b45309;--sh-on-amber: #1a1300;--sh-green: #34d399;--sh-red: #f87171;--sh-blue: #60a5fa;--sh-font-display: "Sora", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--sh-font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--sh-radius-sm: 10px;--sh-radius: 14px;--sh-radius-lg: 18px;--sh-radius-pill: 999px;--sh-shadow: 0 10px 30px -12px rgba(0, 0, 0, .6);--sh-glow: 0 8px 30px -8px rgba(245, 158, 11, .55);--sh-amber-gradient: linear-gradient(120deg, var(--sh-amber-300), var(--sh-amber-500) 60%, var(--sh-amber-600))}:root[data-theme=ocean]{--sh-amber-300: #7dd3fc;--sh-amber-400: #38bdf8;--sh-amber-500: #0ea5e9;--sh-amber-600: #0284c7;--sh-amber-700: #075985;--sh-on-amber: #04222e;--sh-glow: 0 8px 30px -8px rgba(14, 165, 233, .55);--sh-amber-gradient: linear-gradient(120deg, #7dd3fc, #0ea5e9 60%, #0284c7)}:root[data-theme=forest]{--sh-amber-300: #86efac;--sh-amber-400: #4ade80;--sh-amber-500: #22c55e;--sh-amber-600: #16a34a;--sh-amber-700: #15803d;--sh-on-amber: #04230f;--sh-glow: 0 8px 30px -8px rgba(34, 197, 94, .5);--sh-amber-gradient: linear-gradient(120deg, #86efac, #22c55e 60%, #16a34a)}:root[data-theme=mono]{--sh-amber-300: #e5e7eb;--sh-amber-400: #d1d5db;--sh-amber-500: #9ca3af;--sh-amber-600: #6b7280;--sh-amber-700: #4b5563;--sh-on-amber: #111317;--sh-glow: 0 8px 30px -8px rgba(156, 163, 175, .4);--sh-amber-gradient: linear-gradient(120deg, #e5e7eb, #9ca3af 60%, #6b7280)}:root{--bg: var(--sh-ink);--surface: var(--sh-surface);--surface-2: var(--sh-surface-2);--border: var(--sh-line);--text: var(--sh-fg);--muted: var(--sh-muted);--accent: var(--sh-amber-500);--accent-text: var(--sh-on-amber);--green: var(--sh-green);--red: var(--sh-red);--blue: var(--sh-blue);--radius: var(--sh-radius);--maxw: 720px}@media(min-width:768px){:root{--maxw: 960px}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--sh-font-sans);-webkit-font-smoothing:antialiased}.text-gradient{background:var(--sh-amber-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.center-screen{display:grid;place-items:center;min-height:100vh;color:var(--muted)}.app-shell{max-width:var(--maxw);margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--border);padding:max(env(safe-area-inset-top),10px) 14px 10px}.topbar-row{display:flex;gap:10px;align-items:center;justify-content:space-between}.offline-banner{margin:6px 0 0;padding:6px 10px;border-radius:8px;text-align:center;font-size:12px;font-weight:600;background:color-mix(in oklab,var(--accent) 14%,var(--surface));color:var(--accent);border:1px solid color-mix(in oklab,var(--accent) 30%,var(--border))}.event-select{flex:1;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:9px 12px;font-size:15px;font-weight:600}.content{flex:1;padding:16px 14px calc(84px + env(safe-area-inset-bottom))}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:10;max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);background:color-mix(in oklab,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);transition:transform .25s ease}.tabbar.hidden{transform:translateY(calc(100% + 8px))}.tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 0 8px;text-decoration:none;color:var(--muted);font-size:11px}.tab.active{color:var(--accent)}.tab-icon{line-height:0}.tab-icon svg{width:23px;height:23px}h1{font-family:var(--sh-font-display);font-weight:800;letter-spacing:-.02em;font-size:24px;margin:4px 0 14px}h2{font-family:var(--sh-font-display);font-weight:700;letter-spacing:-.01em;font-size:17px;margin:18px 0 10px}.muted{color:var(--muted)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:10px}.list{display:flex;flex-direction:column;gap:8px}.list-item{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;text-decoration:none;color:var(--text)}.list-item:active{background:var(--surface-2)}.item-title{font-weight:600;font-size:15px}.item-sub{color:var(--muted);font-size:13px;margin-top:2px}.badge{display:inline-block;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.3px}.badge.available{background:#34c75926;color:var(--green)}.badge.loaned{background:#f5a62329;color:var(--accent)}.badge.maintenance{background:#4a90e229;color:var(--blue)}.badge.retired{background:#9a9aae29;color:var(--muted)}.badge.kind{background:var(--surface-2);color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--sh-radius-pill);padding:13px 16px;font-size:15px;font-weight:700;background:var(--surface-2);color:var(--text);cursor:pointer;width:100%;transition:transform .12s ease,background-color .15s ease,border-color .15s ease}.btn:active{transform:scale(.99)}.btn.primary{background:var(--accent);color:var(--accent-text);box-shadow:var(--sh-glow)}.btn.danger{background:color-mix(in oklab,var(--red) 16%,transparent);color:var(--red)}.btn.ghost{background:transparent;border:1px solid var(--border)}.btn.ghost:active{border-color:color-mix(in oklab,var(--accent) 50%,var(--border))}.btn:disabled{opacity:.5}.btn-row{display:flex;gap:10px}.link-btn{background:none;border:none;color:var(--muted);font-size:14px;cursor:pointer}.paywall-legal{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.paywall-legal__note{margin:0;text-align:center;color:var(--muted);font-size:12px;line-height:1.55;max-width:320px;margin-inline:auto}.paywall-legal__links{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}.paywall-legal__links button{background:none;border:none;padding:0;cursor:pointer;color:var(--text);font-size:13px;font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--border)}.paywall-legal__links button:hover{text-decoration-color:var(--accent)}.paywall-legal__links .dot{color:var(--border);font-size:13px}.icon-btn{background:none;border:none;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:4px;-webkit-tap-highlight-color:transparent}.menu-list{display:flex;flex-direction:column;gap:8px}.menu-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 14px;border-radius:var(--radius);font-size:15px;cursor:pointer;background:var(--surface-2);border:1px solid var(--border);color:var(--text);text-decoration:none}.menu-item:active{border-color:color-mix(in oklab,var(--accent) 45%,var(--border))}.menu-item.danger{color:var(--red)}.menu-section{margin:6px 4px -2px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.menu-switch{flex-shrink:0;width:40px;height:24px;border-radius:999px;background:var(--border);transition:background .15s ease;position:relative}.menu-switch.on{background:var(--accent)}.menu-switch-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s ease}.menu-switch.on .menu-switch-knob{transform:translate(16px)}.fab{position:fixed;right:max(14px,calc((100vw - var(--maxw)) / 2 + 14px));bottom:calc(84px + env(safe-area-inset-bottom));z-index:9;width:56px;height:56px;border-radius:50%;font-size:28px;line-height:1;background:var(--accent);color:var(--accent-text);border:none;box-shadow:0 6px 20px #0006}label.field{display:block;margin-bottom:12px}label.field span{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}input,select,textarea{width:100%;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:12px;font-size:16px;outline:none;transition:border-color .15s ease}input:focus,select:focus,textarea:focus{border-color:color-mix(in oklab,var(--accent) 60%,var(--border))}textarea{min-height:70px;resize:vertical}.error{color:var(--red);font-size:14px;margin:8px 0}.success{color:var(--green);font-size:14px;margin:8px 0}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:50;display:flex;align-items:flex-end}.sheet{background:var(--surface);width:100%;max-width:var(--maxw);margin:0 auto;border-radius:18px 18px 0 0;padding:18px 16px calc(20px + env(safe-area-inset-bottom));max-height:88vh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.sheet h2{margin-top:4px}@media(min-width:680px){.sheet-backdrop{align-items:center;padding:24px 0}.sheet{border-radius:var(--sh-radius-lg);max-height:86vh}}.login-wrap{max-width:380px;margin:0 auto;padding:14vh 20px 0}.login-wrap h1{text-align:center}.brand{text-align:center;font-family:var(--sh-font-display);color:var(--text);font-weight:800;font-size:20px;letter-spacing:-.01em;margin-bottom:2px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:8px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;text-align:center}.stat .num{font-size:26px;font-weight:800}.stat .lbl{font-size:12px;color:var(--muted);margin-top:2px}.labels-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.label-card{border:1px solid var(--border);border-radius:10px;padding:12px;text-align:center;background:#fff;color:#000}.label-card img{width:100%;max-width:150px;height:auto}.label-card .lc-model{font-weight:700;font-size:13px;margin-top:6px}.label-card .lc-serial{font-size:12px;color:#333}.empty{text-align:center;color:var(--muted);padding:40px 0}.scanner-frame{max-width:360px;margin-inline:auto}.guide-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin:8px 0 4px}.guide-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.guide-title{display:inline-flex;align-items:center;gap:8px;font-family:var(--sh-font-display);font-weight:700;font-size:15px}.guide-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.guide-step-link{display:flex;gap:10px;align-items:flex-start;color:inherit;text-decoration:none;padding:7px 6px;border-radius:var(--radius-sm, 10px)}.guide-step-link:active{background:var(--surface-2)}.guide-num{flex-shrink:0;width:22px;height:22px;border-radius:999px;background:var(--accent);color:var(--accent-text);font-size:12px;font-weight:700;display:grid;place-items:center;margin-top:1px}.guide-step-title{display:block;font-weight:600}.guide-step-body{display:block;color:var(--muted);font-size:13px;line-height:1.35;margin-top:1px}.guide-foot{font-size:12px;margin:8px 0 0}.brand-row{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap;margin-bottom:10px}.app-brand{display:inline-flex;align-items:center;gap:8px;font-family:var(--sh-font-display);font-weight:800;font-size:17px;letter-spacing:-.01em;white-space:nowrap}.app-brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:color-mix(in oklab,var(--accent) 16%,transparent);color:var(--accent)}.app-brand-mark svg{width:18px;height:18px}.app-brand-mark.app-brand-icon{background:none}.app-brand-icon img{width:30px;height:30px;display:block}.app-brand-sub{color:var(--muted);font-weight:700;margin-left:6px}.stat.tappable{cursor:pointer;width:100%;font-family:inherit;color:var(--text);transition:border-color .15s ease,transform .1s ease;-webkit-tap-highlight-color:transparent}.stat.tappable:active{transform:scale(.98);border-color:color-mix(in oklab,var(--accent) 45%,var(--border))}.scan-result{display:grid;place-items:center;text-align:center;gap:10px;aspect-ratio:1 / 1;width:100%;border-radius:var(--radius);animation:scan-pop .35s cubic-bezier(.2,1,.3,1)}.scan-result.ok{background:color-mix(in oklab,var(--green) 16%,var(--surface));border:1px solid color-mix(in oklab,var(--green) 45%,var(--border))}.scan-result.fail{background:color-mix(in oklab,var(--red) 14%,var(--surface));border:1px solid color-mix(in oklab,var(--red) 40%,var(--border))}.scan-result .scan-badge{display:grid;place-items:center;width:76px;height:76px;border-radius:999px}.scan-result.ok .scan-badge{background:var(--green);color:#052b16}.scan-result.fail .scan-badge{background:var(--red);color:#2b0606}.scan-result .scan-badge svg{width:44px;height:44px}.scan-result .scan-title{font-family:var(--sh-font-display);font-weight:800;font-size:20px}.scan-result .scan-sub{color:var(--muted);font-size:14px;padding:0 24px}@keyframes scan-pop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.scan-result,.tabbar{animation:none;transition:none}}.splash-pulse{animation:splash-pulse 1.4s ease-in-out infinite}@keyframes splash-pulse{0%,to{opacity:.55;transform:scale(.97)}50%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.splash-pulse{animation:none}}.app-brand-word{display:inline-flex;align-items:baseline}.theme-row{display:flex;gap:12px;padding:8px 4px 2px}.theme-swatch{width:32px;height:32px;border-radius:999px;border:2px solid var(--border);padding:0;cursor:pointer;transition:transform .12s ease,border-color .12s ease}.theme-swatch:active{transform:scale(.94)}.theme-swatch.active{border-color:var(--text);transform:scale(1.1)}@media print{.topbar,.tabbar,.fab,.no-print{display:none!important}body{background:#fff}.content{padding:0}.labels-grid{grid-template-columns:repeat(3,1fr)}.label-card{break-inside:avoid}}.hub{max-width:var(--maxw);margin:0 auto;min-height:100vh;padding:max(env(safe-area-inset-top),12px) 14px calc(28px + env(safe-area-inset-bottom))}.hub-top{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap;padding:4px 0 12px}.hub-hello{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:10px 0 18px}.hub-h1{font-family:var(--sh-font-display);font-size:24px;font-weight:800;letter-spacing:-.02em}.hub-plan{flex-shrink:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--accent);background:color-mix(in oklab,var(--accent) 14%,transparent);border:1px solid color-mix(in oklab,var(--accent) 30%,transparent);padding:5px 10px;border-radius:var(--sh-radius-pill)}.hub-tabs{display:flex;gap:6px;margin:0 0 16px;flex-wrap:wrap}.hub-tab{font-family:inherit;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--sh-radius-pill);padding:7px 16px;transition:color .15s ease,border-color .15s ease,background .15s ease}.hub-tab:hover{color:var(--text);border-color:color-mix(in oklab,var(--accent) 45%,var(--border))}.hub-tab.active{color:var(--accent);background:color-mix(in oklab,var(--accent) 14%,transparent);border-color:color-mix(in oklab,var(--accent) 30%,transparent)}.hub-grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:560px){.hub-grid{grid-template-columns:1fr 1fr}}.hub-tile{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--sh-radius);padding:16px;color:var(--text);text-decoration:none;transition:border-color .15s ease,transform .1s ease}.hub-tile:active{transform:scale(.99)}.hub-tile:hover{border-color:color-mix(in oklab,var(--accent) 45%,var(--border))}.hub-tile-head{display:flex;align-items:center;justify-content:space-between}.hub-tile-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:color-mix(in oklab,var(--accent) 15%,transparent);color:var(--accent)}.hub-tile-icon svg{width:22px;height:22px}.hub-tile-appicon{display:block;width:42px;height:42px}.hub-tile-tag{font-size:11px;font-weight:600;color:var(--muted);border:1px solid var(--border);border-radius:7px;padding:2px 7px}.hub-tile-name{font-family:var(--sh-font-display);font-weight:700;font-size:17px;margin-top:12px}.hub-tile-desc{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.5;flex:1}.hub-tile-meta{font-size:11.5px;color:var(--muted);margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.hub-tile-actions{display:flex;align-items:center;gap:14px;margin-top:14px}.hub-tile-cta{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--accent);text-decoration:none}.hub-tile-cta svg{width:15px;height:15px}.hub-tile-info{font-size:12px;color:var(--muted);text-decoration:none}.hub-tile-info:hover{color:var(--text)}.hub-tile-ios{display:inline-block;margin-top:12px;line-height:0;transition:opacity .15s ease}.hub-tile-ios:hover{opacity:.85}.appstore-badge{height:38px;width:auto;display:block}.hub-tile-ios-note{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--muted)}.hub-plan.inactive{color:var(--muted);background:color-mix(in oklab,var(--muted) 12%,transparent);border-color:var(--border)}.hub-banner{display:flex;flex-direction:column;align-items:stretch;gap:12px;background:color-mix(in oklab,var(--accent) 10%,var(--surface));border:1px solid color-mix(in oklab,var(--accent) 35%,var(--border));border-radius:var(--sh-radius);padding:16px;margin-bottom:16px}@media(min-width:480px){.hub-banner{flex-direction:row;align-items:center;justify-content:space-between;gap:16px}}.hub-banner-title{font-family:var(--sh-font-display);font-weight:700;font-size:16px}.hub-showcase{max-width:460px;margin:0 auto 18px}.hub-showcase-cap{text-align:center;color:var(--muted);font-size:13px;margin-bottom:10px}.hub-banner .btn{flex-shrink:0}.hub-tile.locked{opacity:.72}.hub-tile-cta.locked-cta{background:none;border:none;padding:0;font-family:inherit;cursor:pointer;color:var(--muted)}.hub-tile-cta.locked-cta:disabled{opacity:.6}button.hub-tile-cta{background:none;border:none;padding:0;font-family:inherit;cursor:pointer}.hub-manage{text-align:center;margin-top:22px}.plan-grid{display:flex;flex-direction:column;gap:10px;margin:14px 0}.plan-card{position:relative;display:flex;flex-direction:column;gap:3px;align-items:flex-start;text-align:left;padding:16px 18px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);color:var(--text);cursor:pointer;font-family:inherit;transition:border-color .15s ease,transform .1s ease}.plan-card:hover{border-color:color-mix(in oklab,var(--accent) 55%,var(--border))}.plan-card:active{transform:scale(.99)}.plan-card:disabled{opacity:.6;cursor:default}.plan-card.featured{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 8%,var(--surface-2))}.plan-name{font-family:var(--sh-font-display);font-size:13px;font-weight:700;color:var(--text)}.plan-price{font-size:27px;font-weight:800;line-height:1.1;margin-top:2px}.plan-price small{font-size:14px;font-weight:600;color:var(--muted)}.plan-sub{font-size:12px;color:var(--muted);margin-top:1px}.plan-badge{position:absolute;top:14px;right:14px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--accent-text);background:var(--accent);padding:3px 8px;border-radius:999px}.hub-license{margin-top:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--sh-radius);padding:16px}.hub-license-label{font-family:var(--sh-font-display);font-weight:700;font-size:15px}.hub-license-row{display:flex;align-items:center;gap:10px;margin:10px 0 8px}.hub-license-key{flex:1;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:14px;letter-spacing:.03em;background:var(--sh-surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;overflow-x:auto;white-space:nowrap;color:var(--text)}.hub-license-row .btn{flex-shrink:0;padding:9px 14px}.hub-license-row .btn,.hub-banner .btn{width:auto}.hub-license-key{min-width:0}.topbar-actions{display:flex;align-items:center;gap:16px;margin-left:auto;flex-shrink:0}@media(max-width:430px){.app-brand{font-size:15px}.topbar-actions{gap:13px}.topbar-actions .link-btn{font-size:13px}}.hub-foot{text-align:center;margin-top:28px;padding-top:16px;border-top:1px solid var(--border)}.hub-foot a{color:var(--muted);font-size:13px;text-decoration:none}.hub-foot a:hover{color:var(--text)}.help{max-width:var(--maxw);margin:0 auto;min-height:100vh;padding:max(env(safe-area-inset-top),12px) 14px calc(28px + env(safe-area-inset-bottom))}.help-section{margin-bottom:24px}.help-section h2{font-family:var(--sh-font-display);font-size:15px;font-weight:700;margin:0 0 10px;color:var(--accent)}.help-item{border:1px solid var(--border);border-radius:var(--sh-radius);background:var(--surface);margin-bottom:8px;overflow:hidden}.help-item summary{list-style:none;cursor:pointer;padding:14px 16px;font-weight:600;font-size:15px;display:flex;align-items:center;justify-content:space-between;gap:12px}.help-item summary::-webkit-details-marker{display:none}.help-item summary:after{content:"+";color:var(--muted);font-size:18px;line-height:1}.help-item[open] summary{color:var(--accent)}.help-item[open] summary:after{content:"−"}.help-answer{padding:0 16px 14px;color:var(--muted);font-size:14px;line-height:1.6}.help-answer p{margin:0 0 8px}.help-answer p:last-child{margin-bottom:0}.help-answer a,.help-link{color:var(--accent)}.help-list{margin:4px 0 6px;padding-left:20px;display:flex;flex-direction:column;gap:5px}.help-code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:1px 6px;color:var(--text)}.a2hs{display:flex;align-items:flex-start;gap:10px;background:color-mix(in oklab,var(--accent) 10%,var(--surface));border:1px solid color-mix(in oklab,var(--accent) 35%,var(--border));border-radius:var(--radius);padding:12px 12px 12px 14px;margin:6px 0 2px}.a2hs-body{flex:1;min-width:0}.a2hs-title{font-weight:700;font-size:14px}.a2hs-text{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}.a2hs-share{display:inline-block;width:15px;height:15px;vertical-align:-2px;color:var(--accent)}.a2hs-close{flex-shrink:0;background:none;border:none;color:var(--muted);cursor:pointer;padding:2px;line-height:0}.a2hs-close svg{width:18px;height:18px}.feedback-done{text-align:center;padding:16px 4px 6px;display:flex;flex-direction:column;gap:10px;align-items:center}.feedback-done-title{font-family:var(--sh-font-display);font-weight:700;font-size:18px}.fb-list{display:flex;flex-direction:column;gap:10px}.fb-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.fb-card.done{opacity:.55}.fb-card-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.fb-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:2px 9px;border:1px solid var(--border);color:var(--muted)}.fb-badge.bug{color:#f87171;border-color:color-mix(in oklab,#f87171 45%,var(--border))}.fb-badge.support{color:#60a5fa;border-color:color-mix(in oklab,#60a5fa 45%,var(--border))}.fb-badge.feedback{color:var(--accent);border-color:color-mix(in oklab,var(--accent) 45%,var(--border))}.fb-source{font-size:12px;color:var(--muted)}.fb-time{font-size:12px;color:var(--muted);margin-left:auto}.fb-msg{white-space:pre-wrap;font-size:14.5px;line-height:1.55}.fb-meta{margin-top:8px;font-size:12.5px;color:var(--muted)}.fb-meta a{color:var(--accent)}.fb-actions{margin-top:10px;display:flex;gap:10px}.fb-filter{display:flex;gap:8px;margin-bottom:14px}.checkin-qr{width:100%;max-width:230px;height:auto}@media print{.checkin-qr{max-width:440px}}.bio-savebar{position:sticky;bottom:0;z-index:5;margin:16px -14px 0;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:color-mix(in oklab,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border)}.site-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}@media(max-width:560px){.site-two{grid-template-columns:minmax(0,1fr)}}.site-actions{display:flex;gap:12px;flex-wrap:wrap}.notice{background:color-mix(in oklab,var(--accent) 10%,var(--surface));border:1px solid color-mix(in oklab,var(--accent) 35%,var(--border));border-radius:var(--radius);padding:8px 12px;font-size:14px;margin:8px 0 12px}.scene-changes{background:color-mix(in oklab,var(--accent) 8%,var(--surface));border-radius:var(--radius);padding:8px 12px}.site-day{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.site-day-name{display:inline-flex;align-items:center;gap:8px;min-width:76px;font-weight:600}.site-day-name input,.site-day input[type=time]{width:auto}.shot-titlebar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.shot-list-notes{white-space:pre-wrap;color:var(--muted);font-size:14px;margin:0 0 14px}.shot-link{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:10px;word-break:break-all}.shot-progress{position:sticky;top:0;z-index:5;padding-top:12px;padding-bottom:12px}.shot-toggle{width:auto;padding:6px 10px;gap:10px;font-size:13px}.shot-bar{height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden;margin-top:10px}.shot-bar span{display:block;height:100%;background:var(--green);transition:width .25s ease}.shot-section h2,.shot-section-title{display:block;margin:0;font-size:17px;font-weight:700;font-family:var(--sh-font-display);letter-spacing:-.01em;color:var(--text)}.shot-section-head{align-items:flex-start;margin-bottom:10px}.shot-next{display:grid;gap:8px;background:color-mix(in oklab,var(--accent) 10%,transparent);border:1px solid color-mix(in oklab,var(--accent) 35%,var(--border));border-radius:12px;padding:10px 12px;margin-bottom:10px}.shot-next-label{display:block;margin-bottom:1px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent)}.shot-items{list-style:none;margin:0 0 10px;padding:0}.shot-item{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-top:1px solid var(--border)}.shot-item:first-child{border-top:none}.shot-check{flex-shrink:0;width:30px;height:30px;margin-top:1px;border-radius:50%;border:2px solid var(--border);background:transparent;display:grid;place-items:center;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent}.shot-check svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.shot-item.done .shot-check{background:var(--green);border-color:var(--green)}.shot-body{flex:1;min-width:0;text-align:left;background:none;border:none;color:var(--text);padding:3px 0;cursor:pointer;font:inherit;display:flex;flex-direction:column;gap:2px}.shot-title{font-weight:600;line-height:1.35}.shot-item.done .shot-title{text-decoration:line-through;color:var(--muted);font-weight:500}.shot-star{color:var(--accent);margin-right:5px}.shot-who{font-size:13.5px;color:var(--text);opacity:.85}.shot-notes{font-size:13px;color:var(--muted);white-space:pre-wrap}.shot-by{font-size:12px;color:var(--green)}.shot-move{display:flex;flex-direction:column;flex-shrink:0}.shot-move .icon-btn{color:var(--muted);font-size:16px;padding:2px 6px}.shot-move .icon-btn:disabled{opacity:.25}.shot-radios{display:grid;gap:8px;margin-bottom:12px}.shot-radio{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);border-radius:12px;padding:10px 12px;cursor:pointer;background:var(--surface-2)}.shot-radio.on{border-color:var(--accent)}.shot-radio input{width:auto;margin-top:3px;accent-color:var(--accent)}.shot-template-del{color:var(--muted);font-size:14px;padding:2px 4px;margin:-2px -4px 0 0}.shot-preview{background:var(--surface-2);border-radius:12px;padding:10px 12px;margin-bottom:12px;max-height:220px;overflow-y:auto}.shot-preview ol{margin:6px 0 0;padding-left:22px;font-size:14px;display:grid;gap:3px}.shot-help summary{cursor:pointer;font-weight:600}.shot-help .help-list{margin-top:10px;font-size:14px}@media print{body{background:#fff;color:#000}.shot-page{--text: #111;--muted: #555;--surface-2: #e4e4e7;--border: #c8c8cc;color:#111}.hub-top,.shot-no-print,.shot-board .btn-row,.shot-move,.shot-toggle,.shot-board>.error{display:none!important}.shot-page .card{border:none;box-shadow:none;background:none;padding:0}.shot-progress{position:static}.shot-section{margin-bottom:18px}.shot-section-head{break-after:avoid}.shot-item{break-inside:avoid}.shot-help{display:none}.shot-check{border-color:#000}.shot-item.done .shot-check{background:none;border-color:#000}.shot-check svg{stroke:#000}.shot-who,.shot-notes,.item-sub,.muted{color:#333!important}.shot-next{display:none}.shot-section.collapsed .shot-section-body{display:block!important}}.shot-qr{display:block;width:100%;max-width:300px;aspect-ratio:1;margin:4px auto 14px;border-radius:14px;background:#fff;image-rendering:pixelated}.shot-now{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.shot-missing-btn{width:auto;flex-shrink:0;padding:6px 10px;font-size:12.5px}.shot-waiting{border-top:1px solid color-mix(in oklab,var(--accent) 30%,var(--border));padding-top:8px;display:grid;gap:8px}.shot-waiting-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px}.shot-warn{color:var(--red)}.shot-missing{font-size:12.5px;font-weight:600;color:var(--red)}.shot-flag{flex-shrink:0;width:34px;height:34px;margin-top:-1px;border-radius:50%;color:var(--muted)}.shot-flag svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.shot-flag.on{color:var(--red);background:color-mix(in oklab,var(--red) 14%,transparent)}.shot-flag.on svg{fill:color-mix(in oklab,var(--red) 35%,transparent)}.shot-reorder{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px}.shot-reorder li{display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:8px 8px 8px 12px}.shot-reorder-num{width:20px;flex-shrink:0;color:var(--muted);font-size:13px;font-weight:700;text-align:center}.shot-reorder-btn{width:40px;height:40px;flex-shrink:0;border-radius:10px;border:1px solid var(--border);font-size:18px}.shot-reorder-btn:disabled{opacity:.25}.shot-section-toggle{flex:1;min-width:0;display:flex;align-items:flex-start;gap:8px;background:none;border:none;padding:0;margin:0;color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.shot-chevron{flex-shrink:0;width:18px;height:18px;margin-top:2px;fill:none;stroke:var(--muted);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transform:rotate(90deg);transition:transform .15s ease}.shot-section.collapsed .shot-chevron{transform:none}.shot-section.collapsed .shot-section-body{display:none}.shot-section.collapsed .shot-section-head{margin-bottom:0}.fold-toggle{width:100%;display:flex;align-items:flex-start;gap:8px;background:none;border:none;padding:0;margin:0;color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.fold-title{display:block;margin:0;font-size:17px;font-weight:700;font-family:var(--sh-font-display);letter-spacing:-.01em;color:var(--text)}.fold-body{margin-top:14px}.fold-body[hidden]{display:none}.fold.collapsed .shot-chevron{transform:none}.shot-section.complete .shot-section-title{color:var(--muted)}.shot-all-done{color:var(--green);font-weight:600}.shot-switches{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.ob-settings-summary{display:flex;align-items:center;gap:12px}.ob-settings-summary .btn{width:auto;flex:none}.ob-stats .num{font-size:20px}.ob-small{width:auto;flex:none;padding:8px 12px;font-size:13px}.ob-actions{display:flex;flex-wrap:wrap;gap:8px}.ob-pay-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--border)}.ob-pay-row:first-of-type{border-top:none}.ob-confirm{border-color:color-mix(in oklab,var(--accent) 45%,var(--border))}.ob-client{padding:0}.ob-client-head{display:flex;align-items:center;gap:10px;width:100%;padding:14px;background:none;border:none;color:var(--text);font:inherit;cursor:pointer}.ob-client-body{padding:0 14px 14px}.ob-inset{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:12px;margin-top:10px}.ob-check{display:flex;align-items:flex-start;gap:10px;margin:10px 0 14px;font-size:14px;line-height:1.45;cursor:pointer}.ob-check input{width:20px;height:20px;flex:none;margin:0;accent-color:var(--accent)}.ob-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0 0 12px;font-size:14px}.ob-dl dt{color:var(--muted)}.ob-dl dd{margin:0;text-align:right;overflow-wrap:anywhere}.ob-money,.ob-bank{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:12px}.ob-sig-img{display:block;max-width:100%;height:auto;background:#fff;border-radius:8px;border:1px solid var(--border)}.ob-page .ob-host{font-weight:700}.ob-steps{display:flex;justify-content:space-between;list-style:none;padding:0;margin:14px 0 16px;gap:4px}.ob-steps li{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;color:var(--muted);font-size:11px}.ob-step-dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--border);background:var(--surface);font-weight:700;font-size:13px}.ob-steps li.on{color:var(--text)}.ob-steps li.on .ob-step-dot{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.ob-steps li.done .ob-step-dot{background:color-mix(in oklab,var(--green) 20%,var(--surface));color:var(--green);border-color:color-mix(in oklab,var(--green) 45%,var(--border))}.ob-banner{margin-bottom:12px}.ob-note{color:var(--green);font-size:14px;margin:0 0 12px}.ob-text{white-space:pre-wrap;line-height:1.55;margin:0 0 12px}.ob-waiver{white-space:pre-wrap;max-height:260px;overflow:auto;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:12px;font-size:14px;line-height:1.55;margin-bottom:14px}.ob-sig{margin-bottom:6px}.ob-sig-canvas{display:block;width:100%;height:150px;background:#fff;border-radius:10px;border:1px solid var(--border);touch-action:none;cursor:crosshair}.ob-radios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.ob-copy{background:none;border:none;color:var(--text);font:inherit;font-weight:700;cursor:pointer;padding:0;text-align:right}.ob-done-icon{width:56px;height:56px;margin:4px auto 10px;border-radius:50%;display:grid;place-items:center;font-size:28px;background:color-mix(in oklab,var(--green) 18%,var(--surface));color:var(--green)}.ob-noted{display:flex;flex-direction:column;gap:4px;background:color-mix(in oklab,var(--green) 14%,var(--surface));border:1px solid color-mix(in oklab,var(--green) 45%,var(--border));color:var(--text);border-radius:10px;padding:12px;margin-bottom:12px;font-size:14px;line-height:1.5}.ob-noted b{color:var(--green)}.ob-noted-btn:disabled{opacity:1;color:var(--green);border-color:color-mix(in oklab,var(--green) 45%,var(--border))}.ob-eventhost{border:1px solid color-mix(in oklab,var(--accent) 40%,var(--border));background:color-mix(in oklab,var(--accent) 7%,var(--surface));border-radius:12px;padding:14px;margin:0 0 14px}.card>.ob-eventhost:only-child{border:none;background:none;padding:0;margin:0}.ob-eh-steps{margin:0 0 12px;padding-left:20px;display:flex;flex-direction:column;gap:10px}.ob-eh-steps li>span{display:block}.ob-eh-badge{display:inline-block;margin:6px 0 4px}.ob-eh-badge-svg{height:40px;width:auto;display:block}.ob-eh-code{margin-top:6px;display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:8px 12px;font-size:20px;letter-spacing:2px}.ob-eh-join{margin:8px 0}.ob-eventhost a.btn{text-decoration:none}.ob-tools{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.ob-tools>.btn{flex:1 1 140px;width:auto}.ob-tools>.ob-tools-wide{flex:1 1 100%;margin:0}.ob-report-dates{display:flex;flex-wrap:wrap;gap:10px}.ob-report-dates .field{flex:1 1 150px;margin-bottom:8px}
