/* ui3: Maltese-puppy × Apple HIG visual refresh. Presentation only (colors, radii, glass, shadows, type). No layout/behavior changes. */
:root{
  --bg:#FFF3C9;--bg2:#FFEBB0;--card:rgba(255,254,248,.78);--ink:#3E2A1E;--mut:#7A6350;--label-3:#8A7360;
  --line:rgba(120,84,40,.14);--glass:rgba(255,255,255,.55);--glass-b:rgba(255,255,255,.7);--glass-h:rgba(255,255,255,.85);
  --solid:#5A3A2A;--solid-t:#FFFFFF;--hdr:rgba(255,243,201,.72);
  --shadow:0 1px 2px rgba(90,58,30,.06),0 8px 24px rgba(120,84,20,.10);
  --glow1:rgba(255,214,102,.30);--glow2:rgba(255,190,170,.22);--pink:#FFB8C6;--pink-d:#D2597F;
  --u3-card-edge:inset 0 1px 0 rgba(255,255,255,.9),inset 0 0 0 .5px rgba(255,255,255,.6);
}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1E1712;--bg2:#2A2018;--card:rgba(255,238,214,.07);--ink:#FBF1E2;--mut:#CDB9A3;--label-3:#B9A48F;--line:rgba(255,236,210,.13);--hdr:rgba(30,23,18,.72);--solid:#FFD66B;--solid-t:#33210F;--glow1:rgba(255,200,90,.10);--glow2:rgba(243,166,184,.08);--shadow:0 1px 2px rgba(0,0,0,.4),0 12px 30px rgba(0,0,0,.45);--u3-card-edge:inset 0 1px 0 rgba(255,240,220,.14),inset 0 0 0 .5px rgba(255,240,220,.08)}}
[data-theme=dark]{--bg:#1E1712;--bg2:#2A2018;--card:rgba(255,238,214,.07);--ink:#FBF1E2;--mut:#CDB9A3;--label-3:#B9A48F;--line:rgba(255,236,210,.13);--hdr:rgba(30,23,18,.72);--solid:#FFD66B;--solid-t:#33210F;--glow1:rgba(255,200,90,.10);--glow2:rgba(243,166,184,.08);--shadow:0 1px 2px rgba(0,0,0,.4),0 12px 30px rgba(0,0,0,.45);--u3-card-edge:inset 0 1px 0 rgba(255,240,220,.14),inset 0 0 0 .5px rgba(255,240,220,.08)}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Rounded","SF Pro Text",Roboto,"PingFang TC","Noto Sans TC",system-ui,sans-serif;letter-spacing:-.011em;--paw:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cg fill='%23C9902B' opacity='.07'%3E%3Cellipse cx='60' cy='70' rx='11' ry='9'/%3E%3Ccircle cx='46' cy='55' r='4.5'/%3E%3Ccircle cx='57' cy='49' r='4.5'/%3E%3Ccircle cx='68' cy='49' r='4.5'/%3E%3Ccircle cx='78' cy='55' r='4.5'/%3E%3C/g%3E%3C/svg%3E")}
h2{font-weight:800;letter-spacing:-.03em}h3{font-weight:700;letter-spacing:-.02em}
.brand h1{font-weight:800;letter-spacing:-.02em}
/* header & tab bar: liquid glass */
.top{border-bottom:.5px solid var(--line);box-shadow:none;background:var(--hdr)}
.tabs{border:.5px solid rgba(255,255,255,.65);background:color-mix(in srgb,var(--bg) 55%,transparent);box-shadow:0 10px 32px rgba(120,84,20,.18),inset 0 1px 0 rgba(255,255,255,.8);-webkit-backdrop-filter:blur(30px) saturate(190%);backdrop-filter:blur(30px) saturate(190%)}
.tabs a{font-weight:600;color:var(--mut)}
.tabs a.on{background:var(--solid);color:var(--solid-t);box-shadow:0 4px 12px rgba(90,58,42,.28),inset 0 1px 0 rgba(255,255,255,.25)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .tabs{border-color:rgba(255,240,220,.16);box-shadow:0 10px 32px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,240,220,.14)}}
[data-theme=dark] .tabs{border-color:rgba(255,240,220,.16);box-shadow:0 10px 32px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,240,220,.14)}
/* cards: grouped, soft layered shadow */
.card,.kpi{border:.5px solid rgba(255,255,255,.7);border-radius:28px;box-shadow:var(--shadow),var(--u3-card-edge)}
@supports (corner-shape:squircle){.card{border-radius:36px}.kpi{border-radius:34px}}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .card,:root:not([data-theme=light]) .kpi{border-color:rgba(255,240,220,.10);box-shadow:var(--shadow),var(--u3-card-edge)}}
[data-theme=dark] .card,[data-theme=dark] .kpi{border-color:rgba(255,240,220,.10);box-shadow:var(--shadow),var(--u3-card-edge)}
.kpi .v,.cf-big{font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
/* buttons: capsule, flat iOS fill, soft shadow (no hard offset) */
.btn{font-weight:600;border:.5px solid var(--line);box-shadow:0 1px 2px rgba(90,58,30,.10);background:var(--glass)}
.btn:not(.ghost):not(.danger){background:var(--solid);color:var(--solid-t);box-shadow:0 6px 16px rgba(90,58,42,.25),inset 0 1px 0 rgba(255,255,255,.22);border-color:transparent}
.btn.danger{background:color-mix(in srgb,var(--out) 10%,transparent)}
.icon-btn,.sync{background:var(--glass);border:.5px solid var(--glass-b);box-shadow:0 1px 3px rgba(90,58,30,.10),inset 0 1px 0 rgba(255,255,255,.7)}
.fab{background:var(--pawp) center/60% no-repeat,linear-gradient(180deg,#6B4631,#4A2E20);color:#FFF;border:.5px solid rgba(255,255,255,.35);box-shadow:0 10px 26px rgba(74,46,32,.38),inset 0 1px 0 rgba(255,255,255,.28)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .fab{background:var(--pawp) center/60% no-repeat,linear-gradient(180deg,#4A2E20,#331F15);border:1.5px solid #FFD66B;box-shadow:0 10px 26px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,214,107,.25)}}
[data-theme=dark] .fab{background:var(--pawp) center/60% no-repeat,linear-gradient(180deg,#4A2E20,#331F15);border:1.5px solid #FFD66B;box-shadow:0 10px 26px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,214,107,.25)}
/* inputs */
input,select,textarea{border-radius:14px}
input:not([type=checkbox]):not([type=radio]),select,textarea{background:rgba(255,255,255,.65);border:.5px solid var(--line)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) input:not([type=checkbox]):not([type=radio]),:root:not([data-theme=light]) select,:root:not([data-theme=light]) textarea{background:rgba(255,238,214,.07)}}
[data-theme=dark] input:not([type=checkbox]):not([type=radio]),[data-theme=dark] select,[data-theme=dark] textarea{background:rgba(255,238,214,.07)}
/* segmented, pills, sheets */
.pill{font-weight:600;border-radius:999px}
.seg span{font-weight:600}
dialog:not(.hig-wheel):not(.hig-as){border-radius:28px 28px 0 0;border:.5px solid rgba(255,255,255,.6);box-shadow:0 -10px 40px rgba(90,58,30,.2)}
.toast,.undo{border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.dayh b{letter-spacing:.03em}
/* bugfix-v1: overflow safety only (no visual change at normal widths) */
.monthbar input{min-width:0}
.kpi{min-width:0}.kpi .v{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
