:root{--bg: #f7f5ef;--surface: #ffffff;--surface-2: #f1eee5;--ink: #14213d;--ink-2: #4a5470;--ink-3: #7a8196;--line: #e4dfd1;--accent: #14213d;--accent-ink: #f7f5ef;--gold: #e8b64a;--good: #2f7d5b;--bad: #b3402f;--demo: #7a4bd6;--demo-bg: #efe8fb;--shadow: 0 1px 2px rgba(20, 33, 61, .06), 0 8px 24px rgba(20, 33, 61, .06);--radius: 18px;--tab-h: 64px;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: ui-serif, "Iowan Old Style", "Palatino Linotype", Georgia, serif;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0e1424;--surface: #172036;--surface-2: #1d2742;--ink: #f1eee5;--ink-2: #b7bdd0;--ink-3: #8a92aa;--line: #2a3553;--accent: #f1eee5;--accent-ink: #0e1424;--gold: #f0c566;--good: #5bc596;--bad: #f08a77;--demo: #b79bf5;--demo-bg: #2a2147;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .25);color-scheme:dark}}:root[data-theme=dark]{--bg: #0e1424;--surface: #172036;--surface-2: #1d2742;--ink: #f1eee5;--ink-2: #b7bdd0;--ink-3: #8a92aa;--line: #2a3553;--accent: #f1eee5;--accent-ink: #0e1424;--gold: #f0c566;--good: #5bc596;--bad: #f08a77;--demo: #b79bf5;--demo-bg: #2a2147;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .25);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-text-size-adjust:100%}body{min-height:100dvh;line-height:1.45;overflow-x:hidden}#root{min-height:100dvh}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;margin:0}h1{font-size:1.7rem;line-height:1.15}h2{font-size:1.25rem}h3{font-size:1.05rem}p{margin:0}a{color:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:8px}.app{max-width:640px;margin:0 auto;padding:0 16px calc(var(--tab-h) + 28px + env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;justify-content:space-between;padding:calc(14px + env(safe-area-inset-top)) 0 10px}.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:1.15rem}.brand svg{width:30px;height:30px}.demo-banner{background:var(--demo-bg);color:var(--demo);border:1px solid var(--demo);border-radius:14px;padding:10px 14px;font-size:.9rem;font-weight:600;display:flex;gap:10px;align-items:center;margin-bottom:12px}.demo-banner b{font-weight:700}.tabbar{position:fixed;left:0;right:0;bottom:0;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);display:flex;justify-content:center;padding-bottom:env(safe-area-inset-bottom);z-index:20}.tabbar-inner{display:flex;width:100%;max-width:640px}.tab{flex:1;min-height:var(--tab-h);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:0;color:var(--ink-3);font-size:.74rem;font-weight:600;position:relative}.tab svg{width:24px;height:24px}.tab[aria-current=page]{color:var(--ink)}.tab[aria-current=page]:before{content:"";position:absolute;top:0;width:28px;height:3px;border-radius:0 0 3px 3px;background:var(--gold)}.screen{animation:fade-up .35s ease both}.screen-head{padding:6px 0 14px}.screen-head p{color:var(--ink-2);margin-top:4px}.stack{display:flex;flex-direction:column;gap:12px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);position:relative}.card.tappable{cursor:pointer;text-align:left;width:100%}.card-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}.dot{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:.95rem;flex:none}.card-title{font-family:var(--font-display);font-size:1.12rem;font-weight:600}.card-app{font-size:.78rem;color:var(--ink-3);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.card-body{color:var(--ink-2);font-size:.95rem}.reason{margin-top:8px;font-size:.85rem;color:var(--ink-3);border-left:3px solid var(--gold);padding-left:10px}.card-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;align-items:center}.meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.chip{font-size:.74rem;font-weight:600;border-radius:999px;padding:3px 10px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.chip.demo{background:var(--demo-bg);color:var(--demo);border-color:var(--demo)}.chip.good{color:var(--good);border-color:var(--good);background:transparent}.chip.warn{color:var(--bad);border-color:var(--bad);background:transparent}.btn{min-height:44px;min-width:44px;padding:0 18px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .12s ease,background .2s ease}.btn:active{transform:scale(.97)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-2)}.btn.danger{color:var(--bad);border-color:var(--bad)}.btn[disabled]{opacity:.55;cursor:default}.btn.done{background:transparent;color:var(--good);border-color:var(--good)}.section-title{font-size:.78rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.07em;font-weight:700;margin:22px 0 10px}.connection{border-color:color-mix(in srgb,var(--gold) 60%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 9%,var(--surface)),var(--surface))}.connection .spark{color:var(--gold)}.quote{font-style:italic}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:.85rem;font-weight:600;color:var(--ink-2)}.input{min-height:48px;border-radius:14px;border:1px solid var(--line);background:var(--surface);padding:0 14px;width:100%;font-size:1rem}textarea.input{padding:12px 14px;min-height:84px;resize:vertical}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;min-height:52px}.row+.row{border-top:1px solid var(--line)}.row .grow{flex:1;min-width:0}.row small{display:block;color:var(--ink-3);font-size:.82rem}.switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:52px;height:32px;border-radius:999px;background:var(--line);position:relative;border:0;flex:none;cursor:pointer;transition:background .2s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;transition:transform .2s ease;box-shadow:0 1px 3px #00000040}.switch:checked{background:var(--good)}.switch:checked:after{transform:translate(20px)}.switch-hit{position:relative;display:inline-flex;min-width:52px;min-height:44px;align-items:center;justify-content:center}.seg{display:inline-flex;border:1px solid var(--line);border-radius:14px;padding:3px;background:var(--surface-2)}.seg button{min-height:44px;min-width:56px;padding:0 14px;border-radius:11px;border:0;background:transparent;font-weight:600;color:var(--ink-2)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.error{color:var(--bad);font-size:.9rem;margin:6px 0 10px}.note{color:var(--ink-3);font-size:.85rem}.empty{text-align:center;padding:36px 12px 12px}.empty svg{width:120px;height:120px;margin:0 auto 10px;display:block}.empty h2{margin-bottom:8px}.empty p{color:var(--ink-2);margin-bottom:18px}.skeleton{border-radius:var(--radius);height:118px;background:linear-gradient(100deg,var(--surface-2) 30%,var(--surface) 50%,var(--surface-2) 70%);background-size:200% 100%;animation:shimmer 1.3s linear infinite;border:1px solid var(--line)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a10206b;z-index:30;animation:fade-in .25s ease both}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:31;max-width:640px;margin:0 auto;max-height:88dvh;overflow:auto;background:var(--surface);border-radius:26px 26px 0 0;padding:20px 18px calc(24px + env(safe-area-inset-bottom));border:1px solid var(--line);box-shadow:0 -12px 40px #0003}.sheet-grab{width:44px;height:5px;border-radius:3px;background:var(--line);margin:0 auto 14px}.toast-wrap{position:fixed;left:0;right:0;bottom:calc(var(--tab-h) + 14px + env(safe-area-inset-bottom));display:flex;justify-content:center;z-index:40;pointer-events:none;padding:0 16px}.toast{pointer-events:auto;background:var(--ink);color:var(--bg);border-radius:16px;padding:8px 8px 8px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 10px 30px #0000004d;max-width:520px;width:100%;animation:toast-in .32s cubic-bezier(.2,.9,.3,1.2) both}.toast span{flex:1;font-size:.92rem}.toast button{min-height:44px;min-width:64px;border-radius:12px;border:0;background:color-mix(in srgb,var(--bg) 18%,transparent);color:var(--bg);font-weight:700;padding:0 14px}.auth{max-width:440px;margin:0 auto;padding:calc(40px + env(safe-area-inset-top)) 20px 40px}.auth .brand{justify-content:center;margin-bottom:8px;font-size:1.5rem}.auth .brand svg{width:44px;height:44px}.auth .tagline{text-align:center;color:var(--ink-2);margin-bottom:26px}.auth .links{display:flex;justify-content:space-between;margin-top:14px}.linkbtn{background:none;border:0;color:var(--ink-2);text-decoration:underline;min-height:44px;padding:0 4px}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes toast-in{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}@keyframes sheet-in{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}@keyframes pop{0%{transform:scale(.9)}60%{transform:scale(1.06)}to{transform:scale(1)}}.sheet{animation:sheet-in .32s cubic-bezier(.2,.9,.3,1) both}.stagger>*{animation:fade-up .4s ease both}.stagger>*:nth-child(2){animation-delay:.05s}.stagger>*:nth-child(3){animation-delay:.1s}.stagger>*:nth-child(4){animation-delay:.15s}.stagger>*:nth-child(n+5){animation-delay:.2s}.pop{animation:pop .35s ease both}::view-transition-old(root),::view-transition-new(root){animation-duration:.28s;animation-timing-function:ease}:root[data-vt-dir=forward]::view-transition-old(root){animation-name:vt-out-left}:root[data-vt-dir=forward]::view-transition-new(root){animation-name:vt-in-right}:root[data-vt-dir=back]::view-transition-old(root){animation-name:vt-out-right}:root[data-vt-dir=back]::view-transition-new(root){animation-name:vt-in-left}@keyframes vt-out-left{to{opacity:0;transform:translate(-24px)}}@keyframes vt-in-right{0%{opacity:0;transform:translate(24px)}}@keyframes vt-out-right{to{opacity:0;transform:translate(24px)}}@keyframes vt-in-left{0%{opacity:0;transform:translate(-24px)}}::view-transition-group(*){animation-duration:.34s}.topbar,.tabbar{view-transition-name:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.skeleton{animation:none}}.card-open{all:unset;cursor:pointer;display:block;width:100%;min-height:44px;border-radius:12px}.card-open:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
