@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(./bricolage-latin-Dtb2a5nO.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./literata-latin-DLxlUchJ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(./literata-latin-italic-Bm_GJfSc.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2000-206F,U+20AC,U+2122}:root{--font-ui:"Bricolage Grotesque Variable", "Bricolage Grotesque", system-ui, sans-serif;--font-read:"Literata Variable", "Literata", Georgia, serif;--step--1:.8125rem;--step-0:1rem;--step-1:1.1875rem;--step-2:1.5rem;--step-3:1.9375rem;--step-4:2.5rem;--r-sm:10px;--r-md:16px;--r-lg:24px;--gutter:16px;--tabbar-h:64px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-settle:cubic-bezier(.16, 1, .3, 1);--bg:#1b2a4a;--bg-deep:#14203a;--surface:#22355b;--surface-2:#2b4069;--surface-press:#324a78;--ink:#eef1f7;--ink-2:#c3cce0;--ink-3:#95a3c2;--stitch:#e0a03a;--stitch-soft:#e0a03a80;--accent:#e0a03a;--accent-ink:#2a1a05;--accent-text:#f0b856;--good:#8fdc9a;--good-bg:#8fdc9a24;--bad:#ff9b8c;--bad-bg:#ff9b8c24;--felt:#3a4766;--shadow:0 1px 0 #ffffff0f inset, 0 8px 20px -10px #040a18b3;--weave:repeating-linear-gradient(135deg, #ffffff07 0 2px, transparent 2px 5px), repeating-linear-gradient(45deg, #00000012 0 1px, transparent 1px 4px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=chambray]{--bg:#d7e1ee;--bg-deep:#c8d5e6;--surface:#edf2f8;--surface-2:#fff;--surface-press:#dfe8f3;--ink:#14203a;--ink-2:#33446a;--ink-3:#43527a;--stitch:#b87414;--stitch-soft:#b8741473;--accent:#e0a03a;--accent-ink:#2a1a05;--accent-text:#744403;--good:#1f7a33;--good-bg:#1f7a331f;--bad:#b3261e;--bad-bg:#b3261e1a;--felt:#aab6c9;--shadow:0 1px 0 #ffffffb3 inset, 0 8px 18px -12px #14203a73;--weave:repeating-linear-gradient(135deg, #ffffff59 0 2px, transparent 2px 5px), repeating-linear-gradient(45deg, #14203a0d 0 1px, transparent 1px 4px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=aurora]{--bg:#070912;--bg-deep:#05060d;--surface:#161b32b8;--surface-2:#222848c7;--surface-press:#303860d9;--ink:#eef1ff;--ink-2:#c4cbea;--ink-3:#98a1c8;--stitch:#38e8ff;--stitch-soft:#38e8ff73;--accent:#38e8ff;--accent-ink:#03141b;--accent-text:#7ff0ff;--felt:#2a3050;--shadow:0 1px 0 #ffffff12 inset, 0 10px 30px -12px #000c;--weave:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.in-artifact{--safe-t:0px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;height:100%}body{min-height:100%;font-family:var(--font-ui);font-size:var(--step-0);color:var(--ink);background-color:var(--bg);background-image:var(--weave);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;background-attachment:fixed;margin:0;line-height:1.45}:root[data-theme=aurora] body{background-image:radial-gradient(60vmax 50vmax at 0 0,#38e8ff24,#0000 60%),radial-gradient(60vmax 60vmax at 100% 40%,#a974ff29,#0000 60%)}#root{min-height:100dvh}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:750;font-stretch:88%;line-height:1.1}p{margin:0}button{font:inherit;color:inherit}a{color:var(--accent-text)}img,svg{display:block}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}h1[tabindex="-1"]:focus,h1[tabindex="-1"]:focus-visible{outline:none}::selection{background:var(--accent);color:var(--accent-ink)}.read{font-family:var(--font-read);font-size:1.0625rem;line-height:1.6}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.screen{max-width:560px;padding:calc(var(--safe-t) + 14px) var(--gutter) calc(var(--tabbar-h) + var(--safe-b) + 28px);margin:0 auto}.screen--bare{padding-bottom:calc(var(--safe-b) + 28px)}.stack{flex-direction:column;gap:12px;display:flex}.stack-lg{flex-direction:column;gap:22px;display:flex}.row{align-items:center;gap:10px;display:flex}.spread{justify-content:space-between;align-items:center;gap:12px;display:flex}.wrap{flex-wrap:wrap}.pocket{background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow);padding:16px;position:relative}.pocket:after{content:"";border:1.5px dashed var(--stitch-soft);border-radius:calc(var(--r-md) - 4px);pointer-events:none;position:absolute;inset:5px}.pocket--plain:after{display:none}:root[data-theme=aurora] .pocket{-webkit-backdrop-filter:blur(14px)saturate(1.2);border:1px solid #ffffff14}.btn{appearance:none;cursor:pointer;min-height:48px;font-weight:700;font-size:var(--step-0);transition:transform .12s var(--ease-out), background-color .15s, box-shadow .15s;-webkit-user-select:none;user-select:none;touch-action:manipulation;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-stretch:92%;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn--primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 0 0 2px var(--bg), 0 0 0 3.5px var(--accent), 0 6px 16px -8px #e0a03acc;position:relative}.btn--primary:before{content:"";border-radius:inherit;pointer-events:none;border:1.5px dashed #2a1a0561;position:absolute;inset:4px}.btn--ghost{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink-3);background:0 0}.btn--soft{background:var(--surface-2);color:var(--ink)}.btn--soft:active{background:var(--surface-press)}.btn--block{width:100%}.btn--lg{min-height:56px;font-size:var(--step-1)}.btn--sm{min-height:44px;font-size:var(--step--1);padding:0 14px}.btn--icon{border-radius:50%;width:44px;min-height:44px;padding:0}.danger{color:var(--bad);box-shadow:inset 0 0 0 1.5px var(--bad)}.chip{appearance:none;cursor:pointer;background:var(--surface);min-height:44px;color:var(--ink-2);font-weight:650;font-size:var(--step--1);white-space:nowrap;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 15px;display:inline-flex}.chip[aria-pressed=true],.chip[aria-checked=true]{background:var(--chip-color,var(--accent));color:var(--chip-ink,var(--accent-ink))}.tag{background:var(--surface-2);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:.75rem;font-weight:700;display:inline-flex}.done-pill{background:var(--good-bg);min-height:48px;color:var(--ink);border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-weight:650;display:flex}.done-pill svg{color:var(--good);flex:none}@keyframes pop{0%{opacity:0;transform:scale(.85)}60%{opacity:1;transform:scale(1.04)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.anim-pop{animation:pop .35s var(--ease-settle) both}.anim-shake{animation:.4s both shake}.anim-rise{animation:rise .3s var(--ease-out) both}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.tabbar{z-index:20;padding:0 10px calc(var(--safe-b) + 8px);pointer-events:none;position:fixed;bottom:0;left:0;right:0}.tabbar__inner{pointer-events:auto;max-width:540px;height:var(--tabbar-h);background:color-mix(in srgb, var(--bg-deep) 88%, transparent);-webkit-backdrop-filter:blur(12px);border-radius:22px;grid-template-columns:repeat(5,1fr);margin:0 auto;display:grid;position:relative;box-shadow:inset 0 -1px #ffffff0d,0 10px 30px -10px #0009}.tabbar__inner:before{content:"";border:1.5px dashed var(--stitch-soft);pointer-events:none;opacity:.7;border-radius:18px;position:absolute;inset:4px}.tabbar__tab{color:var(--ink-3);-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:44px;font-size:.72rem;font-weight:700;font-stretch:90%;text-decoration:none;display:flex;position:relative}.tabbar__tab.is-active{color:var(--accent-text)}.tabbar__tab.is-active svg{transform:translateY(-1px)}.tabbar__tab svg{transition:transform .2s var(--ease-settle)}.toasts{top:calc(var(--safe-t) + 10px);z-index:60;padding:0 var(--gutter);pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;left:0;right:0}.toast{pointer-events:auto;appearance:none;text-align:left;border-radius:var(--r-md);background:var(--surface-2);width:100%;max-width:520px;color:var(--ink);cursor:pointer;border:0;align-items:center;gap:12px;padding:12px 16px;font-size:.95rem;display:flex;box-shadow:0 14px 30px -12px #000000b3}.toast--achievement{background:var(--accent);color:var(--accent-ink)}.toast__medal{outline-offset:-4px;background:#2a1a0524;border-radius:50%;outline:1.5px dashed #2a1a0566;flex:none;place-items:center;width:36px;height:36px;display:grid}.toast strong{font-size:1rem;display:block}.toast__sub{opacity:.85;font-size:.82rem;display:block}.toast__action{color:var(--accent-text);white-space:nowrap;margin-left:auto}.badge{flex-direction:column;flex:none;align-items:center;gap:2px;display:inline-flex}.badge__svg{overflow:visible}.badge__emoji{font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif}.badge--open .badge__svg{filter:saturate(.55)brightness(.92)}.badge--locked .badge__emoji{filter:grayscale();opacity:.45}.badge__stars{gap:1px;display:inline-flex}.badge__stars svg{fill:none;stroke:var(--ink-3);stroke-width:2px;stroke-linejoin:round}.badge__stars svg.on{fill:var(--accent);stroke:var(--accent)}.badge--sewing .badge__svg{animation:badge-press .9s var(--ease-settle) .9s both;filter:none}.badge--sewing .badge__overlock{animation:1s steps(40,end) both badge-overlock}.badge--sewing .badge__glyph path{stroke-dasharray:100;animation:.8s ease-out .5s both badge-stitch}@keyframes badge-overlock{0%{stroke-dashoffset:340px;opacity:0}10%{opacity:1}to{stroke-dashoffset:0}}@keyframes badge-stitch{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}@keyframes badge-press{0%{transform:scale(1.12)rotate(-6deg)}60%{transform:scale(.96)rotate(1deg)}to{transform:none}}.celebrate{z-index:50;background:color-mix(in srgb, var(--bg-deep) 82%, transparent);-webkit-backdrop-filter:blur(6px);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.celebrate__card{text-align:center;border-radius:var(--r-lg);background:var(--surface);flex-direction:column;align-items:center;gap:12px;width:min(360px,100%);padding:28px 22px 22px;display:flex;position:relative;box-shadow:0 30px 60px -20px #000000b3}.celebrate__card:after{content:"";border-radius:calc(var(--r-lg) - 5px);border:1.5px dashed var(--stitch-soft);pointer-events:none;position:absolute;inset:6px}.celebrate__card h2{font-size:var(--step-3);margin-top:6px}.celebrate__card .btn{margin-top:8px}.onb{flex-direction:column;gap:18px;min-height:100dvh;display:flex}.onb__top{justify-content:space-between;align-items:center;min-height:48px;display:flex}.onb__logo{letter-spacing:-.02em;color:var(--accent-text);font-size:1.6rem;font-weight:800;font-stretch:80%}.onb__card{flex-direction:column;flex:1;justify-content:center;gap:16px;display:flex}.onb__card h1{font-size:var(--step-4);font-stretch:82%;line-height:1.02}.onb__badges{justify-content:center;align-items:center;gap:4px;min-height:140px;margin-bottom:18px;display:flex}.onb__nav{justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.onb__dots{gap:8px;display:flex}.onb__dots span{background:var(--ink-3);opacity:.5;border-radius:2px;width:22px;height:4px}.onb__dots span.on{background:var(--accent);opacity:1}.input{border-radius:var(--r-md);border:1.5px solid var(--ink-3);background:var(--bg-deep);width:100%;min-height:52px;color:var(--ink);font:inherit;padding:0 16px;font-size:1.1rem}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent);outline:none}textarea.input{resize:vertical;min-height:90px;padding:12px 16px;line-height:1.4}.chips--wrap{flex-wrap:wrap;margin:0;padding:0;overflow:visible}.chip__dot{border-radius:50%;flex:none;width:9px;height:9px}.chip[aria-pressed=true] .chip__dot{background:currentColor!important}
