:root{--backdrop-top:#e9efd9;--backdrop-bottom:#c3d3ab;--ink:#1b2a18;--accent:#2f5a2b;--accent-ink:#fff;--surface:#ffffffb3;--surface-strong:#fffffff0;--hairline:#0000001a;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--radius-panel:20px;--radius-control:12px;--shadow:0 20px 50px -28px #00000073;--duration:.2s;--control-height:2.75rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--ink);background:var(--backdrop-bottom);-webkit-font-smoothing:antialiased;overscroll-behavior:none;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial,sans-serif}.app{height:100%;background:linear-gradient(170deg, var(--backdrop-top), var(--backdrop-bottom));height:100svh;transition:background var(--duration) ease;flex-direction:column;display:flex;position:relative;overflow:hidden}.scene,.scene canvas{touch-action:none;position:absolute;inset:0}.masthead{z-index:2;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4) 0 var(--space-5);pointer-events:none;transition:opacity var(--duration) ease;display:flex;position:relative}.masthead .spacer{flex:auto}.masthead-brand{min-width:0}.masthead-tools{gap:var(--space-2);flex:none;align-items:center;display:flex}.masthead-action{pointer-events:auto}.masthead[data-dimmed=true]{opacity:0}.wordmark{letter-spacing:-.015em;margin:0;font-size:1rem;font-weight:650}.tagline{opacity:.6;margin:0;font-size:.78rem}.tagline a{color:inherit;pointer-events:auto;-webkit-text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-underline-offset:.2em}.tagline a:hover{text-decoration-color:currentColor}.support-link{white-space:nowrap;font-weight:600}@media (max-width:40rem){.tagline{font-size:.7rem;line-height:1.3}.tagline a{white-space:nowrap}}.panel{z-index:2;padding:0 var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));align-items:center;gap:var(--space-3);max-height:62vh;overscroll-behavior:contain;flex-direction:column;max-height:62svh;margin-top:auto;display:flex;position:relative;overflow-y:auto}.panel-card{align-items:center;gap:var(--space-2);width:min(100%,34rem);padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-panel);background:var(--surface);-webkit-backdrop-filter:blur(20px)saturate(1.15);backdrop-filter:blur(20px)saturate(1.15);box-shadow:var(--shadow);display:flex}.panel-card .field{flex:auto;min-width:0}.card-actions{gap:var(--space-1);flex:none;display:flex}.panel-footer{gap:var(--space-2) var(--space-5);width:100%;padding:var(--space-2) var(--space-3);grid-template-columns:1fr 1fr;align-items:start;display:grid}.panel-footer>:nth-child(2){padding-left:var(--space-4)}@media (max-width:40rem){.panel-footer>:nth-child(2){padding-left:0}}.panel .hint{width:min(100%,34rem);padding:0 var(--space-1)}@media (max-width:40rem){.panel{gap:var(--space-2);padding:0 var(--space-3) calc(var(--space-2) + env(safe-area-inset-bottom));max-height:70svh}.panel-card{width:100%}.panel-footer{grid-template-columns:1fr;width:100%}}@media (prefers-reduced-transparency:reduce){.panel-card,.scene-action-hint,.masthead-action.icon-button{background:var(--surface-strong);-webkit-backdrop-filter:none;backdrop-filter:none}}.field{gap:var(--space-2);display:grid}.option-legend{letter-spacing:.06em;text-transform:uppercase;opacity:.55;font-size:.72rem;font-weight:650}.url-input{min-width:0;height:var(--control-height);padding:0 var(--space-3);font:inherit;color:var(--ink);border:1px solid var(--hairline);border-radius:var(--radius-control);background:var(--surface-strong);flex:auto;font-size:.95rem}.url-input[aria-invalid=true]{border-color:#b42318;box-shadow:0 0 0 1px #b42318}.hint{align-items:center;gap:var(--space-1);opacity:.7;min-height:1.1rem;margin:0;font-size:.8rem;display:flex}.hint[data-tone=error]{color:#8f1d13;opacity:1;font-weight:550}.hint[data-tone=warn]{color:#7a4b00;opacity:1}:where(a,button,input,[tabindex]):focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:var(--radius-control)}@media (prefers-reduced-motion:reduce){*{transition-duration:1ms!important;animation-duration:1ms!important}.button:hover:not(:disabled){transform:none}}.icon-button{appearance:none;width:2.75rem;height:2.75rem;color:var(--ink);border-radius:var(--radius-control);cursor:pointer;opacity:.7;transition:opacity var(--duration) ease, background var(--duration) ease;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover:not(:disabled),.icon-button[aria-pressed=true]{opacity:1;background:var(--surface-strong);border-color:var(--hairline)}.masthead-action.icon-button{background:var(--surface);border-color:var(--hairline);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.scene-action{z-index:1;width:100%;min-height:0;padding:0 0 var(--space-3);color:var(--ink);cursor:pointer;background:0 0;border:0;flex:auto;justify-content:center;align-items:flex-end;display:flex;position:relative}.scene-action:disabled{cursor:default}.scene-action-hint{background:var(--surface);border:1px solid var(--hairline);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);transition:opacity var(--duration) ease, transform var(--duration) ease;border-radius:999px;padding:.5rem .9rem;font-size:.82rem;font-weight:600}.scene-action-hint[data-hidden=true]{opacity:0}.scene-action:hover:not(:disabled) .scene-action-hint{transform:translateY(-2px)}.option-group{gap:var(--space-2);border:0;min-width:0;margin:0;padding:0;display:grid}.option-legend{padding:0}.chips{gap:var(--space-2);scrollbar-width:none;-webkit-mask-image:linear-gradient(to right, black 0, black calc(100% - var(--space-5)), transparent 100%);-webkit-mask-image:linear-gradient(to right, black 0, black calc(100% - var(--space-5)), transparent 100%);mask-image:linear-gradient(to right, black 0, black calc(100% - var(--space-5)), transparent 100%);padding:2px var(--space-3) 2px 2px;scroll-snap-type:x proximity;touch-action:pan-x;-webkit-overflow-scrolling:touch;margin:-2px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips[data-wrap=true]{row-gap:var(--space-2);scroll-snap-type:none;touch-action:auto;flex-wrap:wrap;padding:2px;overflow-x:visible;-webkit-mask-image:none;mask-image:none}.chips[data-columns=true]{grid-template-columns:repeat(var(--chip-columns,2), minmax(0, 1fr));display:grid}.chips[data-columns=true] .chip{justify-content:center;padding:0 .6rem}@media (hover:hover) and (pointer:fine){.chips{row-gap:var(--space-2);scroll-snap-type:none;flex-wrap:wrap;padding:2px;overflow-x:visible;-webkit-mask-image:none;mask-image:none}}.chip{min-height:2.4rem;font:inherit;color:var(--ink);border:1px solid var(--hairline);background:var(--surface-strong);cursor:pointer;white-space:nowrap;scroll-snap-align:start;transition:opacity var(--duration) ease;border-radius:999px;flex:none;align-items:center;gap:.4em;padding:0 .95rem;font-size:.84rem;font-weight:550;display:inline-flex}.chip[aria-checked=true]{color:var(--accent-ink);background:var(--accent);border-color:#0000}.chip[aria-checked=true]:before{content:"✓";font-size:.85em}.actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.actions .spacer,.panel-card .spacer{flex:auto}.panel--compact .panel-card{align-items:center;gap:var(--space-3);width:min(100%,40rem);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4)}.scan-cue{flex-direction:column;min-width:0;margin:0;line-height:1.25;display:flex}.scan-cue strong{font-size:.95rem}.scan-cue span{opacity:.7;font-size:.78rem}@media (max-width:40rem){.panel--compact .panel-card{gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3)}.scan-cue span{font-size:.72rem}}.weather-badge{padding:0 var(--space-2);font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;opacity:.72;align-items:center;gap:.4em;font-size:.76rem;display:inline-flex}.weather-badge>[aria-hidden]{font-size:.95rem;line-height:1}.weather-place:before{content:"·";opacity:.6;margin-right:.4em}.weather-place{text-overflow:ellipsis;white-space:nowrap;max-width:12ch;overflow:hidden}@media (max-width:30rem){.weather-place{display:none}}.viewer-destination{max-width:min(46ch,52vw);color:inherit;text-overflow:ellipsis;white-space:nowrap;opacity:.7;font-size:.78rem;overflow:hidden}@media (max-width:40rem){.viewer-destination{max-width:40vw}}.app--embed .scene{inset:0}.embed-bar{left:var(--space-3);right:var(--space-3);bottom:calc(var(--space-3) + env(safe-area-inset-bottom));z-index:2;align-items:center;gap:var(--space-2);display:flex;position:absolute}.embed-attribution{color:var(--ink);background:var(--surface);border:1px solid var(--hairline);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;padding:.35rem .7rem;font-size:.78rem;font-weight:650;text-decoration:none}.embed-attribution:hover{text-decoration:underline}.fallback{place-items:center;gap:var(--space-4);text-align:center;max-width:30rem;margin:auto;padding:2rem 1.25rem;display:grid}.fallback canvas{width:min(70vw,17rem);height:auto;image-rendering:pixelated;box-shadow:var(--shadow);border-radius:8px}.fallback h2{margin:0;font-size:1.05rem}.fallback p{opacity:.75;margin:0;font-size:.88rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.drawer-scrim{z-index:5;cursor:default;animation:drawer-fade var(--duration) ease both;background:#0000002e;border:0;padding:0;position:fixed;inset:0}.drawer{z-index:6;background:var(--surface-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-left:1px solid var(--hairline);width:min(23rem,100vw);box-shadow:var(--shadow);animation:drawer-in var(--duration) ease both;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer:focus{outline:none}@keyframes drawer-fade{0%{opacity:0}}@keyframes drawer-in{0%{opacity:0;transform:translate(1.5rem)}}@media (prefers-reduced-motion:reduce){.drawer,.drawer-scrim{animation:none}}.drawer-head{align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--hairline);display:flex}.drawer-title{margin:0;font-size:.95rem;font-weight:650}.drawer-subtitle{margin:0;font-size:.84rem;font-weight:600}.drawer-close{min-height:2.2rem;font:inherit;color:var(--accent-ink);background:var(--accent);cursor:pointer;border:0;border-radius:999px;margin-left:auto;padding:0 .9rem;font-size:.84rem;font-weight:600}.drawer-body{overscroll-behavior:contain;padding:var(--space-4);padding-bottom:max(var(--space-4), env(safe-area-inset-bottom));gap:var(--space-5);scrollbar-width:none;flex:auto;align-content:start;display:grid;overflow-y:auto}.drawer-body::-webkit-scrollbar{display:none}.drawer-section{gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--hairline);display:grid}.drawer-section:last-child{border-bottom:0;padding-bottom:0}.drawer-note{opacity:.7;margin:0;font-size:.75rem;line-height:1.45}.payload-fields{gap:var(--space-3);display:grid}.field-row{gap:var(--space-1);min-width:0;display:grid}.field-row--check{align-items:center;gap:var(--space-2);display:flex}.field-label{opacity:.8;font-size:.78rem;font-weight:600}.field-optional{opacity:.7;font-weight:400}.field-control{width:100%;min-height:var(--control-height);font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-control);padding:.55rem .7rem;font-size:.88rem}textarea.field-control{resize:vertical;min-height:4.5rem;line-height:1.45}.field-control:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.logo-row{align-items:center;gap:var(--space-3);display:flex}.logo-preview,.logo-empty{border-radius:var(--radius-control);border:1px solid var(--hairline);background:var(--surface);object-fit:contain;flex:none;width:3rem;height:3rem}.logo-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.ghost-button{min-height:2.2rem;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--hairline);cursor:pointer;border-radius:999px;padding:0 .85rem;font-size:.82rem;font-weight:550}.ghost-button:hover{background:var(--surface-strong)}@media (max-width:30rem){.drawer{border-left:0;width:100vw}}@media (min-width:30.0625rem){.app[data-drawer=open] .panel{padding-right:calc(23rem + var(--space-4))}}
