*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.left-0{left:0}.top-0{top:0}.z-\[60\]{z-index:60}.mb-1{margin-bottom:.25rem}.mb-2\.5{margin-bottom:.625rem}.mt-2\.5{margin-top:.625rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-7{height:1.75rem}.h-8{height:2rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-full{width:100%}.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.-translate-y-1{--tw-translate-y:-0.25rem}.-translate-y-1,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1\.5{gap:.375rem}.gap-2\.5{gap:.625rem}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[9px\]{border-radius:9px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-0{border-width:0}.border-solid{border-style:solid}.border-line{border-color:var(--line)}.bg-accent{background-color:var(--accent)}.bg-mist{background-color:var(--mist)}.bg-paper{background-color:var(--paper)}.bg-transparent{background-color:transparent}.p-3\.5{padding:.875rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.text-center{text-align:center}.font-mono{font-family:JetBrains Mono,monospace}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.tracking-wide{letter-spacing:.025em}.text-\[\#c8cdc2\]{--tw-text-opacity:1;color:rgb(200 205 194/var(--tw-text-opacity,1))}.text-ink{color:var(--ink)}.text-line{color:var(--line)}.text-moss{color:var(--moss)}.text-on-accent{color:var(--on-accent)}.text-stem{color:var(--stem)}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-\[0_0_0_2px_var\(--dew\)\]{--tw-shadow:0 0 0 2px var(--dew);--tw-shadow-colored:0 0 0 2px var(--tw-shadow-color)}.shadow-\[0_0_0_2px_var\(--dew\)\],.shadow-\[0_0_0_3px_var\(--dew\)\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_3px_var\(--dew\)\]{--tw-shadow:0 0 0 3px var(--dew);--tw-shadow-colored:0 0 0 3px var(--tw-shadow-color)}.shadow-\[0_20px_48px_rgba\(26\2c 31\2c 27\2c 0\.18\)\]{--tw-shadow:0 20px 48px rgba(26,31,27,.18);--tw-shadow-colored:0 20px 48px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_0_0_2px_var\(--accent\)\]{--tw-shadow:inset 0 0 0 2px var(--accent);--tw-shadow-colored:inset 0 0 0 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition{transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--paper:#fff;--surface-2:#fbfdf9;--mist:#f7f8f4;--dew:#eaf1e4;--line:#e7e9e2;--line-soft:#eef0ea;--ink:#1a1f1b;--stem:#5f6b61;--accent:#1f5132;--accent-strong:#163d26;--accent-wash:color-mix(in srgb,var(--accent) 12%,var(--paper));--moss:#1f5132;--leaf:#3e7c5c;--slate:#345f8c;--terra:#c9824a;--warn:#b25030;--sage:#8fa88a;--ashgreen:#8c9a87;--slate-wash:color-mix(in srgb,var(--slate) 12%,var(--paper));--terra-wash:color-mix(in srgb,var(--terra) 14%,var(--paper));--danger:#9a3412;--danger-bg:color-mix(in srgb,var(--danger) 12%,var(--paper));--danger-border:color-mix(in srgb,var(--danger) 28%,var(--paper));--info:#2a4a73;--info-bg:color-mix(in srgb,var(--info) 12%,var(--paper));--info-border:color-mix(in srgb,var(--info) 26%,var(--paper));--caution:#92651a;--caution-bg:color-mix(in srgb,var(--caution) 13%,var(--paper));--caution-border:color-mix(in srgb,var(--caution) 26%,var(--paper));--cat-groceries:#1f5132;--cat-dining:#3e7c5c;--cat-transport:#345f8c;--cat-shopping:#c9824a;--cat-subs:#8fa88a;--cat-other:#8c9a87;--gain:#5b93cc;--skel:#ebefe8;--shadow-color:26,31,27;--on-accent:#fff;--tooltip-bg:#1a1f1b;--tooltip-fg:#fff;--glass:color-mix(in srgb,var(--paper),transparent 28%);color-scheme:light}[data-theme=dark]{--paper:#181c1a;--surface-2:#1f2421;--mist:#232825;--dew:#1f3429;--line:#2f3531;--line-soft:#262b27;--ink:#e7ece8;--stem:#97a399;--accent:#2d6a45;--accent-strong:#388057;--moss:#5fb487;--leaf:#5aa87f;--slate:#5d93cc;--terra:#d59a63;--warn:#d9785a;--sage:#9bb596;--ashgreen:#9eac98;--danger:#ef9a7a;--info:#8fb4dd;--caution:#d9b777;--cat-groceries:#5fb487;--cat-dining:#6cc093;--cat-transport:#6ea0d6;--cat-shopping:#dba067;--cat-subs:#a7c0a2;--cat-other:#aab7a5;--gain:#8ab8e6;--skel:#262c28;--shadow-color:0,0,0;--on-accent:#fff;--tooltip-bg:#2c332e;--tooltip-fg:#e7ece8;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}svg{display:block}.mono{font-family:JetBrains Mono,ui-monospace,monospace}.serif-i{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400}.eyebrow{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.12em;color:var(--leaf);text-transform:uppercase;display:inline-flex;align-items:center;gap:8px}.app{display:flex;min-height:100vh;width:100%}.drag-strip{display:none}html.desktop-titlebar .drag-strip{display:block;position:fixed;top:0;left:0;right:0;height:28px;z-index:400;-webkit-app-region:drag}html.desktop-titlebar .header,html.desktop-titlebar .sidebar-head{-webkit-app-region:drag}html.desktop-titlebar .header a,html.desktop-titlebar .header button,html.desktop-titlebar .header input,html.desktop-titlebar .header label,html.desktop-titlebar .header select,html.desktop-titlebar .sidebar-head a,html.desktop-titlebar .sidebar-head button{-webkit-app-region:no-drag}.sidebar{width:210px;flex-shrink:0;background:var(--mist);border-right:1px solid var(--line);padding:28px 20px;display:flex;flex-direction:column;gap:28px;position:sticky;top:0;align-self:flex-start;height:100vh;transition:width .16s ease,padding .16s ease}.sidebar.collapsed{width:64px;padding:28px 0;align-items:center}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sidebar.collapsed .sidebar-head{flex-direction:column;gap:14px}.sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;border-radius:8px;cursor:pointer;color:var(--stem);flex:none;transition:background .12s ease}.sidebar-toggle:hover{background:var(--dew)}.logo{display:flex;align-items:center;gap:10px}.logo-name{font-size:17px;font-weight:600;letter-spacing:-.01em}.logo-ver{margin-left:6px}.logo-ver,.nav-label{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--stem)}.nav-label{letter-spacing:.12em;text-transform:uppercase}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:500;color:var(--ink);cursor:pointer;text-decoration:none;transition:background .12s ease}.nav-item:hover{background:var(--dew)}.nav-item svg{stroke:var(--stem)}.nav-item.active{background:var(--accent);color:var(--on-accent)}.nav-item.active svg{stroke:var(--on-accent)}.logo svg{stroke:var(--moss)}.nav-item .badge{margin-left:auto;min-width:18px;height:18px;padding:0 6px;border-radius:9px;background:var(--slate);font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500;color:var(--on-accent);display:inline-flex;align-items:center;justify-content:center}.sidebar.collapsed .nav{align-items:center;gap:4px}.sidebar.collapsed .nav-item{position:relative;width:40px;height:40px;padding:0;justify-content:center;gap:0}.sidebar.collapsed .nav-item .badge{position:absolute;top:4px;right:4px;margin-left:0;min-width:16px;height:16px;padding:0 4px}.sidebar-spacer{flex:1}.month-card{position:relative;background:var(--dew);border-radius:10px;padding:16px;overflow:hidden;display:flex;flex-direction:column;gap:6px}.month-card .sprig-bg{position:absolute;top:-10px;right:-12px;opacity:.18}.month-card .label{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--moss)}.month-card .month{font-family:"Instrument Serif",serif;font-style:italic;font-size:28px;line-height:1;color:var(--moss)}.month-card .meta{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--stem)}.main{flex:1;min-width:0;padding:28px 40px 56px;flex-direction:column}.header,.main{display:flex;gap:24px}.header{align-items:flex-end;justify-content:space-between}.header h1{margin:0;font-size:40px;font-weight:600;letter-spacing:-.02em;line-height:1;display:flex;align-items:baseline;gap:14px}.header h1 .accent{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;font-size:46px;color:var(--moss)}.header-actions{display:flex;align-items:center;gap:10px}.pill{display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-family:Inter,sans-serif;font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;transition:background .12s ease,border-color .12s ease}.pill:hover{background:var(--mist)}.pill svg{stroke:var(--stem)}.pill.icon-only{padding:10px}.pill.btn-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.pill.btn-primary:hover{background:var(--accent-strong)}.pill.btn-primary svg{stroke:var(--on-accent)}.pill.btn-danger{color:var(--danger);border-color:var(--danger-border);background:var(--danger-bg)}.pill.btn-danger:hover{background:color-mix(in srgb,var(--danger) 18%,var(--paper))}.pill.btn-danger:disabled{opacity:.5;cursor:default}.pill.sheets svg{stroke:none}.card{border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:24px 28px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.card-head .title{font-size:22px;font-weight:600;letter-spacing:-.01em;margin-top:6px}.card-head .sub{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--stem);margin-top:4px}.card-head-left{display:flex;flex-direction:column}.figure{display:flex;align-items:baseline;gap:4px}.figure .currency{font-family:JetBrains Mono,monospace;font-weight:400;color:var(--stem)}.figure .big{font-weight:600;letter-spacing:-.02em;line-height:1}.figure .cents{font-family:JetBrains Mono,monospace;color:var(--stem)}.skel{display:inline-block;position:relative;overflow:hidden;background:var(--skel);border-radius:8px;vertical-align:middle}.skel:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.55) 50%,hsla(0,0%,100%,0));animation:skel-shine 1.4s ease-in-out infinite}@keyframes skel-shine{to{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){.skel:after{animation:skel-pulse 1.6s ease-in-out infinite;transform:none;background:hsla(0,0%,100%,.4)}@keyframes skel-pulse{0%,to{opacity:.35}50%{opacity:.75}}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:34px 20px;min-height:120px}.empty-emoji{font-size:26px;opacity:.85;margin-bottom:2px}.empty-title{font-size:14px;font-weight:600;color:var(--stem,#5b6a5e)}.empty-hint{font-size:12.5px;color:var(--stem,#8a978c);opacity:.8;max-width:280px}.auth-loading{min-height:100vh;width:100%}.account{margin-top:12px;padding-top:12px;border-top:1px solid var(--line-soft)}.sidebar.collapsed .account{width:100%;display:flex;justify-content:center}.account-info{display:flex;align-items:center;min-width:0}.account-profile{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;color:var(--stem);flex:none;transition:background .12s ease}.account-profile:hover{background:var(--dew)}.account-profile.active{background:var(--accent)}.account-profile.active svg{stroke:var(--on-accent)}.sidebar.collapsed .account-profile{margin-left:0;width:40px;height:40px}.account-dot{width:7px;height:7px;border-radius:50%;background:var(--leaf);flex:none}.account-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-email,.account-signout{font-size:12px;color:var(--stem)}.account-signout{margin-top:8px;border:none;background:none;cursor:pointer;padding:0;text-decoration:underline}.account-signout:hover{color:var(--moss,#1f5132)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-accent-strong:hover{background-color:var(--accent-strong)}.hover\:bg-dew:hover{background-color:var(--dew)}.hover\:bg-mist:hover{background-color:var(--mist)}.hover\:text-ink:hover{color:var(--ink)}.login{min-height:100vh;width:100%;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 50% -10%,var(--accent-wash) 0,var(--paper) 55%,var(--mist) 100%)}.login-card{width:100%;max-width:380px;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 50px rgba(var(--shadow-color),.12);padding:30px 28px 26px}.login-back{border:none;background:none;color:var(--stem);font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:0;margin-bottom:14px}.login-back:hover,.login-brand{color:var(--moss)}.login-brand{display:flex;align-items:center;gap:9px;font-weight:650;font-size:18px;margin-bottom:22px}.login-title{font-size:21px;font-weight:650;color:var(--ink)}.login-form{display:flex;flex-direction:column}.login-label{font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--stem);margin:12px 0 5px}.login-input{border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:14px;color:var(--ink);outline:none}.login-input:focus{border-color:var(--accent)}.login-btn{margin-top:20px;border:none;background:var(--accent);color:var(--on-accent);font-size:14px;font-weight:600;padding:11px;border-radius:10px;cursor:pointer}.login-btn:hover{background:var(--accent-strong)}.login-btn:disabled{opacity:.6;cursor:default}.login-error{font-size:12.5px;color:var(--danger);background:var(--danger-bg)}.login-error,.login-warn{margin-top:14px;border-radius:9px;padding:9px 12px}.login-warn{font-size:12px;color:var(--caution);background:var(--caution-bg);line-height:1.4}.login-warn code{font-size:11px;background:var(--caution-border);padding:1px 4px;border-radius:4px}.login-switch{margin-top:20px;font-size:13px;color:var(--stem);text-align:center}.login-link{border:none;background:none;color:var(--moss);font-weight:600;font-size:inherit;cursor:pointer;padding:0;text-decoration:underline}.login-confirm p{font-size:13.5px;color:var(--ink);line-height:1.5;margin:12px 0 18px}.land{position:relative;min-height:100vh;width:100%;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(1100px 540px at 50% -8%,var(--accent-wash) 0,var(--paper) 52%,var(--mist) 100%);color:var(--ink,#1a1f1b)}.land-leaves{position:absolute;inset:0;pointer-events:none;z-index:0}.land-leaf{position:absolute;opacity:.55;animation:land-drift 9s ease-in-out infinite;will-change:transform}@keyframes land-drift{0%,to{translate:0 0}50%{translate:0 -14px}}@media (prefers-reduced-motion:reduce){.land-leaf{animation:none}}.land-top{position:relative;z-index:1;justify-content:space-between;padding:22px 30px}.land-brand,.land-top{display:flex;align-items:center}.land-brand{gap:9px;font-weight:650;font-size:18px}.land-brand,.land-signin{color:var(--moss,#1f5132)}.land-signin{border:1px solid var(--line,#e6ebe4);background:var(--glass);font:inherit;font-size:13.5px;font-weight:600;padding:9px 18px;border-radius:10px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.land-signin:hover{background:var(--paper);border-color:var(--line)}.land-hero{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 24px 56px;max-width:760px;margin:0 auto}.land-eyebrow{margin-bottom:18px}.land-eyebrow svg{transform:rotate(-45deg)}.land-title{margin:0;font-size:clamp(36px,6vw,60px);font-weight:600;letter-spacing:-.02em;line-height:1.04;color:var(--ink,#1a1f1b)}.land-title .serif-i{font-size:1.12em;color:var(--moss,#1f5132)}.land-sub{margin:20px 0 0;max-width:520px;font-size:16px;line-height:1.6;color:var(--stem,#5f6b61)}.land-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}.land-btn{border:none;font:inherit;font-size:14.5px;font-weight:600;padding:13px 26px;border-radius:12px;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}.land-btn:active{transform:translateY(1px)}.land-btn.primary{background:var(--accent);color:var(--on-accent);box-shadow:0 10px 24px rgba(var(--shadow-color),.22)}.land-btn.primary:hover{background:var(--accent-strong)}.land-btn.ghost{background:var(--glass);color:var(--moss,#1f5132);border:1px solid var(--line,#e0e7da)}.land-btn.ghost:hover{background:var(--paper);border-color:var(--line)}.land-features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px;width:100%}.land-feature{background:var(--glass);border:1px solid var(--line,#e6ebe4);border-radius:16px;padding:22px 20px;text-align:left;backdrop-filter:blur(2px)}.land-feature-ic{width:42px;height:42px;border-radius:11px;background:var(--dew,#eaf1e4);display:grid;place-items:center;margin-bottom:14px}.land-feature-title{font-size:15px;font-weight:650;color:var(--ink,#1a1f1b)}.land-feature-body{margin-top:5px;font-size:13px;line-height:1.5;color:var(--stem,#5f6b61)}.land-foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:22px;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--stem,#8a978c)}.land-foot svg{transform:rotate(-45deg)}@media (max-width:640px){.land-features{grid-template-columns:1fr}.land-sub{font-size:15px}}.onb{position:fixed;inset:0;z-index:1200;animation:onb-fade .22s ease-out}.onb,.onb-panel{background:var(--paper)}.onb-panel{position:relative;width:100%;height:100%;display:flex;flex-direction:column}@keyframes onb-fade{0%{opacity:0}to{opacity:1}}.onb-back{position:absolute;top:22px;left:22px;z-index:2;display:inline-flex;align-items:center;gap:4px;border:none;background:none;font:inherit;font-size:13.5px;font-weight:600;color:var(--stem);cursor:pointer;padding:8px 12px 8px 8px;border-radius:9px}.onb-back:hover{background:var(--accent-wash);color:var(--ink)}.onb-back:disabled{opacity:.5;cursor:default}.onb-back svg{transform:rotate(180deg)}.onb-content{flex:1;overflow-y:auto;padding:9vh 24px 24px}.onb-inner{width:60%;margin:0 auto}.onb-head{padding:0 0 18px}.onb-eyebrow{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--leaf)}.onb-title{margin:6px 0 0;font-size:20px;font-weight:650;color:var(--ink)}.onb-body{padding:0}.onb-label{display:block;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--stem);margin:14px 0 5px}.onb-body>.onb-label:first-child{margin-top:0}.onb-input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:14px;color:var(--ink);background:var(--paper);outline:none}.onb-input:focus{border-color:var(--accent)}.onb-hint{font-size:11.5px;color:var(--stem);margin-top:6px}.onb-sub{font-size:13px;color:var(--stem);line-height:1.45}.onb-err{font-size:12px;color:var(--warn);margin-top:6px}.onb-row{display:flex;gap:12px}.onb-handle-wrap{display:flex;align-items:center;gap:8px}.onb-at{flex:none;color:var(--stem);font-size:17px;font-weight:600}.onb-handle-wrap .onb-input{flex:1}.onb-foot{position:relative;justify-content:flex-end;gap:16px;padding:18px 24px 32px;border-top:1px solid var(--line-soft)}.onb-foot,.onb-leaves{display:flex;align-items:center}.onb-leaves{position:absolute;left:50%;transform:translateX(-50%);gap:11px}.onb-leaf{fill:var(--line);transition:fill .35s ease,transform .35s ease}.onb-leaf.on{fill:var(--moss);transform:scale(1.12)}.onb-actions{display:flex;justify-content:flex-end;gap:10px}.onb-actions .onb-btn{justify-content:center;padding:12px 22px}.onb-btn{border:none;background:var(--accent);color:var(--on-accent);font:inherit;font-size:13.5px;font-weight:600;padding:10px 22px;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.onb-btn:hover{background:var(--accent-strong)}.onb-btn:disabled{opacity:.55;cursor:default}.onb-btn.ghost{color:var(--moss);border:1px solid var(--line)}.onb-btn.ghost,.onb-btn.ghost:hover{background:var(--accent-wash)}.onb-added{display:flex;flex-direction:column;gap:8px;margin:14px 0 4px}.onb-added-row{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:11px;padding:9px 12px}.onb-added-chip{flex:none;min-width:46px;height:30px;border-radius:6px;color:var(--on-accent);font-size:10.5px;font-weight:700;letter-spacing:.03em;display:grid;place-items:center;padding:0 7px}.onb-added-name{flex:1;min-width:0;font-size:13.5px;font-weight:600;color:var(--ink)}.onb-added-type{font-size:11.5px;color:var(--stem)}.onb-form{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--surface-2)}.onb-typetoggle{display:flex;gap:8px}.onb-type{flex:1;border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:9px;font:inherit;font-size:13px;font-weight:600;color:var(--stem);cursor:pointer}.onb-type.on{border-color:var(--accent);color:var(--moss);background:var(--accent-wash)}.onb-swatches{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.onb-swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}.onb-swatch.on{border-color:var(--ink)}.onb-add{margin-top:16px;width:100%;justify-content:center}.onb-wallets{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}.onb-wallet-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.onb-wallet-chip{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:7px 14px;font:inherit;font-size:12.5px;font-weight:600;color:var(--stem);cursor:pointer}.onb-wallet-chip.on{background:var(--accent-wash);font-weight:700}.toaster{position:fixed;top:16px;right:16px;z-index:3000;flex-direction:column;width:min(360px,calc(100vw - 32px));pointer-events:none}.toast,.toaster{display:flex;gap:10px}.toast{pointer-events:auto;align-items:center;width:100%;text-align:left;padding:11px 12px;border-radius:12px;border:1px solid;background:var(--paper);font:inherit;font-size:13.5px;line-height:1.35;cursor:pointer;box-shadow:0 10px 30px rgba(var(--shadow-color),.16);transform-origin:top right;animation:toast-in .22s cubic-bezier(.2,.8,.3,1)}.toast.leaving{pointer-events:none;overflow:hidden;animation:toast-out .2s ease-in forwards}.toast:hover{filter:brightness(.985)}.toast-icon{flex:none;display:grid;place-items:center}.toast-msg{flex:1;min-width:0}.toast-x{flex:none;opacity:.45;display:grid;place-items:center}.toast:hover .toast-x{opacity:.8}.toast-error{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger)}.toast-success{border-color:color-mix(in srgb,var(--accent) 30%,var(--paper));background:var(--accent-wash);color:var(--moss)}.toast-info{border-color:var(--info-border);background:var(--info-bg);color:var(--info)}@keyframes toast-in{0%{transform:translateX(16px);opacity:0}to{transform:none;opacity:1}}@keyframes toast-out{0%{transform:scale(1);opacity:1;max-height:80px}55%{transform:scale(.72);opacity:0;max-height:80px;margin-bottom:0;padding-top:11px;padding-bottom:11px}to{transform:scale(.72);opacity:0;max-height:0;margin-bottom:-10px;padding-top:0;padding-bottom:0;border-width:0}}@media (prefers-reduced-motion:reduce){.toast{animation:none}.toast.leaving{animation:toast-fade .18s linear forwards}@keyframes toast-fade{to{opacity:0}}}