@import "https://fonts.googleapis.com/css2?family=Hanken+Grotesk:ital,wght@0,400;0,500;0,600;0,700;1,400&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg:oklch(97.2% .006 75);--bg-2:oklch(95.5% .007 75);--surface:oklch(99.5% .003 80);--surface-2:oklch(98.2% .005 78);--ink:oklch(27.5% .012 65);--ink-2:oklch(50% .012 68);--ink-3:oklch(66% .01 70);--ink-4:oklch(78% .008 72);--line:oklch(90.5% .006 75);--line-soft:oklch(93.5% .005 76);--radius:18px;--radius-sm:12px;--shadow-card:0 1px 2px oklch(50% .02 70/.04), 0 6px 18px oklch(50% .02 70/.05);--shadow-pop:0 8px 30px oklch(40% .03 70/.14);--sans:"Hanken Grotesk", -apple-system, system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--c-clay:oklch(66% .095 40);--c-amber:oklch(73% .095 75);--c-sage:oklch(66% .065 150);--c-teal:oklch(64% .075 205);--c-blue:oklch(62% .085 255);--c-plum:oklch(60% .085 320);--c-rose:oklch(65% .095 12);--c-moss:oklch(62% .07 125)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--sans);color:var(--ink);background:var(--bg)}#root{height:100%}.app-shell{background:var(--bg);height:100dvh}.app-sidebar{border-right:1px solid var(--line);background:var(--surface-2);flex-direction:column;flex-shrink:0;width:252px;padding:30px 16px 22px;display:flex}.brand{align-items:center;gap:12px;padding:0 8px 28px;display:flex}.brand-name{letter-spacing:-.02em;color:var(--ink);font-size:18px;font-weight:700;line-height:1.04}.nav{flex-direction:column;gap:3px;display:flex}.nav-item{color:var(--ink-3);text-align:left;border-radius:12px;align-items:center;gap:13px;padding:11px 14px;font-size:15px;font-weight:600;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--bg-2);color:var(--ink-2)}.nav-item[data-active=true]{background:var(--bg-2);color:var(--ink)}.nav-item svg{flex-shrink:0;width:21px;height:21px}.sidebar-foot{color:var(--ink-4);margin-top:auto;padding:14px 12px 0;font-size:11.5px;line-height:1.5}.ih-root{font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;height:100%}.ih-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;height:100%;overflow:hidden auto}.ih-scroll::-webkit-scrollbar{display:none}.num{font-family:var(--mono);font-feature-settings:"tnum" 1;letter-spacing:-.02em}button.ih-btn{font-family:var(--sans);cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:none}input.ih-input,select.ih-select{font-family:var(--sans);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);outline:none;width:100%;padding:11px 13px;font-size:16px;transition:border-color .15s,box-shadow .15s}input.ih-input:focus,select.ih-select:focus{border-color:var(--ink-3);box-shadow:0 0 0 3px oklch(60% .02 70/.08)}.tog{cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid;position:relative}.tog-ring{border:2px solid var(--ring,var(--line));border-radius:50%;transition:border-color .2s;position:absolute;inset:0}.tog-fill{background:var(--fill,var(--ink));opacity:0;transition:transform .34s var(--ease-spring), opacity .18s ease;border-radius:50%;position:absolute;inset:0;transform:scale(0)}.tog-check{color:#fff;opacity:0;width:16px;height:16px;transition:transform .3s var(--ease-spring) 40ms, opacity .16s ease 40ms;position:relative;transform:scale(.4)}.tog[data-on=true] .tog-fill,.tog[data-on=true] .tog-check{opacity:1;transform:scale(1)}.tog[data-on=true] .tog-ring{border-color:#0000}.tog:active{transition:transform .1s;transform:scale(.92)}.tabbar{-webkit-backdrop-filter:blur(20px)saturate(160%);border-top:1px solid var(--line-soft);background:oklch(99% .003 80/.82);display:flex}.tab{color:var(--ink-3);flex-direction:column;flex:1;align-items:center;gap:3px;padding:9px 0 4px;transition:color .18s;display:flex}.tab[data-active=true]{color:var(--ink)}.tab-label{letter-spacing:.02em;font-size:10.5px;font-weight:600}@keyframes cellPop{0%{transform:scale(.8)}to{transform:scale(1)}}@keyframes fadeUp{0%{transform:translateY(10px)}to{transform:none}}.fade-up{animation:fadeUp .4s var(--ease-spring) both}@keyframes sheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes scrimIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:none}}.guide-overlay{z-index:300;background:var(--bg);-webkit-overflow-scrolling:touch;scrollbar-width:none;animation:.3s cubic-bezier(.32,.72,0,1) both guideIn;position:fixed;inset:0;overflow-y:auto}.guide-overlay::-webkit-scrollbar{display:none}.guide-col{max-width:660px;padding:0 22px calc(40px + env(safe-area-inset-bottom));margin:0 auto}.guide-header{z-index:2;background:var(--bg);padding:calc(18px + env(safe-area-inset-top)) 0 14px;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:6px;display:flex;position:sticky;top:0}@keyframes guideIn{0%{transform:translateY(14px)}to{transform:none}}.ih-sheet-scrim{z-index:200;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.ih-sheet-bg{-webkit-backdrop-filter:blur(8px);background:oklch(30% .02 70/.22);animation:.2s both scrimIn;position:absolute;inset:0}.ih-sheet{background:var(--bg);border-radius:26px 26px 0 0;flex-direction:column;max-height:88%;padding:10px 0 0;animation:.34s cubic-bezier(.32,.72,0,1) both sheetIn;display:flex;position:relative;overflow:hidden;box-shadow:0 -10px 40px oklch(30% .02 70/.18)}@media (width>=880px){.ih-sheet-scrim{justify-content:center;align-items:center}.ih-sheet{width:448px;max-width:92vw;max-height:84vh;box-shadow:var(--shadow-pop);border-radius:22px;animation:.26s cubic-bezier(.32,.72,0,1) both popIn}.ih-sheet-grab{display:none}}.consent-banner{z-index:150;max-width:560px;left:12px;right:12px;bottom:calc(16px + env(safe-area-inset-bottom));background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow-pop);flex-direction:column;gap:13px;margin-inline:auto;padding:16px;animation:.26s cubic-bezier(.32,.72,0,1) both popIn;display:flex;position:fixed}.consent-text{color:var(--ink-2);font-size:13.5px;line-height:1.5}.consent-actions{justify-content:flex-end;gap:8px;display:flex}.consent-btn{border-radius:11px;padding:9px 18px;font-size:14px;font-weight:600}.consent-decline{background:var(--bg-2);color:var(--ink-2);border:1px solid var(--line-soft)}.consent-accept{background:var(--ink);color:#fff}@media (width<=879px){.consent-banner{bottom:calc(86px + env(safe-area-inset-bottom))}}.update-banner{z-index:150;max-width:560px;left:12px;right:12px;bottom:calc(16px + env(safe-area-inset-bottom));background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow-pop);flex-direction:column;gap:13px;margin-inline:auto;padding:16px;animation:.26s cubic-bezier(.32,.72,0,1) both popIn;display:flex;position:fixed}.update-text{color:var(--ink-2);font-size:13.5px;line-height:1.5}.update-actions{justify-content:flex-end;gap:8px;display:flex}.update-btn{border-radius:11px;padding:9px 18px;font-size:14px;font-weight:600}.update-later{background:var(--bg-2);color:var(--ink-2);border:1px solid var(--line-soft)}.update-reload{background:var(--ink);color:#fff}@media (width<=879px){.update-banner{bottom:calc(86px + env(safe-area-inset-bottom))}}.app-shell:has(.consent-banner) .update-banner{bottom:calc(16px + env(safe-area-inset-bottom) + 180px)}@media (width<=879px){.app-shell:has(.consent-banner) .update-banner{bottom:calc(86px + env(safe-area-inset-bottom) + 180px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}
