:root{color-scheme:dark;--bg: #090f12;--surface: #121b20;--surface-2: #1a252b;--surface-3: #243137;--ink: #e9eff1;--ink-2: #9aadb2;--ink-3: #64777c;--line: #28363d;--line-2: #3a4c54;--accent: #1cb3cc;--accent-press: #3ec6dd;--accent-soft: #163b46;--accent-softer: #11272e;--accent-ink: #5fd2e6;--good: #2bbd7c;--good-soft: #122f29;--good-ink: #57d59d;--warn: #e2a629;--warn-soft: #322813;--warn-ink: #edbc5f;--bad: #e96c54;--bad-soft: #3b211d;--r-sm: 10px;--r: 14px;--r-lg: 20px;--r-xl: 28px;--shadow-1: 0 1px 2px rgba(0,0,0,.3), 0 1px 3px rgba(0,0,0,.24);--shadow-2: 0 4px 14px rgba(0,0,0,.4), 0 1px 3px rgba(0,0,0,.3);--shadow-3: 0 16px 42px rgba(0,0,0,.56), 0 4px 12px rgba(0,0,0,.4);--shadow-accent: 0 6px 20px rgba(28,179,204,.36);--topbar-bg: rgba(18,27,32,.82);--heat-floor: #15212a;--toast-bg: #edf2f3;--toast-fg: #15201f;--sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--p0: #0d9bb5;--p1: #4f6ef7;--p2: #e8643c;--p3: #7b5cf0;--p4: #1f9d6b;--p5: #d99a18;--p6: #d6457f;--p7: #3aa0d6;--app-w: 432px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{font-family:var(--sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01" 1,"cv05" 1}#root{min-height:100dvh}.app{width:100%;max-width:var(--app-w);margin:0 auto;min-height:100dvh;background:var(--surface);position:relative;display:flex;flex-direction:column;overflow:clip}@media (min-width: 520px){#root{display:flex;align-items:center;justify-content:center;padding:28px 0}.app{min-height:min(900px,calc(100dvh - 56px));height:min(900px,calc(100dvh - 56px));border-radius:30px;box-shadow:var(--shadow-3);border:1px solid rgba(255,255,255,.06)}}.screen{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;display:flex;flex-direction:column}.screen::-webkit-scrollbar{width:0;height:0}.pad{padding:20px}.pad-x{padding-left:20px;padding-right:20px}h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.02em;line-height:1.12}.display{font-size:30px;font-weight:800;letter-spacing:-.035em;line-height:1.04}.h1{font-size:24px;font-weight:800;letter-spacing:-.03em}.h2{font-size:19px;font-weight:700;letter-spacing:-.02em}.h3{font-size:16px;font-weight:700}.body{font-size:15px;line-height:1.5;color:var(--ink)}.sub{font-size:14px;line-height:1.5;color:var(--ink-2)}.small{font-size:13px;color:var(--ink-2)}.tiny{font-size:11.5px;color:var(--ink-3)}.mono{font-family:var(--mono);letter-spacing:-.02em}.eyebrow{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink)}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}b,strong{font-weight:700}.btn{font-family:var(--sans);font-weight:700;font-size:15px;border:none;border-radius:999px;padding:14px 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;user-select:none;transition:transform .16s cubic-bezier(.2,.8,.3,1),background .15s ease,box-shadow .2s ease,color .15s;white-space:nowrap}.btn:hover{transform:translateY(-1.5px)}.btn:active{transform:scale(.96);transition-duration:.06s}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-accent)}.btn-primary:hover{background:var(--accent-press);box-shadow:0 10px 26px #1cb3cc70}.btn-ghost{background:var(--surface-3);color:var(--ink)}.btn-ghost:hover{background:color-mix(in oklab,var(--surface-3) 88%,#fff)}.btn-outline{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2)}.btn-outline:hover{box-shadow:inset 0 0 0 1.5px var(--ink-3)}.btn-soft{background:var(--accent-soft);color:var(--accent-ink)}.btn-soft:hover{background:color-mix(in oklab,var(--accent-soft) 82%,#fff)}.btn-block{width:100%}.btn-lg{padding:16px 22px;font-size:16px}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-sm{padding:9px 14px;font-size:13.5px}.icon-btn{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:none;background:var(--surface-3);color:var(--ink);cursor:pointer;transition:background .15s,transform .16s cubic-bezier(.2,.8,.3,1)}.icon-btn:hover{background:color-mix(in oklab,var(--surface-3) 88%,#fff);transform:scale(1.08)}.icon-btn:active{transform:scale(.9);transition-duration:.06s}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.card-pad{padding:18px}.card-tap{transition:transform .18s cubic-bezier(.2,.8,.3,1),box-shadow .2s ease,border-color .15s}.card-tap:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}.card-tap:active{transform:translateY(0) scale(.99);transition-duration:.06s}.tile{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r)}.chip{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:999px;font-size:14px;font-weight:600;background:var(--surface-2);color:var(--ink-2);border:1.5px solid var(--line);cursor:pointer;user-select:none;transition:border-color .14s ease,transform .16s cubic-bezier(.2,.8,.3,1),background .14s,color .14s}.chip:hover{border-color:var(--line-2);transform:translateY(-1px)}.chip:active{transform:scale(.95);transition-duration:.06s}.chip.on{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent)}.chip .em{font-size:16px}.field{display:block;width:100%}.label{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:8px;display:block}.input,.textarea{width:100%;font-family:var(--sans);font-size:16px;color:var(--ink);background:var(--surface);border:1.5px solid var(--line-2);border-radius:var(--r);padding:14px 15px;outline:none;transition:border-color .15s,box-shadow .15s}.input::placeholder,.textarea::placeholder{color:var(--ink-3)}.input:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-softer)}.textarea{resize:none;line-height:1.45}.topbar{display:flex;align-items:center;gap:12px;padding:14px 16px;position:sticky;top:0;z-index:30;background:var(--topbar-bg);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}.topbar .title{font-size:16px;font-weight:800;letter-spacing:-.02em;flex:1;min-width:0}.topbar .title .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dock{position:sticky;bottom:0;z-index:30;padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--surface) 62%,transparent)}.av{border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:800;flex:none;box-shadow:inset 0 0 0 1.5px #ffffff59}.av-sm{width:26px;height:26px;font-size:11px}.av-md{width:34px;height:34px;font-size:13px}.av-lg{width:46px;height:46px;font-size:17px}.av-stack{display:flex}.av-stack .av{margin-left:-8px;box-shadow:inset 0 0 0 1.5px #ffffff59,0 0 0 2.5px var(--surface)}.av-stack .av:first-child{margin-left:0}.av-pop{position:relative}.av-pop:active{transform:scale(.92)}.av-pop.open{z-index:40}.name-bubble{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--surface-3);color:var(--ink);border:1px solid var(--line-2);border-radius:9px;padding:5px 10px;font-size:12px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis;box-shadow:var(--shadow-2);z-index:50;pointer-events:none;animation:bubbleIn .18s cubic-bezier(.3,1.4,.5,1) both}.name-bubble:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-bottom-color:var(--surface-3)}@keyframes bubbleIn{0%{opacity:0;transform:translate(-50%,-4px) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}.row{display:flex;align-items:center;gap:12px}.col{display:flex;flex-direction:column}.between{display:flex;align-items:center;justify-content:space-between;gap:12px}.wrap{display:flex;flex-wrap:wrap;gap:8px}.grow{flex:1;min-width:0}.center{display:flex;align-items:center;justify-content:center}.divider{height:1px;background:var(--line);border:0;margin:0}.spacer-8{height:8px}.spacer-12{height:12px}.spacer-16{height:16px}.spacer-20{height:20px}.spacer-24{height:24px}.spacer-32{height:32px}.pill-stat{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:6px 11px;font-size:12.5px;font-weight:600;color:var(--ink-2);white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;font-size:11.5px;font-weight:700;font-family:var(--mono);letter-spacing:-.01em;white-space:nowrap}.badge-good{background:var(--good-soft);color:var(--good-ink)}.badge-warn{background:var(--warn-soft);color:var(--warn-ink)}.badge-accent{background:var(--accent-soft);color:var(--accent-ink)}.ph{background-color:var(--surface-2);background-image:repeating-linear-gradient(135deg,rgba(13,155,181,.07) 0 8px,transparent 8px 16px);border:1px dashed var(--line-2);border-radius:var(--r);display:flex;align-items:center;justify-content:center;color:var(--ink-3);font-family:var(--mono);font-size:11px;letter-spacing:.04em}@keyframes rise{0%{transform:translateY(14px)}to{transform:none}}@keyframes riseFade{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(.6)}55%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes sheetUp{0%{transform:translateY(28px)}to{transform:none}}@keyframes scrimIn{0%{opacity:0}to{opacity:1}}@keyframes subIn{0%{transform:translateY(20px)}to{transform:none}}@keyframes confetti{to{transform:translateY(560px) rotate(640deg);opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.35);opacity:1}}@keyframes barGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.rise{animation:rise .5s cubic-bezier(.2,.8,.3,1) both}.fade{animation:fade .3s ease both}.pop{animation:pop .42s cubic-bezier(.3,1.4,.5,1) both}.stagger>*{animation:rise .5s cubic-bezier(.2,.8,.3,1) both}.stagger>*:nth-child(1){animation-delay:.02s}.stagger>*:nth-child(2){animation-delay:.07s}.stagger>*:nth-child(3){animation-delay:.12s}.stagger>*:nth-child(4){animation-delay:.17s}.stagger>*:nth-child(5){animation-delay:.22s}.stagger>*:nth-child(6){animation-delay:.27s}.stagger>*:nth-child(7){animation-delay:.32s}.stagger>*:nth-child(8){animation-delay:.37s}.loader-dots{display:inline-flex;gap:7px}.loader-dots>span{width:9px;height:9px;border-radius:50%;background:var(--accent);animation:pulse 1s ease-in-out infinite}.loader-dots>span:nth-child(2){animation-delay:.15s}.loader-dots>span:nth-child(3){animation-delay:.3s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.no-select,.no-select *{user-select:none;-webkit-user-select:none}.subscreen{position:absolute;inset:0;z-index:60;background:var(--surface);display:flex;flex-direction:column;animation:subIn .32s cubic-bezier(.2,.8,.3,1) both}.sheet-scrim{position:absolute;inset:0;z-index:80;background:#14201f66;display:flex;align-items:flex-end;animation:scrimIn .22s ease both}.sheet{width:100%;background:var(--surface);border-radius:28px 28px 0 0;box-shadow:var(--shadow-3);padding:6px 20px calc(24px + env(safe-area-inset-bottom));max-height:80%;overflow-y:auto;animation:sheetUp .34s cubic-bezier(.2,.8,.3,1) both}.sheet::-webkit-scrollbar{width:0}.sheet-grab{width:40px;height:5px;border-radius:5px;background:var(--line-2);margin:10px auto 4px}.timebox{display:flex;align-items:center;gap:10px;background:var(--surface);border:1.5px solid var(--line-2);border-radius:var(--r);padding:6px 8px}
