/* W·OS 4.8.1 extracted CSS: same design, faster browser cache and parsing. */
:root{color-scheme:dark;--bg:#090b10;--card:#161b25;--edge:#2c3442;--fg:#f5f7fb;--muted:#a5aebf;--soft:#778397;--blue:#9cb8ff;--teal:#86dfca;--gold:#f0c98b;--red:#ff9da7;--shadow:0 10px 45px rgba(0,0,0,.22)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Helvetica Neue",sans-serif;letter-spacing:-.23px;-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.app{width:min(100%,520px);margin:auto;padding:0 20px calc(110px + env(safe-area-inset-bottom))}.top{height:82px;display:flex;align-items:center;justify-content:space-between}.logo{font-weight:800;font-size:23px;letter-spacing:-1.3px}.logo b{color:var(--teal)}.sublogo{font-size:10px;letter-spacing:1.3px;color:var(--soft);margin-top:3px}.round{background:#202734;border:1px solid var(--edge);color:var(--fg);width:40px;height:40px;display:grid;place-items:center;border-radius:50%;font-size:13px;font-weight:700}.page{display:none;animation:fadein .17s ease-out}#home{display:block}main:has(.page:target) #home:not(:target){display:none}.page:target{display:block}@keyframes fadein{from{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:none}}.overline{font-size:11px;letter-spacing:1.6px;font-weight:700;color:var(--blue);text-transform:uppercase}.hero{position:relative;overflow:hidden;margin-top:10px;padding:27px 23px 25px;border-radius:26px;background:linear-gradient(130deg,#26334b 0%,#172033 60%,#122626);border:1px solid #364355;box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;border:1px solid #ffffff22;right:-110px;top:-105px;box-shadow:0 0 0 30px #93b9ff08,0 0 0 60px #93b9ff08,0 0 0 90px #93b9ff06}.hero h1{position:relative;font-size:33px;letter-spacing:-1.25px;line-height:1.25;margin:11px 0}.hero p{position:relative;font-size:13px;color:#c1cedc;line-height:1.7;max-width:280px;margin:0}.pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px #86dfca17;margin-right:8px}.herostatus{margin-top:23px;color:#bfd2df;font-size:11px;position:relative}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:26px 0 13px}.section-title h2{font-size:18px;letter-spacing:-.5px;margin:0}.section-title span{font-size:11px;color:var(--soft)}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tile{background:linear-gradient(145deg,#1b212e,#121820);border:1px solid var(--edge);border-radius:21px;min-height:120px;padding:19px 17px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;transition:transform .12s}.tile:active,.btn:active{transform:scale(.97)}.tile.wide{grid-column:span 2;min-height:86px;flex-direction:row;align-items:center;justify-content:flex-start;gap:13px}.tile.wide .tiletext{flex:1}.tile.wide .arrow{font-size:23px;color:var(--soft)}.mark{display:grid;place-items:center;width:37px;height:37px;background:#8faffc18;border-radius:12px;color:var(--blue);font-size:22px;font-weight:650}.mint .mark{color:var(--teal);background:#86dfca14}.gold .mark{color:var(--gold);background:#f0c98b14}.tile strong{font-size:17px;font-weight:730;display:block}.tile small{font-size:11px;color:var(--soft);display:block;margin-top:5px}.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.kpi{border:1px solid var(--edge);background:var(--card);padding:16px;border-radius:19px;min-width:0}.kpi small{color:var(--muted);font-size:11px}.kpi strong{display:block;font-size:24px;letter-spacing:-.8px;margin:8px 0 3px}.kpi em{font-style:normal;font-size:10px;color:var(--soft)}.note{font-size:12px;line-height:1.7;padding:13px 15px;border-radius:15px;background:#22324a7c;color:#b7d0f9;border:1px solid #5879a13d;margin:13px 0}.note.warn{background:#4b3b1d4b;border-color:#9d7a3c4c;color:#f1d0a1}.note.good{background:#19423845;color:var(--teal);border-color:#36765b55}.head{display:flex;align-items:center;gap:12px;margin:11px 0 21px}.back{width:38px;height:38px;flex:none;display:grid;place-items:center;background:#1b2230;border:1px solid var(--edge);border-radius:12px;font-size:22px}.head h1{font-size:28px;letter-spacing:-.8px;margin:0}.head small{display:block;font-size:11px;color:var(--soft);margin-top:5px;letter-spacing:.3px}.panel{background:var(--card);border:1px solid var(--edge);border-radius:20px;padding:18px;margin:12px 0}.panel h3{margin:0 0 11px;font-size:17px;letter-spacing:-.4px}.panel p{font-size:13px;line-height:1.75;color:var(--muted);margin:4px 0 12px}.panel p:last-child{margin-bottom:0}.chips{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.chip{font-size:11px;border-radius:999px;background:#273144;padding:7px 10px;color:#cbdafa}.chip.secondary{background:#25312f;color:#a9dfcf}.btnrow{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0 2px}.btn{border:none;border-radius:13px;min-height:42px;padding:11px 15px;background:var(--blue);color:#14213a;font-size:12px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;text-align:center}.btn.outline{background:#252e3b;border:1px solid #374355;color:var(--fg)}.btn.plain{background:transparent;border:1px solid var(--edge);color:var(--muted)}.btn.full{width:100%}.pairs{display:flex;flex-direction:column}.pair{padding:12px 0;border-bottom:1px solid #ffffff14;display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:12px}.pair:last-child{border:0}.pair>span{color:var(--muted)}.pair strong{font-size:12px;font-weight:700;text-align:right}.plus{color:var(--teal)}.minus{color:var(--red)}.soft{color:var(--muted)}.field{display:flex;flex-direction:column;gap:7px;margin:11px 0}.field label{font-size:12px;color:var(--muted);font-weight:600}.field input,.field textarea,.field select{width:100%;background:#0d111a;color:var(--fg);border:1px solid #394354;border-radius:12px;padding:12px;min-height:45px;font-size:14px}.field textarea{min-height:84px;resize:vertical;line-height:1.6}.field input::placeholder,.field textarea::placeholder{color:#7e899a}.rowfields{display:grid;grid-template-columns:1fr 1fr;gap:11px}.tag{display:inline-block;padding:4px 8px;border-radius:8px;font-size:10px;background:#2c3442;color:#c3cede}.tag.pending{color:var(--gold);background:#4f41292d}.tag.won{color:var(--teal);background:#204c404a}.tag.lost{color:var(--red);background:#4b2c354a}.bar{height:7px;width:100%;background:#2c3543;border-radius:10px;margin:15px 0 7px;overflow:hidden}.bar>i{display:block;height:100%;width:0;background:linear-gradient(90deg,#86dfca,#9cb8ff);border-radius:10px}.ticket{border-bottom:1px solid #ffffff13;padding:13px 0;display:flex;gap:10px}.ticket:last-child{border:0}.ticket .number{width:27px;height:27px;border:1px solid var(--edge);background:#242b38;border-radius:9px;font-size:11px;flex-shrink:0;display:grid;place-items:center;color:var(--muted)}.ticket .body{min-width:0;flex:1}.ticket .tt{font-size:12px;line-height:1.6;word-break:break-word}.ticket .meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px;font-size:10px;color:var(--soft)}.editbtn{padding:8px 10px;border:1px solid var(--edge);border-radius:10px;background:#263040;color:var(--fg);font-size:11px;height:36px}.record{border-bottom:1px solid #ffffff16;padding:13px 0}.record:last-child{border:0}.record .small{font-size:11px;color:var(--soft);margin-top:5px;line-height:1.6}.record .title{font-size:13px;line-height:1.6;font-weight:650}.radar-card{border:1px solid #344354;border-radius:15px;padding:14px;margin-top:11px;background:#1b2633}.radar-card h4{font-size:14px;margin:0 0 7px}.radar-card p{margin:0;font-size:12px}.radar-card small{display:block;color:var(--teal);margin-top:10px;font-size:11px}.privacy .money,.privacy #budget-percent{-webkit-filter:blur(9px);filter:blur(9px);user-select:none;pointer-events:none}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:6px;margin:14px 0}.toolbar .btn{padding:10px 12px}.banner{background:#151d2b;border-radius:13px;border:1px solid var(--edge);padding:11px 13px;color:var(--muted);font-size:11px;line-height:1.6}.footer{text-align:center;margin:35px 0 10px;color:#768194;font-size:10px;letter-spacing:.65px}.bottom{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,520px);display:flex;justify-content:space-around;align-items:center;height:calc(66px + env(safe-area-inset-bottom));padding:6px 8px calc(5px + env(safe-area-inset-bottom));background:#111721ed;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid #364050}.bottom a{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:4px;min-width:65px;color:#9da8b8;font-size:10px}.bottom .symbol{font-size:20px;line-height:23px}.bottom a:active{color:var(--blue)}.dialog-shade{position:fixed;z-index:50;inset:0;background:#05070ac7;display:flex;align-items:flex-end;justify-content:center}.dialog{width:min(100%,520px);border-radius:25px 25px 0 0;max-height:90dvh;overflow-y:auto;background:#1b222d;border:1px solid #3b4656;padding:24px 20px calc(24px + env(safe-area-inset-bottom))}.dialog h2{margin:0 0 12px;font-size:21px}.x{float:right;background:#303849;border:0;border-radius:50%;color:var(--fg);width:34px;height:34px;font-size:19px}.toast{position:fixed;z-index:90;bottom:calc(80px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#dfe8f7;color:#172337;font-size:12px;font-weight:650;padding:11px 15px;border-radius:12px;box-shadow:var(--shadow);display:none;max-width:90vw;text-align:center}.toast.show{display:block}.sronly{position:absolute;overflow:hidden;width:1px;height:1px;clip:rect(0,0,0,0)}.fallback{display:block}.js-note{display:none}.compact{font-size:11px;color:var(--soft)}body.light{color-scheme:light;--bg:#f3f5fa;--card:#fff;--edge:#d9e0ec;--fg:#172031;--muted:#626e7e;--soft:#7a8695;--blue:#3667c8;--teal:#178169;--gold:#9e6712;--red:#b8334b;--shadow:0 12px 32px #26374c10}body.light .tile{background:#fff}body.light .hero{color:#f5f7fb}body.light .hero .overline{color:#a8cbff}body.light .mark{background:#e7efff}body.light .panel,body.light .kpi{background:#fff}body.light .bottom{background:#fffffff2;border-color:#d9e0ec}body.light .field input,body.light .field textarea,body.light .field select{background:#f6f8fc;color:#172031;border-color:#d5ddeb}body.light .pair{border-color:#e8ecf2}body.light .btn{background:#3566c9;color:#fff}body.light .btn.outline{background:#edf2f9;color:#293d5b}body.light .btn.plain{background:#fff;color:#3b4b5d}body.light .chip{background:#e9efff;color:#355b9a}body.light .chip.secondary{background:#e1f4ea;color:#177b65}body.light .dialog{background:#fff}body.light .dialog .x,body.light .editbtn{background:#e7ecf4;color:#27354b}body.light .record,body.light .ticket{border-color:#e2e7ee}body.light .radar-card{background:#f6f9fd}body.light .bar{background:#e1e7ef}body.light .banner{background:#edf2f9}
@media(max-width:370px){.app{padding-left:15px;padding-right:15px}.hero h1{font-size:30px}.tile{padding:15px;min-height:113px}.rowfields{gap:7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
details>summary{display:inline-flex;list-style:none}details>summary::-webkit-details-marker{display:none}.compact{font-size:11px!important;color:var(--soft);line-height:1.65}.tag.cloud-live{background:#214b3f;color:#96edd3}.sync-alert{border:1px solid #e6ad595e;border-radius:13px;padding:12px;background:#5b381c40;color:#f5d4a0}.pairs .pair strong.money{font-variant-numeric:tabular-nums}@media(max-width:375px){.app{padding-left:14px;padding-right:14px}.rowfields{gap:7px}}

/* W·OS 2.6.9 · 克制的健康指示灯 */
.herostatus{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cloud-health{border:1px solid #5f708544;border-radius:999px;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;font-size:10px;color:#aab4c2;background:#1e2835;white-space:nowrap}
.cloud-health::before{content:"";height:6px;width:6px;border-radius:50%;background:currentColor;display:inline-block}
.cloud-health.health-ok{color:#86dfca;background:#19443855;border-color:#4fa88f44}
.cloud-health.health-checking{color:#a9bfff}
.cloud-health.health-offline,.cloud-health.health-attention,.cloud-health.health-paused{color:#f0c98b}
.cloud-health.health-signin{color:#f5a4b0}
.cloud-health.health-local{color:#b1b7c2}
#cloud-health-detail{max-width:230px;word-break:break-word;line-height:1.6;font-weight:500}

/* W·OS 2.6.9 · financial snapshot: calm and readable on small phones */
#ledger .snapshot-title{margin-bottom:16px}
#ledger .snapshot-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 1px 10px}
#ledger .snapshot-head-spaced{margin-top:23px}
#ledger .snapshot-heading{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:750;letter-spacing:.1px}
#ledger .snapshot-heading b{font-size:11px;font-weight:600;color:var(--muted)}
#ledger .snapshot-dot{height:7px;width:7px;border-radius:100%;background:var(--teal);box-shadow:0 0 0 4px #86dfca12}
#ledger .snapshot-dot.dot-blue{background:var(--blue);box-shadow:0 0 0 4px #9cb8ff12}
#ledger .snapshot-caption{font-size:10px;color:var(--soft);white-space:nowrap}
#ledger .snapshot-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
#ledger .snapshot-card{min-width:0;min-height:115px;display:flex;flex-direction:column;justify-content:space-between;gap:8px;padding:16px 14px;border:1px solid #374356;background:linear-gradient(148deg,#1c2430,#131923);border-radius:18px}
#ledger .snapshot-card small{font-size:11px;color:var(--muted);font-weight:600}
#ledger .snapshot-card em{font-size:10px;color:var(--soft);line-height:1.5;font-style:normal}
#ledger .snapshot-value{font-size:clamp(19px,5.5vw,26px);font-weight:790;line-height:1.2;letter-spacing:-.7px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
#ledger .snapshot-value i{font-size:12px;font-style:normal;font-weight:600;color:var(--soft);letter-spacing:0}
#ledger .snapshot-feature{grid-column:span 2;min-height:111px;padding:17px 18px;border-color:#417d7659;background:linear-gradient(112deg,#1e3a39,#1d2a3a 66%,#182334)}
#ledger .snapshot-card-line{display:flex;justify-content:space-between;align-items:center;gap:8px}
#ledger .snapshot-card-line span{font-size:10px;color:#b2dbd4;border:1px solid #68bcaa42;border-radius:99px;padding:4px 8px}
#ledger .snapshot-feature .snapshot-value{font-size:29px}
#ledger .snapshot-value.is-positive,#ledger .snapshot-gain .snapshot-value{color:var(--teal)}
#ledger .snapshot-value.is-negative,#ledger .snapshot-loss .snapshot-value{color:var(--red)}
#ledger .snapshot-value.is-neutral{color:var(--fg)}
#ledger .snapshot-settled{background:linear-gradient(112deg,#242c3c,#1c2633 66%,#19202b);border-color:#38485f}
#ledger .snapshot-net{background:linear-gradient(145deg,#24283a,#18202b)}
#ledger .snapshot-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;padding:12px 14px;border:1px solid var(--edge);border-radius:13px;background:var(--card);color:var(--muted);font-size:11px}
#ledger .snapshot-foot b{color:var(--fg);font-variant-numeric:tabular-nums}
#ledger .snapshot-info{margin-top:11px;font-size:10px;line-height:1.75;color:var(--soft)}
#ledger .snapshot-info b{color:var(--muted);font-weight:650}
body.light #ledger .snapshot-card{background:linear-gradient(145deg,#fff,#f3f7fc);border-color:#dde5ef}
body.light #ledger .snapshot-feature{background:linear-gradient(115deg,#e5f5ee,#edf4ff);border-color:#bbded1}
body.light #ledger .snapshot-card-line span{color:#237260;border-color:#94c8b6}
body.light #ledger .snapshot-settled{background:linear-gradient(115deg,#fff,#eef3fc);border-color:#dbe5f2}
body.light #ledger .snapshot-net{background:linear-gradient(145deg,#fff,#edf1ff)}
@media(max-width:370px){#ledger .snapshot-card{padding:13px 11px}#ledger .snapshot-caption{font-size:9px}#ledger .snapshot-value{font-size:clamp(18px,5.5vw,22px)}}
#ledger .snapshot-feature small{font-size:12px}
.ticket .score-note{font-size:10px;line-height:1.65;color:var(--muted);margin-top:7px;padding:7px 9px;border:1px solid var(--edge);background:var(--bg);border-radius:10px}

/* W·OS 2.6.9 financial snapshot navigation and cloud indicator */
#ledger .snapshot-sync-indicator{display:flex;gap:9px;align-items:center;border:1px solid #677d893d;padding:12px 13px;background:#1b2633;border-radius:14px;margin:0 0 19px;min-height:50px;text-decoration:none}
#ledger .snapshot-sync-indicator #snapshot-sync-label{font-size:12px;font-weight:760;flex:none;white-space:nowrap}
#ledger .snapshot-sync-indicator small{font-size:10px;color:var(--muted);flex:1;line-height:1.55;min-width:0;overflow-wrap:anywhere}
#ledger .snapshot-sync-indicator .snapshot-sync-arrow{color:var(--soft);font-size:20px;line-height:1}
#ledger .snapshot-sync-indicator.sync-ok{border-color:#2e7e67;background:#142c28}
#ledger .snapshot-sync-indicator.sync-ok #snapshot-sync-label{color:var(--teal)}
#ledger .snapshot-sync-indicator.sync-waiting{border-color:#806c426b;background:#2b261e}
#ledger .snapshot-sync-indicator.sync-waiting #snapshot-sync-label{color:var(--gold)}
#ledger .snapshot-sync-indicator.sync-failed{border-color:#90536095;background:#32232a}
#ledger .snapshot-sync-indicator.sync-failed #snapshot-sync-label{color:var(--red)}
#ledger .snapshot-date-picker{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 13px}
#ledger .snapshot-date-picker input[type="date"]{color-scheme:dark;color:var(--fg);background:var(--card);border:1px solid #435063;border-radius:12px;padding:9px 8px;font-size:14px;font-variant-numeric:tabular-nums;min-width:0;flex:1 1 135px;max-width:220px;min-height:41px}
#ledger .snapshot-date-arrow,#ledger .snapshot-today-btn{background:var(--card);border:1px solid var(--edge);color:var(--fg);border-radius:11px;min-width:35px;min-height:40px;padding:6px 9px;font-size:13px}
#ledger .snapshot-date-arrow{font-size:21px;line-height:1}
#ledger .snapshot-date-arrow:disabled{opacity:.28;cursor:not-allowed}
#ledger .snapshot-today-btn{font-size:11px;min-width:41px;color:var(--muted)}
body.light #ledger .snapshot-date-picker input[type="date"]{color-scheme:light;background:#fff;border-color:#d9e0ec}
body.light #ledger .snapshot-sync-indicator.sync-ok{background:#e7f5ee;border-color:#b3ddcc}
body.light #ledger .snapshot-sync-indicator.sync-waiting{background:#fff5e5;border-color:#efdbb6}
body.light #ledger .snapshot-sync-indicator.sync-failed{background:#fff0f2;border-color:#f1c6cd}
@media(max-width:365px){#ledger .snapshot-date-picker{gap:5px}#ledger .snapshot-date-picker input[type="date"]{flex-basis:125px}#ledger .snapshot-today-btn{padding:6px}}

/* 2.4.8 — Native SVG 30-day finance chart; no extra network/library and no server data. */
#ledger .wos-trend{background:linear-gradient(145deg,#1a2534,#121921 74%);border:1px solid #3b4c6088;border-radius:20px;padding:17px 14px 14px;margin-top:23px;overflow:hidden}
#ledger .wos-trend-top{display:flex;justify-content:space-between;gap:10px;align-items:center}
#ledger .wos-trend-kicker{display:block;color:var(--teal);font-size:10px;letter-spacing:1px;font-weight:650;margin-bottom:6px}
#ledger .wos-trend-top h3{font-size:17px;line-height:1.3;letter-spacing:.15px;margin:0}
#ledger .wos-trend-period{color:var(--soft);font-size:10px;text-align:right;line-height:1.6;white-space:nowrap}
#ledger .wos-trend-switch{display:flex;gap:5px;background:#0e1620;border-radius:11px;padding:4px;margin:15px 0 13px}
#ledger .wos-trend-switch button{border:0;min-width:0;flex:1;border-radius:8px;padding:10px 4px;background:none;color:var(--muted);font-size:11px;cursor:pointer}
#ledger .wos-trend-switch button.selected{background:#334258;color:#f3f7ff;font-weight:700;box-shadow:0 2px 6px #0002}
#ledger .wos-trend-number{display:flex;justify-content:space-between;align-items:baseline;gap:9px;margin:0 2px}
#ledger .wos-trend-number span{font-size:11px;color:var(--muted)}
#ledger .wos-trend-number strong{font-size:23px;letter-spacing:-.6px;font-variant-numeric:tabular-nums}
#ledger .wos-trend-number strong.positive{color:var(--teal)}
#ledger .wos-trend-number strong.negative{color:var(--red)}
#ledger .wos-trend-plot{min-height:162px;width:100%;margin-top:7px}
#ledger .wos-trend-svg{display:block;width:100%;height:auto;max-height:225px;overflow:visible}
#ledger .wos-trend-svg .trend-hit{cursor:pointer;touch-action:pan-y}
#ledger .wos-trend-empty{font-size:12px;color:var(--muted);text-align:center;padding:55px 8px 42px;margin:0;line-height:1.7}
#ledger .wos-trend-selected{min-height:25px;font-size:11px;color:var(--fg);background:#26344680;border-radius:10px;line-height:1.55;padding:9px 11px;font-variant-numeric:tabular-nums}
#ledger .wos-trend-figures{display:flex;gap:7px;flex-wrap:wrap;justify-content:space-between;margin-top:12px}
#ledger .wos-trend-figures span{font-size:10px;color:var(--muted);line-height:1.7}
#ledger .wos-trend-figures b{color:var(--fg);white-space:nowrap}
#ledger .wos-trend-footnote{margin:11px 1px 0;font-size:10px;line-height:1.65;color:var(--soft)}
body.light #ledger .wos-trend{background:linear-gradient(145deg,#fff,#f2f7fd);border-color:#d4e2ed}
body.light #ledger .wos-trend-switch{background:#e8eef5}
body.light #ledger .wos-trend-switch button.selected{background:#fff;color:#26334a}
body.light #ledger .wos-trend-selected{background:#e9eff6;color:#2b374b}
@media(max-width:360px){#ledger .wos-trend{padding:15px 10px}#ledger .wos-trend-top h3{font-size:15px}}

/* W·OS research focus editor */
#today .focus-studio{background:linear-gradient(150deg,#1c2637,#161c27);border-color:#4c5970;padding:18px 15px}
#today .focus-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
#today .focus-top h3{font-size:21px;letter-spacing:-.5px;line-height:1.3;margin:11px 0}
#today .focus-pill{background:#213e39;color:#91e2c9;border-radius:999px;border:1px solid #477965;padding:7px 9px;white-space:nowrap;font-size:10px}
#today .focus-intro{font-size:12px;color:var(--muted);margin:0 0 15px;line-height:1.75}
#today .focus-presets{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
#today .focus-presets small{color:var(--soft);font-size:10px}
#today .focus-presets button{background:#1e3c37;color:#9de0c7;border:1px solid #527d6c;border-radius:999px;padding:8px 10px;font-size:10px}
#today .focus-row{border-top:1px solid #5c69813d;padding:13px 0}
#today .focus-label{display:flex;align-items:center;gap:9px;margin-bottom:12px}
#today .focus-label>b{color:var(--blue);background:#8ba7ec1c;font-size:11px;width:27px;height:27px;border-radius:9px;display:grid;place-items:center}
#today .focus-label>strong{flex:1;font-size:14px}
#today .focus-label>small{font-size:10px;color:var(--soft)}
#today .focus-choices{display:flex;gap:7px;flex-wrap:wrap}
#today .focus-choices>button{flex:1 1 auto;border:1px solid #47566c;color:#b4c3d5;background:#253145;padding:10px;border-radius:11px;min-height:40px;font-size:12px;font-weight:600}
#today .focus-choices>button.selected{border-color:#a3baff;background:#a1b9ff;color:#1a2638;font-weight:800}
#today .focus-market>button{flex:0 1 auto}
#today .focus-sp{background:#111c2c;border:1px solid #485873;border-radius:13px;padding:13px;margin:4px 0 11px}
#today .focus-sp>label{font-size:12px;font-weight:700;display:flex;justify-content:space-between;gap:7px}
#today .focus-sp>label small{font-size:10px;color:var(--soft);font-weight:400}
#today .focus-sp>div{display:flex;gap:10px;align-items:center;max-width:230px;margin:10px 0}
#today .focus-sp input{min-width:0;width:44%;background:#25334a;border:1px solid #52647b;border-radius:9px;color:var(--fg);padding:9px;text-align:center}
#today .focus-sp>small{font-size:10px;color:var(--soft);line-height:1.65;display:block}
#today textarea#note-today{width:100%;min-height:85px;resize:vertical;background:#111a28;border-radius:12px;border:1px solid #4a5a70;color:var(--fg);padding:11px;font-size:12px;line-height:1.7}
#today .focus-result{background:linear-gradient(120deg,#1c423b,#1f2e46);border:1px solid #5a8c7d66;border-radius:16px;padding:15px 13px}
#today .focus-result small{font-size:10px;color:#acd4c6}
#today .focus-result strong{display:block;font-size:18px;color:#e3fff1;margin:7px 0;line-height:1.4}
#today .focus-result p{font-size:11px;color:#a6cfc3;margin:0}
#today .focus-warning{font-size:11px;color:var(--muted);line-height:1.7;margin:11px 1px}
#today .focus-warning.over{color:#ffaea3}
#today .focus-actions{display:flex;gap:8px;flex-wrap:wrap}
#today .focus-actions>.btn{flex:1 1 145px;min-height:47px;font-size:12px;padding:9px 8px}
#today .focus-short{display:block;background:none;border:0;color:#acc5ed;text-decoration:underline;text-underline-offset:4px;font-size:11px;padding:8px;margin:10px auto 0}
#today .focus-note{text-align:center;font-size:10px;color:var(--soft);line-height:1.7;margin-top:9px}
#today .focus-method{padding:18px 15px}
#today .focus-method h3{font-size:16px;margin:12px 0}
#today .focus-method>div{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid #5b677944}
#today .focus-method>div b{color:var(--teal);font-size:12px;flex:0 0 42px}
#today .focus-method>div span{color:var(--muted);font-size:11px;line-height:1.7}
#today .focus-foot{color:#b6c7e1;background:#24324970;border-radius:12px;border:1px solid #526e9366;padding:11px;line-height:1.7;font-size:10px}
body.light #today .focus-studio{background:linear-gradient(140deg,#fff,#f4f8fc);border-color:#d0dae8}
body.light #today .focus-presets button{background:#e8f6ee;color:#216d58}
body.light #today .focus-choices>button{background:#edf2fa;border-color:#ccd9e8;color:#41536b}
body.light #today .focus-choices>button.selected{background:#8eacf3;color:#fff}
body.light #today .focus-sp{background:#f3f6fb;border-color:#d2dce8}
body.light #today .focus-sp input,body.light #today textarea#note-today{background:#fff;color:#263449;border-color:#c6d1e0}
body.light #today .focus-result{background:linear-gradient(140deg,#e6f8ed,#e9f1ff)}
body.light #today .focus-result strong{color:#1d624c}
body.light #today .focus-result p,body.light #today .focus-result small{color:#3f7563}
body.light #today .focus-warning.over{color:#bb4534}
body.light #today .focus-foot{background:#edf3fc;color:#526d89}
@media(max-width:360px){#today .focus-studio{padding:15px 11px}#today .focus-choices>button{padding:9px 7px}}

/* W·OS 2.6.9 · thumb-friendly editable recommendation leaderboard */
#leaderboard .rank-hero{border:1px solid #47715f80;background:linear-gradient(130deg,#1b3a33,#1b2335);border-radius:22px;padding:20px 18px}
#leaderboard .rank-hero h2{font-size:21px;letter-spacing:-.7px;margin:13px 0 9px}
#leaderboard .rank-hero p{font-size:12px;line-height:1.8;color:#b3d4c6}
#leaderboard .rank-card{background:var(--card);border:1px solid var(--edge);border-radius:18px;margin-top:16px;padding:14px 11px}
#leaderboard .rank-datebar{display:flex;align-items:center;gap:7px}
#leaderboard .rank-datebar button,#leaderboard .rank-datebar input{border:1px solid #4b5e78;border-radius:10px;background:#213146;color:#eaf3ff;min-height:43px}
#leaderboard .rank-datebar button{min-width:38px;padding:5px 8px}
#leaderboard .rank-datebar input{flex:1;min-width:0;font-size:13px;color-scheme:dark;padding:7px 5px}
#leaderboard .rank-legend{font-size:10px;color:var(--muted);margin:12px 0}
#leaderboard #rank-list{display:flex;flex-direction:column;gap:8px}
#leaderboard .rank-row{border-radius:13px;border:1px solid #50607872;background:#1c2939;padding:10px}
#leaderboard .rank-rowtop{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:9px}
#leaderboard .rank-rowtop strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#leaderboard .rank-rowtop button{border:none;background:transparent;color:#a7c5e9;font-size:11px;white-space:nowrap;padding:4px}
#leaderboard .rank-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
#leaderboard .rank-choices button{border:1px solid #45546b;border-radius:10px;min-height:40px;background:#253345;color:#b7c4d4;font-size:12px}
#leaderboard .rank-choices button[data-mark="win"].on{background:#1f6852;border-color:#62d7aa;color:white}
#leaderboard .rank-choices button[data-mark="lose"].on{background:#79414b;border-color:#f191a2;color:white}
#leaderboard .rank-choices button[data-mark="push"].on{background:#725e35;border-color:#e9c47b;color:white}
#leaderboard .rank-choices button[data-mark="none"].on{background:#556074;border-color:#a1a9c0;color:white}
#leaderboard .rank-comment{font-size:10px;color:#a5bad7;margin-top:8px;overflow-wrap:anywhere}
#leaderboard .rank-toolbar{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:13px}
#leaderboard .rank-toolbar button{border:1px solid #4f957c;background:#1a3d34;color:#a5eacc;padding:10px;border-radius:10px;font-size:12px}
#leaderboard .rank-toolbar small{font-size:10px;color:var(--soft);text-align:right}
#leaderboard .rank-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:24px 2px 13px}
#leaderboard .rank-head strong{font-size:16px}#leaderboard .rank-head small{font-size:10px;color:var(--muted)}
#leaderboard .rank-tabs{display:flex;gap:8px;margin-bottom:13px}
#leaderboard .rank-tabs button{border:1px solid #495b73;border-radius:999px;padding:8px 12px;background:#1e2b3e;color:#aabbcf;font-size:11px}
#leaderboard .rank-tabs button.selected{background:#99b5f5;border-color:#99b5f5;color:#18253b}
#leaderboard .rank-overview{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
#leaderboard .rank-box{border:1px solid var(--edge);border-radius:15px;background:var(--card);padding:13px}
#leaderboard .rank-box small{font-size:10px;color:var(--muted)}
#leaderboard .rank-box strong{display:block;font-size:24px;margin-top:6px}
#leaderboard .rank-board{display:flex;flex-direction:column;gap:9px}
#leaderboard .rank-score{border:1px solid var(--edge);border-radius:14px;background:var(--card);padding:13px}
#leaderboard .rank-scorehead{display:flex;align-items:center;justify-content:space-between;gap:8px}
#leaderboard .rank-scorehead strong{font-size:13px}
#leaderboard .rank-scorehead b{color:var(--teal);font-size:19px}
#leaderboard .rank-score p{font-size:10px;color:var(--muted);line-height:1.65;margin:8px 0}
#leaderboard .rank-progress{height:5px;background:#3c4a5d;border-radius:99px;overflow:hidden}
#leaderboard .rank-progress span{background:#60d2a2;display:block;height:100%;border-radius:99px}
#leaderboard .rank-help{font-size:11px;color:var(--muted);line-height:1.75;margin:12px 2px}
#leaderboard .rank-history{display:flex;gap:7px;flex-wrap:wrap}
#leaderboard .rank-history button{border:1px solid #4d5e79;background:#203148;color:#c4d1e6;border-radius:10px;padding:9px 12px;font-size:11px}
#leaderboard .rank-history button.on{background:#9fb9f9;color:#1c2a43}
body.light #leaderboard .rank-hero{background:linear-gradient(120deg,#e7f5eb,#eef5fd);border-color:#c3dacd}
body.light #leaderboard .rank-hero p{color:#45685d}
body.light #leaderboard .rank-datebar button,body.light #leaderboard .rank-datebar input{background:white;color:#263954;border-color:#ccd8e6;color-scheme:light}
body.light #leaderboard .rank-row{background:white;border-color:#d0dbea}
body.light #leaderboard .rank-choices button{background:#e8eff8;color:#354962}
body.light #leaderboard .rank-choices button.on{color:white}
body.light #leaderboard .rank-tabs button{background:#e9f0f8;color:#455a77}
body.light #leaderboard .rank-tabs button.selected{background:#88aaf3;color:white}
body.light #leaderboard .rank-history button{background:white;color:#425d7e}
/* 2.5.1 simplified cloud login */
.cloud-simple{padding:16px;background:linear-gradient(125deg,#1c2a40,#1a3434);border:1px solid #527b7666;border-radius:16px;margin:15px 0}
.cloud-simple h4{font-size:17px;margin:11px 0}
.cloud-simple .field{margin:11px 0}
.cloud-simple .btnrow .btn{min-height:45px}
#cloud-config-details{margin:12px 0}
body.light .cloud-simple{background:linear-gradient(125deg,#eef4fb,#e7f5ef);border-color:#cfdfdf}

/* 2.6.0 · intuitive red-win / blue-miss dashboard and consecutive-day patterns */
#leaderboard{--rank-win:#ec5d69;--rank-win-bg:#773b4a;--rank-lose:#55abd6;--rank-lose-bg:#224e67;--rank-push:#f5cc67;--rank-none:#536078}
#leaderboard .rank-legend{font-weight:600;letter-spacing:.1px}
#leaderboard .rank-choices button[data-mark="win"].on{background:var(--rank-win-bg);border-color:var(--rank-win);color:#fff}
#leaderboard .rank-choices button[data-mark="lose"].on{background:var(--rank-lose-bg);border-color:var(--rank-lose);color:#e7f8ff}
#leaderboard .rank-choices button[data-mark="push"].on{background:#705b34;border-color:var(--rank-push);color:#fff}
#leaderboard .rank-progress span{background:var(--rank-win)}
#leaderboard .rank-scorehead b{color:var(--rank-win)}
#leaderboard .rank-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px}
#leaderboard .rank-highlight{min-width:0;padding:13px 11px;border-radius:15px;background:var(--card);border:1px solid var(--edge)}
#leaderboard .rank-highlight small{font-size:10px;color:var(--muted);display:block}
#leaderboard .rank-highlight strong{display:block;margin-top:8px;font-size:15px;overflow-wrap:anywhere;line-height:1.45}
#leaderboard .rank-highlight em{display:block;font-size:11px;font-style:normal;margin-top:5px;color:var(--muted)}
#leaderboard .rank-highlight.hot{border-color:#d85b6a6b}
#leaderboard .rank-highlight.hot em{color:#ff8f9c}
#leaderboard .rank-highlight.cold{border-color:#4d9abd6b}
#leaderboard .rank-highlight.cold em{color:#8bcbeb}
#leaderboard .rank-trend-tools{display:flex;flex-direction:column;gap:9px;margin:12px 0}
#leaderboard .rank-trend-days,#leaderboard .rank-trend-filters{display:flex;gap:6px;flex-wrap:wrap}
#leaderboard .rank-trend-days button,#leaderboard .rank-trend-filters button{border:1px solid #4d6078;background:#202c40;color:#b4c5df;padding:8px 11px;min-height:38px;border-radius:10px;font-size:11px}
#leaderboard .rank-trend-days button.on,#leaderboard .rank-trend-filters button.on{background:#a1bafa;color:#17243a;border-color:#a1bafa;font-weight:700}
#leaderboard .rank-trend-frame{position:relative;border:1px solid var(--edge);border-radius:15px;overflow:hidden;background:var(--card)}
#leaderboard .rank-trend-scroll{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
#leaderboard .rank-trend-table{border-collapse:separate;border-spacing:4px 7px;width:max-content;min-width:100%;font-size:10px}
#leaderboard .rank-trend-table th{font-weight:600;font-size:10px;color:var(--muted);white-space:nowrap}
#leaderboard .rank-trend-table th:first-child,#leaderboard .rank-trend-table td:first-child{position:sticky;left:0;z-index:2;background:var(--card);min-width:119px;max-width:119px;text-align:left;box-shadow:5px 0 9px -7px #02050c}
#leaderboard .rank-trend-table th:first-child{z-index:3}
#leaderboard .rank-trend-table th.today{color:#b2c5ff}
#leaderboard .rank-trend-table td:first-child{padding:0 1px}
#leaderboard .rank-trend-name{display:flex;align-items:center;gap:2px;min-width:0}
#leaderboard .rank-trend-name strong{display:block;max-width:81px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--fg)}
#leaderboard .rank-trend-name small{display:block;font-size:9px;color:var(--muted);white-space:nowrap}
#leaderboard .rank-favorite{flex:0 0 23px;background:transparent;border:0;padding:3px 1px;color:#8491a5;font-size:18px;line-height:1}
#leaderboard .rank-favorite.on{color:#f5ca67}
#leaderboard .rank-cell{padding:0!important;min-width:26px}
#leaderboard .rank-cell button{display:block;width:27px;height:28px;border:1px solid #68778e33;border-radius:6px;color:#e7eef9;font-weight:700;font-size:11px;padding:0;cursor:pointer}
#leaderboard .rank-cell button.win{background:var(--rank-win-bg);border-color:var(--rank-win);color:#fff}
#leaderboard .rank-cell button.lose{background:var(--rank-lose-bg);border-color:var(--rank-lose);color:#e6f6ff}
#leaderboard .rank-cell button.push{background:#715c36;border-color:#bda260;color:#fff}
#leaderboard .rank-cell button.none{background:#29374a;color:#627083}
#leaderboard .rank-cell button.picked{outline:2px solid #aac2ff;outline-offset:1px}
#leaderboard .rank-trend-hint{font-size:10px;color:var(--muted);padding:10px 12px;border-top:1px solid var(--edge);line-height:1.65}
#leaderboard .rank-sorting{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 11px}
#leaderboard .rank-sorting label{font-size:11px;color:var(--muted)}
#leaderboard .rank-sorting select{min-width:0;max-width:240px;background:#243249;border:1px solid #566781;color:#e4efff;border-radius:9px;min-height:39px;padding:7px 9px;font-size:12px}
#leaderboard .rank-streak-pills{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
#leaderboard .rank-streak-pills span{border:1px solid #68778b55;border-radius:999px;padding:6px 8px;font-size:10px;color:var(--muted)}
#leaderboard .rank-streak-pills span.hot{color:#ff9aa4;background:#813c451e;border-color:#a45d676a}
#leaderboard .rank-streak-pills span.cold{color:#8bcce8;background:#326b8620;border-color:#4b98b669}
#leaderboard .rank-streak-pills span.neutral{color:var(--muted)}
#leaderboard .rank-score .rank-scorehead strong{min-width:0;overflow-wrap:anywhere}
#leaderboard .rank-score .rank-scorehead b{flex:0 0 auto}
body.light #leaderboard .rank-trend-days button,body.light #leaderboard .rank-trend-filters button{background:#e7eff8;color:#344e6d;border-color:#c9d6e7}
body.light #leaderboard .rank-trend-days button.on,body.light #leaderboard .rank-trend-filters button.on{background:#9eb6ed;color:#16243d}
body.light #leaderboard .rank-trend-table th:first-child,body.light #leaderboard .rank-trend-table td:first-child{background:var(--card)}
body.light #leaderboard .rank-cell button.none{background:#e3eaf3;color:#a8b4c4}
body.light #leaderboard .rank-sorting select{background:#fff;color:#253b5a;border-color:#cbd8e9}
body.light #leaderboard .rank-streak-pills span.hot{color:#ad4354}
body.light #leaderboard .rank-streak-pills span.cold{color:#1c728f}
@media(max-width:370px){#leaderboard .rank-trend-table th:first-child,#leaderboard .rank-trend-table td:first-child{min-width:109px;max-width:109px}#leaderboard .rank-trend-name strong{max-width:73px}}

/* 2.6.1: finger drag / horizontal swipe across the 30-day plot, vertical page scroll stays native. */
#ledger .wos-trend-plot{touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:crosshair}
#ledger .wos-trend-plot.is-swiping{cursor:grabbing}
#ledger .wos-trend-svg .trend-hit{touch-action:pan-y}
#ledger .wos-trend-hint{margin:5px 0 12px;color:var(--muted);font-size:11px;line-height:1.6;text-align:center}
#ledger .wos-trend-plot:focus-visible{outline:2px solid #a5bfff;outline-offset:3px;border-radius:9px}

.home-quiet{font-size:12px;color:var(--muted);line-height:1.8;margin:24px 2px}
.football-quicklinks{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 18px}
.football-quicklinks a{border:1px solid var(--edge);border-radius:16px;background:var(--card);padding:14px 10px;min-height:80px;display:flex;flex-direction:column;gap:4px}
.football-quicklinks a span{color:var(--teal);font-size:19px}
.football-quicklinks a strong{font-size:12px}.football-quicklinks a small{color:var(--muted);font-size:10px}
#ledger .wos-trend-plot{touch-action:pan-y}

.settings-intro{font-size:12px;color:var(--muted);line-height:1.6;margin:0 2px 18px}
#upgrade .settings-primary{margin-top:0}
#upgrade .settings-primary .pair{display:flex;align-items:center;gap:12px;min-height:54px}
#upgrade .settings-primary .pair button{padding:9px 11px;font-size:11px;min-height:40px}
#upgrade .settings-main-action{margin:12px 0}
#upgrade .settings-main-action button{width:100%;min-height:45px}
#upgrade #cloud-setup{padding:16px 14px}
#upgrade #cloud-setup>p{line-height:1.6}
#upgrade #cloud-setup .note{font-size:12px}
.settings-fold{background:var(--card);border:1px solid var(--edge);border-radius:17px;margin:12px 0;overflow:hidden}
.settings-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:53px;padding:14px 15px;list-style:none;font-size:14px;font-weight:700;cursor:pointer;color:var(--fg)}
.settings-fold>summary::-webkit-details-marker{display:none}
.settings-fold>summary::after{content:"⌄";font-size:20px;color:var(--muted)}
.settings-fold[open]>summary::after{content:"⌃"}
.settings-fold>summary span{margin-left:auto;font-weight:400;font-size:10px;color:var(--soft)}
.settings-fold .panel{border:0;margin:0;padding:12px 14px;box-shadow:none}
.settings-fold.inner{margin-top:10px;background:transparent}
.settings-fold.inner .cloud-simple,.settings-fold.inner>details,.settings-fold.inner>.btnrow,.settings-fold.inner>p{margin:0 12px 12px}
.settings-fold.inner .cloud-simple{margin-top:12px}
#upgrade>.settings-advanced .panel{padding-top:6px}

/* iPhone visual tap feedback & chart interaction */
button,a,summary,#ledger .snapshot-card,#ledger .kpi{transition:transform .12s ease,filter .12s ease,border-color .13s ease}
button:active,a:active,summary:active,.wos-pressed,#ledger [role="button"]:active{transform:scale(.973)!important;filter:brightness(1.17)}
#ledger .snapshot-card,#ledger .kpi{cursor:pointer;outline-offset:3px}
#ledger [role="button"]:focus-visible{outline:2px solid var(--blue)}
#ledger .wos-trend-plot,#ledger .wos-trend-svg .trend-hit{touch-action:pan-y}
@media(prefers-reduced-motion:reduce){button,a,summary,#ledger .snapshot-card,#ledger .kpi{transition:none!important}}

#leaderboard .rank-highlight{display:block;width:100%;text-align:left;color:var(--fg);cursor:pointer}
#leaderboard .rank-row-focus{border-color:#9cb8ff!important;box-shadow:0 0 0 2px #9cb8ff88}
#leaderboard .rank-row{scroll-margin-top:100px}
#leaderboard .rank-trend-scroll{touch-action:pan-x pan-y}

/* The explicit JS page router is authoritative when Safari PWA restores its own history. */
.bottom a[aria-current="page"]{color:var(--blue);font-weight:750}
.bottom a{min-height:48px}

/* 2.6.9: Safari mobile input resilience */
#ledger .wos-trend-plot{touch-action:pan-y;-webkit-user-select:none;user-select:none}
#ledger .wos-trend-svg{touch-action:pan-y;pointer-events:auto}
#ledger .wos-trend-svg .trend-hit{touch-action:pan-y;pointer-events:all}
#today .focus-choices button,#leaderboard .rank-trend-tools button,#leaderboard .rank-row button,#ledger .snapshot-date-picker button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(162,190,255,.17)}
#today .focus-choices button:active,#leaderboard .rank-trend-tools button:active,#ledger .snapshot-date-picker button:active{filter:brightness(1.22)}

/* W·OS 4.0.2 · Monthly comparison board, inspired by the approved design template */
#leaderboard .rank-hero{position:relative;overflow:hidden;padding:22px 20px 20px;background:radial-gradient(circle at 100% 0%,#1a685951,transparent 44%),linear-gradient(133deg,#162a3b,#121b2d 60%,#102624);border:1px solid #53798980;box-shadow:0 12px 38px #0007}
#leaderboard .rank-hero:after{content:"";position:absolute;right:-43px;top:-58px;width:175px;height:175px;border-radius:50%;pointer-events:none;border:1px solid #7cddcd1c;box-shadow:0 0 0 28px #7cddcd06,0 0 0 58px #7cddcd06}
#leaderboard .rank-hero h2{font-size:24px;letter-spacing:-.9px;margin:12px 0 8px}
#leaderboard .rank-hero p{color:#b9c8d7;margin-bottom:0}
#leaderboard .rank-head{margin:24px 2px 12px}
#leaderboard .rank-head strong{font-size:17px;letter-spacing:-.4px}
#leaderboard .rank-highlight{min-height:114px;border-radius:18px;padding:14px 12px;background:linear-gradient(148deg,#1d2738,#151b28);border-color:#415168;box-shadow:0 6px 20px #0003}
#leaderboard .rank-highlight.hot{background:linear-gradient(142deg,#38232d,#181d2a);border-color:#bc576b75}
#leaderboard .rank-highlight.cold{background:linear-gradient(142deg,#1c3544,#151d2a);border-color:#4a96b675}
#leaderboard .rank-highlight strong{font-size:16px;font-weight:750;letter-spacing:-.3px;margin-top:7px}
#leaderboard .rank-highlight em{font-size:10px;line-height:1.5}
#leaderboard .rank-trend-tools{gap:8px;margin:15px 0 10px}
#leaderboard .rank-trend-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px;border-radius:15px;background:#111a2b}
#leaderboard .rank-trend-days button{min-height:40px;border-radius:11px;border:0;background:transparent;font-size:12px}
#leaderboard .rank-trend-days button.on{background:#a4bdff;box-shadow:0 2px 14px #648bff36;color:#10213c}
#leaderboard .rank-trend-filters button{border-radius:999px;min-height:37px;padding:8px 11px;background:#192539}
#leaderboard .rank-trend-filters button.on{background:#293e5c;color:#dbe7ff;border-color:#85a7e5}
#leaderboard .rank-month-panel{border:1px solid #354c67;border-radius:20px;background:radial-gradient(circle at 5% 0%,#24405459,transparent 50%),linear-gradient(160deg,#192233,#121824);padding:15px 12px 13px;box-shadow:0 13px 32px #0005;overflow:hidden}
#leaderboard .rank-month-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:9px}
#leaderboard .rank-month-title strong{font-size:16px}
#leaderboard .rank-month-title span{font-size:10px;color:#9aaec9;text-align:right}
#leaderboard .rank-month-legend{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:6px 0 14px;color:#aebbd0;font-size:10px}
#leaderboard .rank-month-legend i{display:inline-block;width:8px;height:8px;border-radius:3px;vertical-align:-1px;margin-right:3px}
#leaderboard .rank-month-legend .win{background:#e86578}#leaderboard .rank-month-legend .lose{background:#4c99d8}#leaderboard .rank-month-legend .push{background:#f1c85c}#leaderboard .rank-month-legend .none{background:#596476}
#leaderboard .rank-mini-board{width:100%;display:flex;flex-direction:column;gap:4px}
#leaderboard .rank-mini-header,#leaderboard .rank-mini-row{display:grid;grid-template-columns:minmax(81px,98px) minmax(0,1fr) 35px;gap:5px;align-items:center}
#leaderboard .rank-mini-header{margin-bottom:5px;color:#8196b1;font-size:9px}
#leaderboard .rank-mini-header span:nth-child(2){text-align:center}
#leaderboard .rank-mini-row{min-height:35px;border-radius:9px;padding:4px 3px;background:#23304752}
#leaderboard .rank-mini-row:nth-of-type(odd){background:#30405842}
#leaderboard .rank-mini-person{min-width:0;display:flex;align-items:center;text-align:left;gap:3px;border:0;background:transparent;padding:5px 1px;color:#eaf1fb;min-height:30px}
#leaderboard .rank-mini-person strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#leaderboard .rank-mini-star{font-size:11px;flex:none;color:#8290a9}
#leaderboard .rank-mini-star.on{color:#f2cd75}
#leaderboard .rank-mini-cells{display:grid;gap:1.4px;min-width:0;align-items:stretch}
#leaderboard .rank-mini-dot{width:100%;height:18px;border:0;border-radius:2.5px;padding:0;min-width:0;transition:filter .1s,transform .1s}
#leaderboard .rank-mini-dot.win{background:#e75f72;box-shadow:inset 0 0 0 1px #fca4b332}
#leaderboard .rank-mini-dot.lose{background:#347eae;box-shadow:inset 0 0 0 1px #89d5ff28}
#leaderboard .rank-mini-dot.push{background:#f0bf59}
#leaderboard .rank-mini-dot.none{background:#435168}
#leaderboard .rank-mini-dot.picked{outline:1px solid #a8bdff;outline-offset:1px}
#leaderboard .rank-mini-dot:active{filter:brightness(1.45);transform:scaleY(1.15)!important}
#leaderboard .rank-mini-streak{text-align:center;white-space:nowrap;padding:5px 1px;border-radius:8px;background:#29344b;color:#9fb2ca;font-size:9px;font-weight:750}
#leaderboard .rank-mini-streak.hot{color:#ff9aa8;background:#783e4c56}
#leaderboard .rank-mini-streak.cold{color:#7cc6ec;background:#2c648052}
#leaderboard .rank-mini-footer{border-top:1px solid #384759;margin-top:12px;padding-top:11px;font-size:10px;color:#99acc8;line-height:1.65}
#leaderboard .rank-magnify{margin:9px 0 5px;border:1px solid #33465d;border-radius:14px;background:#161f2d;overflow:hidden}
#leaderboard .rank-magnify>summary{padding:12px 14px;min-height:42px;list-style:none;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;color:#adc5ea;cursor:pointer}
#leaderboard .rank-magnify>summary::-webkit-details-marker{display:none}
#leaderboard .rank-magnify>summary:after{content:'⌄';font-size:16px}
#leaderboard .rank-magnify[open]>summary:after{content:'⌃'}
#leaderboard .rank-magnify .rank-trend-frame{margin:0 8px 9px}
#leaderboard .rank-trend-scroll{touch-action:pan-x;overscroll-behavior-x:contain}
#leaderboard .rank-month-panel button:focus-visible{outline:2px solid #a7bcff;outline-offset:2px}
#leaderboard .rank-row{background:#1b2739;border-color:#3c5066}
#leaderboard .rank-choices button{min-height:46px}
#leaderboard .rank-choices button[data-mark="win"].on{background:#853c51;border-color:#e86f83}
#leaderboard .rank-choices button[data-mark="lose"].on{background:#275d81;border-color:#55a9d8}
#leaderboard .rank-head small{color:#93a8c4}
#leaderboard .rank-help{color:#9eacc2}
#upgrade .settings-fold{border-radius:19px;border-color:#354157;background:linear-gradient(145deg,#1d2634,#151b27)}
#upgrade .settings-fold>summary{min-height:58px;font-size:13px}
#upgrade .settings-primary{border-radius:19px;background:linear-gradient(145deg,#1d2634,#151b27)}
@media(max-width:390px){#leaderboard .rank-month-panel{padding-left:8px;padding-right:8px}#leaderboard .rank-mini-header,#leaderboard .rank-mini-row{grid-template-columns:minmax(74px,87px) minmax(0,1fr) 30px;gap:3px}#leaderboard .rank-mini-person strong{font-size:9px}#leaderboard .rank-mini-dot{height:17px}#leaderboard .rank-mini-streak{font-size:8px}}
@media(prefers-reduced-motion:reduce){#leaderboard .rank-mini-dot{transition:none}}
body.light #leaderboard .rank-month-panel,body.light #leaderboard .rank-highlight{background:#eef3fb;border-color:#c3d2e5}
body.light #leaderboard .rank-mini-row{background:#dbe4f3}
body.light #leaderboard .rank-mini-person{color:#182a41}
body.light #leaderboard .rank-mini-streak{background:#cbd8eb;color:#38516b}


/* W·OS 3.1 risk and money — no visual clutter */
.w31-intro{margin:10px 0 12px;padding:11px 14px;border:1px solid #4f697a5d;border-radius:13px;background:#1b2a386b;color:#b5cddd;font-size:11px;line-height:1.8}
.w31-panel{padding:17px 16px}.w31-panel .overline{font-size:10px;color:var(--teal)}.w31-panel h3{margin:7px 0 12px;font-size:17px}.w31-topline{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}
.w31-big{font-size:27px;font-weight:790;letter-spacing:-.8px;margin:10px 0 7px}.w31-big small{font-size:11px;font-weight:500;color:var(--muted)}
.w31-progress{height:8px;border-radius:999px;background:#273243;overflow:hidden}.w31-progress i{display:block;height:100%;border-radius:inherit}
.w31-red{color:#ff9da7;font-size:12px;line-height:1.7}.w31-muted{font-size:11px!important;color:var(--muted)!important;line-height:1.75;margin:11px 0 4px}.w31-row{display:flex;justify-content:space-between;align-items:baseline;gap:15px;padding:11px 0;border-bottom:1px solid #ffffff14;font-size:12px}.w31-row:last-child{border-bottom:0}.w31-row b,.w31-row strong{font-size:12px;flex-shrink:0}.w31-row>span{color:var(--muted)}
.w31-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:7px 0}.w31-three>div{background:#101822;border:1px solid #364454;border-radius:12px;padding:12px 8px;min-width:0;text-align:center}.w31-three small{display:block;color:var(--muted);font-size:10px}.w31-three strong{display:block;font-size:17px;margin-top:5px;font-weight:750}
.w31-alert{font-style:normal;color:#ffb5ac;border:1px solid #9c515a61;padding:2px 5px;border-radius:6px;margin-left:5px;font-size:9px}.w31-rank{display:flex;flex-direction:column;gap:5px;padding:11px 0;border-bottom:1px solid #ffffff15}.w31-rank b{font-size:12px}.w31-rank span{color:var(--muted);font-size:10px;line-height:1.8}
.w31-settings{margin-top:12px;border-top:1px solid #ffffff18;padding-top:12px}.w31-settings>summary{cursor:pointer;color:var(--muted);font-size:11px}.w31-settings .field{max-width:240px}
body.light .w31-three>div{background:#f6f8fb;border-color:#dce5ef}body.light .w31-row{border-color:#e6ecf2}body.light .w31-intro{background:#e9f0f7;color:#496077}

/* iPhone-first 3.2 visual system: restrained depth, clear hierarchy, native-size targets. */
:root{--ios32-separator:#ffffff1a;--ios32-surface:#171f2b;--ios32-tint:#a4baff}
html{-webkit-text-size-adjust:100%}
.app{padding-top:env(safe-area-inset-top)}
.top{height:64px}
.ios32-header-settings{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:14px;display:grid;place-items:center;font-size:0;color:var(--muted)}
.ios32-header-settings svg{width:21px;height:21px}
#home .ios32-hero{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 95% 0%,#26403f6d 0%,transparent 52%),linear-gradient(145deg,#1c2639 0%,#151e2e 64%,#132327 100%);border:1px solid #39485d;border-radius:27px;padding:23px 23px 21px;margin:7px 0 14px;box-shadow:0 16px 45px #00000025}
#home .ios32-eyebrow{display:flex;align-items:center;gap:8px;color:#a4d9cd;font-size:10px;letter-spacing:1.05px;font-weight:700}
#home .ios32-eyebrow time{margin-left:auto;font-weight:500;letter-spacing:0;white-space:nowrap;font-size:11px;color:#aeb9c9}
#home .ios32-status-dot{width:6px;height:6px;border-radius:50%;background:#81d7bd;flex:none;box-shadow:0 0 0 4px #81d7bd20}
#home .ios32-hero h1{font-size:30px;line-height:1.23;letter-spacing:-.95px;margin:19px 0 9px;font-weight:750;color:#f5f7fc}
#home .ios32-hero>p{font-size:13px;line-height:1.5;color:#b7c3d2;margin:0 0 19px}
#home .ios32-connection{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:28px}
#home .ios32-connection .cloud-health{font-size:11px;min-height:29px;padding:6px 11px;color:var(--fg);border-color:#64728577;display:inline-flex;align-items:center}
#home .ios32-connection #cloud-hero-status{font-size:11px;color:#acb8c8;line-height:1.6}
#home .ios32-moneycard{border-radius:23px;border:1px solid #333e4c;background:linear-gradient(160deg,#171f2c,#101821);padding:17px 18px 13px;margin:0 0 20px;box-shadow:0 10px 28px #00000018}
#home .ios32-moneyhead{display:flex;align-items:center;justify-content:space-between;gap:12px}
#home .ios32-overline{font-size:10px;letter-spacing:1.3px;font-weight:700;color:#91a5c5}
#home .ios32-moneyhead h2{font-size:16px;line-height:1.2;letter-spacing:-.3px;margin:5px 0 0}
#home .ios32-moneyactions{display:flex;align-items:center;gap:5px}
#home .ios32-moneyactions button,#home .ios32-moneyactions a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:5px 9px;font-size:11px;gap:5px;color:var(--muted);background:transparent;white-space:nowrap}
#home .ios32-moneyactions button:active,#home .ios32-moneyactions a:active{background:#cbd9ef1c}
#home .ios32-moneyactions svg{width:18px;height:18px}
#home .ios32-detail-link svg{width:15px;height:15px}
#home .ios32-moneyprimary{display:flex;align-items:baseline;gap:12px;min-height:78px;padding:16px 0 11px}
#home .ios32-moneyprimary strong{font-size:37px;font-weight:780;letter-spacing:-1.4px;line-height:1.2;color:#eff4ff;white-space:nowrap;font-variant-numeric:tabular-nums}
#home .ios32-moneyprimary>span{font-size:11px;color:#93a0b2;white-space:nowrap}
#home .ios32-dailystats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:14px;background:#ffffff08;border:1px solid #ffffff11;overflow:hidden}
#home .ios32-dailystats>div{padding:10px 4px 9px;text-align:center;min-width:0}
#home .ios32-dailystats>div+div{border-left:1px solid #ffffff12}
#home .ios32-dailystats small{display:block;font-size:11px;color:#9ca8b8}
#home .ios32-dailystats strong{display:block;font-size:14px;color:#f0f3f9;margin-top:5px;white-space:nowrap;font-variant-numeric:tabular-nums}
#home .ios32-dailystats>div:nth-child(2) strong{color:#9ddfc4}
#home .ios32-dailystats>div:nth-child(3) strong{color:#ffb6b9}
#home .ios32-cardfoot{font-size:10px;line-height:1.65;color:#8798ac;margin:10px 2px 0}
#home .ios32-section-title{margin:22px 0 13px}
#home .ios32-section-title h2{font-size:19px;letter-spacing:-.45px}
#home .ios32-tiles{gap:11px}
#home .ios32-tiles .tile{border-radius:20px;min-height:119px;padding:15px;background:linear-gradient(150deg,#1a222f,#151d28);border-color:#333e4f;box-shadow:none;gap:6px;transition:background-color .15s,transform .15s,border-color .15s}
#home .ios32-tiles .tile:active{transform:scale(.985);border-color:#8aa5c7}
#home .ios32-tiles .mark.ios32-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#7c99d71a;color:#9db7f7;font-size:0;margin-bottom:4px}
#home .ios32-tiles .tile.mint .mark{background:#61c7b31c;color:#95d9c9}
#home .ios32-tiles .mark svg{width:22px;height:22px;stroke-width:1.7}
#home .ios32-tiles .tiletext strong{font-size:16px;font-weight:690;letter-spacing:-.2px}
#home .ios32-tiles .tiletext small{font-size:11px;margin-top:5px;color:#8997ab;line-height:1.5}
#home .ios32-tiles .tile.wide{min-height:83px;flex-direction:row;align-items:center;padding:17px 16px}
#home .ios32-tiles .tile.wide .mark{margin:0 9px 0 0;flex:none}
#home .ios32-tiles .tile.wide .arrow{margin-left:auto;font-size:0;color:#8293b3}
#home .ios32-tiles .tile.wide .arrow svg{width:20px;height:20px}
#home .ios32-footer{font-size:10px;letter-spacing:1.2px;margin:22px 0 7px}
.ios32-tabbar{height:calc(70px + env(safe-area-inset-bottom));padding:8px 8px calc(7px + env(safe-area-inset-bottom));background:#121a26ef;border-color:#2e3c4b}
.ios32-tabbar a{min-height:48px;gap:4px;font-size:11px}
.ios32-tabbar .symbol{height:26px;line-height:26px;display:flex;align-items:center;justify-content:center}
.ios32-tabbar .symbol svg{width:23px;height:23px;stroke-width:1.8}
.ios32-tabbar a[aria-current="page"]{color:#a9c2ff;font-weight:700}
.back,.x,.editbtn{min-height:44px}
.back,.x{min-width:44px;width:44px;height:44px;display:grid;place-items:center}
.editbtn{height:auto;min-height:44px;padding:11px 12px;font-size:12px}
#ledger .snapshot-date-arrow,#ledger .snapshot-today-btn,#today .focus-choices button,#today .focus-presets button,#leaderboard .rank-trend-days button,#leaderboard .rank-trend-filters button{min-height:44px}
.w31-muted{font-size:12px!important;line-height:1.7}
.w31-row,.w31-row strong,.w31-row b{font-size:13px;line-height:1.5}
.w31-rank span{font-size:12px}
.w31-settings>summary{min-height:44px;display:flex;align-items:center;font-size:12px}
.privacy #ios32-stake,.privacy .ios32-dailystats strong,.privacy #wos31-daily .w31-big,
.privacy #wos31-settlement .w31-row b,.privacy #wos31-assistant .w31-row b,.privacy #wos31-exposure .w31-row strong,
.privacy #wos31-money-rank .w31-rank span,.privacy #wos31-assistant .w31-three strong,
.privacy #trend-value,.privacy #trend-stake,.privacy #trend-payout,.privacy #trend-selected,.privacy #rank-board .rank-score p:last-child{
 -webkit-filter:blur(9px);filter:blur(9px);user-select:none;pointer-events:none
}
body.light #home .ios32-hero{background:radial-gradient(ellipse at 95% 0%,#d1e7e4 0%,transparent 52%),linear-gradient(150deg,#f8fbff,#e9f1f9);border-color:#d6e1eb;box-shadow:0 10px 28px #203b5810}
body.light #home .ios32-hero h1{color:#162338}
body.light #home .ios32-hero>p{color:#66778b}
body.light #home .ios32-eyebrow{color:#458774}
body.light #home .ios32-eyebrow time{color:#617489}
body.light #home .ios32-connection #cloud-hero-status{color:#66788c}
body.light #home .ios32-moneycard{background:linear-gradient(160deg,#fff,#f5f8fd);border-color:#d9e4ef;box-shadow:0 12px 24px #14223609}
body.light #home .ios32-moneyhead h2{color:#1b2d41}
body.light #home .ios32-moneyprimary strong{color:#1b2d41}
body.light #home .ios32-moneyprimary>span,body.light #home .ios32-cardfoot{color:#6a7a8b}
body.light #home .ios32-dailystats{background:#e9eef550;border-color:#dce5ef}
body.light #home .ios32-dailystats>div+div{border-left-color:#d6e1ed}
body.light #home .ios32-dailystats small{color:#66768a}
body.light #home .ios32-dailystats strong{color:#243852}
body.light #home .ios32-dailystats>div:nth-child(2) strong{color:#168168}
body.light #home .ios32-dailystats>div:nth-child(3) strong{color:#b83c52}
body.light #home .ios32-tiles .tile{background:linear-gradient(160deg,#fff,#f9fbfe);border-color:#dbe4f0}
body.light #home .ios32-tiles .tiletext small{color:#778597}
body.light .ios32-tabbar{background:#f9fbffeb;border-color:#dce5f0}
body.light .ios32-tabbar a[aria-current="page"]{color:#3165bb}
@media(max-width:370px){
 #home .ios32-hero{padding:20px 18px}
 #home .ios32-hero h1{font-size:28px}
 #home .ios32-moneycard{padding:16px 13px 12px}
 #home .ios32-moneyprimary strong{font-size:33px}
 #home .ios32-tiles .tile{padding:13px}
}
@media(prefers-reduced-motion:reduce){#home .ios32-tiles .tile{transition:none!important}}
@media(prefers-reduced-transparency:reduce){.ios32-tabbar{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--card)}}
@media(prefers-contrast:more){#home .ios32-tiles .tiletext small{color:var(--fg)}.ios32-tabbar a[aria-current="page"]{text-decoration:underline}}

/* Small iOS recents row avoids a blank-feeling home on non-betting days. */
#home .ios32-recent{display:flex;align-items:center;gap:10px;min-height:44px;margin-top:9px;padding:10px 2px 0;border-top:1px solid #ffffff17;color:var(--muted);font-size:12px}
#home .ios32-recent[hidden]{display:none!important}
#home .ios32-recent strong{margin-left:auto;color:var(--fg);font-size:13px;font-variant-numeric:tabular-nums}
#home .ios32-recent-arrow{font-size:20px;color:var(--soft)}
.privacy #ios32-recent-total{filter:blur(9px);-webkit-filter:blur(9px);pointer-events:none;user-select:none}
body.light #home .ios32-recent{border-top-color:#dce6f1}

/* W·OS 4.0: row-level sync status and safe Apple-style conflict sheet. */
.wos4-conflicts[hidden]{display:none!important}
.wos4-conflicts{margin:16px 0;padding:15px;background:linear-gradient(155deg,#241e2a,#1c2432);border:1px solid #9e68765f;border-radius:19px}
.wos4-conflicts>h4{font-size:16px;color:#ffd1cc;margin:0 0 8px}
.wos4-conflict{padding:13px 3px;border-top:1px solid #ffffff20}
.wos4-conflict strong{display:block;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.wos4-conflict .btnrow{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px}
.wos4-conflict .btn{font-size:12px;line-height:1.45;min-height:44px;padding:10px 8px}
.wos4-conflicts .compact{font-size:12px;line-height:1.8;overflow-wrap:anywhere}
body.light .wos4-conflicts{background:#fff7f3;border-color:#eac2be}
body.light .wos4-conflicts>h4{color:#9f3443}

/* W·OS · 昨日自动结算首页 */
#home .ios32-yday-result{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:13px 0 4px}
#home .ios32-yday-result>div{border:1px solid var(--edge);border-radius:15px;background:rgba(127,151,181,.08);padding:12px 13px;min-width:0}
#home .ios32-yday-result small{display:block;color:var(--muted);font-size:11px;margin-bottom:7px}
#home .ios32-yday-result strong{display:block;font-size:19px;font-variant-numeric:tabular-nums;letter-spacing:-.4px;white-space:nowrap}
#home #ios32-net.wos-loss{color:var(--red)}
#home #ios32-net.wos-profit{color:var(--teal)}
.privacy #ios32-payout,.privacy #ios32-net{filter:blur(9px);-webkit-filter:blur(9px);user-select:none;pointer-events:none}
body.light #home .ios32-yday-result>div{background:#f5f8fc}

/* W·OS 4.1.0 · iPhone home date switch. */
#home .ios32-day-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:4px;border-radius:15px;background:#0b111c;border:1px solid #263344;margin-top:16px}
#home .ios32-day-switch button{border:0;border-radius:11px;min-height:44px;background:transparent;color:#aab8cb;font-size:13px;font-weight:650;touch-action:manipulation;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}
#home .ios32-day-switch button[aria-pressed="true"]{background:#a4baff;color:#17263e;box-shadow:0 2px 12px #8bafff30}
#home .ios32-day-switch button:active{transform:scale(.98)}
#home .ios32-day-switch button:focus-visible{outline:2px solid #b4ceff;outline-offset:2px}
#home .ios32-moneyprimary strong{font-size:clamp(31px,8vw,38px)}
#home .ios32-moneyprimary{padding-top:11px}
#home .ios32-moneyhead h2{font-variant-numeric:tabular-nums;line-height:1.35}
body.light #home .ios32-day-switch{background:#edf2f9;border-color:#d6e1ee}
body.light #home .ios32-day-switch button{color:#53667e}
body.light #home .ios32-day-switch button[aria-pressed="true"]{background:#fff;color:#2352a4;box-shadow:0 1px 8px #20344b12}
@media(prefers-reduced-motion:reduce){#home .ios32-day-switch button{transition:none}}

/* W·OS 4.1.0 · Daily Brief, truthful local-first status cards. */
#home .ios32-daily-brief{margin:0 0 16px;border:1px solid var(--edge);background:linear-gradient(145deg,#171f2b,#121923);border-radius:22px;padding:18px 17px 13px}
#home .ios32-brief-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
#home .ios32-brief-head h2{margin:6px 0 11px;font-size:18px;letter-spacing:-.45px}
#home .ios32-brief-date{color:var(--soft);font-size:11px;white-space:nowrap}
#home .ios32-brief-rows{display:flex;flex-direction:column}
#home .ios32-brief-rows>div{display:grid;grid-template-columns:26px minmax(74px,.78fr) minmax(0,1.6fr);gap:8px;align-items:center;min-height:46px;border-top:1px solid #ffffff13;padding:9px 0}
#home .ios32-brief-ico{font-size:13px;font-weight:700;display:grid;place-items:center;width:25px;height:25px;border-radius:8px;color:#9cb9f6;background:#9bbdff18}
#home .ios32-brief-rows>div>span:nth-child(2){font-size:12px;color:var(--muted)}
#home .ios32-brief-rows strong{font-weight:650;font-size:12px;color:var(--fg);text-align:right;line-height:1.6;overflow-wrap:anywhere}
#home .ios32-brief-rows strong.is-warning{color:var(--gold)}
#home .ios32-brief-rows strong.is-risk{color:var(--red)}
#home .ios32-brief-foot{color:var(--soft);font-size:11px;line-height:1.6;margin:12px 0 0}
body.light #home .ios32-daily-brief{background:#fff}
body.light #home .ios32-brief-rows>div{border-top-color:#e6ebf2}
.privacy #ios32-brief-budget{filter:blur(9px);-webkit-filter:blur(9px);pointer-events:none;user-select:none}
/* Privacy means every money amount in ledger and leaderboard, not only custom .money elements. */
.privacy #ledger .w31-row b,.privacy #ledger .w31-row strong,.privacy #ledger .snapshot-value,
.privacy #ledger #wos31-settlement .w31-three strong,.privacy #ledger #wos31-assistant .w31-three strong,
.privacy #leaderboard .rank-score p:last-child,.privacy #review #authors-board .small,
.privacy #leaderboard #wos31-money-rank,.privacy #ledger .w31-big,.privacy #ledger #trend-value,
.privacy #ledger #trend-selected{filter:blur(9px);-webkit-filter:blur(9px);pointer-events:none;user-select:none}
#dialogs .x{width:44px;height:44px;min-width:44px;min-height:44px}
.page .back{width:44px;height:44px;min-width:44px;min-height:44px}
#home .ios32-moneycard{contain:layout style}
#home .ios32-daily-brief{contain:layout style}
@media(max-width:375px){#home .ios32-brief-rows>div{grid-template-columns:25px minmax(60px,.66fr) minmax(0,1.45fr)}#home .ios32-brief-rows strong{font-size:11.5px}}
@media(prefers-reduced-transparency:reduce){#home .ios32-daily-brief{background:var(--card)}}

/* W·OS 4.1: audited cloud summary, readable 15-day ranking and resilient iPhone forms. */
#upgrade .wos5-audit{margin:15px 0;padding:18px 17px 16px;border-radius:22px;border:1px solid #3d5369;background:radial-gradient(ellipse at 100% 0%,#2a534b35,transparent 52%),linear-gradient(145deg,#1b2532,#131c27)}
#upgrade .wos5-audit-heading h3{font-size:17px;letter-spacing:-.35px;margin:7px 0 10px}
#upgrade .wos5-audit p{font-size:12px;line-height:1.75;color:var(--muted);margin:5px 0 11px}
#upgrade .wos5-audit .wos5-audit-summary{font-size:13px;line-height:1.75;font-weight:650;color:var(--fg);padding:13px;border-radius:12px;background:#9ab9ff0e;margin:10px 0;white-space:pre-line}
#upgrade .wos5-audit .btn{min-height:44px}
#upgrade .wos5-audit .compact{font-size:11px;margin-top:10px}
#leaderboard .rank-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
#leaderboard .rank-tabs button{min-height:44px;font-size:12px;padding:7px 4px;touch-action:manipulation}
#leaderboard .rank-mini-row{contain:layout style}
#leaderboard .rank-row-focus{scroll-margin-top:85px}
#leaderboard .rank-trend-scroll{-webkit-overflow-scrolling:touch}
#leaderboard [data-rank-edit],#leaderboard [data-mark],#leaderboard [data-rank-window]{touch-action:manipulation}
#upgrade input,#today textarea,#market textarea,#opportunity textarea{scroll-margin-bottom:calc(100px + env(safe-area-inset-bottom))}
body.light #upgrade .wos5-audit{background:#fff;border-color:#cedded}
body.light #upgrade .wos5-audit .wos5-audit-summary{background:#f1f5fc}
@media(max-width:375px){#leaderboard .rank-tabs button{font-size:11px;min-height:44px}}
@media(prefers-reduced-motion:reduce){#leaderboard .rank-mini-row{scroll-behavior:auto}}

/* W·OS 4.4 · private photo vault, scoped to Settings. */
#wos-photo-vault .panel{margin-top:10px;border-color:#40556e;background:linear-gradient(140deg,#1b2534,#131c29)}
#wos-photo-vault .field{margin-top:12px}
#wos-photo-vault input[type="date"],#wos-photo-vault input[type="file"]{display:block;width:100%;max-width:100%;min-height:46px;border-radius:11px;padding:10px;border:1px solid var(--edge);background:#1b2637;color:var(--fg);font-size:14px}
#wos-photo-vault input[type="file"]{font-size:12px;min-width:0}
#wos-photo-vault input::file-selector-button{border:0;border-radius:8px;background:#a0b9fa;color:#102039;padding:9px 11px;margin-right:10px;font-weight:650}
#wos-photo-vault .btnrow{display:flex;flex-wrap:wrap;gap:8px}
#wos-photo-vault .btnrow button{min-height:44px;flex:1 1 145px}
#wos-photo-vault .wos-photo-status{color:var(--muted);font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;min-height:25px}
#wos-photo-vault .wos-photo-list{display:grid;gap:7px}
#wos-photo-vault .wos-photo-item{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #40516b;background:#142033;border-radius:12px;padding:10px 11px}
#wos-photo-vault .wos-photo-item span{font-size:12px;line-height:1.55;color:var(--fg);overflow-wrap:anywhere}
#wos-photo-vault .wos-photo-item button{flex:none;min-height:44px;min-width:64px}
#wos-photo-vault .wos-photo-preview{margin-top:11px;display:grid;gap:10px}
#wos-photo-vault .wos-photo-preview[hidden]{display:none}
#wos-photo-vault .wos-photo-preview img{width:100%;height:auto;max-height:65vh;object-fit:contain;background:#101722;border-radius:12px}
body.light #wos-photo-vault .panel{background:#fff;border-color:#d6e2ef}
body.light #wos-photo-vault input[type="date"],body.light #wos-photo-vault input[type="file"]{background:#f5f7fc;color:#20324d}
body.light #wos-photo-vault .wos-photo-item{background:#f4f7fd;border-color:#dce5f1}
@media(max-width:375px){#wos-photo-vault .btnrow button{flex-basis:100%}}

/* W·OS 4.5 — opt-in owner-only image deletion, responsive action controls. */
#wos-photo-vault .wos-photo-actions{display:flex;align-items:center;gap:6px;flex:none}
#wos-photo-vault .wos-photo-actions button{min-height:44px;min-width:56px;font-size:12px;white-space:nowrap}
#wos-photo-vault .wos-photo-delete{background:#7b27352a;border-color:#ab5562;color:#ffadb9}
#wos-photo-vault .wos-photo-delete:focus-visible{outline:2px solid #ffc7d0;outline-offset:3px}
#wos-photo-vault .wos-photo-more{width:100%;margin-top:8px;min-height:46px}
#wos-photo-vault .wos-photo-more[hidden]{display:none}
@media(max-width:375px){#wos-photo-vault .wos-photo-item{flex-wrap:wrap}#wos-photo-vault .wos-photo-actions{width:100%;justify-content:flex-end}}
body.light #wos-photo-vault .wos-photo-delete{background:#fff0f2;color:#ab344a}

/* W·OS 4.7 · iPhone owner-only intake readiness card. */
#wos-photo-vault .wos-intake-panel{margin:15px 0;border:1px solid #344b67;border-radius:18px;background:linear-gradient(145deg,#192739,#121e2c);padding:15px 14px 13px}
#wos-photo-vault .wos-intake-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
#wos-photo-vault .wos-intake-head h4{margin:6px 0 12px;font-size:16px;font-weight:700;letter-spacing:-.3px}
#wos-photo-vault .wos-intake-pill{font-size:10px;color:#e0c99e;border-radius:99px;padding:6px 9px;background:#e3af4d22;border:1px solid #efb75e40;white-space:nowrap}
#wos-photo-vault .wos-intake-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
#wos-photo-vault .wos-intake-grid>div{border-radius:13px;border:1px solid #37465a;background:#111f30;padding:12px 5px;min-width:0;text-align:center}
#wos-photo-vault .wos-intake-grid strong{display:block;font-size:22px;font-weight:800;line-height:1.3;letter-spacing:-.7px;font-variant-numeric:tabular-nums}
#wos-photo-vault .wos-intake-grid span{display:block;font-size:10px;line-height:1.5;color:#a5b0c3;margin-top:5px}
#wos-photo-vault #wos-intake-status{font-size:11px;color:var(--muted);line-height:1.75;overflow-wrap:anywhere}
#wos-photo-vault #wos-intake-refresh{width:100%;min-height:44px}
body.light #wos-photo-vault .wos-intake-panel{background:#f7f9fd;border-color:#dce5f2}
body.light #wos-photo-vault .wos-intake-grid>div{background:#fff;border-color:#e0e7f2}
body.light #wos-photo-vault .wos-intake-grid span{color:#586981}
@media(max-width:370px){#wos-photo-vault .wos-intake-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* W·OS 4.8 · device-only OCR review - Apple-like typography & generous iPhone tap targets */
#wos-photo-vault .wos-ocr-panel{padding:16px 14px 13px;margin:16px 0;border:1px solid #3c5670;border-radius:18px;background:linear-gradient(150deg,#192637,#142335)}
#wos-photo-vault .wos-ocr-panelhead{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
#wos-photo-vault .wos-ocr-panelhead h4{font-size:16px;letter-spacing:-.25px;margin:6px 0 12px}
#wos-photo-vault .wos-ocr-badge{border-radius:999px;background:#78c8ba25;border:1px solid #83d4c535;color:#a4eddf;font-size:10px;padding:6px 8px;white-space:nowrap}
#wos-photo-vault .wos-ocr-panel>.btn{width:100%;min-height:46px;margin:8px 0}
#wos-photo-vault .wos-ocr-label{font-size:12px;display:block;color:var(--muted);margin:12px 0 8px}
#wos-photo-vault #wos-ocr-text{display:block;width:100%;min-height:124px;max-height:360px;border-radius:12px;border:1px solid #415369;background:#0e1928;color:var(--fg);padding:12px;font-size:13px;line-height:1.6;resize:vertical;outline-offset:2px}
#wos-photo-vault #wos-ocr-text:focus-visible{outline:2px solid var(--blue)}
#wos-photo-vault .wos-ocr-status{font-size:11px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}
#wos-photo-vault .wos-ocr-summary{display:grid;gap:0;margin:13px 0 7px}
#wos-photo-vault .wos-ocr-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;min-height:38px;padding:9px 0;border-bottom:1px solid #ffffff15}
#wos-photo-vault .wos-ocr-row span{font-size:12px;color:var(--muted);flex:0 0 74px}
#wos-photo-vault .wos-ocr-row strong{text-align:right;font-size:12px;line-height:1.5;font-weight:660;min-width:0;overflow-wrap:anywhere}
#wos-photo-vault .wos-ocr-warn{font-size:11px;color:var(--gold);line-height:1.8;margin:13px 0}
body.light #wos-photo-vault .wos-ocr-panel{background:#f6f9fe;border-color:#d8e4f1}
body.light #wos-photo-vault #wos-ocr-text{background:#fff;color:#202f48;border-color:#c7d5e5}
body.light #wos-photo-vault .wos-ocr-row{border-color:#dce6f1}
body.light #wos-photo-vault .wos-ocr-badge{color:#197365;background:#e0f5ec;border-color:#bcdfd3}
@media(max-width:365px){#wos-photo-vault .wos-ocr-row span{flex-basis:70px}#wos-photo-vault .wos-ocr-row strong{font-size:11.5px}}
@media(prefers-reduced-motion:reduce){#wos-photo-vault *{scroll-behavior:auto}}


/* 4.9: consistent readable decision summary, including narrow phones. */
.wos-health h2{font-size:24px;letter-spacing:-.6px;line-height:1.25;margin:12px 0}
.wos-health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.wos-health-grid>div{padding:16px;border:1px solid rgba(128,128,128,.22);border-radius:16px;min-width:0}
.wos-health-grid span{display:block;font-size:12px;opacity:.75;margin-bottom:10px}
.wos-health-grid strong{font-size:24px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#wos-health-action{line-height:1.7;font-weight:600}
#wos-capabilities .pair{gap:16px;align-items:flex-start;line-height:1.6}
#wos-capabilities .pair strong{text-align:right;font-size:12px}
:focus-visible{outline:2px solid #649cff;outline-offset:4px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
