@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400 800;font-display:swap;src:url(/bricolage-grotesque.woff2)format("woff2")}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 600;font-display:swap;src:url(/instrument-sans.woff2)format("woff2")}:root{--bg:#fef2ef;--paper:#fff8f6;--white:#fff;--ink:#2a1c18;--text:#6e574f;--muted:#7a5f56;--red:#c0392b;--red-hover:#a32f23;--rust:#a8412d;--blush:#fbdfd6;--sand:#f3dcd5;--line:#f0dcd6;--line-strong:#ebd5cd;--green:#2c6b3c;--green-bg:#dff0e3;--amber-bg:#fdf0dc;--amber-ink:#8a5a12;--font-display:"Bricolage Grotesque", system-ui, sans-serif;--font-body:"Instrument Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--shadow-card:0 6px 20px #7a3e2c14;--shadow-float:0 14px 42px #7a3e2c24;--shadow-bar:0 -8px 24px #7a3e2c12;--radius:16px;--radius-sm:12px;--sat:env(safe-area-inset-top,0px);--sar:env(safe-area-inset-right,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--ease:cubic-bezier(.32, .72, 0, 1);--fast:.18s;--slow:.34s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;margin:0;font-size:16px;line-height:1.55}input,textarea,.selectable,.selectable *{-webkit-user-select:text;user-select:text}h1,h2,h3{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;margin:0 0 8px;line-height:1.15}h1{font-size:clamp(24px,5vw,32px)}h2{font-size:clamp(19px,3.6vw,23px)}h3{font-size:16px}a{color:var(--rust)}img{max-width:100%}[hidden]{display:none!important}::selection{background:var(--blush);color:var(--ink)}.wrap{width:100%;max-width:640px;padding:16px calc(16px + var(--sar)) calc(48px + var(--sab)) calc(16px + var(--sal));margin:0 auto}.wrap-wide{max-width:860px}.wrap-top{padding-top:calc(16px + var(--sat))}.page{animation:page-in var(--slow) var(--ease) both}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);margin-bottom:14px;padding:18px}.card-tight{padding:14px}.card-flush{padding:6px 16px}.row{align-items:center;gap:10px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:10px;display:flex}.row-wrap{flex-wrap:wrap}.grow{flex:auto;min-width:0}.stack>*+*{margin-top:10px}.appbar{z-index:30;padding:8px calc(12px + var(--sar)) 8px calc(12px + var(--sal));padding-top:calc(8px + var(--sat));background:color-mix(in srgb, var(--bg) 78%, transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);transition:border-color var(--fast) linear;border-bottom:1px solid #0000;align-items:center;gap:10px;display:flex;position:sticky;top:0}.appbar-lifted{border-bottom-color:var(--line)}.appbar-inner{align-items:center;gap:10px;width:100%;max-width:640px;min-height:40px;margin:0 auto;display:flex}.appbar-wide .appbar-inner{max-width:860px}.appbar-title{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:700;overflow:hidden}.btn{appearance:none;font:inherit;cursor:pointer;min-height:46px;transition:transform var(--fast) var(--ease), background-color var(--fast) linear, opacity var(--fast) linear;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:13px 22px;font-weight:600;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:scale(.96)}.btn:disabled{opacity:.45;cursor:default}.btn:focus-visible{outline:2px solid var(--rust);outline-offset:2px}.btn-primary{background:var(--red);color:#fff}.btn-primary:not(:disabled):hover{background:var(--red-hover)}.btn-soft{background:var(--blush);color:var(--rust)}.btn-quiet{color:var(--muted);border-color:var(--line-strong);background:0 0}.btn-quiet:not(:disabled):hover{background:var(--paper)}.btn-ghost{color:var(--rust);background:0 0;padding-inline:10px}.btn-danger{color:var(--red);background:0 0;border-color:#f0c9c3}.btn-block{width:100%}.btn-sm{min-height:40px;padding:9px 16px;font-size:14px}.iconbtn{appearance:none;color:var(--rust);cursor:pointer;width:40px;height:40px;transition:transform var(--fast) var(--ease), background-color var(--fast) linear;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;margin-left:-8px;display:inline-grid}.iconbtn:active{background:var(--sand);transform:scale(.9)}.iconbtn-right{margin-left:0;margin-right:-8px}.field{border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:100%;font:inherit;background:var(--paper);color:var(--ink);transition:border-color var(--fast) linear, background-color var(--fast) linear;padding:12px 14px;font-size:max(16px,1rem)}.field::placeholder{color:color-mix(in srgb, var(--muted) 62%, transparent)}.field:focus{border-color:var(--rust);background:var(--white);outline:none}textarea.field{resize:vertical;min-height:110px}.label{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.check{cursor:pointer;align-items:center;gap:10px;min-height:46px;padding:10px 2px;display:flex}.check input{width:20px;height:20px;accent-color:var(--red);flex:none}.chiprow{scrollbar-width:none;scroll-snap-type:x proximity;padding:2px calc(16px + var(--sal)) 12px calc(16px + var(--sar));margin:0 calc(-16px - var(--sal)) 0 calc(-16px - var(--sar));gap:8px;display:flex;overflow-x:auto}.chiprow::-webkit-scrollbar{display:none}.chiprow>*{scroll-snap-align:start;flex:none}.chip{appearance:none;border:1px solid var(--line-strong);background:var(--white);color:var(--muted);font:inherit;cursor:pointer;min-height:38px;transition:transform var(--fast) var(--ease), background-color var(--fast) linear, color var(--fast) linear, border-color var(--fast) linear;border-radius:999px;align-items:center;gap:6px;padding:8px 15px;font-size:14px;font-weight:600;display:inline-flex}.chip:active{transform:scale(.95)}.chip-on{background:var(--ink);border-color:var(--ink);color:var(--white)}.chip-count{font-variant-numeric:tabular-nums;background:color-mix(in srgb, currentColor 16%, transparent);border-radius:999px;padding:0 6px;font-size:12px}.muted{color:var(--muted)}.small{font-size:14px}.tiny{font-size:12.5px}.center{text-align:center}.mono{font-variant-numeric:tabular-nums}.pill{background:var(--sand);color:var(--rust);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:6px;padding:4px 11px;font-size:12.5px;font-weight:600;display:inline-flex}.pill-new{background:var(--blush);color:var(--red)}.pill-working{background:var(--amber-bg);color:var(--amber-ink)}.pill-sent{background:var(--green-bg);color:var(--green)}.pill-quiet{background:var(--paper);color:var(--muted);border:1px solid var(--line)}.dot{background:var(--sand);border-radius:999px;flex:none;width:8px;height:8px}.dot-new{background:var(--red)}.dot-working{background:#d99a2b}.dot-sent{background:var(--green)}.dot-quiet{background:var(--line-strong)}.thumbs{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;display:grid}.thumb{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--paper);width:100%;transition:transform var(--fast) var(--ease);display:block}.thumb-btn{appearance:none;cursor:pointer;background:0 0;border:0;padding:0;display:block;position:relative}.thumb-btn:active .thumb{transform:scale(.95)}.thumb-empty{place-items:center;display:grid}.thumb-remove{border:2px solid var(--white);background:var(--ink);width:26px;height:26px;color:var(--white);cursor:pointer;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:-6px;right:-6px}.thumb-remove:active{transform:scale(.88)}.lightbox{z-index:60;padding:calc(16px + var(--sat)) 16px calc(16px + var(--sab));animation:fade-in var(--fast) linear both;background:#180e0bf0;place-items:center;display:grid;position:fixed;inset:0}.lightbox img{object-fit:contain;max-width:100%;max-height:100%;animation:pop-in var(--slow) var(--ease) both;border-radius:8px}.lightbox-close{top:calc(10px + var(--sat));color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:999px;place-items:center;width:40px;height:40px;font-size:20px;display:grid;position:absolute;right:12px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.viewer{background:var(--paper);border-radius:var(--radius-sm);border:1px solid var(--line);width:100%;height:min(62vh,460px);display:block}.hero-img{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--paper);width:100%;display:block}.hero-frame{position:relative}.hero-frame .hero-img{opacity:0;transition:opacity var(--slow) ease}.hero-frame .hero-in{opacity:1}.hero-waiting{min-height:240px}.hero-skeleton{border-radius:var(--radius-sm);position:absolute;inset:0}.btn-lift{box-shadow:0 8px 22px #c0392b42}.bar{background:var(--sand);border-radius:999px;height:6px;overflow:hidden}.bar>span{background:var(--red);height:100%;transition:width .4s var(--ease);border-radius:999px;display:block}.notice{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--paper);padding:12px 14px;font-size:14.5px}.notice-bad{color:#8e2a1e;background:#fdecea;border-color:#f5c6c0}.notice-good{color:var(--green);background:#f4faf5;border-color:#cfe7d4}.list{display:block}.listrow{color:inherit;border-bottom:1px solid var(--line);transition:background-color var(--fast) linear, transform var(--fast) var(--ease);border-radius:10px;align-items:center;gap:12px;margin:0 -2px;padding:12px 2px;text-decoration:none;display:flex}.listrow:last-child{border-bottom:0}.listrow:active{background:var(--paper);transform:scale(.99)}.lead-row{color:inherit;border-bottom:1px solid var(--line);padding:13px 2px;text-decoration:none;display:block}.lead-row:last-child{border-bottom:0}.listrow-top{align-items:center;gap:8px;display:flex}.listrow-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.listrow-meta{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.chev{color:var(--line-strong);flex:none}.avatar{background:var(--sand);width:40px;height:40px;color:var(--rust);font-family:var(--font-display);text-transform:uppercase;border-radius:12px;flex:none;place-items:center;font-size:16px;font-weight:700;display:grid}.spin{border:2px solid var(--sand);border-top-color:var(--red);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.spin-on-red{border-color:#fff #ffffff59 #ffffff59}.skeleton{background:linear-gradient(90deg, var(--sand) 25%, var(--paper) 37%, var(--sand) 63%);background-size:400% 100%;border-radius:8px;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.empty{text-align:center;color:var(--muted);padding:34px 16px}.empty svg{opacity:.45;margin-bottom:10px}.toasts{left:0;right:0;bottom:calc(14px + var(--sab));z-index:70;pointer-events:none;flex-direction:column;align-items:center;gap:8px;padding:0 16px;display:flex;position:fixed}.toast{pointer-events:auto;background:var(--ink);color:#fff8f6;width:100%;max-width:460px;box-shadow:var(--shadow-float);animation:toast-in var(--slow) var(--ease) both;border-radius:14px;align-items:center;gap:10px;padding:12px 16px;font-size:14.5px;display:flex}.toast-action{appearance:none;color:inherit;font:inherit;cursor:pointer;background:#ffffff29;border:0;border-radius:999px;flex:none;padding:6px 12px;font-size:14px;font-weight:600}.toast-action:active{transform:scale(.94)}.toast-bad{background:#7d2418}.toast-good{background:#23502e}.toast-out{animation:toast-out var(--fast) var(--ease) both}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translateY(8px)}}.sheet-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in var(--fast) linear both;background:#2a1c1857;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:640px;max-height:min(88vh,900px);box-shadow:var(--shadow-float);animation:sheet-up var(--slow) var(--ease) both;padding-bottom:var(--sab);border-radius:22px 22px 0 0;flex-direction:column;display:flex}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}.sheet-grab{background:var(--line-strong);border-radius:999px;flex:none;width:38px;height:5px;margin:8px auto 2px}.sheet-head{flex:none;align-items:center;gap:10px;padding:6px 16px 10px;display:flex}.sheet-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 16px 8px;overflow-y:auto}.sheet-foot{padding:10px 16px calc(10px + var(--sab));border-top:1px solid var(--line);background:var(--bg);flex:none}.actionbar{z-index:20;margin:18px calc(-16px - var(--sal)) calc(-48px - var(--sab)) calc(-16px - var(--sar));padding:12px calc(16px + var(--sar)) calc(12px + var(--sab)) calc(16px + var(--sal));background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-top:1px solid var(--line);box-shadow:var(--shadow-bar);position:sticky;bottom:0}.install{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);align-items:flex-start;gap:12px;margin-bottom:14px;padding:14px;display:flex}.install img{border-radius:10px;flex:none;width:40px;height:40px}.inline-icon{vertical-align:-3px;color:var(--rust)}@media (display-mode:standalone){.install{display:none}}.footer{text-align:center;color:var(--muted);padding:26px 0 10px;font-size:12.5px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.spin{animation:.8s linear infinite spin!important}}
