:root{color-scheme:dark;--fu-bg:#141a2c;--fu-panel:#222b43;--fu-text:#f5f1e8;--fu-muted:#c0c9dd;--fu-gold:#f1d399;--fu-line:#44506b;--jar-fill:0%}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 0,#353454,transparent 65%),var(--fu-bg);color:var(--fu-text);font:16px/1.55 system-ui,sans-serif;min-height:100vh}a{color:var(--fu-gold)}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.65;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a8dbe9;outline-offset:3px}.fu-shell{max-width:1020px;margin:auto;padding:20px 18px 64px}.fu-bar,.fu-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.fu-bar{padding-top:env(safe-area-inset-top);margin-bottom:28px}.fu-bar a{text-decoration:none}h1{font:500 clamp(2rem,6vw,3.6rem)/1.1 Georgia,serif;margin:10px 0}h2{font:500 1.5rem/1.25 Georgia,serif;margin:0 0 12px}h3{font-size:1.05rem;font-weight:600;margin:8px 0}p{margin:7px 0 15px}.fu-muted,small{color:var(--fu-muted)}small{font-size:.85rem}.fu-eyebrow{font-size:.75rem;letter-spacing:.15em;color:var(--fu-gold)}.fu-tabs{display:flex;gap:8px;margin:24px 0}.fu-tabs button{flex:1}.fu-btn,.fu-tabs button{min-height:44px;border:1px solid var(--fu-line);border-radius:13px;background:#2c3652;color:var(--fu-text);padding:10px 15px;text-decoration:none;display:inline-flex;justify-content:center;align-items:center}.fu-btn.primary,.fu-tabs button[aria-pressed=true]{background:var(--fu-gold);color:#211e2b;border-color:transparent}.fu-panel{padding:22px;border:1px solid #f1d39926;border-radius:22px;background:var(--fu-panel);margin:16px 0}.fu-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;align-items:start}.fu-grid>.fu-panel{margin:0}.fu-value{font-size:2rem;font-weight:600;font-variant-numeric:tabular-nums}.fu-line{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--fu-line)}.fu-line:last-child{border:0}.fu-money{white-space:nowrap;font-variant-numeric:tabular-nums}.fu-list{list-style:none;padding:0;margin:0}.fu-list li{padding:12px 0;border-bottom:1px solid var(--fu-line)}.fu-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}.fu-fields label{display:flex;flex-direction:column;gap:5px;min-width:0}input,select{width:100%;min-height:46px;background:#182136;color:var(--fu-text);border:1px solid #66718b;border-radius:10px;padding:9px 11px}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--fu-gold);flex:none}.fu-check{display:flex;align-items:center;gap:10px;margin:14px 0}.fu-track{height:12px;background:#414a60;border-radius:30px;overflow:hidden;margin:12px 0}.fu-track span{display:block;height:100%;background:var(--fu-gold);width:0;transition:width .5s}.fu-note{padding:13px 16px;border-radius:13px;background:#182136;color:var(--fu-muted);margin:12px 0}.fu-status{min-height:1.5em;color:var(--fu-gold);margin:10px 0}.fu-status.error{color:#ffb4b4}.fu-chip{font-size:.8rem;padding:4px 9px;border-radius:10px;background:#172035;color:var(--fu-gold)}.fu-navperiod{display:flex;align-items:center;gap:10px;justify-content:space-between;margin:18px 0}.fu-navperiod strong{text-align:center;font-size:.95rem}.fu-inline{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.fu-inline>label{flex:1;min-width:140px}details{margin-top:14px}summary{cursor:pointer;color:var(--fu-gold);min-height:44px;padding:8px 0}.fu-jar{position:relative;width:105px;height:128px;border:3px solid #ebdbacb5;border-radius:15px 15px 32px 32px;box-shadow:inset 0 0 20px #f7d58b22,0 0 24px #e7c98633;margin:18px auto 10px;overflow:visible;background:#141a2c}.fu-jar:before{content:'';position:absolute;top:-10px;left:-5px;right:-5px;height:15px;background:linear-gradient(#f1d399,#a37b45);border-radius:6px}.fu-jar-glow{position:absolute;inset:auto 3px 3px;height:var(--jar-fill);max-height:calc(100% - 6px);background:linear-gradient(0deg,#f1d399b0,#f1d39922);border-radius:8px 8px 26px 26px;transition:height .6s}.fu-jar-stars{position:absolute;inset:25px 0 0;text-align:center;color:#fff1be;font-size:24px;letter-spacing:8px;text-shadow:0 0 12px #ffd88e}.fu-jar-caption{text-align:center}.fu-jar-link{display:block;text-decoration:none;color:inherit}.fu-room-jar{position:absolute;left:69%;top:60%;width:7%;z-index:74;filter:drop-shadow(0 4px 4px #0008);text-decoration:none}.fu-room-jar .fu-jar{width:100%;height:auto;aspect-ratio:105/128;margin:0;border-width:2px;border-radius:12% 12% 28% 28%}.fu-room-jar .fu-jar:before{height:10%;top:-5px;left:-3px;right:-3px}.fu-room-jar .fu-jar-stars{font-size:clamp(8px,2vw,23px);inset:20% 0 0;letter-spacing:0}.fu-room-jar-label{position:absolute;left:50%;top:110%;transform:translateX(-50%);font:600 clamp(8px,1.4vw,12px)/1.2 system-ui;background:#182136ef;color:#ffe8af;padding:4px 7px;border-radius:7px;white-space:nowrap}.fu-room-jar:focus-visible{outline:3px solid #f1d399;outline-offset:8px}.fu-mini{font-size:.8rem;padding:7px 10px;min-height:44px}.fu-footer{margin:25px 0;color:var(--fu-muted)}[hidden]{display:none!important}#fu-toast{position:sticky;bottom:12px;background:#f1d399;color:#211e2b;padding:12px 18px;border-radius:15px;z-index:100;box-shadow:0 4px 24px #0007} @media(max-width:700px){.fu-grid{grid-template-columns:1fr}.fu-shell{padding:16px 12px 40px}.fu-panel{padding:18px}.fu-tabs{gap:5px}.fu-tabs button{padding:9px 5px;font-size:.9rem}.fu-fields{grid-template-columns:1fr}.fu-bar{margin-bottom:20px}.fu-navperiod .fu-btn{padding:8px 12px}.fu-line{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.fu-track span,.fu-jar-glow{transition:none}}

/* V93.1 · warm glass money jar, shared between room and budget */
.fu-jar{position:relative;isolation:isolate;width:min(230px,65vw);height:auto;aspect-ratio:1280/1216;margin:28px auto 16px;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}
.fu-jar::before{content:none}
.fu-jar-art{position:relative;z-index:2;display:block;width:100%;height:auto;filter:drop-shadow(0 12px 9px #09091466)}
.fu-jar-glow{position:absolute;z-index:0;inset:13% -12% -3%;height:auto;max-height:none;border-radius:50%;background:radial-gradient(ellipse,#f0c37270,transparent 68%);opacity:var(--jar-light,.12);transition:opacity .7s;pointer-events:none}
.fu-jar-spark{position:absolute;z-index:3;top:25%;right:10%;color:#fff0b8;text-shadow:0 0 10px #ffcf76;font-size:20px;opacity:var(--jar-light,.12);pointer-events:none}
.fu-jar-sanctuary{position:relative;text-align:center;background:radial-gradient(ellipse at 50% 28%,#68504044,transparent 54%),linear-gradient(145deg,#2c2941,#202a3d);border-color:#f1d39955}
.fu-jar-sanctuary>.fu-track{max-width:360px;margin:16px auto}.fu-jar-sanctuary>.fu-list{text-align:left}.fu-jar-sanctuary .fu-jar-caption{color:#ffe4ad;margin-top:20px}
