:root{--constructo-prim-cyan-300:#67e8f9;--constructo-prim-cyan-400:#22d3ee;--constructo-prim-cyan-500:#06b6d4;--constructo-prim-cyan-600:#0891b2;--constructo-prim-cyan-700:#0e7490;--constructo-prim-cyan-original:#66d9ef;--constructo-prim-gray-50:#f9fafb;--constructo-prim-gray-100:#f3f4f6;--constructo-prim-gray-200:#e5e7eb;--constructo-prim-gray-300:#d1d5db;--constructo-prim-gray-400:#9ca3af;--constructo-prim-gray-500:#6b7280;--constructo-prim-gray-700:#374151;--constructo-prim-gray-900:#111827;--constructo-prim-dark-bg:#272822;--constructo-prim-dark-surface:#1e1f1c;--constructo-prim-dark-raised:#3e3d32;--constructo-prim-dark-border:#49483e;--constructo-prim-dark-text:#f8f8f2;--constructo-prim-dark-muted:#a8a49a;--constructo-prim-green-50:#f0fdf4;--constructo-prim-green-700:#15803d;--constructo-prim-red-50:#fef2f2;--constructo-prim-red-700:#b91c1c;--constructo-prim-blue-50:#eff6ff;--constructo-prim-blue-700:#1d4ed8;--constructo-prim-amber-50:#fffbeb;--constructo-prim-amber-800:#92400e;--constructo-prim-amber-400:#fbbf24;--constructo-prim-green-400:#4ade80;--constructo-prim-red-400:#f87171;--constructo-prim-blue-400:#60a5fa;--constructo-prim-amber-300:#fcd34d;--constructo-color-brand-primary:var(--constructo-prim-cyan-700);--constructo-color-brand-primary-hover:var(--constructo-prim-cyan-600);--constructo-color-brand-accent:var(--constructo-prim-cyan-original);--constructo-color-brand-on-primary:#fff;--constructo-color-bg-base:#fff;--constructo-color-bg-surface:var(--constructo-prim-gray-50);--constructo-color-bg-surface-raised:var(--constructo-prim-gray-100);--constructo-color-bg-overlay:#11182780;--constructo-color-border:var(--constructo-prim-gray-200);--constructo-color-border-strong:var(--constructo-prim-gray-300);--constructo-color-border-focus:var(--constructo-prim-cyan-700);--constructo-color-text-primary:var(--constructo-prim-gray-900);--constructo-color-text-secondary:var(--constructo-prim-gray-700);--constructo-color-text-muted:var(--constructo-prim-gray-500);--constructo-color-text-inverse:#fff;--constructo-color-text-brand:var(--constructo-prim-cyan-700);--constructo-color-text-disabled:var(--constructo-prim-gray-400);--constructo-color-success:var(--constructo-prim-green-700);--constructo-color-success-bg:var(--constructo-prim-green-50);--constructo-color-success-border:#bbf7d0;--constructo-color-success-on-solid:#fff;--constructo-color-danger:var(--constructo-prim-red-700);--constructo-color-danger-bg:var(--constructo-prim-red-50);--constructo-color-danger-border:#fecaca;--constructo-color-danger-on-solid:#fff;--constructo-color-info:var(--constructo-prim-blue-700);--constructo-color-info-bg:var(--constructo-prim-blue-50);--constructo-color-info-border:#bfdbfe;--constructo-color-info-on-solid:#fff;--constructo-color-warning:var(--constructo-prim-amber-800);--constructo-color-warning-bg:var(--constructo-prim-amber-50);--constructo-color-warning-border:#fde68a;--constructo-color-warning-on-solid:#fff}[data-theme=dark]{--constructo-color-brand-primary:var(--constructo-prim-cyan-original);--constructo-color-brand-primary-hover:var(--constructo-prim-cyan-400);--constructo-color-brand-accent:var(--constructo-prim-cyan-original);--constructo-color-brand-on-primary:var(--constructo-prim-dark-bg);--constructo-color-bg-base:var(--constructo-prim-dark-bg);--constructo-color-bg-surface:var(--constructo-prim-dark-surface);--constructo-color-bg-surface-raised:var(--constructo-prim-dark-raised);--constructo-color-bg-overlay:#0009;--constructo-color-border:var(--constructo-prim-dark-border);--constructo-color-border-strong:#6b6a5e;--constructo-color-border-focus:var(--constructo-prim-cyan-original);--constructo-color-text-primary:var(--constructo-prim-dark-text);--constructo-color-text-secondary:#c4c0b8;--constructo-color-text-muted:var(--constructo-prim-dark-muted);--constructo-color-text-inverse:var(--constructo-prim-dark-bg);--constructo-color-text-brand:var(--constructo-prim-cyan-original);--constructo-color-text-disabled:#5a5a52;--constructo-color-success:var(--constructo-prim-green-400);--constructo-color-success-bg:#4ade801f;--constructo-color-success-border:#4ade804d;--constructo-color-success-on-solid:var(--constructo-prim-dark-bg);--constructo-color-danger:var(--constructo-prim-red-400);--constructo-color-danger-bg:#f871711f;--constructo-color-danger-border:#f871714d;--constructo-color-danger-on-solid:var(--constructo-prim-dark-bg);--constructo-color-info:var(--constructo-prim-blue-400);--constructo-color-info-bg:#60a5fa1f;--constructo-color-info-border:#60a5fa4d;--constructo-color-info-on-solid:var(--constructo-prim-dark-bg);--constructo-color-warning:var(--constructo-prim-amber-300);--constructo-color-warning-bg:#fcd34d1f;--constructo-color-warning-border:#fcd34d4d;--constructo-color-warning-on-solid:var(--constructo-prim-dark-bg)}:root{--constructo-space-0:0px;--constructo-space-1:4px;--constructo-space-2:8px;--constructo-space-3:12px;--constructo-space-4:16px;--constructo-space-6:24px;--constructo-space-8:32px;--constructo-space-12:48px;--constructo-space-16:64px;--constructo-text-size-caption:.75rem;--constructo-text-size-sm:.875rem;--constructo-text-size-base:1rem;--constructo-text-size-lg:1.125rem;--constructo-text-size-heading-sm:1.25rem;--constructo-text-size-heading-md:1.5rem;--constructo-text-size-heading-lg:1.875rem;--constructo-text-size-display:2.25rem;--constructo-text-lh-tight:1.25;--constructo-text-lh-snug:1.375;--constructo-text-lh-normal:1.5;--constructo-text-lh-relaxed:1.625;--constructo-text-weight-normal:400;--constructo-text-weight-medium:500;--constructo-text-weight-semibold:600;--constructo-text-weight-bold:700;--constructo-font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--constructo-font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", Consolas, monospace;--constructo-radius-sm:2px;--constructo-radius-md:4px;--constructo-radius-lg:8px;--constructo-radius-xl:12px;--constructo-radius-pill:9999px;--constructo-shadow-sm:0 1px 2px 0 #0000000d;--constructo-shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--constructo-shadow-lg:0 10px 15px -3px #00000026, 0 4px 6px -4px #0000001a}[data-theme=dark]{--constructo-shadow-sm:0 1px 2px 0 #0006;--constructo-shadow-md:0 4px 6px -1px #00000080, 0 2px 4px -2px #0006;--constructo-shadow-lg:0 10px 15px -3px #0009, 0 4px 6px -4px #00000080}:root{--constructo-focus-ring:0 0 0 3px #0e749059}[data-theme=dark]{--constructo-focus-ring:0 0 0 3px #66d9ef59}:root{font-family:var(--constructo-font-sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--constructo-color-bg-base);color:var(--constructo-color-text-primary);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{overscroll-behavior:none;-webkit-tap-highlight-color:transparent;width:100%;height:100%;margin:0;padding:0;overflow:hidden}button{font-family:inherit;font-size:inherit;cursor:pointer;appearance:none;border:none}button:focus-visible{box-shadow:var(--constructo-focus-ring);outline:none}.app{background:var(--constructo-color-bg-base);flex-direction:column;display:flex;position:fixed;inset:0}.app-header{padding:env(safe-area-inset-top,0) var(--constructo-space-4) var(--constructo-space-2);text-align:center;font-size:var(--constructo-text-size-caption);letter-spacing:.08em;text-transform:uppercase;color:var(--constructo-color-text-muted);font-weight:var(--constructo-text-weight-semibold);flex:none}.app-stage{flex:auto;position:relative;overflow:hidden}.tutorial{background:var(--constructo-color-bg-surface);padding:var(--constructo-space-8);text-align:center;z-index:100;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.tutorial h1{font-size:var(--constructo-text-size-heading-md);line-height:var(--constructo-text-lh-tight);margin:0 0 var(--constructo-space-2);color:var(--constructo-color-text-primary)}.tutorial .step{align-items:center;gap:var(--constructo-space-4);width:100%;max-width:360px;padding:var(--constructo-space-4) var(--constructo-space-6);margin:var(--constructo-space-2) 0;background:var(--constructo-color-bg-surface-raised);border:1px solid var(--constructo-color-border);border-radius:var(--constructo-radius-xl);text-align:left;display:flex}.tutorial .step .glyph{font-size:var(--constructo-text-size-heading-sm);text-align:center;flex-shrink:0;width:2.5rem}.tutorial .step .label{font-size:var(--constructo-text-size-sm);line-height:var(--constructo-text-lh-snug);color:var(--constructo-color-text-secondary)}.tutorial .start{margin-top:var(--constructo-space-6);padding:var(--constructo-space-4) var(--constructo-space-12);background:var(--constructo-color-brand-primary);color:var(--constructo-color-brand-on-primary);border-radius:var(--constructo-radius-pill);font-size:var(--constructo-text-size-base);font-weight:var(--constructo-text-weight-semibold);letter-spacing:.02em;box-shadow:var(--constructo-shadow-md)}.tutorial .intro{color:var(--constructo-color-text-muted);margin:0 0 var(--constructo-space-6);max-width:360px;font-size:var(--constructo-text-size-sm);line-height:var(--constructo-text-lh-normal)}.deck{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.swipe-card{border-radius:var(--constructo-radius-xl);width:min(92vw,480px);height:min(62vh,720px);box-shadow:var(--constructo-shadow-lg);-webkit-user-select:none;user-select:none;touch-action:none;will-change:transform;background:#000;position:relative;overflow:hidden}.swipe-card .img-wrap{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.swipe-card img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none;width:auto;max-width:100%;height:auto;max-height:100%}.swipe-card .stamp{top:var(--constructo-space-6);font-size:var(--constructo-text-size-heading-sm);font-weight:var(--constructo-text-weight-bold);letter-spacing:.1em;padding:var(--constructo-space-2) var(--constructo-space-4);border-radius:var(--constructo-radius-md);pointer-events:none;text-transform:uppercase;border:4px solid;position:absolute}.swipe-card .stamp.no{left:var(--constructo-space-6);color:var(--constructo-color-danger);border-color:var(--constructo-color-danger);transform:rotate(-12deg)}.swipe-card .stamp.yes{right:var(--constructo-space-6);color:var(--constructo-color-brand-primary);border-color:var(--constructo-color-brand-primary);transform:rotate(12deg)}.actions{bottom:calc(env(safe-area-inset-bottom,0) + var(--constructo-space-6));justify-content:center;gap:var(--constructo-space-6);z-index:10;display:flex;position:absolute;left:0;right:0}.action-btn{border-radius:var(--constructo-radius-pill);width:4rem;height:4rem;font-size:var(--constructo-text-size-heading-sm);font-weight:var(--constructo-text-weight-bold);background:var(--constructo-color-bg-surface-raised);color:var(--constructo-color-text-primary);border:2px solid var(--constructo-color-border);box-shadow:var(--constructo-shadow-md);justify-content:center;align-items:center;display:inline-flex}.action-btn.no{color:var(--constructo-color-danger);border-color:var(--constructo-color-danger)}.action-btn.yes{color:var(--constructo-color-brand-primary);border-color:var(--constructo-color-brand-primary)}.action-btn .text{margin-left:var(--constructo-space-1);letter-spacing:.1em;font-size:.6rem;font-weight:var(--constructo-text-weight-bold)}.progress{top:var(--constructo-space-4);text-align:center;font-size:var(--constructo-text-size-sm);color:var(--constructo-color-text-muted);font-weight:var(--constructo-text-weight-semibold);z-index:5;pointer-events:none;position:absolute;left:0;right:0}.picker{background:var(--constructo-color-bg-base);padding:var(--constructo-space-4);z-index:50;flex-direction:column;display:flex;position:absolute;inset:0;overflow-y:auto}.picker-header{text-align:center;padding:var(--constructo-space-2) 0 var(--constructo-space-2)}.picker-header h2{font-size:var(--constructo-text-size-heading-sm);font-weight:var(--constructo-text-weight-bold);color:var(--constructo-color-text-primary);margin:0}.picker-header p{margin:var(--constructo-space-1) 0 0;color:var(--constructo-color-text-muted);font-size:var(--constructo-text-size-sm)}.picker-thumb{width:100%;max-width:360px;margin:0 auto var(--constructo-space-3);border-radius:var(--constructo-radius-lg);background:#000;line-height:0;display:block;overflow:hidden}.picker-thumb img{object-fit:contain;width:100%;height:auto;max-height:25vh;display:block}.picker-options{gap:var(--constructo-space-1);width:100%;max-width:480px;margin:0 auto var(--constructo-space-3);flex-direction:column;display:flex}.picker-option{align-items:center;gap:var(--constructo-space-3);padding:var(--constructo-space-3) var(--constructo-space-4);background:var(--constructo-color-bg-surface-raised);border:2px solid var(--constructo-color-border);border-radius:var(--constructo-radius-xl);min-height:44px;color:var(--constructo-color-text-primary);text-align:left;font-size:var(--constructo-text-size-sm);width:100%;display:flex}.picker-option.selected{background:var(--constructo-color-info-bg);border-color:var(--constructo-color-brand-primary)}.picker-option .check{border-radius:var(--constructo-radius-md);border:2px solid var(--constructo-color-border-strong);width:1.5rem;height:1.5rem;font-size:var(--constructo-text-size-sm);font-weight:var(--constructo-text-weight-bold);color:#0000;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.picker-option.selected .check{background:var(--constructo-color-brand-primary);border-color:var(--constructo-color-brand-primary);color:var(--constructo-color-brand-on-primary)}.picker-other{width:100%;padding:var(--constructo-space-3);background:var(--constructo-color-bg-surface-raised);border:2px solid var(--constructo-color-border);border-radius:var(--constructo-radius-lg);color:var(--constructo-color-text-primary);font-family:inherit;font-size:var(--constructo-text-size-base);resize:vertical;min-height:3rem}.picker-other::placeholder{color:var(--constructo-color-text-disabled)}.picker-other:focus-visible{border-color:var(--constructo-color-border-focus);box-shadow:var(--constructo-focus-ring);outline:none}.picker-actions{gap:var(--constructo-space-3);width:100%;max-width:480px;margin:var(--constructo-space-3) auto calc(env(safe-area-inset-bottom,0) + var(--constructo-space-4));display:flex}.picker-actions button{padding:var(--constructo-space-4);border-radius:var(--constructo-radius-pill);font-size:var(--constructo-text-size-sm);font-weight:var(--constructo-text-weight-bold);letter-spacing:.04em;flex:1}.picker-actions .submit{background:var(--constructo-color-brand-primary);color:var(--constructo-color-brand-on-primary)}.picker-actions .submit:disabled{background:var(--constructo-color-bg-surface-raised);color:var(--constructo-color-text-disabled);cursor:not-allowed;border:2px solid var(--constructo-color-border)}.picker-actions .skip{color:var(--constructo-color-text-muted);border:2px solid var(--constructo-color-border);background:0 0}.done{padding:var(--constructo-space-8);text-align:center;background:var(--constructo-color-bg-base);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.done h1{font-size:var(--constructo-text-size-heading-md);margin:0 0 var(--constructo-space-2);color:var(--constructo-color-text-primary)}.done p{color:var(--constructo-color-text-muted);margin:0 0 var(--constructo-space-6);max-width:360px}.done .count{font-size:var(--constructo-text-size-display);font-weight:var(--constructo-text-weight-bold);color:var(--constructo-color-brand-primary);margin:var(--constructo-space-2) 0}.done .reset{margin-top:var(--constructo-space-4);padding:var(--constructo-space-3) var(--constructo-space-6);border-radius:var(--constructo-radius-pill);color:var(--constructo-color-text-muted);border:2px solid var(--constructo-color-border);font-size:var(--constructo-text-size-sm);background:0 0}@media (height<=700px){.picker-thumb{display:none}.picker-header{padding:var(--constructo-space-1) 0}.picker-header h2{font-size:var(--constructo-text-size-base)}.picker-header p{display:none}.picker{padding:var(--constructo-space-3)}.picker-actions{margin-top:var(--constructo-space-2)}}.loading{color:var(--constructo-color-text-disabled);font-size:var(--constructo-text-size-sm);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}
