*{box-sizing:border-box}:root{color-scheme:light;--space-1: 8px;--space-2: 16px;--space-3: 24px;--space-4: 32px}:root{font:16px/1.5 DM Sans,system-ui,sans-serif;--bg: #f5f3ee;--fg: #242923;--surface: #fffefa;--accent: #355e49;--accent-hover: #294b39;--line: #deded4;--muted: #62685f;--danger: #a13d35;--shadow: 0 8px 24px rgb(28 35 28 / 7%)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#191c19;--fg:#f1f2ec;--surface:#252a25;--accent:#8fbea0;--accent-hover:#a6d0b4;--line:#414941;--muted:#b9c1b8;--danger:#ff9f94;--shadow:0 8px 24px rgb(0 0 0 / 22%)}}:root[data-theme=light]{color-scheme:light;--bg:#f5f3ee;--fg:#242923;--surface:#fffefa;--accent:#355e49;--accent-hover:#294b39;--line:#deded4;--muted:#62685f;--danger:#a13d35;--shadow:0 8px 24px rgb(28 35 28 / 7%)}:root[data-theme=dark]{color-scheme:dark;--bg:#191c19;--fg:#f1f2ec;--surface:#252a25;--accent:#8fbea0;--accent-hover:#a6d0b4;--line:#414941;--muted:#b9c1b8;--danger:#ff9f94;--shadow:0 8px 24px rgb(0 0 0 / 22%)}body{margin:0;background:var(--bg);color:var(--fg)}#root{min-height:100dvh;padding:clamp(16px,4vw,32px);padding-bottom:calc(88px + env(safe-area-inset-bottom))}.avatar-menu{display:flex;flex-wrap:wrap;gap:12px;position:static;margin:16px 0;color:var(--muted)}.avatar-menu a{min-height:0;font-size:.85rem}.upload-queue-banner{position:static;margin:8px 0;color:var(--muted);font-size:.85rem}[aria-label=Occasion]{display:flex;flex-wrap:wrap;gap:8px;overflow:visible}[aria-label=Occasion] button{min-height:44px;padding:0;border:0;background:transparent}button,input,select,a{font:inherit}.upload-pickers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.upload-picker{position:relative;display:grid;place-items:center;min-height:112px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);font-weight:700;text-align:center;cursor:pointer}.upload-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-list{display:grid;gap:10px;padding:0;list-style:none}.upload-list li{display:flex;align-items:center;gap:12px;min-height:64px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.upload-thumbnail{width:56px;height:56px;object-fit:cover;border-radius:8px;background:var(--bg)}.review-colors{display:grid;gap:8px}.review-colors input{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--fg)}.color-swatches{display:flex;gap:6px}.color-swatches span{width:24px;height:24px;border:1px solid var(--line);border-radius:50%}button,a{min-height:44px}a{color:var(--accent);text-decoration:none;font-weight:600}a:hover{text-decoration:underline;text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c28322;outline-offset:2px}.button{padding:10px 18px;border:1px solid transparent;border-radius:12px;background:var(--accent);color:var(--bg);font-weight:700;box-shadow:0 2px 4px #00000014;cursor:pointer;transition:background .15s,transform .15s}.button:hover{background:var(--accent-hover)}.button:active{transform:translateY(1px)}.button:disabled{opacity:.55;cursor:not-allowed}.field{display:grid;gap:7px;margin:16px 0;color:var(--fg);font-size:.92rem;font-weight:600}.field input,.field select{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--fg);box-shadow:inset 0 1px 2px #00000008}.field input:focus,.field select:focus{border-color:var(--accent)}.tabs{position:fixed;z-index:5;bottom:0;left:0;right:0;display:flex;justify-content:space-around;gap:4px;background:color-mix(in srgb,var(--surface) 94%,transparent);border-top:1px solid var(--line);padding:8px 8px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.tabs a{display:grid;place-items:center;flex:1;min-height:48px;padding:4px;border-radius:12px;color:var(--muted);text-decoration:none;font-size:.75rem;font-weight:600}.tabs a[aria-current=page],.tabs a.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 11%,transparent)}.chip{display:inline-flex;align-items:center;min-height:36px;border-radius:999px;padding:6px 13px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--fg);font-size:.88rem;font-weight:600}.sheet,.dialog{background:var(--surface);padding:20px;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.toast{position:fixed;z-index:8;left:16px;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));background:var(--fg);color:var(--bg);padding:14px 16px;border-radius:14px;box-shadow:var(--shadow)}.skeleton{height:80px;background:var(--line);border-radius:14px}.spinner{display:inline-block;width:24px;height:24px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}main>h1,header h1{font:800 clamp(1.65rem,6vw,2.15rem)/1.18 Manrope,"DM Sans",sans-serif;letter-spacing:-.035em;margin:0 0 20px}main>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}main>header h1{margin:0}main>section,main>article{margin-block:18px}main :is(section,article,form,aside)[aria-label]{border-radius:16px}main>form{max-width:460px;margin:clamp(28px,10vh,100px) auto 0;padding:clamp(20px,6vw,32px);background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}form h1{margin-top:0;font:800 1.9rem/1.2 Manrope,DM Sans,sans-serif;letter-spacing:-.035em}form p{color:var(--muted);margin:18px 0 0}form [role=alert]{display:block;color:var(--danger);font-weight:600;padding:10px 12px;background:color-mix(in srgb,var(--danger) 10%,var(--surface));border-radius:10px}button:not(.button){color:var(--fg)}@media(min-width:700px){#root{max-width:1120px;margin:auto}main>form{margin-top:8vh}}
