:root{
	--bg:#07060c;--bg2:#0d0b16;--bg3:#141122;
	--glass:rgba(255,255,255,.035);--glass2:rgba(255,255,255,.065);--glass3:rgba(255,255,255,.1);
	--edge:rgba(255,255,255,.08);--edge2:rgba(255,255,255,.15);
	--ink:#f3f0fa;--ink2:#b5aec9;--ink3:#7c7595;
	--royal:#ab47bc;--royal2:#d38be4;--ion:#8b7bff;--mint:#43e0b7;--gold:#f2c25b;--coral:#ff6f86;--sky:#6cc7ff;
	--ok:var(--mint);--warn:var(--gold);--bad:var(--coral);
	--rx:28px;--rl:20px;--rm:14px;--rs:10px;
	--ease:cubic-bezier(.2,.75,.2,1);
	--f:ui-sans-serif,system-ui,-apple-system,"SF Pro Text","Segoe UI Variable Text","Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
	--fd:ui-sans-serif,system-ui,-apple-system,"SF Pro Display","Segoe UI Variable Display","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
	--m:ui-monospace,"SF Mono","Cascadia Code",Menlo,Consolas,monospace;
	--shadow:0 30px 80px -30px rgba(0,0,0,.8);
	--rim:linear-gradient(135deg,rgba(211,139,228,.55),rgba(255,255,255,.06) 38%,rgba(255,255,255,.04) 62%,rgba(139,123,255,.45));
	--h0:#b65ddb;--h1:#ff7a8a;--h2:#44d7a8;--h3:#f2c25b;--h4:#5cc3ff;--h5:#8b7bff;--h6:#2fc6c6;--h7:#ff9f5a;--h8:#ff6fc1;--h9:#a6e05a;--h10:#e58aa8;--h11:#9aa7c7;
	color-scheme:dark
}
	:root[data-theme=light]{
		--bg:#f6f4fb;--bg2:#efecf7;--bg3:#e7e2f3;
		--glass:rgba(255,255,255,.72);--glass2:rgba(255,255,255,.9);--glass3:#fff;
		--edge:rgba(36,20,64,.09);--edge2:rgba(36,20,64,.16);
		--ink:#17131f;--ink2:#4e4762;--ink3:#7d7690;
		--royal2:#8e2fa1;--mint:#0f9e78;--gold:#a8770c;--coral:#d7354f;--sky:#1f7fc0;
		--shadow:0 30px 70px -36px rgba(48,22,90,.35);
		--rim:linear-gradient(135deg,rgba(171,71,188,.45),rgba(36,20,64,.06) 38%,rgba(36,20,64,.05) 62%,rgba(139,123,255,.4));
		color-scheme:light
	}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--f);overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11"}
img,svg{display:block;max-width:100%}
a{color:var(--royal2);text-decoration:none;transition:color .2s}
a:hover{color:var(--ink)}
h1,h2,h3,h4,h5,p,ul,ol,dl,figure{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit}
:focus-visible{outline:2px solid var(--royal2);outline-offset:3px;border-radius:8px}
::selection{background:rgba(171,71,188,.4);color:inherit}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.i{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:inline-block;vertical-align:-.22em}
.i-sm{width:1em;height:1em;vertical-align:-.14em}
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:8px}
.skip:focus{left:8px}
.wrap{width:min(1200px,100% - 40px);margin-inline:auto}
.narrow{width:min(760px,100% - 40px);margin-inline:auto}
.narrow-l{width:min(940px,100% - 40px);margin-inline:auto}
.r{color:var(--royal)}
.muted{color:var(--ink2)}
.small{font-size:.875rem}
.mono{font-family:var(--m);font-size:.92em}
.center{text-align:center}
.hp{position:absolute;left:-9999px}
.amt,.num,.big-num,.hero-amt{font-variant-numeric:tabular-nums}
.ok-text{color:var(--ok)}.warn-text{color:var(--warn)}.neg-text,.neg{color:var(--bad)}
.mt{margin-top:1.4rem}
.logo-light{display:none}
:root[data-theme=light] .logo-dark{display:none}:root[data-theme=light] .logo-light{display:block}

.space{position:fixed;inset:0;z-index:-3;overflow:hidden;pointer-events:none}
.space i{position:absolute;width:62vmax;height:62vmax;border-radius:50%;filter:blur(110px);opacity:.22;animation:cloud 26s ease-in-out infinite alternate}
.space i:first-child{background:var(--royal);left:-24vmax;top:-30vmax}
.space i:last-child{background:var(--ion);right:-26vmax;bottom:-36vmax;animation-delay:-13s;opacity:.16}
@keyframes cloud{to{transform:translate3d(7vmax,6vmax,0) scale(1.12)}}
:root[data-theme=light] .space i{opacity:.14}:root[data-theme=light] .space i:last-child{opacity:.1}

.mega{font-family:var(--fd);font-weight:850;letter-spacing:-.055em;line-height:.92;font-size:clamp(3.1rem,8.4vw,7.2rem);display:grid;gap:.12em}
.mega-2{font-size:.52em;letter-spacing:-.04em;font-weight:760;color:var(--ink2);background:linear-gradient(100deg,var(--ink2) 20%,var(--royal2) 45%,var(--ink2) 70%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 9s linear infinite}
@keyframes sheen{to{background-position:-300% 0}}
.display-s{font-family:var(--fd);font-size:clamp(2.2rem,5vw,3.6rem);line-height:1;letter-spacing:-.045em;font-weight:820}
.h1{font-family:var(--fd);font-size:clamp(2.1rem,4.6vw,3.5rem);line-height:1.04;letter-spacing:-.042em;font-weight:800;margin-bottom:1rem}
.h2{font-family:var(--fd);font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.1;letter-spacing:-.035em;font-weight:780}
.h3{font-family:var(--fd);font-size:1.35rem;letter-spacing:-.02em;font-weight:720;margin:.4rem 0 .5rem}
.h4{font-size:1.04rem;font-weight:680;letter-spacing:-.01em;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.lead{font-size:clamp(1.05rem,1.5vw,1.2rem);color:var(--ink2);max-width:38rem;margin-top:1rem}
.lead-s{font-size:1.06rem;color:var(--ink2);margin-top:.6rem}
.lead-wide{max-width:50rem}
.kicker{display:inline-flex;align-items:center;gap:.45rem;font-size:.86rem;font-weight:650;color:var(--royal2);margin-bottom:.7rem}
.eyebrow{font-size:.86rem;font-weight:650;color:var(--royal2);margin-bottom:.7rem;display:flex;align-items:center;gap:.4rem}
.note{display:flex;gap:.5rem;align-items:flex-start;font-size:.88rem;color:var(--ink2);margin-top:1.4rem}
.chip-k{display:inline-flex;align-items:center;gap:.5rem;padding:.42rem .9rem;border-radius:999px;font-size:.84rem;color:var(--royal2);background:rgba(171,71,188,.1);border:1px solid rgba(171,71,188,.32);margin-bottom:1.5rem}

.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.78rem 1.3rem;border:0;border-radius:999px;font-weight:650;font-size:.96rem;line-height:1.2;color:#fff;cursor:pointer;background:linear-gradient(135deg,#c35bd6 0%,var(--royal) 45%,#6f55e8 120%);box-shadow:0 12px 32px -12px rgba(171,71,188,.85),inset 0 1px 0 rgba(255,255,255,.28);transition:transform .25s var(--ease),box-shadow .25s var(--ease),filter .25s;overflow:hidden;white-space:nowrap;text-decoration:none}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.32) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.btn:hover{color:#fff;transform:translateY(-2px);box-shadow:0 18px 42px -14px rgba(171,71,188,.95),inset 0 1px 0 rgba(255,255,255,.34)}
.btn:hover::after{transform:translateX(120%)}
.btn:active{transform:translateY(0) scale(.98)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn-ghost{color:var(--ink);background:var(--glass2);box-shadow:inset 0 0 0 1px var(--edge2)}
.btn-ghost:hover{color:var(--ink);background:var(--glass3);box-shadow:inset 0 0 0 1px rgba(171,71,188,.5)}
.btn-danger{color:var(--coral);background:rgba(255,111,134,.1);box-shadow:inset 0 0 0 1px rgba(255,111,134,.35)}
.btn-danger:hover{color:#fff;background:var(--coral)}
.btn-sm{padding:.52rem .95rem;font-size:.86rem}
.btn-lg{padding:1rem 1.75rem;font-size:1.04rem}
.btn-block{width:100%}
.cta-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border-radius:11px;border:1px solid var(--edge2);background:var(--glass);color:var(--ink);cursor:pointer;flex:none;transition:.2s;list-style:none}
.icon-btn::-webkit-details-marker{display:none}
.icon-btn:hover,.icon-btn.done{background:var(--royal);border-color:var(--royal);color:#fff}
.link-btn{background:none;border:0;color:var(--ink2);cursor:pointer;padding:.3rem 0;display:inline-flex;gap:.4rem;align-items:center}

.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.26rem .7rem;border-radius:999px;font-size:.76rem;font-weight:650;white-space:nowrap;background:var(--glass2);border:1px solid var(--edge);color:var(--ink2)}
.b-ok{color:var(--mint);background:rgba(67,224,183,.1);border-color:rgba(67,224,183,.35)}
.b-wait{color:var(--gold);background:rgba(242,194,91,.1);border-color:rgba(242,194,91,.35)}
.b-no{color:var(--coral);background:rgba(255,111,134,.1);border-color:rgba(255,111,134,.38)}
.b-info{color:var(--sky);background:rgba(108,199,255,.1);border-color:rgba(108,199,255,.35)}
.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.32rem .75rem;border-radius:999px;background:var(--glass2);border:1px solid var(--edge);font-size:.82rem;color:var(--ink)}
.chip.on{border-color:var(--royal);background:rgba(171,71,188,.16)}
.chip.pos{color:var(--ok)}
.soon{display:inline-flex;align-items:center;padding:.16rem .55rem;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.02em;color:var(--gold);background:rgba(242,194,91,.1);border:1px solid rgba(242,194,91,.35);vertical-align:middle}
.soon-line{margin-bottom:.9rem}
.tag-soft{display:inline-block;padding:.05rem .45rem;border-radius:6px;background:var(--glass2);color:var(--ink2);font-size:.74rem;margin-left:.3rem}
.tag-warn{display:inline-flex;align-items:center;gap:.25rem;padding:.05rem .45rem;border-radius:6px;background:rgba(242,194,91,.12);color:var(--gold);font-size:.74rem;margin-left:.3rem}
.hash{display:inline-block;color:var(--royal2);font-size:.78rem;margin-left:.35rem}
.hash.on{background:rgba(171,71,188,.15);border-radius:6px;padding:0 .3rem}

.hue-0{--hue:var(--h0)}.hue-1{--hue:var(--h1)}.hue-2{--hue:var(--h2)}.hue-3{--hue:var(--h3)}.hue-4{--hue:var(--h4)}.hue-5{--hue:var(--h5)}
.hue-6{--hue:var(--h6)}.hue-7{--hue:var(--h7)}.hue-8{--hue:var(--h8)}.hue-9{--hue:var(--h9)}.hue-10{--hue:var(--h10)}.hue-11{--hue:var(--h11)}
.hue-none{--hue:var(--ink3)}.hue-transfer{--hue:var(--h11)}.hue-split{--hue:var(--royal2)}
.hue-bg-0{background:var(--h0)!important}.hue-bg-1{background:var(--h1)!important}.hue-bg-2{background:var(--h2)!important}.hue-bg-3{background:var(--h3)!important}.hue-bg-4{background:var(--h4)!important}.hue-bg-5{background:var(--h5)!important}
.hue-bg-6{background:var(--h6)!important}.hue-bg-7{background:var(--h7)!important}.hue-bg-8{background:var(--h8)!important}.hue-bg-9{background:var(--h9)!important}.hue-bg-10{background:var(--h10)!important}.hue-bg-11{background:var(--h11)!important}.hue-bg-none{background:var(--ink3)!important}
.dot{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;background:var(--hue,var(--ink3));flex:none}

.w0{width:0}.w5{width:5%}.w10{width:10%}.w15{width:15%}.w20{width:20%}.w25{width:25%}.w30{width:30%}.w35{width:35%}.w40{width:40%}.w45{width:45%}.w50{width:50%}
.w55{width:55%}.w60{width:60%}.w65{width:65%}.w70{width:70%}.w75{width:75%}.w80{width:80%}.w85{width:85%}.w90{width:90%}.w95{width:95%}.w100{width:100%}
.meter{position:relative;display:block;height:8px;border-radius:99px;background:var(--glass2);overflow:hidden}
.meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--royal),var(--ion));transition:width .8s var(--ease)}
.meter.big{height:12px;margin:.9rem 0 .5rem}
.meter-sm{height:6px}
.meter-in i{background:linear-gradient(90deg,#1fb98d,var(--mint))}
.meter-now{position:absolute;top:-3px;bottom:-3px;width:2px!important;background:var(--ink);opacity:.55;border-radius:2px;left:0}
.meter-now.w5{left:5%}.meter-now.w10{left:10%}.meter-now.w15{left:15%}.meter-now.w20{left:20%}.meter-now.w25{left:25%}.meter-now.w30{left:30%}.meter-now.w35{left:35%}.meter-now.w40{left:40%}.meter-now.w45{left:45%}.meter-now.w50{left:50%}
.meter-now.w55{left:55%}.meter-now.w60{left:60%}.meter-now.w65{left:65%}.meter-now.w70{left:70%}.meter-now.w75{left:75%}.meter-now.w80{left:80%}.meter-now.w85{left:85%}.meter-now.w90{left:90%}.meter-now.w95{left:95%}.meter-now.w100{left:calc(100% - 2px)}

.glass{background:linear-gradient(180deg,var(--glass2),var(--glass)) padding-box,var(--rim) border-box;border:1px solid transparent;border-radius:var(--rl);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.panel{position:relative;padding:1.4rem;border-radius:var(--rl);background:var(--glass);border:1px solid var(--edge);min-width:0}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}
.panel .h4{margin-bottom:.8rem}
.panel-head .h4{margin-bottom:0}
.pad{padding:clamp(1.4rem,3vw,2.2rem)}
.danger-zone{border-color:rgba(255,111,134,.25)}

.nav{position:sticky;top:0;z-index:60;backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px);background:color-mix(in srgb,var(--bg) 62%,transparent);border-bottom:1px solid var(--edge);transition:background .3s}
.nav.scrolled{background:color-mix(in srgb,var(--bg) 88%,transparent)}
.nav-in{display:flex;align-items:center;gap:1.3rem;height:70px}
.brand{display:flex;align-items:center;color:var(--ink)}
.brand img{height:30px;width:auto}
.links{display:flex;align-items:center;gap:.25rem;margin-left:auto}
.links>a:not(.btn){display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .8rem;border-radius:999px;color:var(--ink2);font-size:.92rem;font-weight:540}
.links>a:not(.btn):hover{color:var(--ink);background:var(--glass2)}
.links .btn{margin-left:.4rem}
.lang{position:relative}
.lang summary{list-style:none;display:flex;align-items:center;gap:.35rem;cursor:pointer;padding:.45rem .7rem;border-radius:999px;color:var(--ink2);font-size:.82rem;font-weight:650;border:1px solid var(--edge)}
.lang summary::-webkit-details-marker{display:none}
.lang-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:160px;padding:.4rem;border-radius:14px;background:var(--bg2);border:1px solid var(--edge2);box-shadow:var(--shadow);display:grid;gap:2px;animation:pop .2s var(--ease)}
.lang-menu a{padding:.55rem .8rem;border-radius:9px;color:var(--ink);font-size:.92rem}
.lang-menu a:hover,.lang-menu a.on{background:var(--glass2)}
.lang-menu a.on{color:var(--royal2)}
@keyframes pop{from{opacity:0;transform:translateY(-6px) scale(.98)}}
.menu-btn{display:none;background:none;border:1px solid var(--edge2);color:var(--ink);border-radius:12px;width:42px;height:42px;align-items:center;justify-content:center;cursor:pointer}

.hero-r{position:relative;padding:clamp(3.5rem,9vh,7rem) 0 0;overflow:hidden}
.grid-floor{position:absolute;left:-20%;right:-20%;bottom:-2px;height:58%;z-index:-1;background-image:linear-gradient(rgba(171,71,188,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(171,71,188,.22) 1px,transparent 1px);background-size:64px 64px;transform:perspective(520px) rotateX(64deg);transform-origin:50% 100%;-webkit-mask-image:linear-gradient(transparent,#000 40%,#000 70%,transparent);mask-image:linear-gradient(transparent,#000 40%,#000 70%,transparent);animation:floor 6s linear infinite;opacity:.55}
@keyframes floor{to{background-position:0 64px,0 0}}
:root[data-theme=light] .grid-floor{opacity:.35}
.hero-r-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}
.hero-r-copy .lead{max-width:34rem}

.device-wrap{position:relative;height:600px;display:grid;place-items:center}
.halo{position:absolute;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(171,71,188,.4),transparent 62%);filter:blur(20px);animation:breathe 7s ease-in-out infinite}
@keyframes breathe{50%{transform:scale(1.08);opacity:.75}}
.orbit{position:absolute;border-radius:50%;border:1px dashed rgba(211,139,228,.32)}
.orbit i{position:absolute;top:-6px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--royal2);box-shadow:0 0 16px var(--royal2)}
.o1{width:500px;height:500px;animation:spin 38s linear infinite}
.o2{width:380px;height:380px;animation:spin 26s linear infinite reverse;border-color:rgba(139,123,255,.3)}
.o2 i{background:var(--ion);box-shadow:0 0 16px var(--ion);width:9px;height:9px;margin-left:-4.5px;top:-4.5px}
@keyframes spin{to{transform:rotate(360deg)}}
.device{position:relative;width:290px;height:580px;border-radius:46px;padding:12px;background:linear-gradient(160deg,#2a2240,#0c0a14 50%,#1b1530);box-shadow:0 50px 100px -30px rgba(0,0,0,.85),inset 0 0 0 1px rgba(255,255,255,.12),0 0 0 1px rgba(0,0,0,.6);animation:hover 8s ease-in-out infinite}
@keyframes hover{50%{transform:translateY(-12px) rotate(-.6deg)}}
.device-notch{position:absolute;top:22px;left:50%;width:84px;height:24px;margin-left:-42px;border-radius:14px;background:#000;z-index:2}
.screen{position:relative;height:100%;border-radius:36px;overflow:hidden;padding:52px 16px 16px;background:radial-gradient(120% 70% at 50% 0%,rgba(171,71,188,.35),transparent 60%),#0a0812;color:#f3f0fa;display:flex;flex-direction:column;gap:.9rem}
.scr-hello{font-size:.8rem;color:#b5aec9}
.scr-dial{position:relative;width:180px;height:180px;margin:0 auto}
.scr-dial svg{width:100%;height:100%}
.scr-rows{display:grid;gap:.55rem}
.scr-rows li{display:grid;grid-template-columns:auto 1fr auto;gap:.6rem;align-items:center;padding:.55rem .6rem;border-radius:14px;background:rgba(255,255,255,.05);font-size:.8rem}
.scr-rows li>span:nth-child(2){display:grid;gap:.25rem;min-width:0}
.scr-rows small{color:#b5aec9;font-size:.7rem}
.scr-rows em{font-style:normal;font-variant-numeric:tabular-nums;font-weight:650}
.scr-rows .meter{height:5px;background:rgba(255,255,255,.1)}
.fill-loop{animation:fill 6s var(--ease) infinite}
@keyframes fill{0%{transform:scaleX(.15);transform-origin:left}45%,85%{transform:scaleX(1);transform-origin:left}100%{transform:scaleX(.15);transform-origin:left}}
.scr-ticker{margin-top:auto;overflow:hidden;border-radius:12px;background:rgba(255,255,255,.04);-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}
.scr-ticker-in{display:flex;gap:1.2rem;width:max-content;padding:.55rem 0;animation:belt 16s linear infinite;font-size:.74rem;font-variant-numeric:tabular-nums;color:#d6d0e6}
.scr-ticker-in span{display:inline-flex;align-items:center;gap:.3rem}
.float-chip{position:absolute;display:flex;align-items:center;gap:.5rem;padding:.6rem .9rem;border-radius:16px;font-size:.84rem;animation:bob 6s ease-in-out infinite;z-index:3;max-width:250px}
.float-chip .i{color:var(--royal2)}
.c1{left:-2%;top:16%}
.c2{right:-4%;top:48%;animation-delay:-2s}
.c3{left:4%;bottom:12%;animation-delay:-4s}
@keyframes bob{50%{transform:translateY(-10px)}}

.belt{margin-top:3.5rem;border-block:1px solid var(--edge);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.belt-track{display:flex;gap:2.4rem;width:max-content;padding:1rem 0;animation:belt 44s linear infinite}
.belt-track span{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink3);font-size:.95rem;white-space:nowrap}
.belt-track span:nth-child(5n) .i{color:var(--royal2)}
@keyframes belt{to{transform:translateX(-50%)}}

.sec{padding:clamp(4.5rem,11vh,8rem) 0;position:relative}
.sec-tint{background:linear-gradient(180deg,transparent,rgba(171,71,188,.05) 30%,rgba(139,123,255,.04) 70%,transparent)}
.sec-head{margin-bottom:3rem;max-width:46rem}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head.center .lead{margin-inline:auto}
.page-top{padding-top:clamp(3rem,8vh,5rem)}

.feat{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding:3.2rem 0;border-top:1px solid var(--edge)}
.feat:first-of-type{border-top:0}
.feat.flip .feat-copy{order:2}
.feat .ticks{margin-top:1.2rem}
.feat-visual{position:relative;padding:1.6rem;border-radius:var(--rx);min-height:260px;display:flex;flex-direction:column;justify-content:center;gap:1rem;box-shadow:var(--shadow)}
.demo-budget{display:grid;gap:.9rem}
.demo-budget li{display:grid;grid-template-columns:auto 8rem 1fr auto;gap:.8rem;align-items:center;font-size:.9rem}
.demo-budget small{color:var(--ink2);font-variant-numeric:tabular-nums}
.demo-budget .meter{overflow:visible}
.demo-foot{display:flex;align-items:center;gap:.45rem;color:var(--ink2);font-size:.85rem}
.radar-demo{flex-direction:row;align-items:center}
.radar-scope{position:relative;flex:none;width:190px;height:190px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 30px,rgba(171,71,188,.18) 30px 31px),radial-gradient(circle,rgba(171,71,188,.12),transparent 70%);border:1px solid rgba(171,71,188,.35);overflow:hidden}
.sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(211,139,228,.55),transparent 22%);animation:spin 4s linear infinite}
.blip{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px var(--gold);animation:blip 4s linear infinite}
.b1{left:62%;top:24%}.b2{left:28%;top:62%;animation-delay:-1.4s;background:var(--royal2);box-shadow:0 0 12px var(--royal2)}.b3{left:70%;top:68%;animation-delay:-2.6s}.b4{left:40%;top:30%;animation-delay:-3.3s;background:var(--mint);box-shadow:0 0 12px var(--mint)}
@keyframes blip{0%,100%{opacity:.25;transform:scale(.8)}10%{opacity:1;transform:scale(1.3)}40%{opacity:.6;transform:scale(1)}}
.radar-legend{display:grid;gap:.6rem;font-size:.9rem;flex:1}
.radar-legend li{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.radar-legend em{margin-left:auto;font-style:normal;color:var(--ink2);font-size:.82rem}
.rings-demo{flex-direction:row;justify-content:space-around;flex-wrap:wrap}
.ring-demo{position:relative;width:132px;display:grid;justify-items:center;gap:.4rem;text-align:center}
.ring-demo svg{width:118px;height:118px}
.ring-demo .goal-ic{position:absolute;top:59px;left:50%;transform:translate(-50%,-50%);line-height:0}
.ring-demo small{color:var(--ink2);font-size:.82rem}
.ring-loop{animation:ringloop 7s var(--ease) infinite}
@keyframes ringloop{0%{stroke-dashoffset:300}40%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:300}}
.demo-days{grid-template-columns:repeat(7,1fr)}
.afford-demo{align-items:flex-start}
.afford-q{font-size:1.1rem;color:var(--ink2)}
.afford-q b{color:var(--ink);font-size:1.6rem;font-variant-numeric:tabular-nums}
.typed{display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:bottom;border-right:2px solid var(--royal2);animation:type 5s steps(4) infinite,caret .8s step-end infinite}
@keyframes type{0%{max-width:0}40%,85%{max-width:4.2ch}100%{max-width:0}}
@keyframes caret{50%{border-color:transparent}}
.chron-demo{text-align:center;align-items:center;background:radial-gradient(90% 90% at 50% 0%,rgba(242,194,91,.18),transparent 60%),linear-gradient(180deg,var(--glass2),var(--glass));border:1px solid rgba(242,194,91,.3);border-radius:var(--rx)}
.chron-crown{color:var(--gold);display:grid;place-items:center}
.chron-crown .i{width:44px;height:44px;animation:wobble 5s ease-in-out infinite}
@keyframes wobble{0%,100%{transform:rotate(0)}8%{transform:rotate(-10deg)}16%{transform:rotate(8deg)}24%{transform:rotate(0)}}
.chron-name{font-family:var(--fd);font-size:2rem;font-weight:800;letter-spacing:-.03em}
.chron-mini{display:flex;gap:1.4rem;justify-content:center;flex-wrap:wrap;margin-top:.4rem}
.chron-mini span{display:grid}
.chron-mini small{color:var(--ink2);font-size:.75rem}

.smalls{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--edge);border:1px solid var(--edge);border-radius:var(--rx);overflow:hidden}
.smalls li{display:grid;gap:.35rem;align-content:start;padding:1.5rem;background:var(--bg)}
.smalls li:hover{background:var(--bg2)}
.smalls small{color:var(--ink2);font-size:.88rem;line-height:1.5}
.small-ic{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:13px;color:var(--royal2);background:rgba(171,71,188,.1);border:1px solid rgba(171,71,188,.25);margin-bottom:.4rem}

.steps{--prog:0;position:relative;display:grid;gap:1.2rem;max-width:760px}
.steps::before,.steps::after{content:"";position:absolute;left:27px;top:28px;bottom:28px;width:2px;border-radius:2px;background:var(--edge2)}
.steps::after{background:linear-gradient(var(--royal2),var(--ion));transform-origin:top;transform:scaleY(var(--prog))}
.step{position:relative;display:flex;gap:1.4rem;align-items:flex-start;z-index:1}
.step-dot{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:var(--bg2);border:1px solid var(--edge2);color:var(--royal2);transition:.4s var(--ease)}
.step.in .step-dot{background:linear-gradient(135deg,var(--royal),var(--ion));color:#fff;border-color:transparent;box-shadow:0 0 0 6px rgba(171,71,188,.12)}
.step-body{padding:.6rem 0 1rem}
.step h3{font-size:1.2rem;margin-bottom:.3rem}
.step p{color:var(--ink2)}

.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-bottom:1.6rem;align-items:stretch}
.tier{position:relative;display:flex;flex-direction:column;padding:1.8rem 1.6rem;border-radius:var(--rx);background:var(--glass);border:1px solid var(--edge);overflow:hidden}
.tier::before{content:"";position:absolute;inset:0 0 auto;height:120px;background:radial-gradient(90% 100% at 50% 0%,var(--tierglow,rgba(171,71,188,.2)),transparent 70%);pointer-events:none}
.tier-duke{--tierglow:rgba(171,71,188,.3);border-color:rgba(171,71,188,.35)}
.tier-king{--tierglow:rgba(242,194,91,.25);border-color:rgba(242,194,91,.4)}
.tier.current{box-shadow:0 0 0 2px var(--royal)}
.tier-crest{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;color:var(--ink2);background:var(--glass2);border:1px solid var(--edge2);position:relative}
.tier-duke .tier-crest{color:var(--royal2);border-color:rgba(171,71,188,.45)}
.tier-king .tier-crest{color:var(--gold);border-color:rgba(242,194,91,.5);box-shadow:0 0 24px -6px rgba(242,194,91,.6)}
.tier-tag{color:var(--ink2);font-size:.9rem;min-height:2.8em}
.tier-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:.4rem;margin:1rem 0}
.tier-price b{font-family:var(--fd);font-size:2.3rem;font-weight:820;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.tier-price small{color:var(--ink2)}
.tier-year{flex-basis:100%;font-size:.84rem;color:var(--ink2)}
.tier-list{display:grid;gap:.55rem;font-size:.9rem;margin-bottom:1.4rem}
.tier-list li{display:flex;gap:.55rem;align-items:flex-start}
.tier-list .i{color:var(--royal2);margin-top:.2em}
.tier-king .tier-list .i{color:var(--gold)}
.tier-list li.off{color:var(--ink3);text-decoration:line-through}
.tier-cta{margin-top:auto;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.plan-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border-radius:999px;font-size:.82rem;font-weight:650;color:var(--ink2);background:var(--glass2);border:1px solid var(--edge2)}
.plan-pill.tier-duke{color:var(--royal2);border-color:rgba(171,71,188,.45)}
.plan-pill.tier-king{color:var(--gold);border-color:rgba(242,194,91,.5)}
.plan-pill.big{font-size:.92rem;padding:.55rem 1rem}

.bank-band{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.bank-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.bank-tiles li{position:relative;display:grid;gap:.6rem;padding:1.2rem;border-radius:var(--rl);background:repeating-linear-gradient(135deg,transparent 0 10px,rgba(255,255,255,.018) 10px 11px),var(--glass);border:1px dashed var(--edge2);color:var(--ink2);font-size:.9rem}
.bank-tiles .lock,.locked .lock{position:absolute;top:.8rem;right:.8rem;color:var(--gold);opacity:.8}
.roadmap{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.road{display:flex;gap:1rem;padding:1.4rem;border-radius:var(--rl);background:var(--glass);border:1px dashed var(--edge2)}
.road-ic{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--glass2);color:var(--gold)}
.bank-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center}
.prose-block p{color:var(--ink2);margin-bottom:.9rem}

.locked-page{display:grid;grid-template-columns:.8fr 1.2fr;gap:2.5rem;align-items:center;padding:2rem 0}
.locked-visual{position:relative;width:260px;height:260px;margin:auto;display:grid;place-items:center}
.locked-visual.big{width:320px;height:320px}
.locked-orbit,.locked-orbit i{position:absolute;inset:0;border-radius:50%}
.locked-orbit{border:1px dashed rgba(242,194,91,.35);animation:spin 30s linear infinite}
.locked-orbit i:nth-child(2){inset:18%;border:1px solid rgba(171,71,188,.35);animation:spin 18s linear infinite reverse}
.locked-orbit i:nth-child(3){inset:36%;background:radial-gradient(circle,rgba(171,71,188,.3),transparent 70%)}
.locked-orbit i:first-child::after{content:"";position:absolute;top:-5px;left:50%;width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 14px var(--gold)}
.locked-ic{position:relative;display:grid;place-items:center;width:84px;height:84px;border-radius:26px;background:var(--glass2);border:1px solid var(--edge2);color:var(--gold)}
.locked-ic .i{width:38px;height:38px}
.locked-copy .ticks{margin:1.3rem 0}
.locked-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}

.giving-band,.giving-hero{display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:center}
.giving-num{display:grid;place-items:center;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(171,71,188,.25),transparent 70%);border:1px solid rgba(171,71,188,.4);text-align:center}
.giving-num b{font-family:var(--fd);font-size:2.6rem;font-weight:850;letter-spacing:-.04em;line-height:1}
.giving-num small{color:var(--ink2);font-size:.78rem;max-width:8rem}
.give-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0 3rem}
.give-steps li{display:flex;gap:1rem;padding:1.3rem}
.give-steps h3{font-size:1.05rem;margin-bottom:.3rem}
.give-steps p{color:var(--ink2);font-size:.92rem}
.pnum{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(171,71,188,.15);color:var(--royal2);font-weight:750}
.public-causes{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.2rem 0}
.public-causes li{display:grid;gap:.5rem;padding:1.3rem}
.public-causes h3{font-size:1.05rem}
.causes{display:grid;gap:.8rem;margin-bottom:1rem}
.cause{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:1rem 1.1rem;border-radius:var(--rm);background:var(--glass2);border:1px solid var(--edge)}
.cause.chosen{border-color:rgba(67,224,183,.45)}
.cause-main{display:grid;gap:.35rem;flex:1;min-width:0}

.faq{border-bottom:1px solid var(--edge)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.3rem .2rem;cursor:pointer;font-size:1.06rem;font-weight:620}
.faq summary::-webkit-details-marker{display:none}
.faq-i{transition:transform .3s var(--ease);color:var(--royal2)}
.faq[open] .faq-i{transform:rotate(45deg)}
.faq p{color:var(--ink2);padding:0 .2rem 1.4rem;animation:pop .3s var(--ease)}
.cta-band{position:relative;text-align:center;padding:clamp(2.5rem,6vw,4.5rem) 1.5rem;border-radius:36px;background:radial-gradient(70% 120% at 50% 0%,rgba(171,71,188,.35),transparent 60%),var(--glass);border:1px solid rgba(171,71,188,.3);overflow:hidden}
.cta-band .lead{margin-inline:auto}
.cta-band .btn{margin-top:2rem}
.cta-crown{color:var(--gold);display:grid;place-items:center;margin-bottom:1rem}
.cta-crown .i{width:40px;height:40px;animation:wobble 5s ease-in-out infinite}

.sec-list{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.sec-list .panel{display:grid;gap:.3rem;align-content:start}

.foot{border-top:1px solid var(--edge);padding:4rem 0 2rem;background:linear-gradient(180deg,transparent,rgba(0,0,0,.25))}
:root[data-theme=light] .foot{background:linear-gradient(180deg,transparent,rgba(48,22,90,.04))}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2rem}
.foot-brand img{height:24px;width:auto;margin-bottom:1rem}
.motto{font-family:var(--fd);font-weight:780;font-size:1.2rem;letter-spacing:-.02em}
.motto-sub{color:var(--royal2);font-weight:600;margin-bottom:.8rem}
.foot-col{display:grid;align-content:start;gap:.45rem}
.foot-col h2{font-size:.84rem;font-weight:700;color:var(--ink3);margin-bottom:.4rem}
.foot-col a,.foot-brand a{color:var(--ink2);font-size:.92rem}
.foot-col a:hover,.foot-brand a:hover{color:var(--ink)}
.foot-brand .small{color:var(--ink2);margin-top:.5rem}
.foot-legal{margin-top:3rem;padding-top:1.6rem;border-top:1px solid var(--edge);display:grid;gap:.7rem;font-size:.8rem;color:var(--ink3)}

.flashes{display:grid;gap:.6rem;margin:1rem 0}
.wrap.flashes{margin-top:1.2rem}
.flash{padding:.85rem 1.1rem;border-radius:var(--rm);background:var(--glass2);border:1px solid var(--edge2);animation:pop .35s var(--ease)}
.flash-success{border-color:rgba(67,224,183,.45);background:rgba(67,224,183,.08)}
.flash-error{border-color:rgba(255,111,134,.5);background:rgba(255,111,134,.08)}
.flash-info{border-color:rgba(108,199,255,.4);background:rgba(108,199,255,.07)}
.flash-crown{border-color:rgba(242,194,91,.6);background:radial-gradient(120% 200% at 0% 0%,rgba(242,194,91,.2),transparent 60%),var(--glass2);font-weight:650}
.banner{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;padding:.9rem 1.1rem;border-radius:var(--rm);margin:0 0 1.1rem;border:1px solid var(--edge2);background:var(--glass2)}
.banner>span{flex:1;min-width:12rem}
.banner-info{border-color:rgba(171,71,188,.4);background:rgba(171,71,188,.08)}
.banner-warn{border-color:rgba(242,194,91,.45);background:rgba(242,194,91,.08)}
.banner-bad{border-color:rgba(255,111,134,.45);background:rgba(255,111,134,.08)}
.empty{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;color:var(--ink3);padding:.8rem 0}
.empty-big{display:grid;justify-items:center;gap:.6rem;text-align:center;padding:2.6rem 1.4rem}
.empty-big>.i{width:44px;height:44px;color:var(--royal2)}
.ticks{display:grid;gap:.55rem}
.ticks li{display:flex;gap:.6rem;align-items:flex-start;color:var(--ink2)}
.ticks .i{color:var(--ok);margin-top:.28em}

.form{display:grid;gap:.55rem}
.form label,.label{font-size:.86rem;font-weight:600;color:var(--ink2);margin-top:.3rem}
input,select,textarea{width:100%;padding:.78rem .95rem;border-radius:12px;border:1px solid var(--edge2);background:color-mix(in srgb,var(--bg) 60%,transparent);color:var(--ink);font:inherit;font-size:16px;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
:root[data-theme=light] input,:root[data-theme=light] select,:root[data-theme=light] textarea{background:#fff}
textarea{resize:vertical;min-height:5rem}
select{background-image:linear-gradient(45deg,transparent 50%,var(--ink2) 50%),linear-gradient(135deg,var(--ink2) 50%,transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 13px) 52%;background-size:5px 5px;background-repeat:no-repeat;padding-right:2.4rem}
select option,select optgroup{background:var(--bg2);color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--royal);box-shadow:0 0 0 4px rgba(171,71,188,.2)}
input[type=checkbox],input[type=radio]{width:1.15rem;height:1.15rem;padding:0;border-radius:5px;flex:none;cursor:pointer;margin-top:.15rem}
input[type=radio]{border-radius:50%}
input[type=checkbox]:checked,input[type=radio]:checked{background:var(--royal);border-color:var(--royal);box-shadow:inset 0 0 0 3px var(--bg)}
input[type=file]{padding:.6rem}
input.otp{font-family:var(--m);font-size:1.3rem;letter-spacing:.4em;text-align:center}
.check{display:flex!important;gap:.6rem;align-items:flex-start;font-weight:500!important;color:var(--ink)!important;font-size:.9rem!important;cursor:pointer}
.hint{font-size:.8rem;color:var(--ink3)}
.field-error,.errors li{color:var(--coral);font-size:.84rem}
.errors{display:grid;gap:.3rem;padding:.75rem 1rem;border-radius:12px;background:rgba(255,111,134,.08);border:1px solid rgba(255,111,134,.32)}
.form .btn{margin-top:.6rem;justify-self:start}
.form .btn-block{justify-self:stretch}
.form-grid{grid-template-columns:1fr 1fr;column-gap:1rem;align-items:start}
.form-grid>div{display:grid;gap:.4rem}
.span-all{grid-column:1/-1}
.form-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:.8rem}
.form-row>div{display:grid;gap:.4rem}
.form-row .btn{margin:0}
.two{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.two>div{display:grid;gap:.4rem;align-content:start}
.inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:.6rem 0}
.inline-form label{margin:0;font-size:.86rem;color:var(--ink2);font-weight:600}
.inline-form select,.inline-form input{width:auto;flex:1;min-width:140px}
.seg2{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.seg-opt{display:flex!important;align-items:center;gap:.5rem;margin:0!important;padding:.65rem .8rem;border-radius:12px;border:1px solid var(--edge2);background:var(--glass);cursor:pointer;color:var(--ink)!important;font-weight:560!important}
.seg-opt:has(input:checked){border-color:var(--royal);background:rgba(171,71,188,.12)}
.seg-wrap{border:0;padding:0;margin:.6rem 0 0}
.seg-wrap legend{font-size:.86rem;font-weight:600;color:var(--ink2);margin-bottom:.45rem}
.row-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.center-actions{justify-content:center}
.icon-pick,.hue-pick{border:0;padding:0;margin:.4rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem}
.icon-pick legend,.hue-pick legend{font-size:.86rem;font-weight:600;color:var(--ink2);margin-bottom:.4rem;width:100%}
.icon-opt,.hue-opt{position:relative;cursor:pointer;margin:0!important}
.icon-opt input,.hue-opt input{position:absolute;opacity:0;pointer-events:none}
.icon-opt span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;border:1px solid var(--edge2);background:var(--glass);color:var(--ink2)}
.icon-opt input:checked+span{border-color:var(--royal);color:var(--royal2);background:rgba(171,71,188,.14)}
.icon-opt input:focus-visible+span,.hue-opt input:focus-visible+span{outline:2px solid var(--royal2);outline-offset:2px}
.hue-opt span{display:block;width:28px;height:28px;border-radius:50%;border:2px solid transparent;box-shadow:inset 0 0 0 3px var(--bg)}
.hue-opt input:checked+span{border-color:var(--ink)}

.auth{min-height:calc(100vh - 70px);display:grid;place-items:center;padding:3rem 0}
.auth-card{width:min(440px,100% - 40px);padding:2.4rem 2.2rem}
.auth-card .h2{margin:1rem 0 .4rem;font-size:1.8rem}
.auth-card>.muted{margin-bottom:1.4rem}
.auth-card .center{margin-top:1.2rem}
.reg-ticks{margin-top:1.2rem;font-size:.86rem}
.ficon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:15px;color:#fff;background:linear-gradient(135deg,var(--royal),var(--ion));box-shadow:0 12px 28px -10px rgba(171,71,188,.8),inset 0 1px 0 rgba(255,255,255,.3)}
.crumbs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.6rem}
.crumbs a{padding:.35rem .8rem;border-radius:999px;border:1px solid var(--edge);color:var(--ink2)}
.crumbs a.on,.crumbs a:hover{color:var(--ink);border-color:var(--royal);background:rgba(171,71,188,.1)}
.prose{margin-top:1.4rem;line-height:1.75}
.prose h2{font-size:1.15rem;margin:2rem 0 .6rem;letter-spacing:-.01em}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1rem;margin:1.4rem 0 .5rem}
.prose p,.prose ul,.prose ol{margin-bottom:.9rem;color:var(--ink2)}
.prose ul{list-style:disc;padding-left:1.3rem}
.prose ol{list-style:decimal;padding-left:1.3rem}
.prose li{margin-bottom:.35rem}
.prose strong{color:var(--ink)}
.prose code{font-family:var(--m);font-size:.9em;padding:.1rem .35rem;border-radius:6px;background:var(--glass2)}
.table-wrap{overflow-x:auto;margin:1rem 0}
.facts{display:grid;padding:.4rem 1.4rem}
.facts>div{display:grid;grid-template-columns:220px 1fr;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--edge)}
.facts>div:last-child{border-bottom:0}
.facts dt{color:var(--ink2);font-size:.9rem}
.facts dd{margin:0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}
.thread{display:grid;gap:.9rem;margin-bottom:1.4rem}
.msg{padding:1rem 1.1rem;border-radius:var(--rm);background:var(--glass2);border:1px solid var(--edge)}
.msg-staff{border-color:rgba(171,71,188,.4);background:rgba(171,71,188,.07)}
.msg-meta{font-size:.8rem;color:var(--ink3);margin-bottom:.4rem}
.msg-body{white-space:pre-wrap}
.key-box{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.7rem .9rem;border-radius:12px;background:var(--glass2);border:1px solid var(--edge2);word-break:break-all;margin:.6rem 0}
.table{width:100%;border-collapse:collapse;font-size:.9rem}
.table th{text-align:left;font-weight:600;color:var(--ink3);font-size:.8rem;padding:.6rem .5rem;border-bottom:1px solid var(--edge2)}
.table td{padding:.65rem .5rem;border-bottom:1px solid var(--edge);vertical-align:top}
.table .num{text-align:right}
.panel:has(.table){overflow-x:auto}

.app{background:var(--bg)}
.shell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}
.rail{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:1rem;padding:1.4rem 1rem 1rem;border-right:1px solid var(--edge);background:color-mix(in srgb,var(--bg2) 80%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow-y:auto;scrollbar-width:thin}
.rail .brand{padding:0 .5rem}
.palette-btn{display:flex;align-items:center;gap:.55rem;width:100%;padding:.6rem .75rem;border-radius:12px;border:1px solid var(--edge2);background:var(--glass);color:var(--ink3);cursor:pointer;font-size:.88rem;text-align:left}
.palette-btn span{flex:1}
.palette-btn:hover{color:var(--ink);border-color:rgba(171,71,188,.45)}
kbd{font-family:var(--m);font-size:.72rem;padding:.1rem .4rem;border-radius:6px;border:1px solid var(--edge2);color:var(--ink3);background:var(--glass)}
.rail-nav{display:grid;gap:.12rem}
.rail-h{display:flex;align-items:center;justify-content:space-between;font-size:.76rem;font-weight:700;color:var(--ink3);padding:.9rem .7rem .3rem}
.rail-nav a{position:relative;display:flex;align-items:center;gap:.7rem;padding:.55rem .7rem;border-radius:11px;color:var(--ink2);font-weight:560;font-size:.93rem;transition:.18s}
.rail-nav a:hover{color:var(--ink);background:var(--glass2)}
.rail-nav a.on{color:var(--ink);background:linear-gradient(90deg,rgba(171,71,188,.22),rgba(171,71,188,.04));box-shadow:inset 2px 0 0 var(--royal)}
.rail-nav a.on>.i{color:var(--royal2)}
.rail-nav a.locked{color:var(--ink3);opacity:.72}
.rail-nav a.locked .lock{position:static;margin-left:auto;color:var(--gold);opacity:.75}
.rail-nav a.locked:hover{opacity:1}
.dot-count{display:inline-grid;place-items:center;min-width:1.3rem;height:1.3rem;padding:0 .35rem;border-radius:99px;background:var(--coral);color:#fff;font-size:.7rem;font-weight:750;margin-left:auto}
.rail-foot{margin-top:auto;display:grid;gap:.25rem;padding-top:1rem;border-top:1px solid var(--edge)}
.rail-foot .plan-pill{justify-self:start;margin:0 .4rem .4rem}
.rail-mini{display:flex;align-items:center;gap:.55rem;padding:.4rem .7rem;border-radius:10px;color:var(--ink2);font-size:.88rem}
.rail-mini:hover,.rail-mini.on{color:var(--ink);background:var(--glass2)}
.logout{display:flex;align-items:center;gap:.5rem;padding:.4rem .4rem 0 .7rem}
.who{flex:1;font-size:.82rem;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.appbar{display:none}
.main{padding:1.2rem clamp(1rem,3vw,2.6rem) 4rem;min-width:0}
.topline{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.6rem}
.hello{color:var(--ink3);font-size:.9rem}
.topline-tools{display:flex;align-items:center;gap:.5rem}
.on-hide{display:none}
.blur .on-show{display:none}
.blur .on-hide{display:inline-block}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin:.6rem 0 1.5rem;flex-wrap:wrap}
.page-head .muted{margin-top:.3rem}
.head-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.crumb{font-size:.86rem;margin-bottom:.4rem}
.crumb a{display:inline-flex;align-items:center;gap:.25rem;color:var(--ink3)}
.crumb a:hover{color:var(--ink)}
.hero-amt{font-family:var(--fd);font-size:clamp(1.9rem,4vw,2.8rem);font-weight:820;letter-spacing:-.04em}
.hero-amt.pos{color:var(--ok)}
.app-foot{margin-top:3rem;color:var(--ink3)}
.app-foot a{color:var(--ink2)}
.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;align-items:start;margin-bottom:1.1rem}
.stack{display:grid;gap:1.1rem;align-content:start}
.big-num{font-family:var(--fd);font-size:clamp(2rem,4.4vw,3rem);font-weight:820;letter-spacing:-.045em;line-height:1.08;margin:.2rem 0}
.mini-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.8rem;margin:1rem 0}
.mini-stats.two-col{grid-template-columns:1fr 1fr}
.mini-stats.four{grid-template-columns:repeat(4,1fr)}
.mini-stats div{display:grid;gap:.1rem;padding:.7rem .85rem;border-radius:var(--rm);background:var(--glass2)}
.mini-stats dt{font-size:.78rem;color:var(--ink3)}
.mini-stats dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.plain-list{display:grid}
.plain-list li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--edge);flex-wrap:wrap}
.plain-list li:last-child{border-bottom:0}

.blur .amt,.blur .big-num,.blur .hero-amt,.blur .dial-in b{filter:blur(7px);transition:filter .25s}
.blur .amt:hover,.blur .big-num:hover,.blur .hero-amt:hover{filter:none}

.ov-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.1rem;align-items:start}
.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-7{grid-column:span 7}.span-6{grid-column:span 6}.span-5{grid-column:span 5}.span-4{grid-column:span 4}
.dial-panel{display:grid;grid-template-columns:auto 1fr;gap:1.6rem;align-items:center;background:radial-gradient(90% 120% at 0% 0%,rgba(171,71,188,.2),transparent 55%),var(--glass);border-radius:var(--rx)}
.dial{position:relative;width:220px;height:220px}
.dial svg{width:100%;height:100%;overflow:visible}
.dial-track,.ring-track{fill:none;stroke:var(--glass3);stroke-width:10}
.dial-fill,.ring-fill{fill:none;stroke:url(#dialGrad);stroke-width:10;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(171,71,188,.6));animation:draw 1.6s var(--ease) both}
.hero-fill{stroke:url(#heroGrad);animation:heroFill 9s var(--ease) infinite}
@keyframes draw{from{stroke-dasharray:0 330}}
@keyframes heroFill{0%{stroke-dasharray:40 327}35%,80%{stroke-dasharray:228.7 327}100%{stroke-dasharray:40 327}}
.ring-fill{stroke:var(--royal2)}
.dial-orbit{transform-origin:70px 70px;animation:spin 18s linear infinite;fill:var(--royal2)}
.dial-orbit circle:nth-child(2){fill:var(--ion)}
.dial-orbit circle:nth-child(3){fill:var(--gold)}
.dial-in{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:.1rem}
.dial-in small{font-size:.74rem;color:var(--ink3)}
.dial-in b{font-family:var(--fd);font-size:2rem;font-weight:840;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.scr-dial .dial-in b{font-size:1.5rem;color:#fff}
.scr-dial .dial-in small{color:#a39cb8;font-size:.66rem}
.dial-side .h3{margin-top:0}
.decree{display:inline-flex;align-items:center;gap:.45rem;margin-top:.6rem;padding:.4rem .8rem;border-radius:999px;color:var(--gold);background:rgba(242,194,91,.1);border:1px solid rgba(242,194,91,.35);font-size:.86rem;font-weight:650}
.spark{width:100%;height:56px;margin:.4rem 0}
.spark.tall{height:70px}
.spark path{fill:none;stroke:var(--royal2);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.notes{display:flex;flex-wrap:wrap;gap:.6rem}
.note-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .9rem;border-radius:var(--rm);background:var(--glass);border:1px solid var(--edge);font-size:.88rem;color:var(--ink)}
.tone-good{border-color:rgba(67,224,183,.35)}.tone-good .i{color:var(--mint)}
.tone-warn{border-color:rgba(242,194,91,.4)}.tone-warn .i{color:var(--gold)}
.tone-info .i{color:var(--sky)}
.bill-list,.bill-rows{display:grid}
.bill-list li,.bill-rows li{display:grid;grid-template-columns:auto 1fr auto;gap:.9rem;align-items:center;padding:.7rem 0;border-bottom:1px solid var(--edge)}
.bill-rows li{grid-template-columns:auto 1fr auto auto}
.bill-list li:last-child,.bill-rows li:last-child{border-bottom:0}
.bill-date{display:grid;justify-items:center;width:52px;padding:.35rem 0;border-radius:12px;background:var(--glass2);line-height:1.1}
.bill-date b{font-size:1.15rem;font-variant-numeric:tabular-nums}
.bill-date small{font-size:.66rem;color:var(--ink3)}
.bill-main{display:grid;min-width:0}
.bill-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bill-main small{color:var(--ink3);font-size:.8rem}
.bill-amt{display:grid;text-align:right}
.bill-amt small{color:var(--ink3);font-size:.76rem}
.bill-acts{display:flex;gap:.35rem}
.bill-rows li.st-cancelled,.bill-rows li.st-ignored{opacity:.55}
.goal-mini{display:grid;gap:.6rem}
.goal-mini li{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center}
.ring-sm{width:46px;height:46px}
.ring-sm .ring-track,.ring-sm .ring-fill{stroke-width:12}
.goal-mini-main{display:grid;min-width:0}
.goal-mini-main small{color:var(--ink3)}
.goal-pct{font-weight:750;font-variant-numeric:tabular-nums}
.vow-mini{display:grid;gap:.9rem}
.vow-mini li{display:grid;gap:.35rem}
.vow-mini small{color:var(--ink3)}
.state-near .meter i,.vow.state-near .meter i{background:linear-gradient(90deg,var(--gold),#ffcf6e)}
.state-broken .meter i,.vow.state-broken .meter i{background:linear-gradient(90deg,var(--coral),#ff9aa9)}
.owed{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.quick-strip{margin-top:1.1rem}
.quick{display:flex;align-items:center;gap:.6rem;padding:.5rem .5rem .5rem 1rem;border-radius:999px;background:var(--glass);border:1px solid var(--edge2)}
.quick>.i{color:var(--royal2)}
.quick input{border:0;background:none;padding:.5rem 0;box-shadow:none!important}
.quick select{width:auto;max-width:13rem;border-radius:999px;padding:.45rem 2.2rem .45rem .8rem;font-size:.86rem}
.quick-strip>p{margin:.5rem 1rem 0}
.welcome{display:grid;gap:2rem;padding:1.5rem 0 1rem}
.welcome-copy{max-width:40rem}
.w-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.w-step{display:flex;gap:1rem;padding:1.4rem;border-radius:var(--rl);background:var(--glass);border:1px solid var(--edge)}
.w-step>div{display:grid;gap:.5rem;justify-items:start}
.w-n{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,var(--royal),var(--ion));color:#fff;font-weight:800}

.tx-list{display:grid}
.tx{display:grid;grid-template-columns:auto 1fr auto;gap:.85rem;align-items:center;padding:.7rem .5rem;margin:0 -.5rem;border-radius:12px;color:var(--ink);transition:background .15s}
a.tx:hover{background:var(--glass2);color:var(--ink)}
.tx.pending{opacity:.7}
.tx.excluded .tx-amt{text-decoration:line-through;color:var(--ink3)}
.tx-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;flex:none;color:var(--hue,var(--ink3));background:color-mix(in srgb,var(--hue,var(--ink3)) 14%,transparent);border:1px solid color-mix(in srgb,var(--hue,var(--ink3)) 30%,transparent)}
.tx-ic.sm{width:30px;height:30px;border-radius:10px}
.tx-main{display:grid;min-width:0}
.tx-main b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tx-main small{color:var(--ink3);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tx-amt{text-align:right;font-weight:680;font-variant-numeric:tabular-nums;white-space:nowrap}
.tx-amt.pos{color:var(--ok)}
.day-h{font-size:.8rem;font-weight:700;color:var(--ink3);padding:1rem 0 .3rem;border-bottom:1px solid var(--edge);margin-bottom:.2rem}
.day-h:first-child{padding-top:0}
.tx-panel{padding-top:1.1rem}
.tx-triage{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:center}
.triage-form{display:flex;gap:.4rem}
.triage-form select{padding:.45rem 2.2rem .45rem .7rem;font-size:.86rem;width:12rem}
.js [data-autosubmit] button{display:none}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.8rem}
.filters select{width:auto;flex:1;min-width:9rem;padding:.55rem 2.2rem .55rem .8rem;font-size:.88rem}
.f-search{position:relative;flex:2;min-width:12rem;display:flex;align-items:center}
.f-search .i{position:absolute;left:.8rem;color:var(--ink3)}
.f-search input{padding:.55rem .8rem .55rem 2.3rem;font-size:.9rem}
.tag-cloud{display:flex;flex-wrap:wrap;gap:.2rem;margin-bottom:.8rem}
.add-panel{margin-bottom:1.1rem}
.add-panel summary,details>summary.h4{cursor:pointer;list-style:none}
.add-panel summary::-webkit-details-marker,details>summary.h4::-webkit-details-marker{display:none}
.add-panel[open] summary{margin-bottom:1rem}
.pager{display:flex;justify-content:space-between;margin-top:1rem}
.parts{display:grid;gap:.4rem;margin-bottom:.8rem}
.parts li{display:flex;align-items:center;gap:.5rem}
.parts b{margin-left:auto}
.split-form{margin-top:.8rem}
.split-row{display:grid;grid-template-columns:1.4fr 1fr;gap:.5rem}
.memo{margin-top:1rem;padding:.8rem;border-radius:12px;background:var(--glass2);word-break:break-word}

.worth-chip{display:grid;text-align:right}
.worth-chip small{color:var(--ink3)}
.worth-chip b{font-family:var(--fd);font-size:1.6rem;font-weight:800;letter-spacing:-.03em}
.acct-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;margin-bottom:1.1rem}
.acct{position:relative;display:grid;gap:.25rem;align-content:start;padding:1.2rem;border-radius:var(--rl);background:var(--glass);border:1px solid var(--edge);color:var(--ink);overflow:hidden;transition:transform .3s var(--ease),border-color .3s}
.acct::after{content:"";position:absolute;right:-40px;top:-40px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(171,71,188,.18),transparent 70%)}
.acct:hover{transform:translateY(-3px);border-color:rgba(171,71,188,.45);color:var(--ink)}
.acct-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}
.acct-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--glass2);color:var(--royal2)}
.kind-savings .acct-ic{color:var(--mint)}.kind-credit .acct-ic,.kind-loan .acct-ic{color:var(--coral)}.kind-investment .acct-ic{color:var(--gold)}
.acct-name{font-size:1.02rem}
.acct-bal{font-family:var(--fd);font-size:1.5rem;font-weight:800;letter-spacing:-.03em;margin-top:.4rem}
.acct-add{border-style:dashed;place-content:center;justify-items:center;text-align:center;color:var(--ink2);min-height:150px}
.acct-add>.i{width:30px;height:30px;color:var(--royal2)}
.links-list{display:grid;gap:.8rem;margin-top:1rem}
.links-list li{display:grid;gap:.6rem;padding:.9rem;border-radius:var(--rm);background:var(--glass2)}
.links-list li>div{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.links-list small{flex-basis:100%}

.drop{gap:.8rem}
.drop-zone{display:grid!important;justify-items:center;gap:.4rem;padding:2.4rem 1rem;border-radius:var(--rl);border:1.5px dashed rgba(171,71,188,.45);background:radial-gradient(circle at 50% 0%,rgba(171,71,188,.1),transparent 70%);text-align:center;cursor:pointer;color:var(--ink)!important;margin:0!important;transition:.2s}
.drop-zone>.i{width:40px;height:40px;color:var(--royal2);animation:bob 4s ease-in-out infinite}
.drop-zone.over{border-color:var(--royal2);background:rgba(171,71,188,.12)}
.drop-name{font-weight:650;color:var(--royal2)}
.js .drop-input{position:absolute;width:1px;height:1px;opacity:0}
.how-list{list-style:decimal;padding-left:1.2rem;display:grid;gap:.5rem;color:var(--ink2);margin-bottom:1rem}
.import-preview .preview{margin:1rem 0;padding:.3rem .8rem;border-radius:var(--rm);background:var(--glass2)}
.tx.static{margin:0}
.mapping{margin:1rem 0;padding:1rem;border-radius:var(--rm);border:1px solid var(--edge2)}
.mapping summary{cursor:pointer;list-style:none}
.mapping[open] summary{margin-bottom:.6rem}
.raw-wrap{overflow-x:auto;margin:.8rem 0}
.raw th,.raw td{white-space:nowrap;font-size:.8rem}
.commit-form{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--edge)}

.period-nav{display:flex;align-items:center;gap:.6rem}
.period-nav span{display:grid;text-align:center;min-width:12rem}
.period-nav small{color:var(--ink3);font-size:.78rem}
.budget-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--edge);border:1px solid var(--edge);border-radius:var(--rx);overflow:hidden;margin-bottom:.8rem}
.bs-cell{display:grid;gap:.15rem;padding:1.1rem 1.2rem;background:var(--bg)}
.bs-cell small{color:var(--ink3);font-size:.8rem}
.bs-cell b{font-family:var(--fd);font-size:1.45rem;font-weight:800;letter-spacing:-.03em}
.bs-key{background:radial-gradient(120% 140% at 0% 0%,rgba(171,71,188,.2),transparent 60%),var(--bg)}
.bs-cell.neg b{color:var(--bad)}
.budget-group{margin-top:1.1rem}
.brows{display:grid}
.brow{display:grid;grid-template-columns:minmax(10rem,1.1fr) 2fr minmax(9rem,auto);gap:1rem;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--edge)}
.brow:last-child{border-bottom:0}
.brow-name{display:flex;align-items:center;gap:.6rem;color:var(--ink);min-width:0}
.brow-name>span:last-child{display:grid;min-width:0}
.brow-name b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.brow-name small{font-size:.76rem}
.brow-bar .meter{height:10px;overflow:visible}
.brow-bar .meter i{border-radius:99px}
.brow-num{display:grid;text-align:right}
.brow-num small{color:var(--ink3);font-size:.76rem}
.brow.over .meter i{background:linear-gradient(90deg,var(--coral),#ff9aa9)}
.brow.over .brow-num b{color:var(--bad)}
.brow.fast .meter i{background:linear-gradient(90deg,var(--gold),#ffd27a)}
.brow.nobudget .meter i{background:var(--ink3);opacity:.5}
.budget-form{gap:1rem}
.bf-group{border:1px solid var(--edge);border-radius:var(--rm);padding:.8rem 1rem;margin:0}
.bf-group legend{font-weight:700;color:var(--ink2);padding:0 .4rem}
.bf-row{display:grid;grid-template-columns:1fr 9rem auto;gap:.8rem;align-items:center;padding:.3rem 0}
.bf-label{display:flex!important;align-items:center;gap:.5rem;margin:0!important;color:var(--ink)!important;font-weight:550!important}
.bf-input{padding:.5rem .7rem;text-align:right;font-variant-numeric:tabular-nums}
.bf-roll{font-size:.8rem!important;color:var(--ink2)!important}

.goal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-bottom:1.1rem;align-items:start}
.goal{display:grid;gap:.5rem;justify-items:center;text-align:center;border-radius:var(--rx)}
.goal-ring{position:relative;width:132px;height:132px}
.goal-ring svg{width:100%;height:100%}
.goal-ic{position:absolute;inset:0;display:grid;place-items:center;color:var(--royal2)}
.goal-ic .i{width:30px;height:30px}
.goal.achieved{border-color:rgba(242,194,91,.5);background:radial-gradient(100% 70% at 50% 0%,rgba(242,194,91,.14),transparent 60%),var(--glass)}
.goal.achieved .ring-fill{stroke:var(--gold);filter:drop-shadow(0 0 8px rgba(242,194,91,.7))}
.goal.achieved .goal-ic{color:var(--gold)}
.goal-num b{font-size:1.25rem}
.goal-num small{color:var(--ink3)}
.goal-move{display:flex;gap:.4rem;width:100%;flex-wrap:wrap;justify-content:center}
.goal-move input{width:7rem;flex:1;padding:.5rem .7rem}
.goal-edit{width:100%;text-align:left}
.goal-edit summary{cursor:pointer;color:var(--ink3);text-align:center}
.goal-new{justify-items:stretch;text-align:left}

.strip{display:grid;grid-template-columns:repeat(30,minmax(0,1fr));gap:3px;margin:.4rem 0 .8rem}
.strip-day{display:grid;justify-items:center;align-content:start;gap:3px;min-height:58px;padding:.35rem 0;border-radius:8px;background:var(--glass2)}
.strip-day small{font-size:.66rem;color:var(--ink3);font-variant-numeric:tabular-nums}
.strip-day.we{background:var(--glass)}
.strip-day.has{background:rgba(171,71,188,.12);box-shadow:inset 0 0 0 1px rgba(171,71,188,.3)}
.strip-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--royal2);flex:none}
.strip-dot.k-bill{background:var(--sky)}
.strip-dot.k-income{background:var(--mint)}

.vow-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-bottom:1rem;align-items:start}
.vow{display:grid;gap:.4rem;border-radius:var(--rx)}
.vow-head{display:flex;gap:.8rem;align-items:center}
.vow-head>div{flex:1;min-width:0}
.vow-head .h4{margin:0}
.vow-flame{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(255,159,90,.12);color:#ff9f5a}
.vow.state-ok .vow-flame .i,.vow.state-done .vow-flame .i{animation:flicker 2.4s ease-in-out infinite}
@keyframes flicker{0%,100%{transform:scale(1) rotate(0)}30%{transform:scale(1.08) rotate(-3deg)}60%{transform:scale(.96) rotate(2deg)}}
.vow.state-broken .vow-flame{color:var(--ink3);background:var(--glass2)}
.vow.state-done{border-color:rgba(67,224,183,.4)}
.vow-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:.6rem 0}
.vow-days li{display:grid;place-items:center;aspect-ratio:1;border-radius:9px;font-size:.74rem;font-variant-numeric:tabular-nums;background:var(--glass2);color:var(--ink3)}
.vow-days li.kept{background:rgba(67,224,183,.14);color:var(--mint);box-shadow:inset 0 0 0 1px rgba(67,224,183,.3)}
.vow-days li.spent{background:rgba(255,111,134,.08);color:var(--coral)}
.streak{display:flex;align-items:center;gap:.4rem;color:#ff9f5a;font-weight:650;font-size:.9rem}
.vow-new [data-vow]{display:grid;gap:.5rem}

.people{display:grid;gap:.6rem}
.person-row{display:grid;grid-template-columns:auto 1fr auto;gap:.9rem;align-items:start;padding:.9rem;border-radius:var(--rm);background:var(--glass2)}
.avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--royal),var(--ion))}
.avatar.sm{width:38px;height:38px;border-radius:12px}
.avatar[data-hue="1"]{background:linear-gradient(135deg,#ff7a8a,#ff9f5a)}.avatar[data-hue="2"]{background:linear-gradient(135deg,#2fc6c6,#44d7a8)}.avatar[data-hue="3"]{background:linear-gradient(135deg,#f2c25b,#ff9f5a)}.avatar[data-hue="4"]{background:linear-gradient(135deg,#5cc3ff,#8b7bff)}.avatar[data-hue="5"]{background:linear-gradient(135deg,#ff6fc1,#b65ddb)}
.person-main{display:grid;gap:.25rem;min-width:0}
.iou-items{display:grid;gap:.1rem}
.share-msg{display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;border-radius:10px;background:var(--glass);font-size:.84rem;color:var(--ink2);margin-top:.3rem}
.share-msg span{flex:1}

.afford-input{font-family:var(--fd);font-size:2rem!important;font-weight:800;letter-spacing:-.03em;padding:.6rem .9rem}
.verdict{display:grid;gap:.5rem;border-radius:var(--rx)}
.verdict-word{font-family:var(--fd);font-size:clamp(2rem,4vw,2.8rem);font-weight:850;letter-spacing:-.045em;line-height:1}
.v-yes .verdict-word,.verdict-word.v-yes{color:var(--mint)}
.v-tight .verdict-word,.verdict-word.v-tight{color:var(--gold)}
.v-no .verdict-word,.verdict-word.v-no{color:var(--coral)}
.verdict.v-yes{border-color:rgba(67,224,183,.4)}.verdict.v-tight{border-color:rgba(242,194,91,.45)}.verdict.v-no{border-color:rgba(255,111,134,.45)}
.afford-empty{display:grid;place-items:center;gap:.6rem;text-align:center;min-height:220px;color:var(--ink3)}
.afford-empty>.i{width:44px;height:44px;color:var(--royal2);animation:tilt 4s ease-in-out infinite}
@keyframes tilt{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}

.legend{display:inline-flex;align-items:center;gap:.4rem;color:var(--ink3)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px}
.lg-in{background:var(--mint)}.lg-out{background:var(--royal2)}
.bars{width:100%;height:auto}
.b-in{fill:var(--mint);opacity:.75}.b-out{fill:var(--royal2);opacity:.8}
.bar-g.now .b-in,.bar-g.now .b-out{opacity:1}
.bars text{fill:var(--ink3);font-size:11px;font-family:var(--f)}
.bars .axis{stroke:var(--edge2)}
.cat-bars{display:grid;gap:.75rem}
.cat-bars li{display:grid;grid-template-columns:minmax(9rem,1fr) 2fr auto;gap:.8rem;align-items:center}
.cb-name{display:flex;align-items:center;gap:.5rem;color:var(--ink);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.cb-num{display:grid;text-align:right;font-size:.92rem}
.cb-num small{font-size:.76rem}
.rank{display:grid;counter-reset:r}
.rank li{display:grid;grid-template-columns:auto 1fr auto auto;gap:.6rem;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--edge);counter-increment:r}
.rank li::before{content:counter(r);display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--glass2);font-size:.75rem;color:var(--ink3)}
.rank li:last-child{border-bottom:0}
.rank span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.heat{display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:4px}
.heat li{display:grid;place-items:end start;aspect-ratio:1;padding:4px 5px;border-radius:9px;background:var(--glass2)}
.heat small{font-size:.62rem;color:var(--ink3)}
.heat .heat-1{background:rgba(171,71,188,.18)}.heat .heat-2{background:rgba(171,71,188,.34)}.heat .heat-3{background:rgba(171,71,188,.55)}.heat .heat-4{background:rgba(171,71,188,.8)}
.heat .heat-3 small,.heat .heat-4 small{color:#fff}
.chron-cta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.1rem;border-color:rgba(242,194,91,.35)}
.chron-cta>.i{width:34px;height:34px;color:var(--gold)}
.chron-cta>div{flex:1;min-width:14rem}

.year-nav{display:flex;gap:.4rem;flex-wrap:wrap}
.chronicle{display:grid;gap:1.4rem}
.chron-title{text-align:center;padding:2.4rem 1rem;border-radius:36px;background:radial-gradient(70% 100% at 50% 0%,rgba(242,194,91,.2),transparent 60%),var(--glass);border:1px solid rgba(242,194,91,.35)}
.chron-title .kicker{color:var(--gold);justify-content:center}
.chron-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.chron-card{display:grid;gap:.25rem;padding:1.3rem;border-radius:var(--rl);background:var(--glass);border:1px solid var(--edge)}
.chron-card.wide{grid-column:span 1}
.chron-card small{color:var(--ink3)}
.chron-card b{font-family:var(--fd);font-size:1.6rem;font-weight:800;letter-spacing:-.03em;overflow:hidden;text-overflow:ellipsis}

.rule-list{display:grid;gap:.6rem}
.rule-list li{display:flex;gap:1rem;justify-content:space-between;align-items:flex-start;padding:.9rem;border-radius:var(--rm);background:var(--glass2)}
.rule-list p+p{margin-top:.3rem;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.cat-list{display:grid;gap:.3rem}
.cat-list li{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;padding:.45rem 0;border-bottom:1px solid var(--edge)}
.cat-list li:last-child{border-bottom:0}
.cat-list li.archived{opacity:.5}
.cat-edit{display:contents}
.cat-edit[open]>form{grid-column:1/-1;padding:.6rem 0 .8rem}
.cat-edit summary{cursor:pointer}

.connect-panel .soon-line{margin-bottom:.5rem}
.soon-panel{display:grid;justify-items:center;text-align:center;gap:.8rem;padding:2.6rem 1.4rem}
.soon-panel>.i{width:40px;height:40px;color:var(--gold)}
.provider .ticks{margin:1rem 0}
.notify-panel .form{margin-top:.8rem}

.tabbar{display:none}

.palette{width:min(640px,100% - 24px);max-height:min(560px,90vh);margin:10vh auto auto;padding:0;border:1px solid var(--edge2);border-radius:22px;background:var(--bg2);color:var(--ink);box-shadow:0 40px 120px -20px rgba(0,0,0,.8),0 0 0 1px rgba(171,71,188,.2);overflow:hidden}
.palette[open]{display:flex;flex-direction:column;animation:pop .2s var(--ease)}
.palette::backdrop{background:rgba(5,4,10,.6);backdrop-filter:blur(6px)}
.palette-in{display:flex;align-items:center;gap:.7rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--edge)}
.palette-in>.i{color:var(--royal2)}
.palette-in input{border:0;background:none;padding:.3rem 0;font-size:1.05rem;box-shadow:none!important}
.palette-add{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;padding:.8rem 1.1rem;border-bottom:1px solid var(--edge);background:rgba(171,71,188,.08)}
.palette-add[hidden]{display:none}
.palette-add p{flex:1;min-width:12rem;font-weight:650}
.palette-acc{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--ink2)}
.palette-acc select{width:auto;padding:.4rem 2.2rem .4rem .7rem;font-size:.85rem}
.palette-list{overflow-y:auto;padding:.4rem}
.palette-list a{display:flex;align-items:center;gap:.7rem;padding:.6rem .8rem;border-radius:11px;color:var(--ink)}
.palette-list a:hover,.palette-list a.sel{background:var(--glass2)}
.palette-list a.sel{box-shadow:inset 2px 0 0 var(--royal)}
.palette-list li[hidden]{display:none}
.palette-foot,.palette-hint{padding:.6rem 1.1rem;border-top:1px solid var(--edge);color:var(--ink3)}
.palette-secret{padding:.8rem 1.1rem;color:var(--gold);font-weight:700;display:flex;align-items:center;gap:.5rem}
.palette-secret[hidden]{display:none}

.admin-top{display:flex;align-items:center;gap:1rem;padding:1rem clamp(1rem,3vw,2.6rem);border-bottom:1px solid var(--edge)}
.admin-top .logout{margin-left:auto;padding:0}
.admin-main{padding:1.2rem clamp(1rem,3vw,2.6rem) 4rem}
.admin-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.1rem}
.kpis.three{grid-template-columns:repeat(3,1fr)}
.kpi{display:grid;gap:.2rem}
.kpi small{color:var(--ink2)}
.kpi b{font-size:1.7rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;align-items:start}
.span-2{grid-column:span 2}
.topup{display:grid;grid-template-columns:auto 1fr auto auto;gap:1rem;align-items:center;padding:.9rem 0;border-bottom:1px solid var(--edge)}
.topup-main{display:grid;gap:.15rem;min-width:0}
.topup-main small{color:var(--ink3);font-size:.8rem}
.mini-log{display:grid;max-height:420px;overflow:auto}
.mini-log li{padding:.5rem 0;border-bottom:1px solid var(--edge);font-size:.85rem;display:grid}
.mini-log small{color:var(--ink3)}
.seo-serp{padding:1rem;border-radius:12px;background:#fff;color:#202124}

.js .rv{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .rv.in{opacity:1;transform:none}

.crown-rain{position:fixed;inset:0;pointer-events:none;z-index:300;overflow:hidden}
.crown-rain span{position:absolute;top:-40px;color:var(--gold);text-shadow:0 0 12px rgba(242,194,91,.8);animation:rain 3.2s cubic-bezier(.3,.1,.7,1) forwards}
@keyframes rain{to{transform:translateY(110vh) rotate(540deg);opacity:.2}}

@media print{
	.rail,.appbar,.tabbar,.topline,.no-print,.app-foot,.palette,.space,.flashes{display:none!important}
	.shell{display:block}
	body,.app{background:#fff;color:#000}
	.panel{border:0;background:none;padding:0}
	.blur .amt{filter:none}
}

@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
	.js .rv{opacity:1;transform:none}
	.steps::after{transform:none}
}

@media (max-width:1100px){
	.hero-r-grid{grid-template-columns:1fr}
	.device-wrap{height:560px}
	.smalls{grid-template-columns:repeat(3,1fr)}
	.sec-list{grid-template-columns:repeat(2,1fr)}
	.span-8,.span-7,.span-6,.span-5,.span-4{grid-column:span 12}
	.kpis{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
	.menu-btn{display:inline-flex;margin-left:auto}
	.links{position:absolute;left:12px;right:12px;top:78px;flex-direction:column;align-items:stretch;gap:.2rem;padding:.7rem;border-radius:18px;background:var(--bg2);border:1px solid var(--edge2);box-shadow:var(--shadow);display:none}
	.nav.open .links{display:flex;animation:pop .25s var(--ease)}
	.links>a:not(.btn){padding:.8rem 1rem}
	.links .btn{margin:.4rem 0 0}
	.lang{order:2}
	.feat,.feat.flip{grid-template-columns:1fr}
	.feat.flip .feat-copy{order:0}
	.tiers,.bank-band,.bank-hero,.foot-grid,.split,.cols,.locked-page,.w-steps,.give-steps,.public-causes,.roadmap{grid-template-columns:1fr}
	.foot-grid{gap:2.2rem}
	.facts>div{grid-template-columns:1fr;gap:.2rem}
	.chron-grid{grid-template-columns:1fr 1fr}
	.dial-panel{grid-template-columns:1fr;justify-items:center;text-align:center}
	.dial-side .mini-stats{text-align:left}

	.shell{grid-template-columns:1fr}
	.rail{display:none}
	.appbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:.5rem;padding:.7rem 1rem;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--edge)}
	.appbar .brand{margin-right:auto}
	.appbar .brand img{height:26px}
	.topline-tools{display:none}
	.main{padding-bottom:7rem}
	.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;padding:.4rem .4rem calc(.45rem + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg2) 92%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--edge)}
	.tabbar a,.tabbar summary{display:grid;justify-items:center;gap:.15rem;padding:.4rem;border-radius:12px;color:var(--ink3);font-size:.68rem;list-style:none;cursor:pointer}
	.tabbar summary::-webkit-details-marker{display:none}
	.tabbar a.on,.tabbar .more.on>summary{color:var(--royal2)}
	.fab{justify-self:center;display:grid;place-items:center;width:54px;height:54px;margin-bottom:.25rem;border-radius:18px;border:0;color:#fff;background:linear-gradient(135deg,#c35bd6,var(--royal) 45%,#6f55e8);box-shadow:0 14px 30px -10px rgba(171,71,188,.9);cursor:pointer}
	.more{position:relative}
	.more-sheet{position:fixed;left:10px;right:10px;bottom:calc(74px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;gap:.3rem;padding:.6rem;border-radius:20px;background:var(--bg2);border:1px solid var(--edge2);box-shadow:var(--shadow);max-height:65vh;overflow-y:auto;animation:pop .2s var(--ease)}
	.more-sheet a{display:flex;align-items:center;gap:.55rem;padding:.7rem .75rem;border-radius:12px;color:var(--ink);font-size:.9rem}
	.more-sheet a:hover{background:var(--glass2)}
	.more-sheet a.locked{color:var(--gold)}
	.brow{grid-template-columns:1fr auto;row-gap:.45rem}
	.brow-bar{grid-column:1/-1;grid-row:2}
	.bill-rows li{grid-template-columns:auto 1fr auto}
	.bill-acts{grid-column:2/-1;justify-content:flex-end}
	.strip{grid-template-columns:repeat(15,minmax(0,1fr))}
	.mini-stats.four{grid-template-columns:1fr 1fr}
	.cat-bars li{grid-template-columns:1fr auto}
	.cat-bars .meter{grid-column:1/-1;grid-row:2}
	.tx-triage{grid-template-columns:1fr}
	.triage-form select{width:100%}
	.quick{flex-wrap:wrap;border-radius:20px;padding:.6rem}
	.quick input{flex-basis:calc(100% - 2rem)}
	.quick select{flex:1;max-width:none}
}
@media (max-width:560px){
	.wrap,.narrow,.narrow-l{width:calc(100% - 32px)}
	.mega{font-size:clamp(2.7rem,13vw,4rem)}
	.device-wrap{height:520px;transform:scale(.9)}
	.o1{width:380px;height:380px}.o2{width:300px;height:300px}
	.float-chip{font-size:.76rem;max-width:180px}
	.c1{left:-4%}.c2{right:-6%}
	.smalls,.sec-list,.chron-grid,.bank-tiles{grid-template-columns:1fr 1fr}
	.form-grid,.two,.split-row{grid-template-columns:1fr}
	.bf-row{grid-template-columns:1fr 7rem}
	.bf-roll{grid-column:1/-1}
	.radar-demo{flex-direction:column}
	.demo-budget li{grid-template-columns:auto 1fr auto}
	.demo-budget .meter{grid-column:1/-1;grid-row:2}
	.giving-band,.giving-hero{grid-template-columns:1fr;justify-items:center;text-align:center}
	.auth-card{padding:2rem 1.4rem}
	.period-nav span{min-width:0}
	.kpis{grid-template-columns:1fr 1fr}
	.dash-grid{grid-template-columns:1fr}
	.span-2{grid-column:auto}
}

.royal-error .auth{min-height:100vh}
.royal-error .error-card{text-align:center;display:grid;gap:1rem;justify-items:center;max-width:460px}
.royal-error .error-card :is(h1,p){text-wrap:balance}
.royal-error .error-card small{display:inline-block;line-height:1.5}
.royal-error .brand img{height:32px;width:auto}
.err-crown{font-size:3.4rem;line-height:1;color:var(--royal);animation:errfloat 4.8s ease-in-out infinite;text-shadow:0 10px 30px color-mix(in srgb,var(--royal) 45%,transparent)}
@keyframes errfloat{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-10px) rotate(6deg)}}
@media (prefers-reduced-motion:reduce){.err-crown{animation:none}}

.shortcuts{max-width:440px}
.ks-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem .6rem}
.ks-head h2{display:flex;align-items:center;gap:.5rem;margin:0}
.ks-list{display:grid;gap:0;margin:0;padding:.2rem 1.1rem .6rem}
.ks-list>div{display:grid;grid-template-columns:10rem 1fr;gap:.8rem;align-items:center;padding:.5rem 0;border-top:1px solid var(--edge)}
.ks-list dt{display:flex;align-items:center;gap:.3rem;color:var(--ink3);font-size:.82rem}
.ks-list dd{margin:0}
.ks-list kbd,.palette-secret kbd{display:inline-grid;place-items:center;min-width:1.7rem;height:1.7rem;padding:0 .4rem;border-radius:7px;border:1px solid var(--edge2);background:color-mix(in srgb,var(--ink) 6%,transparent);font:600 .78rem/1 inherit;color:var(--ink)}
.ks-list a{color:var(--ink)}
.ks-list a:hover{color:var(--royal2)}

.royal-seal{float:right;display:flex;align-items:center;gap:.7rem;margin:0 0 1rem 1rem;padding:.55rem .9rem .55rem .55rem;border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);border-radius:999px;background:color-mix(in srgb,var(--gold) 8%,transparent)}
.royal-seal .seal-ring{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe19a,var(--gold) 55%,#9b6b07);color:#3a2600;box-shadow:inset 0 0 0 3px rgba(255,255,255,.35),0 6px 18px -6px color-mix(in srgb,var(--gold) 70%,transparent);animation:sealturn 9s ease-in-out infinite}
.royal-seal b{display:block;font-size:.88rem}
.royal-seal small{display:block;color:var(--ink3);font-size:.76rem}
@keyframes sealturn{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
@media (prefers-reduced-motion:reduce){.royal-seal .seal-ring{animation:none}}
@media print{.royal-seal{border-color:#b8860b}.royal-seal .seal-ring{animation:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}}
@media (max-width:560px){.royal-seal{float:none;margin:0 0 1rem}.ks-list>div{grid-template-columns:8rem 1fr}}

.phases{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem;counter-reset:ph;margin:0;padding:0;list-style:none}
.phases::before{content:"";position:absolute;left:12%;right:12%;top:27px;height:2px;background:linear-gradient(90deg,var(--mint),var(--gold) 40%,var(--royal2) 70%,var(--edge2));opacity:.55}
.phase{position:relative;counter-increment:ph;padding:0 1.1rem 1.3rem;border-radius:var(--rl);background:var(--glass);border:1px solid var(--edge);text-align:left;display:flex;flex-direction:column;gap:.55rem;margin-top:27px}
.phase-dot{display:grid;place-items:center;width:54px;height:54px;margin:-27px 0 .3rem;border-radius:18px;background:var(--bg2);border:1px solid var(--edge2);color:var(--royal2);position:relative}
.phase-dot::after{content:counter(ph);position:absolute;right:-8px;top:-8px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:800;background:var(--royal);color:#fff}
.phase-live .phase-dot{color:var(--mint);border-color:color-mix(in srgb,var(--mint) 45%,transparent);box-shadow:0 0 0 6px color-mix(in srgb,var(--mint) 10%,transparent)}
.phase-planned{border-style:dashed}
.phase-planned .phase-dot{color:var(--ink3)}
.phase-badge{align-self:flex-start;display:inline-flex;padding:.16rem .55rem;border-radius:999px;font-size:.7rem;font-weight:700;border:1px solid currentColor}
.pb-1{color:var(--mint)}.pb-2,.pb-3{color:var(--gold)}.pb-4{color:var(--ink3)}
.phase h3{margin:0}
.phase p{margin:0;color:var(--ink2);font-size:.93rem;line-height:1.55}
@media (max-width:980px){.phases{grid-template-columns:repeat(2,minmax(0,1fr))}.phases::before{display:none}}
@media (max-width:560px){.phases{grid-template-columns:1fr}}
.tier-list li.planned{color:var(--ink3)}
.tier-list li.planned .i{color:var(--gold)}

.banner-demo{border-color:rgba(171,71,188,.42);background:linear-gradient(90deg,rgba(171,71,188,.14),rgba(139,123,255,.07))}
.banner-demo .i{color:var(--royal2)}
.banner-demo span{flex:1;min-width:14rem}
.form-bare{margin:0;display:inline-flex}
.demo-panel{border-color:rgba(171,71,188,.35)}
.center-row{justify-content:center}
.demo-band{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding:clamp(1.8rem,4.5vw,3.4rem);border-radius:var(--rx);background:radial-gradient(90% 120% at 0% 0%,rgba(171,71,188,.22),transparent 60%),radial-gradient(70% 90% at 100% 100%,rgba(139,123,255,.16),transparent 60%),var(--glass);border:1px solid rgba(171,71,188,.3)}
.demo-band .chip-k{margin-bottom:1rem}
.demo-band .cta-row{margin-top:1.6rem}
.demo-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.demo-list li{display:flex;align-items:center;gap:.6rem;padding:.8rem .9rem;border-radius:var(--rm);background:var(--glass2);border:1px solid var(--edge);font-size:.92rem;font-weight:600}
.demo-list .i{color:var(--royal2);flex:none}
@media (max-width:860px){.demo-band{grid-template-columns:1fr}}
@media (max-width:420px){.demo-list{grid-template-columns:1fr}}

.why-wrap{border-radius:var(--rx);border:1px solid var(--edge2);background:var(--glass);overflow:hidden}
.why-table{width:100%;border-collapse:collapse;font-size:.95rem;table-layout:fixed}
.why-table th,.why-table td{overflow-wrap:anywhere;hyphens:auto}
.why-table thead td{width:24%}
.why-table thead .why-us{width:30%}
.why-table th,.why-table td{padding:1rem 1.1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--edge)}
.why-table tbody tr:last-child>*{border-bottom:0}
.why-table thead th{font-size:.9rem;color:var(--ink2);font-weight:700}
.why-table tbody th{font-weight:700;color:var(--ink);width:26%}
.why-table td{color:var(--ink2)}
.why-table .why-us{background:rgba(171,71,188,.09);color:var(--ink);font-weight:600}
.why-table thead .why-us{color:var(--ink);font-size:1rem}
.why-table td.why-us .i{display:inline-block;vertical-align:-3px;color:var(--mint);margin-right:.25rem}
.why-promises{list-style:none;margin:1.6rem 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.4rem;color:var(--ink2);font-size:.92rem}
.why-promises li{display:flex;align-items:center;gap:.45rem}
.why-promises .i{color:var(--royal2)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:720px){
	.why-wrap{border:0;background:none;border-radius:0}
	.why-table thead{display:none}
	.why-table,.why-table tbody{display:block;width:100%}
	.why-table tbody{display:grid;gap:.75rem}
	.why-table tr{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--edge2);border-radius:var(--rx);background:var(--glass);overflow:hidden}
	.why-table th,.why-table td{display:block;width:auto;border:0;padding:.55rem .95rem;min-width:0;overflow-wrap:anywhere}
	.why-table tbody th{grid-column:1/-1;padding:.9rem .95rem .2rem;font-size:1rem;width:auto}
	.why-table td{font-size:.88rem}
	.why-table td+td:not(.why-us){border-left:1px solid var(--edge)}
	.why-table td::before{content:attr(data-label);display:block;margin-bottom:.15rem;font-size:.72rem;font-weight:700;color:var(--ink3)}
	.why-table td.why-us{grid-column:1/-1;border-top:1px solid var(--edge);padding:.75rem .95rem .85rem;font-size:.95rem}
	.why-table td.why-us::before{color:var(--royal2)}
}

:root{--veil:rgba(5,3,12,.74)}
:root[data-theme=light]{--veil:rgba(23,16,38,.56)}
.tour{position:fixed;inset:0;z-index:300}
.tour[hidden]{display:none}
.tour-veil{position:absolute;inset:0;transition:backdrop-filter .5s var(--ease),-webkit-backdrop-filter .5s var(--ease)}
.tour.is-center .tour-veil{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.tour-hole{position:fixed;left:50%;top:50%;width:0;height:0;border-radius:16px;box-shadow:0 0 0 200vmax var(--veil);pointer-events:none;opacity:0;transition:left .55s var(--ease),top .55s var(--ease),width .55s var(--ease),height .55s var(--ease),border-radius .4s var(--ease),opacity .45s var(--ease)}
.tour.is-in .tour-hole{opacity:1}
.tour-hole.is-round{border-radius:50%}
.tour-ring{position:absolute;inset:-5px;border-radius:inherit;border:2px solid var(--royal2);box-shadow:0 0 0 5px rgba(171,71,188,.2),0 0 30px rgba(211,139,228,.55);animation:tourPulse 1.9s ease-in-out infinite}
.tour-hole.is-off .tour-ring{display:none}
@keyframes tourPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.035);opacity:.72}}
.tour-card{position:fixed;left:50%;top:50%;width:min(380px,calc(100vw - 24px));padding:1.35rem 1.35rem 1.1rem;border-radius:var(--rl);background:var(--bg2);border:1px solid var(--edge2);box-shadow:0 40px 110px -24px rgba(0,0,0,.75),0 0 0 1px rgba(171,71,188,.22);color:var(--ink);outline:0;opacity:0;transform:translateY(10px) scale(.98);transition:opacity .3s var(--ease),transform .4s var(--ease),left .5s var(--ease),top .5s var(--ease)}
.tour.is-in .tour-card{opacity:1;transform:none}
.tour.is-in .tour-card.is-moving{opacity:0;transform:translateY(6px)}
.tour.is-center .tour-card{width:min(440px,calc(100vw - 24px));text-align:center;padding-top:1.7rem}
.tour-card h2{margin:0 0 .5rem}
.tour-text p{margin:0;color:var(--ink2);line-height:1.6}
.tour-count{margin:0 0 .35rem;color:var(--royal2);font-weight:700;letter-spacing:.02em;min-height:1.2em}
.tour.is-center .tour-count{display:none}
.tour-crest{display:none;position:relative;width:84px;height:84px;margin:0 auto 1rem;place-items:center}
.tour.is-center .tour-crest{display:grid}
.tour-crown{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:radial-gradient(circle at 30% 25%,rgba(242,194,91,.35),transparent 60%),linear-gradient(140deg,var(--royal),var(--ion));color:#fff;box-shadow:0 18px 50px -12px rgba(171,71,188,.8),inset 0 0 0 1px rgba(255,255,255,.25)}
.tour-crown .i{width:40px;height:40px}
.tour.is-in.is-center .tour-crown{animation:tourCrown .9s var(--ease) both}
.tour-crest>i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--gold);opacity:0}
.tour-crest>i:nth-of-type(1){left:-10px;top:18px}
.tour-crest>i:nth-of-type(2){right:-14px;top:6px;width:4px;height:4px}
.tour-crest>i:nth-of-type(3){right:-6px;bottom:4px}
.tour-crest>i:nth-of-type(4){left:2px;bottom:-6px;width:4px;height:4px;background:var(--royal2)}
.tour-crest>i:nth-of-type(5){left:40px;top:-12px;width:5px;height:5px;background:var(--royal2)}
.tour.is-in.is-center .tour-crest>i{animation:tourTwinkle 2.4s ease-in-out infinite}
.tour-crest>i:nth-of-type(2){animation-delay:.4s!important}
.tour-crest>i:nth-of-type(3){animation-delay:.9s!important}
.tour-crest>i:nth-of-type(4){animation-delay:1.3s!important}
.tour-crest>i:nth-of-type(5){animation-delay:1.7s!important}
@keyframes tourCrown{0%{transform:translateY(-26px) scale(.6) rotate(-14deg);opacity:0}60%{transform:translateY(4px) scale(1.06) rotate(3deg);opacity:1}100%{transform:none;opacity:1}}
@keyframes tourTwinkle{0%,100%{opacity:0;transform:scale(.4)}40%{opacity:1;transform:scale(1)}}
.tour-dots{list-style:none;display:flex;gap:5px;margin:1.1rem 0 0;padding:0}
.tour.is-center .tour-dots{justify-content:center}
.tour-dots li{width:6px;height:6px;border-radius:99px;background:var(--edge2);transition:width .35s var(--ease),background .35s}
.tour-dots li.done{background:rgba(171,71,188,.5)}
.tour-dots li.on{width:20px;background:var(--royal2)}
.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:1rem}
.tour-nav{display:flex;gap:.45rem}
.tour .btn-text{background:none;box-shadow:none;color:var(--ink3);padding-inline:.2rem}
.tour .btn-text:hover{color:var(--ink)}
.tour-final{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 0;justify-content:center}
.tour-final[hidden]{display:none}
body.touring{overflow:hidden}
@media (prefers-reduced-motion:reduce){
	.tour-hole,.tour-card,.tour-veil,.tour-dots li{transition:none}
	.tour-ring,.tour.is-in.is-center .tour-crown,.tour.is-in.is-center .tour-crest>i{animation:none}
	.tour-crest>i{opacity:.8}
}
.tour [hidden]{display:none!important}

.notes-panel .panel-head{margin-bottom:.9rem}
.nl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.nl-row{min-width:0;--tone:var(--royal2)}
.nl-row.tone-good{--tone:var(--mint)}
.nl-row.tone-warn{--tone:var(--gold)}
.nl-row.tone-info{--tone:var(--sky)}
.nl-in{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"ic t v go" "ic d d go";align-items:center;column-gap:.85rem;row-gap:.15rem;height:100%;padding:.8rem .7rem .8rem .8rem;border-radius:var(--rm);background:var(--glass);border:1px solid var(--edge);color:var(--ink);text-decoration:none;transition:background .2s,border-color .2s}
.nl-in:hover{background:var(--glass2);border-color:var(--edge2)}
.nl-in:focus-visible{outline:2px solid var(--royal2);outline-offset:2px}
.nl-ic{grid-area:ic;align-self:center;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:var(--tone);background:color-mix(in srgb,var(--tone) 15%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tone) 28%,transparent)}
.tone-good .nl-ic .i,.tone-warn .nl-ic .i,.tone-info .nl-ic .i,.nl-ic .i{color:var(--tone)}
.nl-t{grid-area:t;align-self:baseline;font-size:.96rem;font-weight:650;line-height:1.3;min-width:0}
.nl-d{grid-area:d;align-self:start;font-size:.85rem;line-height:1.45;color:var(--ink2)}
.nl-val{grid-area:v;align-self:baseline;font-weight:750;font-size:1rem;line-height:1.3;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--tone);text-align:right}
.nl-go{grid-area:go;color:var(--ink3);display:grid;place-items:center}
.nl-go .i{color:var(--ink3)!important}

.nl-tight{grid-template-columns:1fr;margin-top:1rem}
.nl-tight .nl-in{grid-template-areas:"ic t v go";padding:.6rem .6rem .6rem .65rem}
.nl-tight .nl-t,.nl-tight .nl-val{align-self:center}
.nl-tight .nl-ic{width:32px;height:32px;border-radius:10px}
@media (max-width:860px){.nl{grid-template-columns:1fr}}
@media (max-width:560px){
	.notes-panel{padding-inline:0;padding-bottom:.3rem}
	.notes-panel .panel-head{padding-inline:1.1rem}
	.notes-panel .nl{gap:0;border-top:1px solid var(--edge)}
	.notes-panel .nl-in{border-radius:0;border:0;border-bottom:1px solid var(--edge);background:none;padding:.9rem .85rem .9rem 1.1rem;column-gap:.8rem}
	.notes-panel .nl-row:last-child .nl-in{border-bottom:0}
	.notes-panel .nl-ic{align-self:start;margin-top:.1rem}
}
.gold-text{color:var(--gold)}
.pos-text{color:var(--ok)}
.h5{font-size:1rem;font-weight:650;margin:1.2rem 0 .5rem}
.sep{border:0;border-top:1px solid var(--edge);margin:1.2rem 0}
.narrow-t{max-width:34rem}
.inline-row{display:flex;gap:.6rem;align-items:center}
.inline-row input{flex:1;min-width:0}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.three>div{display:grid;gap:.4rem;align-content:start}
.four{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}
.four>div{display:grid;gap:.4rem;align-content:start}
.kpi-hero b{background:linear-gradient(90deg,var(--royal2),var(--ion));-webkit-background-clip:text;background-clip:text;color:transparent}
.chart-ends{display:flex;justify-content:space-between;margin-top:.4rem}
.small-details summary{cursor:pointer;color:var(--ink2);font-size:.9rem;padding:.4rem 0}
.small-panel{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.small-panel p{flex:1;min-width:14rem}
.chip.locked{color:var(--ink3);cursor:not-allowed}
.filter-chips{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1.1rem}
.filter-chips .sep{width:1px;height:1.4rem;background:var(--edge2);margin:0 .3rem;border:0}
.standing{display:flex;gap:2rem;align-items:center;margin-bottom:1.1rem;background:linear-gradient(135deg,rgba(171,71,188,.14),rgba(139,123,255,.06) 60%,transparent),var(--glass)}
.standing-ring{position:relative;flex:0 0 132px;width:132px;height:132px}
.standing-ring svg{width:100%;height:100%}
.standing-ring .ring-track{fill:none;stroke:var(--glass3);stroke-width:9}
.standing-ring .ring-fill{fill:none;stroke:url(#dialGrad);stroke:var(--royal);stroke-width:9;stroke-linecap:round;transition:stroke-dasharray 1s var(--ease)}
.standing-crown{position:absolute;inset:0;display:grid;place-items:center;color:var(--gold)}
.standing-crown .i{width:38px;height:38px;filter:drop-shadow(0 0 12px rgba(242,194,91,.45))}
.standing-copy{display:grid;gap:.45rem}
.standing-copy .h2 small{font-size:1rem;font-weight:500}
.locked-panel .standing-ring{opacity:.55}
.loan-list{display:grid;gap:.2rem}
.loan-list li{display:flex;align-items:center;gap:.8rem;padding:.7rem 0;border-bottom:1px solid var(--edge)}
.loan-list li:last-child{border-bottom:0}
.loan-main{display:grid;flex:1;min-width:0}
.loan-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.loan-list .amt small{margin-left:.15rem}
.habit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.1rem 0}
.habit{display:grid;gap:.55rem;align-content:start;border-top:3px solid var(--edge2)}
.habit.v-good{border-top-color:var(--ok)}
.habit.v-watch{border-top-color:var(--gold)}
.habit.v-bad{border-top-color:var(--bad)}
.habit-head{display:flex;justify-content:space-between;align-items:center}
.habit-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--glass2)}
.v-good .habit-ic{color:var(--ok)}
.v-watch .habit-ic{color:var(--gold)}
.v-bad .habit-ic{color:var(--bad)}
.hv-good{color:var(--ok);border-color:rgba(67,224,183,.35)}
.hv-watch{color:var(--gold);border-color:rgba(242,194,91,.35)}
.hv-bad{color:var(--bad);border-color:rgba(255,111,134,.4)}
.habit-tip{display:flex;gap:.5rem;align-items:flex-start;padding:.7rem .8rem;border-radius:var(--rs);background:var(--glass2);font-size:.92rem;color:var(--ink2)}
.habit-tip .i{flex:0 0 auto;margin-top:.2em;color:var(--royal2)}
.habit-save{color:var(--ok);font-weight:600}
.ask{margin-bottom:1.1rem}
.ask-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0}
.answer{display:grid;gap:.8rem;margin-top:1rem}
.answer-q{justify-self:end;display:flex;gap:.5rem;align-items:center;padding:.6rem .9rem;border-radius:16px 16px 4px 16px;background:rgba(171,71,188,.16);max-width:36rem}
.answer-a{display:flex;gap:.7rem;align-items:flex-start;max-width:44rem}
.answer-a>div{display:grid;gap:.5rem;padding:.8rem 1rem;border-radius:16px 16px 16px 4px;background:var(--glass2);border:1px solid var(--edge)}
.answer-crown{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--royal),var(--ion));color:#fff}
.review-list{display:grid;gap:1rem;margin-bottom:1rem}
.review{display:grid;gap:.9rem}
.review-head{display:flex;gap:1rem;align-items:flex-start}
.review-head>div{flex:1;display:grid;gap:.3rem}
.why-list{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;color:var(--ink2)}
.why-list li{display:flex;gap:.35rem;align-items:center}
.why-list .i{color:var(--ok)}
.review-edit summary{cursor:pointer;color:var(--royal2);font-size:.92rem;margin:.2rem 0 .7rem}
.review-edit[open]{padding-bottom:.4rem}
.review-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.advisor-banner{background:linear-gradient(90deg,rgba(171,71,188,.16),rgba(139,123,255,.06))}
.siege-form{display:grid;gap:.6rem;max-width:30rem;margin-bottom:1rem}
.siege-chart,.forecast-chart{width:100%;height:150px;margin-top:.6rem}
.siege-line,.fc-line{fill:none;stroke:var(--royal2);stroke-width:2.5;vector-effect:non-scaling-stroke}
.siege-base{fill:none;stroke:var(--ink3);stroke-width:1.5;stroke-dasharray:5 5;vector-effect:non-scaling-stroke}
.forecast-chart .zero{stroke:var(--bad);stroke-width:1;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}
.siege-order{display:grid;gap:.35rem;margin-top:.8rem;counter-reset:s}
.siege-order li{display:flex;gap:.6rem;counter-increment:s}
.siege-order li::before{content:counter(s);display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--glass2);font-size:.8rem;font-weight:700}
.debt-grid,.treasury-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.1rem 0}
.debt{display:grid;gap:.6rem;align-content:start}
.fc-events{display:grid}
.fc-events li{display:grid;grid-template-columns:5.5rem 1fr auto;gap:.8rem;padding:.55rem 0;border-bottom:1px solid var(--edge);align-items:center}
.fc-events li:last-child{border-bottom:0}
.kind-list{display:grid}
.kind-list li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--edge)}
.kind-list li:last-child{border-bottom:0}
.banish-list{display:grid;gap:.6rem;margin-bottom:1rem}
.banish-list li{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}
.banish-list .amt small{margin-left:.15rem}
.banish-one{display:grid;gap:.9rem}
.banish-steps{display:grid;gap:.4rem;padding-left:1.3rem;list-style:decimal;color:var(--ink2)}
.letter{width:100%;font:.92rem/1.55 var(--m);padding:.9rem 1rem;border-radius:var(--rm);background:var(--glass2);border:1px solid var(--edge2);color:var(--ink);resize:vertical}
.banish-done{display:grid;gap:.6rem;padding-top:.8rem;border-top:1px solid var(--edge)}
.invite-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:2rem;align-items:center;margin-bottom:1.1rem;background:linear-gradient(135deg,rgba(242,194,91,.1),rgba(171,71,188,.1) 55%,transparent),var(--glass)}
.invite-copy{display:grid;gap:.7rem}
.invite-link{display:flex;flex-wrap:wrap;gap:.5rem}
.invite-link input{flex:1 1 16rem;min-width:0;font-family:var(--m);font-size:.9rem}
.invite-steps{display:grid;gap:.8rem}
.invite-steps li{display:flex;gap:.8rem;align-items:flex-start}
.invite-steps.big{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.invite-steps.big li{display:flex}
.code{font-family:var(--m);letter-spacing:.12em;color:var(--gold)}
.friend-list{display:grid}
.friend-list li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--edge);align-items:center}
.invite-band{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap;margin-bottom:1.1rem;background:linear-gradient(90deg,rgba(242,194,91,.12),rgba(171,71,188,.08)),var(--glass)}
.invite-band>div{flex:1;min-width:14rem}
.invite-band-ic{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:rgba(242,194,91,.14);color:var(--gold)}
.invite-band-ic .i{width:24px;height:24px}
.rail-gift{color:var(--gold)!important}
.ref-note{display:flex;gap:.5rem;align-items:center;padding:.7rem .9rem;border-radius:var(--rs);background:rgba(242,194,91,.1);border:1px solid rgba(242,194,91,.3);color:var(--gold);font-size:.92rem}
.ref-field summary{cursor:pointer;color:var(--royal2);font-size:.9rem}
.ref-field[open]{display:grid;gap:.4rem}
.code-input{font-family:var(--m);letter-spacing:.14em;text-transform:uppercase}
.adv-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.adv-hero .ticks{margin:1.2rem 0}
.adv-card{padding:1.6rem;border-radius:var(--rx);display:grid;gap:.8rem;box-shadow:var(--shadow)}
.adv-card-k{display:flex;gap:.4rem;align-items:center;font-size:.82rem;color:var(--royal2);text-transform:uppercase;letter-spacing:.08em}
.adv-card-q{font-size:1.25rem;font-weight:650;letter-spacing:-.01em}
.adv-card-d{color:var(--ink2);font-size:.95rem}
.adv-card-btns{display:flex;gap:.5rem}
.adv-verdicts{display:grid;gap:.5rem;margin-top:.6rem;padding-top:.9rem;border-top:1px solid var(--edge)}
.adv-verdicts li{display:flex;gap:.6rem;align-items:flex-start;font-size:.93rem}
.adv-verdicts .v-good .i{color:var(--ok)}
.adv-verdicts .v-watch .i{color:var(--gold)}
.adv-verdicts .v-bad .i{color:var(--bad)}
.adv-band{background:radial-gradient(60% 80% at 80% 40%,rgba(171,71,188,.14),transparent 70%)}
.adv-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.adv-steps li{display:grid;gap:.6rem;align-content:start}
.bars{display:flex;align-items:flex-end;gap:2px;height:160px;margin-top:.6rem}
.bar{flex:1;height:100%;display:flex;align-items:flex-end}
.bar i{display:block;width:100%;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--royal2),var(--royal));min-height:1px}
.bar i.h0{height:0}.bar i.h5{height:5%}.bar i.h10{height:10%}.bar i.h15{height:15%}.bar i.h20{height:20%}.bar i.h25{height:25%}.bar i.h30{height:30%}.bar i.h35{height:35%}.bar i.h40{height:40%}.bar i.h45{height:45%}.bar i.h50{height:50%}
.bar i.h55{height:55%}.bar i.h60{height:60%}.bar i.h65{height:65%}.bar i.h70{height:70%}.bar i.h75{height:75%}.bar i.h80{height:80%}.bar i.h85{height:85%}.bar i.h90{height:90%}.bar i.h95{height:95%}.bar i.h100{height:100%}
.audit-table td{vertical-align:top}
.audit-issues{display:grid;gap:.2rem;font-size:.82rem}
.audit-issues .is-error{color:var(--bad)}
.audit-issues .is-warn{color:var(--gold)}
.audit-issues .is-info{color:var(--ink3)}
@media (max-width:980px){
	.habit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.adv-hero,.invite-hero{grid-template-columns:1fr}
	.adv-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
	.habit-grid,.debt-grid,.treasury-grid,.adv-steps,.invite-steps.big{grid-template-columns:1fr}
	.three,.four{grid-template-columns:1fr 1fr}
	.standing{flex-direction:column;align-items:flex-start;gap:1rem}
	.standing-ring{flex-basis:auto;width:110px;height:110px}
	.fc-events li{grid-template-columns:4.5rem 1fr auto;gap:.5rem;font-size:.92rem}
	.banish-list li .btn{width:100%}
}
.btn-text{background:none;box-shadow:none;border:0;color:var(--ink3);padding-inline:.3rem;min-height:0}
.btn-text:hover{background:none;color:var(--ink);text-decoration:underline}
.loan-list li{flex-wrap:wrap;row-gap:.35rem}
.loan-list .amt{white-space:nowrap}
.loan-main small{line-height:1.45}
@media (max-width:640px){
	.loan-list li{display:grid;grid-template-columns:auto 1fr auto;align-items:start}
	.loan-list li .loan-main{grid-column:2/4}
	.loan-list li .amt{grid-column:2;font-size:.95rem}
	.loan-list li .inline-form{grid-column:3;justify-self:end}
	.loan-main b{white-space:normal}
}
.more-sheet{display:block;grid-template-columns:none}
.more-g{border-bottom:1px solid var(--edge)}
.more-g>summary{display:flex;align-items:center;gap:.5rem;padding:.8rem .75rem;font-weight:650;cursor:pointer;list-style:none}
.more-g>summary::-webkit-details-marker{display:none}
.more-g>summary .chev{margin-left:auto;transition:transform .2s var(--ease)}
.more-g[open]>summary .chev{transform:rotate(180deg)}
.more-items{display:grid;grid-template-columns:1fr 1fr;gap:.2rem;padding:0 0 .5rem}
.more-items a.on{background:var(--glass2);color:var(--royal2)}
.more-foot{display:grid;grid-template-columns:1fr 1fr;gap:.2rem;padding-top:.5rem}
.more-foot a{font-size:.85rem;color:var(--ink2)}
.shield-strip{display:flex;align-items:center;gap:.9rem;color:var(--ink)}
.shield-strip>span:nth-child(2){display:grid;flex:1}
.shield-ic{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--glass2);color:var(--royal2)}
.chat-locked{border:1px dashed var(--edge2)}
.ai-diff{display:grid;gap:.4rem;margin:.8rem 0 1rem}
.ai-diff li{display:flex;gap:.5rem;align-items:flex-start}
.ai-badge{display:flex;gap:.4rem;align-items:center}
.chat-log{display:grid;gap:.8rem;margin:1rem 0;max-height:60vh;overflow-y:auto;padding-right:.2rem}
.msg{display:flex;gap:.6rem;align-items:flex-start}
.msg-me{justify-content:flex-end}
.msg-body{max-width:85%;padding:.75rem .95rem;border-radius:16px;background:var(--glass2);line-height:1.55;overflow-wrap:anywhere}
.msg-me .msg-body{background:linear-gradient(135deg,var(--royal),var(--royal2));color:#fff;border-bottom-right-radius:6px}
.msg-ai .msg-body{border-bottom-left-radius:6px}
.msg-body p{margin:0 0 .5rem}.msg-body p:last-child,.msg-body ul:last-child{margin-bottom:0}
.msg-body ul{margin:.3rem 0 .6rem;padding-left:1.1rem;list-style:disc}
.msg-body h2,.msg-body h3{font-size:1rem;margin:.2rem 0 .4rem}
.chat-form{display:flex;gap:.5rem;align-items:flex-end;margin-top:.8rem}
.chat-form textarea{flex:1;min-height:48px;resize:vertical}
.chat-form.busy button{opacity:.6;pointer-events:none}
.chat-foot{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between;margin-top:.6rem}
@media (max-width:640px){.chat-form .btn span{display:none}.msg-body{max-width:92%}}
.more-g>summary{font-size:.98rem;color:var(--ink);text-transform:none;letter-spacing:0}
.panel.chat{margin-bottom:1rem}
.goal-ic,.standing-crown{display:block;inset:auto;top:50%;left:50%;transform:translate(-50%,-50%);line-height:0}
.goal-ic .i,.standing-crown .i,.habit-ic .i,.shield-ic .i{display:block;margin:0}
.score-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .65rem;border-radius:999px;background:rgba(242,194,91,.12);color:var(--gold);font-weight:650;font-size:.85rem;white-space:nowrap}
.score-chip small{opacity:.7;font-weight:500}
.panel.chat{background:linear-gradient(160deg,rgba(171,71,188,.14),rgba(139,123,255,.06) 60%,transparent),var(--bg2)}
.msg-ai .answer-crown{flex:none}
@media (max-width:640px){.quick-strip,.topline-tools{display:none}}
.typing{display:flex;gap:.3rem;align-items:center;height:1.2rem;margin:0}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--royal2);opacity:.35;animation:typing 1.1s infinite ease-in-out}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes typing{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.msg.fresh{animation:pop .25s var(--ease)}
.msg-err .msg-body{border:1px solid rgba(255,111,134,.35);color:var(--ink2)}
@media (prefers-reduced-motion:reduce){.typing i,.msg.fresh{animation:none}}
.chat-log .msg{background:none;border:0;padding:0;margin:0;box-shadow:none;border-radius:0;max-width:none}
.chat .ask-chips{display:flex;flex-wrap:wrap;gap:.45rem}
.chat .ask-chips .inline-form{display:inline-flex;margin:0}
.chat-log .answer-crown{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;flex:none}
.chat .ask-chips .inline-form{width:auto;flex:none}.chat .ask-chips .chip{width:auto}
.theme-switch{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem;border:1px solid var(--edge);border-radius:999px;background:var(--glass);width:max-content;max-width:100%;font-size:.8rem;line-height:1}
.theme-switch-l{padding:0 .5rem 0 .55rem;color:var(--ink3)}
.theme-switch a{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2rem;padding:0 .85rem;border-radius:999px;color:var(--ink2);line-height:1;white-space:nowrap}
.theme-switch a:hover{color:var(--ink)}
.theme-switch a[aria-pressed=true]{background:var(--glass3);color:var(--ink);box-shadow:inset 0 0 0 1px var(--edge2)}
.theme-dot{display:block;width:.72rem;height:.72rem;border-radius:50%;flex:none}
.theme-dot-dark{background:#14111f;box-shadow:inset 0 0 0 1.5px #8d86a6}
.theme-dot-light{background:#fff;box-shadow:inset 0 0 0 1.5px #8d86a6}
.theme-switch-lg{font-size:.9rem}
.theme-switch-lg a{min-height:2.4rem;padding:0 1.1rem}
.setting-look{display:grid;gap:.5rem;margin:1.4rem 0 1rem;justify-items:start}
.mega-2{line-height:1.02;padding-bottom:.14em;margin-bottom:-.14em}
.kpi-hero b{padding-bottom:.1em}
.rail-g{border-radius:12px}
.rail-g>summary{display:flex;align-items:center;gap:.7rem;padding:.55rem .7rem;border-radius:11px;color:var(--ink2);font-weight:600;font-size:.93rem;cursor:pointer;list-style:none;user-select:none;transition:.18s}
.rail-g>summary::-webkit-details-marker{display:none}
.rail-g>summary:hover{color:var(--ink);background:var(--glass2)}
.rail-g>summary .chev{margin-left:auto;color:var(--ink3);transition:transform .2s var(--ease)}
.rail-g>summary .dot-count+.chev,.rail-g>summary .soon+.chev{margin-left:.45rem}
.rail-g>summary .soon{margin-left:auto;font-size:.64rem;padding:.12rem .45rem}
.rail-g[open]>summary .chev{transform:rotate(180deg)}
.rail-g.here>summary{color:var(--ink)}
.rail-g.here>summary>.i:first-child{color:var(--royal2)}
.rail-g-items{display:grid;gap:.1rem;margin:.1rem 0 .35rem .95rem;padding-left:.55rem;border-left:1px solid var(--edge)}
.rail-g-items a{font-size:.9rem;padding:.48rem .65rem}
.rail-bank{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--edge);border-radius:0}
.rail-icons{display:flex;gap:.35rem;padding:0 .4rem .2rem}
.rail-icons a{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:11px;color:var(--ink2);border:1px solid var(--edge);background:var(--glass)}
.rail-icons a:hover,.rail-icons a.on{color:var(--ink);background:var(--glass2);border-color:var(--edge2)}
.rail-icons a.on{box-shadow:inset 0 0 0 1px var(--royal)}
.rail-icons .i{width:1.05rem;height:1.05rem;vertical-align:0}
.more-top{grid-template-columns:1fr 1fr 1fr;padding:.4rem 0 .6rem;border-bottom:1px solid var(--edge)}
.more-g>summary .soon{margin-left:.2rem}
.more-g>summary .dot-count{margin-left:.2rem}
.icon-btn.is-off{opacity:.35;cursor:default;pointer-events:none}
.seg-links{display:inline-flex;gap:.25rem;padding:.25rem;border:1px solid var(--edge);border-radius:999px;background:var(--glass)}
.seg-links a{display:inline-flex;align-items:center;min-height:2rem;padding:0 .9rem;border-radius:999px;color:var(--ink2);font-size:.86rem;font-weight:600;white-space:nowrap}
.seg-links a:hover{color:var(--ink)}
.seg-links a.on{background:var(--glass3);color:var(--ink);box-shadow:inset 0 0 0 1px var(--edge2)}
.merchants{display:grid}
.merchants>li{display:grid;grid-template-columns:2rem minmax(0,1fr) 90px 8.5rem 9.5rem auto;gap:.9rem;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--edge)}
.merchants>li:last-child{border-bottom:0}
.mc-rank{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:9px;background:var(--glass2);color:var(--ink3);font-size:.74rem;font-variant-numeric:tabular-nums;line-height:1}
.mc-main{display:grid;gap:.15rem;min-width:0;color:var(--ink)}
.mc-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-main small{display:flex;align-items:center;gap:.4rem;color:var(--ink3);font-size:.8rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.mc-main:hover b{color:var(--royal2)}
.mc-spark{width:90px;height:28px}
.mc-spark path{fill:none;stroke:var(--royal2);stroke-width:1.6;vector-effect:non-scaling-stroke}
.mc-stats{line-height:1.45}
.mc-total{display:grid;gap:.35rem;text-align:right}
.mc-act .chip{white-space:nowrap}
.cal-sum{margin:0 0 1rem}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem}
.cal-wd{text-align:center;font-size:.74rem;font-weight:700;color:var(--ink3);padding:.2rem 0}
.cal-day{position:relative;min-height:6.4rem;padding:.45rem;border-radius:12px;border:1px solid var(--edge);background:var(--glass);display:flex;flex-direction:column;gap:.3rem;min-width:0}
.cal-day.we{background:var(--glass2)}
.cal-day.past{opacity:.55}
.cal-day.today{border-color:var(--royal);box-shadow:inset 0 0 0 1px var(--royal)}
.cal-day.cal-h1{background:color-mix(in srgb,var(--royal) 8%,var(--glass))}
.cal-day.cal-h2{background:color-mix(in srgb,var(--royal) 14%,var(--glass))}
.cal-day.cal-h3{background:color-mix(in srgb,var(--royal) 20%,var(--glass))}
.cal-day.cal-h4{background:color-mix(in srgb,var(--royal) 28%,var(--glass))}
.cal-n{font-size:.8rem;font-weight:700;color:var(--ink2);font-variant-numeric:tabular-nums}
.cal-day.today .cal-n{color:var(--royal2)}
.cal-items{display:grid;gap:.2rem}
.cal-items li{display:grid;font-size:.72rem;line-height:1.25;padding:.2rem .35rem;border-radius:6px;background:var(--glass2);border-left:2px solid var(--royal2);min-width:0}
.cal-items li.k-income{border-left-color:var(--mint)}
.cal-items li.k-bill{border-left-color:var(--gold)}
.cal-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.cal-items .amt{color:var(--ink3)}
.cal-pad{min-height:1px}
.flowmap{width:100%;height:auto;display:block;margin:.4rem 0 1rem;overflow:visible}
.fm-link{opacity:.32;transition:opacity .2s}
.fm-link:hover{opacity:.6}
.fm-node{opacity:.95}
.fm-in{fill:var(--mint);background:var(--mint)}
.fm-short{fill:var(--coral);background:var(--coral)}
.fm-mid{fill:var(--royal2)}
.fm-kept{fill:var(--gold);background:var(--gold)}
.fm-g-essentials{fill:var(--sky);background:var(--sky)}
.fm-g-lifestyle{fill:var(--royal);background:var(--royal)}
.fm-g-savings{fill:var(--h6);background:var(--h6)}
.fm-g-other{fill:var(--h11);background:var(--h11)}
.fm-g-transfer{fill:var(--h11);background:var(--h11)}
.fm-labels text{font-size:13px;fill:var(--ink)}
.fm-labels .fm-l{font-weight:650}
.fm-labels .fm-v{fill:var(--ink3);font-size:12px;font-variant-numeric:tabular-nums}
.fm-legend{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.fm-legend h3{font-size:.8rem;color:var(--ink3);font-weight:700;margin-bottom:.4rem}
.fm-legend ul{display:grid;gap:.3rem}
.fm-legend li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:center;font-size:.88rem}
.fm-legend li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fm-sw{display:block;width:.7rem;height:.7rem;border-radius:3px}
.week-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}
.week-stats>div{display:grid;gap:.15rem;align-content:start;min-width:0}
.week-stats dt{font-size:.78rem;color:var(--ink3);font-weight:600}
.week-stats dd{margin:0;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.week-stats dd.amt:first-of-type{font-size:1.25rem}
.week-stats dd a{color:var(--ink)}
.week-stats dd a:hover{color:var(--royal2)}
.receipt-view{display:block;margin:.4rem 0 .8rem;border-radius:12px;overflow:hidden;border:1px solid var(--edge2);background:#fff;max-height:420px}
.receipt-view img{width:100%;height:auto;max-height:420px;object-fit:contain}
.receipt-form input[type=file]{padding:.5rem;font-size:.86rem}
@media (max-width:1100px){.merchants>li{grid-template-columns:2rem minmax(0,1fr) 8rem 8.5rem}.mc-spark,.mc-act{display:none}.week-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.merchants>li{grid-template-columns:1.75rem minmax(0,1fr) auto;gap:.6rem}.mc-stats{display:none}.mc-total{min-width:6.5rem}.fm-labels{display:none}.fm-legend{grid-template-columns:1fr}.week-stats{grid-template-columns:1fr 1fr}.cal{gap:.2rem}.cal-day{min-height:3.4rem;padding:.3rem;border-radius:9px}.cal-items li{font-size:0;padding:0;height:5px;border-radius:3px;border-left:0;background:var(--royal2)}.cal-items li.k-income{background:var(--mint)}.cal-items li.k-bill{background:var(--gold)}.cal-items li *{display:none}.more-top{grid-template-columns:1fr 1fr}}
.week-stats dd.small{white-space:normal;font-weight:560;line-height:1.35}
.mc-stats{white-space:nowrap}@media (min-width:1101px){.merchants>li{grid-template-columns:2rem minmax(0,1fr) 90px 10.5rem 9.5rem auto}}
.tx-receipt{display:inline-flex;align-items:center;color:var(--ink3)}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:760px){.flowmap-panel{overflow:hidden}.flowmap{width:150%;max-width:none;margin-left:-25%;margin-right:-25%}}

/* ---------- staff console shell ---------- */
.adm{background:var(--bg)}
.adm-shell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh;background:linear-gradient(90deg,var(--bg2) 264px,transparent 264px)}
.adm-side{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:1rem;padding:1.1rem .9rem 1rem;border-right:1px solid var(--edge);background:linear-gradient(180deg,color-mix(in srgb,var(--royal) 7%,var(--bg2)),var(--bg2) 38%);overflow-y:auto;z-index:70}
.adm-brand{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.2rem .45rem .4rem}
.adm-brand .brand img{height:26px}
.adm-env{font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);padding:.22rem .5rem;border:1px solid var(--edge2);border-radius:7px}
.adm-status{display:flex;gap:.7rem;align-items:center;padding:.75rem .8rem;border-radius:14px;border:1px solid var(--edge);background:var(--glass);color:var(--ink);text-decoration:none;transition:border-color .2s}
.adm-status:hover{border-color:var(--edge2)}
.adm-status i{flex:none;width:10px;height:10px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px color-mix(in srgb,var(--mint) 18%,transparent)}
.adm-status-maint{border-color:color-mix(in srgb,var(--gold) 45%,transparent);background:color-mix(in srgb,var(--gold) 8%,transparent)}
.adm-status-maint i{background:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 22%,transparent);animation:adm-blink 1.6s infinite}
@keyframes adm-blink{50%{opacity:.35}}
.adm-status span{display:grid;line-height:1.25}
.adm-status b{font-size:.86rem}
.adm-status small{font-size:.74rem;color:var(--ink3)}
.adm-nav{display:grid;gap:2px}
.adm-nav a{display:flex;align-items:center;gap:.65rem;padding:.55rem .7rem;border-radius:10px;color:var(--ink2);font-size:.92rem;font-weight:550;text-decoration:none;transition:background .15s,color .15s}
.adm-nav a:hover{background:var(--glass2);color:var(--ink)}
.adm-nav a.on{background:color-mix(in srgb,var(--royal) 16%,transparent);color:var(--ink);box-shadow:inset 3px 0 0 var(--royal)}
.adm-nav a.on .i{color:var(--royal2)}
.adm-group{margin:.95rem .7rem .3rem;font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink3)}
.adm-count{margin-left:auto;min-width:1.4rem;padding:.08rem .45rem;border-radius:999px;background:var(--royal);color:#fff;font-size:.72rem;font-weight:700;text-align:center}
.adm-count-mute{background:var(--glass3);color:var(--ink2)}
.adm-side-foot{margin-top:auto;display:grid;gap:2px;padding-top:.8rem;border-top:1px solid var(--edge)}
.adm-side-foot a{display:flex;align-items:center;gap:.55rem;padding:.45rem .7rem;border-radius:9px;color:var(--ink3);font-size:.82rem;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adm-side-foot a:hover{color:var(--ink);background:var(--glass2)}
.adm-body{min-width:0;display:flex;flex-direction:column}
.adm-bar{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:.9rem;padding:.75rem clamp(1rem,2.6vw,2.2rem);border-bottom:1px solid var(--edge);background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:saturate(160%) blur(16px);backdrop-filter:saturate(160%) blur(16px)}
.adm-crumbs{display:flex;align-items:center;gap:.4rem;margin:0;font-size:.88rem;color:var(--ink3);min-width:0}
.adm-crumbs b{color:var(--ink);font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adm-bar-end{margin-left:auto;display:flex;align-items:center;gap:.6rem}
.adm-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.3rem .7rem;border-radius:999px;border:1px solid var(--edge2);font-size:.76rem;font-weight:650;color:var(--ink2);white-space:nowrap}
.adm-pill i{width:7px;height:7px;border-radius:50%;background:var(--ink3)}
.adm-pill-ok i{background:var(--mint)}
.adm-pill-warn{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 45%,transparent)}
.adm-pill-warn i{background:var(--gold);animation:adm-blink 1.6s infinite}
.adm-theme{display:inline-flex;padding:3px;border:1px solid var(--edge2);border-radius:11px}
.adm-theme a{display:grid;place-items:center;width:28px;height:26px;border-radius:8px;color:var(--ink3)}
.adm-theme a[aria-pressed=true]{background:var(--glass3);color:var(--ink)}
.adm-me{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--ink2);max-width:240px}
.adm-me-mail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adm-avatar{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--royal),var(--ion));color:#fff;font-weight:700;font-size:.8rem}
.adm-bar .logout{margin:0;padding:0}
.adm-menu-btn{display:none}
.adm-scrim{display:none}
.adm-main{padding:1.4rem clamp(1rem,2.6vw,2.2rem) 4rem;width:100%;max-width:1440px}
.adm-main .page-head{margin-top:.2rem}
.adm-main .eyebrow a{color:inherit}
.adm-kpis .kpi{text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}
.adm-kpis .kpi:hover{border-color:var(--edge2);transform:translateY(-1px)}
.adm-kpis .kpi small{display:flex;align-items:center;gap:.4rem}
.kpi-sub{font-size:.78rem;color:var(--ink3)}
.kpi-attn{border-color:color-mix(in srgb,var(--royal) 50%,transparent)}
.adm-switch{display:grid;gap:1rem}
.adm-switch-head{display:flex;gap:1rem;align-items:flex-start}
.adm-switch-dot{flex:none;width:14px;height:14px;margin-top:.45rem;border-radius:50%;background:var(--mint);box-shadow:0 0 0 6px color-mix(in srgb,var(--mint) 16%,transparent)}
.adm-switch-on{border-color:color-mix(in srgb,var(--gold) 45%,transparent);background:color-mix(in srgb,var(--gold) 6%,var(--glass))}
.adm-switch-on .adm-switch-dot{background:var(--gold);box-shadow:0 0 0 6px color-mix(in srgb,var(--gold) 20%,transparent);animation:adm-blink 1.6s infinite}
.adm-switch-form{display:grid;gap:.8rem}
.adm-switch-form .field{display:grid;gap:.35rem;font-size:.86rem;font-weight:600}
.adm-cli{margin:0}
.adm-todo,.adm-hosts{display:grid}
.adm-todo a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--edge);color:var(--ink);text-decoration:none}
.adm-todo a:hover span{color:var(--royal2)}
.adm-todo span{display:flex;align-items:center;gap:.55rem}
.adm-todo b{font-variant-numeric:tabular-nums;color:var(--ink2)}
.adm-todo b.attn{color:var(--royal2)}
.adm-hosts li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--edge)}
.adm-hosts div{display:grid;min-width:0}
.adm-hosts a{color:var(--ink);font-size:.9rem}
.adm-hosts small{color:var(--ink3);font-size:.78rem}
@media (max-width:1100px){.adm-me-mail{display:none}}
@media (max-width:900px){
	.adm-shell{grid-template-columns:1fr;background:none}
	.adm-side{position:fixed;left:0;top:0;bottom:0;width:min(290px,86vw);transform:translateX(-102%);transition:transform .25s var(--ease);box-shadow:var(--shadow)}
	.adm-menu-check:checked ~ .adm-shell .adm-side{transform:none}
	.adm-menu-check:checked ~ .adm-shell .adm-scrim{display:block;position:fixed;inset:0;z-index:65;background:rgba(0,0,0,.45)}
	.adm-menu-btn{display:inline-flex}
	.adm-pill:not(.adm-pill-warn){display:none}
}
@media (max-width:560px){.adm-theme{display:none}.adm-crumbs span,.adm-crumbs .i{display:none}}
