@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--accent:#16a34a;--accent-soft:color-mix(in srgb, var(--accent) 12%, white);--accent-strong:color-mix(in srgb, var(--accent) 80%, black);--bg:#f2f6f3;--bg-tint:color-mix(in srgb, var(--accent) 6%, #f4f6f5);--surface:#fff;--surface-2:#f7f9f8;--border:#e3e9e5;--text:#13201a;--text-2:#5b6b63;--good:#16a34a;--warn:#f59e0b;--bad:#e11d48;--radius:18px;--radius-sm:11px;--shadow:0 1px 2px #10281c0d, 0 6px 20px -8px #10281c1f;--shadow-lg:0 20px 50px -18px #10281c59;--sidebar:256px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);-webkit-font-smoothing:antialiased;font-family:Plus Jakarta Sans Variable,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg-tint);margin:0;font-size:15px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{letter-spacing:-.02em;margin:0}a{color:var(--accent-strong)}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.muted{color:var(--text-2)}.small{font-size:13px}.cap:first-letter{text-transform:uppercase}.stack{flex-direction:column;gap:12px;display:flex}.gap-lg{gap:20px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row>input{flex:1;min-width:0}.row.end{justify-content:flex-end}.grid-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.grid-2.align-start{align-items:start;gap:20px}.boot{min-height:100vh;color:var(--accent);letter-spacing:-.03em;place-items:center;font-size:28px;font-weight:800;animation:1.2s ease-in-out infinite pulse;display:grid}@keyframes pulse{50%{opacity:.4}}.error-box{background:var(--surface);border:1px solid color-mix(in srgb, var(--bad) 35%, var(--border));border-radius:16px;justify-items:start;gap:8px;max-width:460px;margin:40px auto;padding:22px 24px;display:grid}.error-box.compact{border-radius:12px;max-width:none;margin:0;padding:14px 16px}.error-box p{margin:0}.error-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}input,select,textarea{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);outline:none;width:100%;padding:10px 12px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent)}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);padding:0}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--text-2);font-size:13px;font-weight:600}.code-input{letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums;max-width:220px;font-size:22px}.btn{border:1.5px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-weight:650;transition:transform .12s,background .15s,box-shadow .15s,border-color .15s;display:inline-flex}.btn:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 16px -6px color-mix(in srgb, var(--accent) 70%, transparent)}.btn.primary:hover{background:var(--accent-strong)}.btn.soft{background:var(--accent-soft);color:var(--accent-strong);border-color:#0000}.btn.ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2);color:var(--text)}.btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}.btn.danger-text{color:var(--bad)}.btn.small{padding:6px 12px;font-size:13px}.btn.big{width:100%;padding:13px 20px;font-size:16px}.icon-btn{cursor:pointer;background:0 0;border:none;border-radius:10px;place-items:center;width:38px;height:38px;font-size:18px;display:inline-grid}.icon-btn:hover{background:var(--surface-2)}.icon-btn.tiny{width:26px;height:26px;color:var(--text-2);border-radius:8px;font-size:12px}.icon-btn.tiny:disabled{opacity:.3;cursor:default}.icon-btn.danger:hover{background:color-mix(in srgb, var(--bad) 12%, white);color:var(--bad)}.chip{background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:650;display:inline-flex}.chip.good{color:#166534;background:#dcfce7;border-color:#bbf7d0}.chip.bad{color:#9f1239;background:#ffe4e6;border-color:#fecdd3}.chip.accent{background:var(--accent-soft);color:var(--accent-strong);border-color:#0000}.chip-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text-2);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:650}.chip-btn:hover{border-color:var(--accent);color:var(--accent-strong)}.form-error{color:#9f1239;border-radius:var(--radius-sm);background:#fff1f2;border:1px solid #fecdd3;padding:9px 12px;font-size:14px}.notice{background:var(--accent-soft);color:var(--accent-strong);border-radius:var(--radius-sm);word-break:break-word;padding:12px 16px;font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.card h2{align-items:center;gap:8px;font-size:17px;display:flex}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg, var(--surface-2), #eef3f0, var(--surface-2));background-size:200% 100%;animation:1.3s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.login-page{background:linear-gradient(160deg,#ecfdf3 0%,#f0f9ff 55%,#fdf4ff 100%);place-items:center;min-height:100vh;padding:20px;display:grid;position:relative;overflow:hidden}.login-blob{filter:blur(60px);opacity:.55;border-radius:50%;position:absolute}.login-blob.b1{background:#86efac;width:420px;height:420px;animation:14s ease-in-out infinite drift;top:-120px;left:-80px}.login-blob.b2{background:#7dd3fc;width:360px;height:360px;animation:17s ease-in-out infinite reverse drift;bottom:-120px;right:-60px}.login-blob.b3{opacity:.35;background:#f9a8d4;width:260px;height:260px;animation:20s ease-in-out infinite drift;top:40%;right:20%}@keyframes drift{50%{transform:translate(40px,30px)scale(1.08)}}.login-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:100%;max-width:400px;box-shadow:var(--shadow-lg);background:#ffffffdb;border:1px solid #ffffffe6;border-radius:26px;flex-direction:column;gap:14px;padding:32px 28px;display:flex;position:relative}.login-card h1{margin-top:8px;font-size:26px}.login-card .muted{margin:-8px 0 6px}.login-logo,.brand{letter-spacing:-.03em;align-items:center;gap:10px;font-size:20px;font-weight:800;display:flex}.logo-mark{background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 55%, #0ea5e9));color:#fff;width:34px;height:34px;box-shadow:0 6px 14px -6px color-mix(in srgb, var(--accent) 80%, transparent);border-radius:11px;place-items:center;font-size:18px;font-weight:800;display:inline-grid}.shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:18px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{padding:4px 8px}.nav{flex-direction:column;flex:1;gap:2px;display:flex}.nav-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);justify-content:space-between;align-items:center;gap:8px;padding:16px 12px 6px;font-size:11px;font-weight:700;display:flex}.nav-heading.nav-sub{padding-top:14px}.nav-edit{cursor:pointer;color:var(--text-2);text-transform:none;letter-spacing:0;white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:650}.nav-edit:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.nav-edit.on{background:var(--accent-soft);color:var(--accent-strong)}.nav-edit:disabled{opacity:.4;cursor:default}.nav-item.editing{cursor:default}.nav-item.editing:hover{background:0 0}.nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-x{background:var(--surface-2);width:26px;height:26px;color:var(--text-2);cursor:pointer;border:0;border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;display:grid}.nav-x:hover,.nav-x:focus-visible{color:var(--bad);background:#ffe4e6}.nav-item.removed{color:var(--text-2)}.nav-item.removed .nav-icon{filter:grayscale(.7);opacity:.7}.nav-add{border:1px solid var(--border);background:var(--surface);color:var(--accent-strong);cursor:pointer;white-space:nowrap;border-radius:999px;flex-shrink:0;padding:3px 10px;font-size:12px;font-weight:700}.nav-add:hover,.nav-add:focus-visible{background:var(--accent-soft)}.nav-note{color:var(--text-2);margin:8px 12px 0;font-size:12px;line-height:1.4}@media (pointer:coarse){.nav-x{width:34px;height:34px;font-size:14px}.nav-add{padding:6px 12px}}.nav-item{color:var(--text);border-radius:12px;align-items:center;gap:11px;padding:8px 10px;font-weight:600;text-decoration:none;transition:background .15s;display:flex}.nav-item:hover{background:var(--surface-2)}.nav-item.active{background:var(--accent-soft);color:var(--accent-strong)}.nav-item.soon{color:var(--text-2)}.nav-icon{border-radius:10px;place-items:center;width:32px;height:32px;font-size:16px;display:inline-grid}.soon-pill{text-transform:uppercase;background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:10px;font-weight:700}.sidebar-foot{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:14px;display:flex}.me{color:var(--text);border-radius:14px;align-items:center;gap:10px;padding:8px;text-decoration:none;display:flex}.me:hover,.me.active{background:var(--surface-2)}.me-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.me-text strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.me-text small{color:var(--text-2)}.me-gear{opacity:.6;margin-left:auto}.logout{align-self:flex-start}.avatar{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;font-weight:750;display:inline-grid;box-shadow:inset 0 -2px #0000001f}.main{flex:1;min-width:0}.mobile-bar{display:none}.content{max-width:1400px;margin:0 auto;padding:28px 32px 60px}.scrim{display:none}.page-title{margin-bottom:18px;font-size:28px}.home-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-height:40px;margin-bottom:14px;display:flex}.widget-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:18px;display:grid}.w-1{grid-column:span 1}.w-2{grid-column:span 2}.w-3{grid-column:span 3}.w-4{grid-column:span 4}.widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;transition:box-shadow .2s,transform .2s,opacity .2s;position:relative;overflow:hidden}.widget:before{content:"";background:linear-gradient(90deg, var(--wc), color-mix(in srgb, var(--wc) 40%, white));height:4px;position:absolute;inset:0 0 auto}.widget.bare{box-shadow:none;background:0 0;border:none}.widget.bare:before{display:none}.editing .widget.bare{background:var(--surface);border:1px dashed var(--border)}.editing .widget{outline:2px dashed color-mix(in srgb, var(--wc) 35%, transparent);outline-offset:3px}.widget.dragging{opacity:.45;transform:scale(.98)}.widget-head{align-items:center;gap:10px;padding:16px 18px 4px;display:flex}.widget-head h2{font-size:15px;font-weight:750}.widget-icon{background:color-mix(in srgb, var(--wc) 14%, white);border-radius:9px;place-items:center;width:30px;height:30px;font-size:15px;display:inline-grid}.widget-tools{align-items:center;gap:4px;margin-left:auto;display:flex}.drag-handle{cursor:grab;color:var(--text-2);-webkit-user-select:none;user-select:none;padding:0 2px;font-size:18px}.drag-handle:active{cursor:grabbing}.widget-body{padding:10px 18px 18px}.widget.bare .widget-body{padding:0 4px}.editing .widget.bare .widget-body{padding:10px 18px 18px}.empty-home{text-align:center;justify-items:center;gap:12px;padding:40px;display:grid}.greeting{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.greeting h1{letter-spacing:-.035em;font-size:clamp(26px,3.4vw,38px);font-weight:800}.wave{transform-origin:70% 70%;animation:2.4s ease-in-out wave;display:inline-block}@keyframes wave{10%,30%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}40%{transform:rotate(0)}}.greeting-date{color:var(--text-2);align-items:center;gap:8px;margin:6px 0 0;font-weight:600;display:flex}.greeting-date .dot{opacity:.4}.greeting-clock{letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--accent-strong);font-size:clamp(30px,4vw,46px);font-weight:800}.weather{flex-direction:column;gap:16px;display:flex}.weather-now{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.weather-icon{filter:drop-shadow(0 4px 8px #0000001a);font-size:48px;line-height:1}.weather-temp{letter-spacing:-.04em;font-size:40px;font-weight:800;line-height:1}.weather-meta{color:var(--text-2);text-align:right;flex-direction:column;gap:2px;margin-left:auto;font-size:13px;display:flex}.weather-days{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.weather-day{background:#f1fafe;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;font-size:13px;display:flex}.weather-day-icon{font-size:22px}.rain{color:#0369a1;font-size:11px}.pick-list{flex-direction:column;gap:4px;display:flex}.pick{text-align:left;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;justify-content:space-between;gap:8px;padding:8px 12px;display:flex}.pick:hover{border-color:var(--accent)}.notes{position:relative}.notes-area{resize:vertical;background:repeating-linear-gradient(#fffbeb,#fffbeb 25px,#fdf0c8 26px);border:none;border-radius:12px;min-height:170px;padding:12px 14px;line-height:1.55}.notes-area:focus{box-shadow:0 0 0 3px #f59e0b4d}.save-state{color:var(--text-2);pointer-events:none;font-size:11px;position:absolute;bottom:8px;right:10px}.save-state.error{color:var(--bad)}.checklist{flex-direction:column;gap:10px;display:flex}.checklist ul{flex-direction:column;gap:2px;max-height:280px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.checklist li{border-radius:8px;align-items:center;gap:6px;padding:5px 4px;display:flex}.checklist li:hover{background:var(--surface-2)}.checklist li label{cursor:pointer;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.checklist li label span{overflow-wrap:anywhere}.checklist li.done label span{color:var(--text-2);text-decoration:line-through}.checklist li .icon-btn{opacity:0}.checklist li:hover .icon-btn,.checklist li:focus-within .icon-btn{opacity:1}.checklist li.empty{color:var(--text-2);justify-content:center;padding:14px}.checklist>.btn{align-self:flex-start}.progress{background:var(--surface-2);border-radius:99px;height:6px;overflow:hidden}.progress-bar{background:linear-gradient(90deg,#10b981,#34d399);border-radius:99px;height:100%;transition:width .3s}.link-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;display:grid}.link-tile-wrap{position:relative}.link-tile{border:1px solid var(--border);color:var(--text);background:var(--surface);border-radius:13px;align-items:center;gap:10px;padding:10px;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.link-tile:hover{box-shadow:var(--shadow);border-color:color-mix(in srgb, #8b5cf6 30%, var(--border));transform:translateY(-2px)}.link-badge{color:#fff;border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:34px;font-weight:800;display:inline-grid}.link-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.link-text strong,.link-text small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.link-text small{color:var(--text-2)}.link-tile-wrap .remove{background:var(--surface);border:1px solid var(--border);position:absolute;top:-8px;right:-8px}.add-link{margin-top:12px}.meter-head{justify-content:space-between;margin-bottom:5px;font-size:13px;font-weight:600;display:flex}.meter-track{background:var(--surface-2);border-radius:99px;height:8px;overflow:hidden}.meter-fill{border-radius:99px;height:100%;transition:width .4s}.meter-fill.good{background:linear-gradient(90deg,#6366f1,#818cf8)}.meter-fill.warn{background:var(--warn)}.meter-fill.bad{background:var(--bad)}.server-facts{color:var(--text-2);flex-wrap:wrap;gap:14px;font-size:13px;display:flex}.dot-status{border-radius:50%;flex-shrink:0;width:9px;height:9px}.dot-status.up{background:var(--good);box-shadow:0 0 0 3px #dcfce7}.dot-status.down{background:var(--bad);box-shadow:0 0 0 3px #ffe4e6}.modal-scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;background:#0f171459;place-items:center;padding:16px;animation:.15s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:22px;width:100%;max-width:720px;max-height:85vh;padding:22px;animation:.18s cubic-bezier(.2,.9,.3,1.2) pop;overflow-y:auto}@keyframes pop{0%{opacity:0;transform:scale(.95)}}.modal-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.picker-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.picker-card{text-align:left;border:1.5px solid var(--border);background:var(--surface);cursor:pointer;border-radius:16px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;transition:border-color .15s,transform .15s;display:flex}.picker-card:hover{border-color:var(--wc);transform:translateY(-2px)}.picker-card .muted{font-size:13px}.picker-icon{background:color-mix(in srgb, var(--wc) 14%, white);border-radius:12px;place-items:center;width:40px;height:40px;margin-bottom:4px;font-size:20px;display:inline-grid}.soon-hero{text-align:center;background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--mod) 18%, white), var(--surface) 70%);border:1px solid var(--border);border-radius:26px;justify-items:center;gap:10px;padding:60px 24px;display:grid}.soon-icon{background:var(--surface);width:86px;height:86px;box-shadow:var(--shadow);border-radius:26px;place-items:center;font-size:44px;display:grid}.soon-hero h1{font-size:30px}.soon-hero p{max-width:460px;color:var(--text-2);margin:0}.settings{max-width:980px}.tabs{scrollbar-width:none;gap:6px;margin-bottom:20px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{color:var(--text-2);background:var(--surface);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:8px 16px;font-weight:650;text-decoration:none}.tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.profile-preview{background:linear-gradient(135deg, var(--accent-soft), var(--surface));border-radius:16px;align-items:center;gap:16px;padding:18px;display:flex}.profile-preview>div{flex-direction:column;display:flex}.profile-preview strong{font-size:20px}.swatches{flex-wrap:wrap;gap:10px;display:flex}.swatch{cursor:pointer;width:36px;height:36px;box-shadow:0 0 0 1px var(--border);border:3px solid #fff;border-radius:50%;transition:transform .12s}.swatch:hover{transform:scale(1.1)}.swatch.on{box-shadow:0 0 0 3px var(--text)}.swatch.custom{background:var(--surface-2);place-items:center;display:grid;position:relative;overflow:hidden}.swatch.custom input{opacity:0;cursor:pointer;position:absolute;inset:0}.totp-setup{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.totp-setup img{border:1px solid var(--border);border-radius:14px}.totp-setup>.stack{flex:1;min-width:240px}.steps{flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.secret{background:var(--surface-2);word-break:break-all;border-radius:6px;padding:2px 6px;font-size:13px}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.list li:last-child{border-bottom:none}.list.compact li{padding:8px 0;font-size:14px}.users li{flex-wrap:wrap}.users li.disabled{opacity:.6}.user-cell{align-items:center;gap:12px;display:flex}.chips{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.user-actions{flex-wrap:wrap;gap:2px;display:flex}@media (width<=1180px){.widget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.w-3,.w-4{grid-column:span 2}}@media (width<=820px){.sidebar{z-index:40;box-shadow:var(--shadow-lg);transition:transform .25s cubic-bezier(.2,.9,.3,1);position:fixed;top:0;left:0;transform:translate(-100%)}.nav-open .sidebar{transform:none}.nav-open .scrim{z-index:30;background:#0f17144d;display:block;position:fixed;inset:0}.mobile-bar{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#ffffffd9;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex;position:sticky;top:0}.mobile-bar .brand{font-size:18px}.mobile-bar .logo-mark{border-radius:9px;width:28px;height:28px;font-size:15px}.mobile-bar a{display:flex}.content{padding:16px 16px 48px}}@media (width<=640px){.widget-grid{grid-template-columns:minmax(0,1fr);gap:14px}.w-1,.w-2,.w-3,.w-4{grid-column:span 1}.weather-meta{text-align:left;margin-left:0}.widget-tools .icon-btn.tiny{width:30px;height:30px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.book-fallback{color:#fff;background:linear-gradient(160deg, hsl(var(--h) 50% 42%), hsl(calc(var(--h) + 30) 56% 24%));width:100%;height:100%;position:relative;overflow:hidden;container-type:inline-size}.book-fallback:before{content:"";background:#0000003d;width:7%;position:absolute;inset:0 auto 0 0;box-shadow:1px 0 #ffffff24}.book-fallback:after{content:"";pointer-events:none;border:1px solid #ffffff38;border-radius:2px;position:absolute;inset:6cqw 6cqw 6cqw 13cqw}.bf-in{text-align:left;flex-direction:column;justify-content:space-between;gap:4cqw;padding:12cqw 11cqw 11cqw 18cqw;display:flex;position:absolute;inset:0}.bf-in strong{letter-spacing:-.01em;overflow-wrap:anywhere;-webkit-line-clamp:5;text-shadow:0 1px 3px #0000004d;-webkit-box-orient:vertical;font-size:clamp(8px,11cqw,20px);font-weight:750;line-height:1.15;display:-webkit-box;overflow:hidden}.bf-in small{opacity:.85;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(7px,7.5cqw,13px);line-height:1.2;display:-webkit-box;overflow:hidden}@container (width<=70px){.bf-in small{display:none}.bf-in{padding:9cqw 8cqw 8cqw 16cqw}}.bw{flex-direction:column;gap:10px;display:flex}.bw-label{color:var(--text-2);font-size:12.5px;font-weight:700}.bw-now{color:var(--text);background:#fef7eb;border-radius:12px;align-items:center;gap:10px;padding:8px;text-decoration:none;display:flex}.bw-cover{width:38px;height:57px;box-shadow:var(--shadow);background:var(--surface-2);border-radius:6px;flex-shrink:0;display:block;overflow:hidden}.bw-cover img,.bw-cover .book-fallback{object-fit:cover;width:100%;height:100%;display:block}.bw-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.bw-text strong,.bw-text small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bw-bar{background:#fdefd8;border-radius:99px;height:6px;display:block;overflow:hidden}.bw-bar i{background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:99px;height:100%;display:block}.bw-row{scrollbar-width:none;gap:10px;display:flex;overflow-x:auto}.bw-item{width:64px;color:var(--text);flex:none;font-size:11.5px;text-decoration:none}.bw-item .bw-cover{border-radius:9px;width:64px;height:96px}.bw-item>span:last-child{white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-weight:650;display:block;overflow:hidden}.bw-goal{flex-direction:column;gap:5px;display:flex}.bw-goal-line{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;font-size:13px;display:flex}.bw-goal-line b{font-size:15px}.bw-pace{color:var(--text-2);font-size:12px;font-weight:750}.bw-pace.done,.bw-pace.ahead{color:#16a34a}.bw-pace.behind{color:#d97706}.bw-goal .bw-bar{background:#e6f0d8}.bw-goal .bw-bar i{background:linear-gradient(90deg,#65a30d,#a3e635)}.eco{max-width:1240px}.eco-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.eco-head .page-title{margin-bottom:2px}.eco-title-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:2px;display:flex}.eco-head .eco-title-row .page-title{margin:0}.eco-sub{align-items:center;gap:10px;margin:0;font-weight:600;display:flex}.eco-sync{color:#166534;background:#dcfce7;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:650}.eco-sync.saving,.eco-sync.loading{background:var(--surface-2);color:var(--text-2)}.eco-sync.error{color:#9f1239;background:#ffe4e6}.eco-sync.conflict{color:#92400e;background:#fef3c7}.eco-month{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:4px;padding:4px;display:flex}.eco-month input{background:0 0;border:none;width:auto;padding:6px 4px;font-weight:650}.eco-month input:focus{box-shadow:none}.eco-month .icon-btn{border-radius:50%;width:34px;height:34px;font-size:20px}.eco-notice{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.eco-notice.error{color:#9f1239;background:#fff1f2}.eco-notice.conflict{color:#92400e;background:#fffbeb}.eco-tabs{margin-bottom:18px}.eco-loading{gap:14px;display:grid}.eco-grid{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.eco-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.eco-grid .span-2{grid-column:1/-1}.eco-panel{padding:20px}.eco-panel-head{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.eco-panel-head h2{font-size:17px}.eco-panel-head p{margin:2px 0 0}.eco-panel-icon{background:var(--accent-soft);border-radius:12px;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:19px;display:inline-grid}.eco-panel-right{align-items:center;gap:6px;margin-left:auto;display:flex}.eco-empty{color:var(--text-2);padding:14px 4px;font-size:14px;list-style:none}.eco-hero{color:#fff;background:radial-gradient(circle at 12% 0%, #ffffff38, transparent 45%), linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 45%, #0ea5e9));box-shadow:0 18px 40px -20px color-mix(in srgb, var(--accent) 90%, transparent);border-radius:24px;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr);align-items:center;gap:20px;padding:26px;display:grid;position:relative;overflow:hidden}.eco-hero.negative{background:radial-gradient(circle at 12% 0,#fff3,#0000 45%),linear-gradient(135deg,#e11d48,#f97316)}.eco-hero-main{flex-direction:column;gap:6px;display:flex}.eco-hero-label{opacity:.9;font-weight:650}.eco-hero-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(34px,5vw,50px);font-weight:800;line-height:1.05}.eco-hero-bar{background:#ffffff40;border-radius:99px;height:8px;margin-top:6px;overflow:hidden}.eco-hero-bar i{background:#fff;border-radius:99px;height:100%;transition:width .5s;display:block}.eco-hero small{opacity:.85;font-size:12.5px}.eco-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.eco-hero-stats>div{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff29;border:1px solid #ffffff38;border-radius:16px;flex-direction:column;gap:2px;min-width:0;padding:14px;display:flex}.eco-hero-stats span{opacity:.92;font-size:13px;font-weight:650}.eco-hero-stats b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:21px;font-weight:800}.eco-attention{flex-wrap:wrap;gap:8px;display:flex}.eco-att{border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;box-shadow:var(--shadow);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600}.eco-att:hover{border-color:var(--accent)}.eco-att.bad{color:#9f1239;background:#fff1f2;border-color:#fecdd3}.purchase{flex-direction:column;gap:12px;display:flex}.purchase-row{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.purchase-amount{border:1.5px solid var(--border);background:var(--surface);border-radius:14px;flex:0 0 170px;align-items:center;gap:4px;padding:0 12px;transition:border-color .15s,box-shadow .15s;display:flex}.purchase-amount:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent)}.purchase-amount input{letter-spacing:-.02em;border:none;min-width:0;padding:10px 0;font-size:24px;font-weight:800;box-shadow:none!important}.purchase-amount span{color:var(--text-2);font-weight:650}.purchase-desc{border-radius:14px;flex:200px;min-width:0}.purchase-row .btn{border-radius:14px}.cat-chips{flex-wrap:wrap;gap:6px;display:flex}.cat-chip{border:1.5px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px 6px 8px;font-size:13.5px;font-weight:650;transition:transform .12s,background .15s,border-color .15s;display:inline-flex}.cat-chip span{font-size:15px}.cat-chip:hover{border-color:var(--cc)}.cat-chip.on{background:color-mix(in srgb, var(--cc) 14%, white);border-color:var(--cc);color:color-mix(in srgb, var(--cc) 75%, black);transform:scale(1.04)}.purchase-foot{flex-wrap:wrap;align-items:center;gap:10px;min-height:32px;display:flex}.purchase-date{color:var(--text-2);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.purchase-date input{width:auto;padding:6px 10px}.purchase-flash{color:var(--good);font-size:14px;font-weight:700;animation:.25s pop}.purchase.compact .purchase-amount{flex-basis:130px}.purchase.compact .purchase-amount input{font-size:20px}.purchase.compact .cat-chip{padding:4px 10px 4px 6px;font-size:12.5px}.eco-recent{border-top:1px solid var(--border);margin-top:18px;padding-top:12px}.eco-recent-head{justify-content:space-between;margin-bottom:4px;font-size:14px;font-weight:700;display:flex}.eco-list{margin:0 0 12px;padding:0;list-style:none}.eco-list>li{border-bottom:1px solid var(--border);border-radius:10px;align-items:center;gap:10px;padding:10px 6px;display:flex}.eco-list>li:last-child{border-bottom:none}.eco-list>li:hover{background:var(--surface-2)}.eco-list>li.over{background:#fff1f2}.eco-row-main,.eco-purchase-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.eco-row-main strong,.eco-purchase-main strong{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.eco-row-main small{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.eco-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:750}.eco-cat-dot{border-radius:11px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:16px;display:inline-grid}.eco-actions{opacity:.35;gap:2px;transition:opacity .15s;display:flex}.eco-list>li:hover .eco-actions,.eco-actions:focus-within{opacity:1}@media (hover:none){.eco-actions{opacity:.8}}.tiny-chip{padding:0 7px;font-size:11px}.mini-track{background:var(--surface-2);border-radius:99px;max-width:260px;height:6px;margin:3px 0;overflow:hidden}.mini-track i{border-radius:99px;height:100%;transition:width .4s;display:block}.mini-track.goal i{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.mini-track.reserve-progress i{background:linear-gradient(90deg,#6366f1,#818cf8)}.eco-inline-input{color:var(--text-2);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.eco-inline-input input{text-align:right;width:110px;color:var(--text);padding:7px 10px;font-weight:700}.eco-inline-input input::placeholder{color:color-mix(in srgb, var(--text-2) 70%, white);font-weight:600}.eco-add{border-top:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding-top:12px;display:flex}.eco-add-field{flex:110px;min-width:0}.eco-add-field.wide{flex:2 180px}.eco-add-field.check{flex:none}.eco-add input,.eco-add select{padding:8px 10px}.eco-add-error{flex-basis:100%}.eco-check{white-space:nowrap;cursor:pointer;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.eco-modal{max-width:520px}.eco-modal-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.eco-modal-grid .wide{grid-column:1/-1}.eco-bars{flex-direction:column;gap:10px;display:flex}.eco-bar{grid-template-columns:130px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.eco-bar-label{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:650;overflow:hidden}.eco-bar-track{background:var(--surface-2);border-radius:99px;height:14px;position:relative;overflow:visible}.eco-bar-track i{border-radius:99px;height:100%;transition:width .5s cubic-bezier(.2,.9,.3,1);display:block}.eco-bar-track em{background:var(--text);opacity:.5;border-radius:2px;width:2px;position:absolute;top:-3px;bottom:-3px}.eco-bar-value{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px;font-weight:750}.eco-bar.over .eco-bar-value{color:var(--bad)}.eco-breakdown{flex-wrap:wrap;gap:8px;display:flex}.eco-breakdown span{background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);border-radius:12px;padding:8px 14px;font-size:14px;font-weight:600}.eco-breakdown b{color:var(--text);margin-left:4px}.drop{text-align:center;cursor:pointer;border:2px dashed var(--border);background:var(--surface-2);border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:26px 16px;transition:border-color .15s,background .15s;display:flex}.drop:hover,.drop.over{border-color:var(--accent);background:var(--accent-soft)}.drop.has-file{border-style:solid;border-color:var(--accent)}.drop-icon{font-size:30px}.upload-progress{background:var(--surface-2);border-radius:99px;height:26px;position:relative;overflow:hidden}.upload-progress i{background:var(--accent);transition:width .2s;position:absolute;inset:0 auto 0 0}.upload-progress span{place-items:center;height:100%;font-size:12px;font-weight:700;display:grid;position:relative}.file-badge{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;flex-shrink:0;place-items:center;width:38px;height:44px;font-size:11px;font-weight:800;display:inline-grid}.kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;gap:4px;min-width:0;padding:16px;display:flex;position:relative;overflow:hidden}.kpi:after{content:"";background:color-mix(in srgb, var(--kc) 10%, transparent);border-radius:50%;width:80px;height:80px;position:absolute;top:-24px;right:-24px}.kpi-label{color:var(--text-2);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.kpi-label i{background:color-mix(in srgb, var(--kc) 14%, white);border-radius:9px;place-items:center;width:28px;height:28px;font-style:normal;display:inline-grid}.kpi b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:22px;font-weight:800;overflow:hidden}.kpi.negative b{color:var(--bad)}.kpi small{color:var(--text-2);font-size:12.5px}.legend{color:var(--text-2);gap:12px;font-size:12.5px;font-weight:600;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}.legend i.g,.history-bars i.g{background:linear-gradient(#34d399,#16a34a)}.legend i.r,.history-bars i.r{background:linear-gradient(#fb7185,#e11d48)}.history{align-items:stretch;gap:8px;height:170px;display:flex}.history-col{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.history-bars{border-radius:10px;flex:1;justify-content:center;align-items:flex-end;gap:3px;padding:0 2px;display:flex}.history-col.current .history-bars{background:var(--accent-soft)}.history-bars i{border-radius:6px 6px 3px 3px;flex:1;max-width:22px;transition:height .5s cubic-bezier(.2,.9,.3,1);display:block}.history-col>span{text-align:center;color:var(--text-2);text-transform:capitalize;font-size:12px;font-weight:650}.networth{background:var(--surface-2);border-radius:14px;margin-top:16px;padding:12px 14px}.networth-head{flex-wrap:wrap;justify-content:space-between;gap:6px;margin-bottom:6px;font-size:13.5px;font-weight:650;display:flex}.networth-head .up{color:var(--good)}.networth-head .down{color:var(--bad)}.networth-svg{width:100%;height:56px;display:block;overflow:visible}.networth-svg .zero{stroke:var(--border);stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.networth-svg polyline{fill:none;stroke-width:2.5px;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}.networth-svg polyline.up{stroke:var(--good)}.networth-svg polyline.down{stroke:var(--bad)}.reserve{flex-direction:column;gap:14px;margin-bottom:10px;display:flex}.reserve-top{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.reserve-top>div{flex-direction:column;gap:2px;display:flex}.reserve-balance{letter-spacing:-.03em;color:#4f46e5;font-variant-numeric:tabular-nums;font-size:30px;font-weight:800}.reserve-balance.neg{color:var(--bad)}.reserve-next{text-align:right;background:var(--surface-2);border-radius:14px;padding:10px 14px}.reserve-next b{font-size:20px}.reserve-chart{grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;height:120px;display:grid}.reserve-bar{flex-direction:column;gap:4px;min-width:0;display:flex}.reserve-track{background:var(--surface-2);border-radius:8px;flex:1;align-items:flex-end;display:flex;overflow:hidden}.reserve-track i{background:linear-gradient(#818cf8,#6366f1);border-radius:6px 6px 0 0;width:100%;transition:height .5s;display:block}.reserve-bar.payout .reserve-track i{background:linear-gradient(#fbbf24,#f59e0b)}.reserve-bar span{text-align:center;color:var(--text-2);text-transform:capitalize;font-size:11px;font-weight:650}.reserve-opening{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reserve-opening input[type=month]{width:auto;padding:7px 10px}.buffer{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.buffer-ring{--p:0;background:conic-gradient(#0ea5e9 calc(var(--p) * 1%), var(--surface-2) 0);border-radius:50%;flex-shrink:0;place-items:center;width:110px;height:110px;display:grid}.buffer-ring span{background:var(--surface);text-align:center;border-radius:50%;place-content:center;width:84px;height:84px;font-size:24px;font-weight:800;line-height:1;display:grid}.buffer-ring small{color:var(--text-2);font-size:12px;font-weight:650}.buffer .stack{flex:1;min-width:180px}.eco-widget{flex-direction:column;gap:14px;display:flex}.eco-widget-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.eco-widget-left span{color:var(--text-2);font-size:13px;font-weight:650}.eco-widget-left b{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:800;display:block}.eco-widget-left b.neg{color:var(--bad)}.eco-widget-facts{text-align:right;color:var(--text-2);flex-direction:column;gap:2px;font-size:13px;display:flex}.eco-widget-facts b{color:var(--text)}.eco-widget a.more{font-size:14px;font-weight:650;text-decoration:none}.eco-widget-hint{background:var(--accent-soft);color:var(--accent-strong);border-radius:12px;align-items:center;gap:8px;padding:10px 12px;font-size:13.5px;font-weight:600;text-decoration:none;display:flex}.eco-widget-hint:hover{background:color-mix(in srgb, var(--accent) 18%, white)}@media (width<=1180px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.eco-grid.two,.eco-hero{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.eco-hero{padding:20px}.eco-hero-stats{grid-template-columns:minmax(0,1fr)}.eco-hero-stats>div{flex-flow:wrap;justify-content:space-between;align-items:baseline}.eco-bar{grid-template-columns:96px minmax(0,1fr) auto;gap:8px}.purchase-amount{flex:100%}.purchase-row .btn{flex:1}.eco-month{justify-content:space-between;width:100%}.eco-list>li{flex-wrap:wrap}.eco-inline-input input{width:96px}.reserve-chart{gap:3px}.eco-modal-grid{grid-template-columns:minmax(0,1fr)}}.media{max-width:1400px}.media-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:16px;display:flex}.media-head .page-title{margin-bottom:2px}.media-head p{margin:0;font-weight:600}.mtiles{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.mtile{border:1px solid color-mix(in srgb, var(--sc) 18%, var(--border));background:linear-gradient(150deg, color-mix(in srgb, var(--sc) 9%, var(--surface)), var(--surface) 70%);min-width:0;box-shadow:var(--shadow);border-radius:20px;align-items:center;gap:13px;padding:16px 16px 18px;display:flex;position:relative;overflow:hidden}.mtile-icon{color:#fff;background:linear-gradient(145deg, color-mix(in srgb, var(--sc) 78%, white), var(--sc));width:46px;height:46px;box-shadow:0 6px 14px -6px var(--sc);border-radius:15px;flex-shrink:0;place-items:center;display:inline-grid}.mtile-text{flex-direction:column;min-width:0;line-height:1.15;display:flex}.mtile-text b{letter-spacing:-.03em;white-space:nowrap;font-size:26px;font-weight:800}.mtile-text span{color:var(--text-2);margin-top:3px;font-size:12.5px;font-weight:650}.mtile-track{background:color-mix(in srgb, var(--sc) 12%, transparent);height:4px;position:absolute;bottom:0;left:0;right:0}.mtile-track i{background:var(--sc);border-radius:0 4px 4px 0;height:100%;transition:width .4s;display:block}.now-watching{margin-bottom:18px}.now-watching h2{margin-bottom:10px;font-size:16px}.now-row{scrollbar-width:thin;gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.now-card{cursor:pointer;background:linear-gradient(135deg, #eff0fe, var(--surface));border:1px solid color-mix(in srgb, #6366f1 25%, var(--border));border-radius:16px;flex:none;align-items:center;gap:12px;min-width:250px;padding:12px 14px;display:flex}.now-text{flex-direction:column;flex:1;min-width:0;display:flex}.now-text strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.media-toolbar{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.media-filters{scrollbar-width:none;gap:6px;padding:2px;display:flex;overflow-x:auto}.media-filters::-webkit-scrollbar{display:none}.media-filters .chip-btn,.ms-status .chip-btn{white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;padding:7px 13px;font-size:13.5px;display:inline-flex}.chip-btn.on{background:var(--sc,var(--accent));border-color:var(--sc,var(--accent));color:#fff}.chip-btn b{background:#00000014;border-radius:99px;padding:0 7px;font-size:11.5px}.chip-btn.on b{background:#ffffff40}.media-controls{flex-wrap:wrap;gap:8px;display:flex}.media-controls .media-search-input{flex:2 220px}.media-controls select{flex:140px;width:auto}.media-grid{grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:16px;display:grid}.media-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;box-shadow:var(--shadow);border-radius:18px;outline:none;flex-direction:column;transition:transform .18s,box-shadow .18s;display:flex;overflow:hidden}.media-card:hover,.media-card:focus-visible{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.media-card:focus-visible{box-shadow:0 0 0 3px var(--accent), var(--shadow-lg)}.media-poster{aspect-ratio:2/3;background:linear-gradient(135deg,#e2e8f0,#f1f5f9);position:relative;overflow:hidden}.media-poster img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.media-card:hover .media-poster img{transform:scale(1.04)}.poster-fallback{background:linear-gradient(135deg,#e0e7ff,#fce7f3);place-items:center;width:100%;height:100%;font-size:46px;display:grid}.media-status{background:var(--sc);color:#fff;border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:750;position:absolute;top:8px;left:8px;box-shadow:0 2px 8px #00000040}.media-kind{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172ab3;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;position:absolute;bottom:8px;left:8px}.media-fav{cursor:pointer;color:#ffffffbf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a73;border:none;border-radius:50%;width:32px;height:32px;font-size:17px;transition:transform .15s,color .15s;position:absolute;top:6px;right:6px}.media-fav:hover{transform:scale(1.12)}.media-fav.on{color:#fbbf24;background:#0f172aa6}.media-progress{background:#fff6;height:4px;position:absolute;bottom:0;left:0;right:0}.media-progress i{background:#6366f1;height:100%;display:block}.media-body{flex-direction:column;flex:1;gap:5px;padding:11px 12px 12px;display:flex}.media-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14.5px;line-height:1.25;display:-webkit-box;overflow:hidden}.media-meta{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.media-episode{background:#f3f3fe;border-radius:10px;justify-content:space-between;align-items:center;gap:6px;padding:6px 8px;display:flex}.media-episode div{flex-direction:column;line-height:1.2;display:flex}.media-episode b{font-size:13px}.media-episode small{color:var(--text-2);font-size:11px}.ep-btn{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:9px;padding:6px 10px;font-weight:800;transition:transform .12s}.ep-btn:active{transform:scale(.92)}.media-foot{justify-content:space-between;align-items:center;gap:6px;margin-top:auto;padding-top:4px;display:flex}.media-mark{border:1.5px dashed var(--border);color:var(--text-2);cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.media-mark:hover{border-color:var(--good);color:var(--good);border-style:solid}.media-seen{color:var(--good);font-size:12px;font-weight:700}.media-service{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;max-width:45%;font-size:11px;overflow:hidden}.stars{gap:1px;display:flex}.stars button{color:#d6dbe1;cursor:pointer;background:0 0;border:none;padding:0 1px;font-size:17px;line-height:1;transition:transform .1s,color .1s}.stars button.on{color:#f59e0b}.stars button:hover{transform:scale(1.2)}.stars.lg button{padding:0 2px;font-size:30px}.media-empty{text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:22px;justify-items:center;gap:10px;padding:60px 20px;display:grid}.media-empty-icon{font-size:48px}.media-empty p{margin:0}.media-stats{margin-top:22px;padding:0}.media-stats summary{cursor:pointer;padding:16px 20px;font-weight:750;list-style:none}.media-stats summary::-webkit-details-marker{display:none}.media-stats summary:after{content:"▾";float:right;color:var(--text-2);transition:transform .2s}.media-stats[open] summary:after{transform:rotate(180deg)}.mst{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 20px 20px;display:grid}.mst-card{background:var(--surface-2);border-radius:16px;flex-direction:column;gap:6px;min-width:0;padding:14px;display:flex}.mst-head{color:var(--text-2);font-size:13px;font-weight:700}.mst-big{letter-spacing:-.02em;font-size:24px;font-weight:800}.mst-big small{color:var(--text-2);font-size:14px}.mst-row{grid-template-columns:90px minmax(0,1fr) 24px;align-items:center;gap:8px;font-size:13px;display:grid}.mst-row span:first-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mst-bar{background:var(--surface);border-radius:99px;height:8px;overflow:hidden}.mst-bar i{background:linear-gradient(90deg,#e11d48,#fb7185);border-radius:99px;height:100%;display:block}.mst-months{grid-template-columns:repeat(12,1fr);align-items:end;gap:3px;height:76px;display:grid}.mst-months div{flex-direction:column;align-items:center;gap:3px;display:flex}.mst-months i{background:linear-gradient(#34d399,#16a34a);border-radius:4px 4px 2px 2px;width:100%;max-width:16px}.mst-months small{color:var(--text-2);font-size:9.5px}.media-search{flex-direction:column;gap:12px;max-width:640px;display:flex}.ms-bar{gap:8px;display:flex}.ms-bar input{flex:1;font-size:16px}.ms-bar select{width:auto}.ms-status{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ms-results{flex-direction:column;gap:6px;max-height:56vh;margin:0 -6px;padding:0 6px;display:flex;overflow-y:auto}.ms-note{color:var(--text-2);text-align:center;padding:18px 4px}.ms-hit{text-align:left;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:14px;align-items:center;gap:12px;padding:8px;transition:border-color .15s,background .15s;display:flex}.ms-hit:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.ms-hit:disabled{opacity:.6;cursor:wait}.ms-hit .ms-poster,.ms-hit .poster-fallback.ms-poster{object-fit:cover;border-radius:8px;flex-shrink:0;width:54px;height:81px;font-size:22px}.ms-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ms-overview{color:var(--text-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;display:-webkit-box;overflow:hidden}.ms-go{background:var(--accent);color:#fff;border-radius:10px;flex-shrink:0;place-items:center;min-width:40px;height:36px;padding:0 10px;font-weight:800;display:inline-grid}.ms-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:10px;display:flex}.media-detail{max-width:760px;padding:0;overflow:hidden auto}.mdt-hero{background-position:50% 25%;background-size:cover;align-items:flex-end;min-height:250px;display:flex;position:relative}.mdt-hero:before{content:"";background:linear-gradient(#0f172a26,#0f172ae0);position:absolute;inset:0}.mdt-hero.plain{background:linear-gradient(135deg,#312e81,#6366f1 55%,#ec4899)}.mdt-close{z-index:2;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000073;border:none;border-radius:50%;width:36px;height:36px;font-size:16px;position:absolute;top:12px;right:12px}.mdt-hero-in{color:#fff;align-items:flex-end;gap:18px;width:100%;padding:60px 22px 20px;display:flex;position:relative}.mdt-poster{aspect-ratio:2/3;object-fit:cover;border-radius:12px;flex-shrink:0;width:118px;box-shadow:0 10px 30px #00000080}.poster-fallback.mdt-poster{font-size:40px}.mdt-head{min-width:0}.mdt-head h2{letter-spacing:-.03em;text-shadow:0 2px 12px #0006;font-size:clamp(22px,3.4vw,30px)}.mdt-head p{opacity:.9;margin:4px 0 8px;font-weight:600}.mdt-chips{flex-wrap:wrap;gap:6px;display:flex}.mdt-chips span{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff2e;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:650}.mdt-body{flex-direction:column;gap:16px;padding:18px 22px;display:flex}.mdt-statuses{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.mdt-statuses button{border:1.5px solid var(--border);background:var(--surface);cursor:pointer;border-radius:12px;padding:10px 6px;font-size:13.5px;font-weight:700;transition:all .15s}.mdt-statuses button:hover{border-color:var(--sc)}.mdt-statuses button.on{background:var(--sc);border-color:var(--sc);color:#fff;transform:scale(1.03)}.mdt-rate{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.mdt-overview{color:color-mix(in srgb, var(--text) 85%, white);margin:0;line-height:1.6}.mdt-section h3{margin-bottom:10px;font-size:14.5px}.mdt-ep{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.mdt-ep-now{letter-spacing:-.02em;color:#6366f1;font-variant-numeric:tabular-nums;min-width:90px;font-size:26px;font-weight:800}.mdt-ep label{color:var(--text-2);align-items:center;gap:6px;font-size:13px;font-weight:650;display:flex}.mdt-ep label input{text-align:center;width:64px;color:var(--text);padding:7px 8px;font-weight:700}.mdt-ep-btns{gap:6px;margin-left:auto;display:flex}.mdt-bar{background:var(--surface-2);border-radius:99px;height:10px;margin-bottom:6px;overflow:hidden}.mdt-bar i{background:linear-gradient(90deg,#6366f1,#a855f7);border-radius:99px;height:100%;transition:width .4s;display:block}.mdt-facts{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;display:grid}.mdt-facts div{background:var(--surface-2);border-radius:12px;flex-direction:column;min-width:0;padding:9px 12px;display:flex}.mdt-facts span{color:var(--text-2);font-size:12px;font-weight:600}.mdt-facts b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.mdt-notes{white-space:pre-wrap;background:#fffbeb;border-radius:12px;margin:0;padding:12px}.mdt-actions{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border);background:#fffffff0;flex-wrap:wrap;align-items:center;gap:6px;padding:12px 22px;display:flex;position:sticky;bottom:0}.mdt-actions .grow{flex:1}.media-edit{max-width:640px}.me-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.me-grid .wide{grid-column:1/-1}.me-grid textarea{resize:vertical}.toast{z-index:80;color:#fff;box-shadow:var(--shadow-lg);background:#0f172a;border-radius:999px;padding:11px 18px;font-weight:650;animation:.25s cubic-bezier(.2,.9,.3,1.2) toastIn;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,20px)}}.media-widget{flex-direction:column;gap:10px;display:flex}.mw-now{background:#f4f4fe;border-radius:12px;align-items:center;gap:10px;padding:8px;display:flex}.mw-now img,.mw-now .poster-fallback{object-fit:cover;border-radius:7px;flex-shrink:0;width:38px;height:57px;font-size:18px}.mw-now .now-text{flex:1}.mw-recent{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.mw-recent a{width:64px;color:var(--text);flex:none;font-size:11px;text-decoration:none}.mw-recent img,.mw-recent .poster-fallback{object-fit:cover;border-radius:9px;width:64px;height:96px;font-size:22px;display:grid}.mw-recent span{white-space:nowrap;text-overflow:ellipsis;margin-top:3px;display:block;overflow:hidden}.mw-label{color:var(--text-2);font-size:12.5px;font-weight:700}@media (width<=1100px){.mst{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.mtiles{grid-template-columns:repeat(6,minmax(0,1fr))}.mtile{grid-column:span 2}.mtile:nth-child(n+4){grid-column:span 3}}@media (width<=640px){.media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mtiles{gap:8px}.mtile{border-radius:16px;flex-wrap:wrap;align-content:center;gap:6px 9px;padding:11px 11px 14px}.mtile-icon{border-radius:10px;width:32px;height:32px}.mtile-icon svg{width:17px;height:17px}.mtile-text{display:contents}.mtile-text b{flex:1;min-width:0;font-size:19px}.mtile-text span{white-space:nowrap;flex:0 0 100%;margin-top:0;font-size:11.5px}.mst{grid-template-columns:minmax(0,1fr);padding:0 14px 14px}.mdt-statuses{grid-template-columns:repeat(2,minmax(0,1fr))}.mdt-hero-in{gap:12px;padding:50px 16px 16px}.mdt-poster{width:86px}.mdt-body{padding:16px}.mdt-ep-btns{width:100%;margin-left:0}.mdt-ep-btns .btn{flex:1}.mdt-actions{padding:10px 16px}.me-grid{grid-template-columns:minmax(0,1fr)}.media-controls select{flex:45%}.modal.media-detail,.modal.media-search,.modal.media-edit{max-height:92vh}}.games{max-width:1400px}.game-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;display:grid}.game-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;box-shadow:var(--shadow);border-radius:18px;outline:none;flex-direction:column;transition:transform .18s,box-shadow .18s;display:flex;overflow:hidden}.game-card:hover,.game-card:focus-visible{box-shadow:var(--shadow-lg);transform:translateY(-4px)rotate(-.4deg)}.game-card.status-dropped{opacity:.6;filter:grayscale(.6)}.game-card.status-playing{box-shadow:0 0 0 2px #6366f1, var(--shadow)}.game-cover{aspect-ratio:2/3;background:linear-gradient(135deg,#1e1b4b,#312e81);position:relative;overflow:hidden}.game-cover img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.game-card:hover .game-cover img{transform:scale(1.05)}.game-cover-fallback{background:linear-gradient(135deg,#312e81,#7c3aed);place-items:center;width:100%;height:100%;font-size:44px;display:grid}.game-pill{background:var(--sc);color:#fff;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:750;position:absolute;top:8px;left:8px;box-shadow:0 2px 8px #0000004d}.game-source{filter:drop-shadow(0 1px 3px #0009);font-size:14px;position:absolute;top:7px;right:8px}.game-mc{color:#fff;border-radius:8px;place-items:center;min-width:30px;height:30px;font-size:13px;font-weight:800;display:grid;position:absolute;bottom:10px;right:8px;box-shadow:0 2px 8px #00000059}.game-progress{background:#ffffff59;height:5px;position:absolute;bottom:0;left:0;right:0}.game-progress i{background:linear-gradient(90deg,#6366f1,#a855f7);height:100%;display:block}.game-body{flex-direction:column;flex:1;gap:5px;padding:10px 12px 12px;display:flex}.game-title{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:14.5px;line-height:1.25;display:-webkit-box;overflow:hidden}.game-meta{font-size:12px}.game-start{border:1.5px dashed var(--border);color:var(--text-2);cursor:pointer;background:0 0;border-radius:999px;align-self:flex-start;margin-top:auto;padding:4px 10px;font-size:12px;font-weight:700}.game-start:hover{color:#6366f1;border-style:solid;border-color:#6366f1}.game-now .game-now-cover,.game-now .game-cover-fallback.game-now-cover{object-fit:cover;border-radius:8px;flex-shrink:0;width:44px;height:66px;font-size:20px}.game-pick{cursor:pointer;color:#fff;box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#312e81,#7c3aed 60%,#db2777);border-radius:20px;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:18px;padding:14px;animation:.25s cubic-bezier(.2,.9,.3,1.3) pop;display:flex}.game-pick>div:nth-child(2){flex-direction:column;flex:1;min-width:160px;display:flex}.game-pick strong{letter-spacing:-.02em;font-size:22px}.game-pick .muted{color:#fffc}.game-pick .game-pick-cover,.game-pick .game-cover-fallback{object-fit:cover;border-radius:10px;width:64px;height:96px;font-size:26px;box-shadow:0 6px 16px #0006}.game-pick .btn.ghost,.game-pick .icon-btn{color:#fff}.game-modal{max-width:760px}.game-modal-grid{grid-template-columns:170px minmax(0,1fr);gap:18px;margin-bottom:14px;display:grid}.game-modal-cover{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.game-modal-cover img,.game-modal-cover .game-cover-fallback{aspect-ratio:2/3;object-fit:cover;width:170px;box-shadow:var(--shadow-lg);border-radius:14px}.game-statuses{grid-template-columns:repeat(5,minmax(0,1fr))}.game-statuses button{padding:8px 4px;font-size:12.5px}.spark{background:var(--surface-2);border-radius:12px;padding:10px 12px}.spark-head{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:4px;font-size:13px;font-weight:650;display:flex}.spark-head b{color:#6366f1}.spark svg{width:100%;height:50px;display:block}.spark .line{fill:none;stroke:#6366f1;stroke-width:2.5px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.spark .fill{fill:#6366f124;stroke:none}.games-widget{flex-direction:column;gap:10px;display:flex}.gw-row{scrollbar-width:none;gap:10px;display:flex;overflow-x:auto}.gw-item{width:76px;color:var(--text);flex:none;font-size:11.5px;text-decoration:none}.gw-item img,.gw-item .game-cover-fallback{object-fit:cover;width:76px;height:114px;box-shadow:var(--shadow);border-radius:10px;font-size:24px;display:grid}.gw-item span{white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-weight:650;display:block;overflow:hidden}@media (width<=640px){.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.game-modal-grid{grid-template-columns:minmax(0,1fr)}.game-modal-cover{flex-flow:wrap;align-items:center}.game-modal-cover img,.game-modal-cover .game-cover-fallback{width:90px}.game-statuses{grid-template-columns:repeat(3,minmax(0,1fr))}}.srv{flex-direction:column;gap:14px;display:flex}.srv-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.srv-pill{border-radius:999px;align-items:center;gap:8px;min-width:0;padding:6px 12px;font-size:13.5px;font-weight:700;display:inline-flex}.srv-pill i{background:currentColor;border-radius:50%;flex-shrink:0;width:9px;height:9px}.srv-pill.good{color:#166534;background:#dcfce7}.srv-pill.good i{animation:2.4s ease-in-out infinite pulse}.srv-pill.warn{color:#92400e;background:#fef3c7}.srv-pill.bad{color:#9f1239;background:#ffe4e6}.srv-metrics{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.srv-metric{background:var(--surface-2);border-radius:14px;flex-direction:column;gap:6px;min-width:0;padding:10px 12px;display:flex}.srv-metric-head{color:var(--text-2);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 8px;font-size:12.5px;font-weight:650;display:flex}.srv-metric-head b{color:var(--text);font-variant-numeric:tabular-nums;font-size:13.5px}.srv-metric small{font-size:11.5px}.meter-track.thin{background:var(--surface);height:5px}.spark-svg{width:100%;display:block}.spark-empty{color:var(--text-2);place-items:center;font-size:11px;display:grid}.srv-services{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.srv-services li{background:var(--surface-2);border-radius:12px;flex-direction:column;gap:7px;min-width:0;padding:9px 11px;display:flex}.srv-services li.down{background:#fff1f2}.srv-svc-head{align-items:center;gap:8px;min-width:0;font-size:14px;display:flex}.srv-svc-head strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.srv-svc-meta{color:var(--text-2);white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px;font-weight:600}.srv-foot{flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:12px;display:flex}.srv-foot .stale{color:var(--bad);font-weight:700}.uptime-strip{gap:2px;height:14px;display:flex}.uptime-strip i{background:var(--border);border-radius:3px;flex:1;min-width:2px}.uptime-strip i.up{background:#22c55e}.uptime-strip i.part{background:#f59e0b}.uptime-strip i.down{background:#e11d48}.srv-detail{max-width:960px}.srv-detail .modal-head{flex-wrap:wrap;gap:10px}.srv-ranges{gap:6px;display:flex}.srv-ranges .chip-btn{padding:5px 12px;font-size:13px}.srv-ranges .chip-btn.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.srv-body{flex-direction:column;gap:16px;display:flex}.srv-issues{flex-wrap:wrap;gap:6px;display:flex}.srv-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.srv-tiles>div{background:var(--surface-2);border-radius:14px;flex-direction:column;gap:2px;min-width:0;padding:11px 13px;display:flex}.srv-tiles span{color:var(--text-2);font-size:12px;font-weight:650}.srv-tiles b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.srv-tiles small{color:var(--text-2);font-size:11.5px}.srv-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.srv-chart{border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:8px;min-width:0;padding:12px 14px;display:flex}.srv-chart:last-child:nth-child(odd){grid-column:1/-1}.srv-chart header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.srv-chart h3,.srv-block h3{font-size:14.5px}.srv-legend{color:var(--text-2);flex-wrap:wrap;gap:4px 14px;font-size:12px;display:flex}.srv-legend i{border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}.lc{gap:8px;display:flex}.lc-y{text-align:right;min-width:50px;color:var(--text-2);font-variant-numeric:tabular-nums;flex-direction:column;justify-content:space-between;font-size:10.5px;display:flex}.lc-plot{cursor:crosshair;touch-action:pan-y;flex:1;min-width:0;position:relative}.lc-plot svg{width:100%;height:100%;display:block;overflow:visible}.lc-grid{stroke:var(--border);stroke-width:1px}.lc-cursor{stroke:var(--text-2);stroke-width:1px;stroke-dasharray:3 3}.lc-tip{z-index:2;pointer-events:none;white-space:nowrap;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:2px;padding:6px 9px;font-size:12px;display:flex;position:absolute;top:0;transform:translate(10px)}.lc-tip.left{transform:translate(calc(-100% - 10px))}.lc-tip span{font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:flex}.lc-tip i{border-radius:50%;flex-shrink:0;width:8px;height:8px}.srv-block{flex-direction:column;gap:8px;display:flex}.srv-table-wrap{overflow-x:auto}.srv-table{border-collapse:collapse;width:100%;font-size:14px}.srv-table th{text-align:left;color:var(--text-2);white-space:nowrap;padding:6px 10px;font-size:12px;font-weight:650}.srv-table td{border-top:1px solid var(--border);vertical-align:top;white-space:nowrap;font-variant-numeric:tabular-nums;padding:9px 10px}.srv-table td:first-child{white-space:normal;min-width:190px}.srv-table td:first-child .uptime-strip{gap:1px;width:250px;max-width:100%;margin-top:6px}.srv-table .dot-status{margin-right:5px;display:inline-block}.srv-warn{color:var(--bad);font-weight:700}.srv-incidents{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.srv-incidents li{background:var(--surface-2);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.srv-incidents li.ongoing{background:#fff1f2}.dot-status.past{background:#f59e0b;box-shadow:0 0 0 3px #fef3c7}.srv-incidents li>div{flex-direction:column;flex:1;min-width:0;display:flex}.srv-incidents b{white-space:nowrap;font-size:13px}.srv-note{margin:0}@media (width<=720px){.srv-charts{grid-template-columns:minmax(0,1fr)}}@media (width<=480px){.srv-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.lc-y{min-width:42px}}.tw{flex-direction:column;gap:10px;display:flex}.tw-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.tw-count{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:800}.tw-streak{background:color-mix(in srgb, #f97316 14%, var(--surface));color:#c2410c;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:750}.tw-track{background:color-mix(in srgb, #6366f1 14%, var(--surface-2));border-radius:999px;height:6px;overflow:hidden}.tw-track i{background:linear-gradient(90deg,#818cf8,#6366f1);border-radius:999px;height:100%;transition:width .4s;display:block}.tw-days{justify-content:space-between;gap:4px;display:flex}.tw-day{color:inherit;flex-direction:column;align-items:center;gap:3px;min-width:0;text-decoration:none;display:flex}.tw-day small{color:var(--text-2);letter-spacing:.04em;font-size:10.5px;font-weight:750}.tw-day span{font-variant-numeric:tabular-nums;border:1.5px solid var(--border);background:var(--surface-2);width:34px;height:34px;color:var(--text-2);border-radius:11px;place-items:center;font-size:15px;font-weight:700;display:grid}.tw-day.today span{color:#4f46e5;border-color:#6366f1;box-shadow:0 0 0 3px #6366f12e}.tw-day.done span{color:#fff;background:linear-gradient(145deg,#818cf8,#6366f1);border-color:#0000}.tw-last{align-items:center;gap:10px;display:flex}.tw-last-icon{font-size:22px;line-height:1}.tw-last-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.tw-last-text strong{font-size:14px}.tw-last-text small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tw-pr{margin:0;font-size:13.5px}.tvw{flex-direction:column;gap:10px;display:flex}.tvw-main{color:var(--text);background:var(--surface-2);border-left:4px solid #0ea5e9;border-radius:14px;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;transition:transform .12s;display:flex}.tvw-main:hover{transform:translate(2px)}.tvw-main.tone-soon{border-left-color:#f59e0b}.tvw-main.tone-live{border-left-color:#16a34a}.tvw-icon{font-size:28px;line-height:1}.tvw-text{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.tvw-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.tvw-text small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tvw-when{white-space:nowrap;color:#0369a1;background:#e0f2fe;border-radius:999px;flex-shrink:0;padding:3px 10px;font-size:13px}.tvw-when.soon{color:#92400e;background:#fef3c7}.tvw-when.live{color:#166534;background:#dcfce7}.tvw-line{color:var(--text);flex-direction:column;gap:4px;font-size:13.5px;font-weight:650;text-decoration:none;display:flex}.tvw-bar{background:color-mix(in srgb, #ec4899 14%, var(--surface-2));border-radius:999px;height:6px;overflow:hidden}.tvw-bar i{background:linear-gradient(90deg,#f472b6,#ec4899);border-radius:999px;height:100%;transition:width .3s;display:block}.tvw-bar.over i{background:#e11d48}.tvw-today{flex-direction:column;gap:3px;margin:0;padding:0;font-size:13.5px;list-style:none;display:flex}.tvw-today li{gap:8px;display:flex}.tvw-today .t{font-variant-numeric:tabular-nums;width:40px;color:var(--text-2);flex-shrink:0;font-weight:750}.tvw-next{margin:0;font-size:13.5px}.vehicles{max-width:1200px}.veh-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.veh-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;box-shadow:var(--shadow);border-left:5px solid #16a34a;border-radius:18px;outline:none;flex-direction:column;gap:12px;padding:16px;transition:transform .18s,box-shadow .18s;display:flex}.veh-card:hover,.veh-card:focus-visible{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.veh-card.tone-warn{border-left-color:#f59e0b}.veh-card.tone-bad{border-left-color:#e11d48}.veh-card.sold{opacity:.6;border-left-color:#94a3b8}.veh-card-top{align-items:center;gap:12px;display:flex}.veh-card-photo{aspect-ratio:16/9;background:var(--surface-2);border-radius:12px;position:relative;overflow:hidden}.veh-card-photo img{object-fit:cover;width:100%;height:100%;display:block}.veh-card-photo-count{color:#fff;background:#0f172aa6;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700;position:absolute;bottom:8px;right:8px}.veh-icon{font-size:34px;line-height:1}.veh-card-title{flex-direction:column;flex:1;min-width:0;display:flex}.veh-card-title strong{overflow-wrap:anywhere;font-size:17px}.veh-plate{letter-spacing:.06em;white-space:nowrap;color:#111;background:#fff;border:2px solid #1e3a8a;border-radius:6px;padding:4px 9px;font-size:12.5px;font-weight:800;box-shadow:0 1px 3px #00000026}.veh-card-km{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.veh-card-km b{font-variant-numeric:tabular-nums;font-size:18px}.veh-chips{flex-wrap:wrap;gap:6px;display:flex}.veh-deadline{color:#166534;background:#dcfce7;border:1px solid #bbf7d0;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;display:inline-flex}.veh-deadline.warn{color:#92400e;background:#fef3c7;border-color:#fde68a}.veh-deadline.bad{color:#9f1239;background:#ffe4e6;border-color:#fecdd3}.veh-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.veh-tile{border:1px solid color-mix(in srgb, var(--sc) 22%, var(--border));background:linear-gradient(135deg, color-mix(in srgb, var(--sc) 11%, var(--surface)), var(--surface) 70%);min-width:0;box-shadow:var(--shadow);border-radius:20px;align-items:center;gap:14px;padding:16px 18px;display:flex;position:relative;overflow:hidden}.veh-tile:before{content:"";background:var(--sc);width:5px;position:absolute;top:0;bottom:0;left:0}.veh-tile-icon{background:color-mix(in srgb, var(--sc) 16%, var(--surface));width:46px;height:46px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--sc) 30%, transparent);border-radius:15px;flex-shrink:0;place-items:center;font-size:22px;display:grid}.veh-tile-body{flex-direction:column;min-width:0;line-height:1.2;display:flex}.veh-tile-label{color:var(--text-2);letter-spacing:.02em;font-size:12px;font-weight:700}.veh-tile-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap;margin:3px 0 2px;font-size:28px;font-weight:800}.veh-tile-value small{color:var(--text-2);letter-spacing:0;margin-left:5px;font-size:13px;font-weight:700}.veh-tile-sub{color:var(--text-2);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.veh-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:20px;display:grid}.veh-layout.with-panel{grid-template-columns:minmax(0,1fr) 340px}.veh-main{min-width:0}.veh-layout.with-panel .veh-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}.veh-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;flex-direction:column;gap:4px;padding:16px;display:flex;position:sticky;top:16px}.veh-panel-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.veh-panel-head h2{font-size:16px}.veh-group{--gc:#16a34a}.veh-group.warn{--gc:#d97706}.veh-group.bad{--gc:#e11d48}.veh-group h3{text-transform:uppercase;letter-spacing:.07em;color:var(--gc);align-items:center;gap:8px;margin:12px 0 6px;font-size:11.5px;font-weight:800;display:flex}.veh-group h3:after{content:"";background:color-mix(in srgb, var(--gc) 25%, transparent);flex:1;height:1px}.veh-group ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.veh-dl{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:none;border-radius:14px;align-items:center;gap:11px;padding:8px;transition:background .12s;display:flex}.veh-dl:hover,.veh-dl:focus-visible{background:var(--surface-2);outline:none}.veh-dl-icon{background:color-mix(in srgb, var(--gc) 13%, var(--surface));border-radius:12px;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:18px;display:grid}.veh-dl-main{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.veh-dl-main strong{font-size:14px}.veh-dl-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.veh-dl-when{white-space:nowrap;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:3px;display:flex}.veh-dl-when b{color:var(--gc);background:color-mix(in srgb, var(--gc) 11%, var(--surface));border-radius:999px;padding:3px 9px;font-size:12px;font-weight:750}.veh-dl-when small{padding-right:2px;font-size:11.5px}.veh-panel-more{align-self:center;margin-top:6px}.veh-modal{max-width:720px}.veh-detail{max-width:820px}.veh-section{margin:18px 0 10px;font-size:15px}.veh-sub{overflow-wrap:anywhere;margin:-6px 0 14px}.veh-facts{overflow-wrap:anywhere;margin:12px 0 0}.veh-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.veh-stats>div{background:var(--surface-2);border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.veh-stats span{color:var(--text-2);font-size:12px;font-weight:600}.veh-stats b{font-variant-numeric:tabular-nums;font-size:16px}.veh-deadlines{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.veh-photos{margin-bottom:14px}.veh-photos .veh-section{margin-top:4px}.veh-photos .form-error,.veh-photos>p{margin:10px 0 0}.veh-photo-notes{overflow-wrap:anywhere;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.veh-photo-notes>div{flex-direction:column;gap:4px;min-width:0;display:flex}.veh-photo-notes .icon-btn{color:inherit;flex-shrink:0}.veh-photo-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;display:grid}.veh-photo-add,.veh-photo-tile{aspect-ratio:1;border-radius:14px;min-width:0}.veh-photo-add{border:2px dashed var(--border);background:var(--surface-2);color:var(--text-2);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px;font-size:12.5px;font-weight:650;transition:border-color .12s,color .12s;display:flex}.veh-photo-add span{font-size:24px;line-height:1}.veh-photo-add:hover,.veh-photo-add:focus-visible{border-color:var(--accent);color:var(--accent-strong);outline:none}.veh-photo-tile{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;padding:0;position:relative;overflow:hidden}.veh-photo-tile img{object-fit:cover;width:100%;height:100%;display:block}.veh-photo-tile:hover,.veh-photo-tile:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.veh-photo-badge{background:#0f172a8c;border-radius:8px;padding:3px 5px;font-size:12px;line-height:1;position:absolute;top:5px;left:5px}.veh-photo-tile.pending{cursor:default;color:var(--text-2);place-items:center;font-size:13px;font-weight:700;display:grid}.veh-photo-tile.pending:hover{outline:none}.veh-photo-tile.pending i{background:var(--accent);height:4px;transition:width .15s;position:absolute;bottom:0;left:0}.veh-entry-form{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));align-items:end;gap:10px;display:grid}.veh-entry-form .veh-note{grid-column:span 2}.veh-entry-actions{justify-content:flex-end}.veh-log{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.veh-log li{border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.veh-log li:nth-child(odd){background:var(--surface-2)}.veh-log li.editing{outline:2px solid var(--accent)}.veh-log-icon{font-size:20px}.veh-log-main{flex-direction:column;flex:1;min-width:0;display:flex}.veh-log-main strong{overflow-wrap:anywhere;font-size:14px}.veh-log-amount{font-variant-numeric:tabular-nums;white-space:nowrap}.vw{flex-direction:column;gap:10px;display:flex}.vw-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.vw-row{color:var(--text);background:var(--surface-2);border-left:4px solid #16a34a;border-radius:12px;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;transition:transform .12s;display:flex}.vw-row:hover{transform:translate(2px)}.vw-row.warn{border-left-color:#f59e0b}.vw-row.bad{border-left-color:#e11d48}.vw-icon{text-align:center;flex-shrink:0;width:26px;font-size:18px}.vw-text{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.vw-text strong{font-size:14px}.vw-text small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vw-when{text-align:right;font-size:12.5px}.vw-row.warn .vw-when{color:#92400e}.vw-row.bad .vw-when{color:#be123c}@media (width<=900px){.veh-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1040px){.veh-layout.with-panel{grid-template-columns:minmax(0,1fr)}.veh-layout.with-panel .veh-panel{position:static}}@media (width<=640px){.veh-tiles{gap:10px}.veh-tile{border-radius:16px;gap:10px;padding:12px 12px 12px 14px}.veh-tile-icon{border-radius:12px;width:38px;height:38px;font-size:18px}.veh-tile-value{font-size:22px}.veh-grid{grid-template-columns:minmax(0,1fr)}.veh-entry-form .veh-note{grid-column:1/-1}.veh-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
