*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Microsoft YaHei UI,PingFang SC,Hiragino Sans GB,system-ui,sans-serif;min-height:100vh}button{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--stroke);border-radius:9px;padding:7px 12px;cursor:pointer}button:hover{opacity:.8}button:disabled{opacity:.4;cursor:default}input,select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--stroke);border-radius:8px;padding:8px 10px;width:100%}.tiny{font-size:11px}.small{font-size:12px}.muted{color:var(--muted)}.accent{color:var(--accent)}.panel{max-width:548px;margin:0 auto;padding:22px 16px 26px;display:flex;flex-direction:column;gap:12px}.panel[data-mini]{max-width:470px}.panel-intro{display:flex;flex-direction:column;gap:8px}.panel-kicker-row{display:flex;justify-content:space-between;letter-spacing:.14em;text-transform:uppercase}.kicker{font-size:10px;color:var(--muted)}.headline{font-size:25px;margin:0;font-weight:600}.panel-subtitle{font-size:11px;color:var(--muted);margin:0}.card{background:var(--surface);border:1px solid var(--stroke);border-radius:15px;padding:15px 17px;display:flex;flex-direction:column;gap:9px}.card.alt{background:var(--surface-alt)}.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.card-foot{display:flex;justify-content:space-between}.hero .badge{color:var(--accent);background:var(--surface-alt);border-radius:10px;padding:4px 9px;font-size:10px}.hero-foot{text-align:left}.countdown{font-family:Bahnschrift,DIN Alternate,ui-monospace,monospace;font-size:30px}.schedule{margin-top:5px}.stat{font-family:Bahnschrift,DIN Alternate,ui-monospace,monospace;font-size:24px}.stat-small{font-size:12px;font-family:Bahnschrift,DIN Alternate,ui-monospace,monospace}.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.goal-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.goal-name{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-nav{display:flex;align-items:center;gap:4px}.footnote{font-size:9px;color:var(--muted);margin:0 0 0 2px}.bar{height:5px;border-radius:3px;background:var(--stroke);overflow:hidden}.bar-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .4s ease}.bar-fill.red{background:var(--red)}.actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:center}.toggle[data-active=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);padding:8px 14px}.icon{padding:2px 8px}.overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--bg) 72%,transparent);display:flex;align-items:center;justify-content:center;padding:18px;z-index:10;overflow-y:auto}.overlay.nested{background:color-mix(in srgb,var(--bg) 45%,transparent);z-index:20}.dialog{background:var(--bg);border:1px solid var(--stroke);border-radius:18px;padding:20px 22px;width:min(680px,100%);max-height:92vh;display:flex;flex-direction:column;gap:12px}.dialog h2{margin:0;font-size:20px}.dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.dialog-head p{margin:6px 0 0}.language-box{display:flex;flex-direction:column;gap:4px;width:170px}.settings-preview{background:var(--surface);border-radius:12px;padding:8px 12px}.dialog-body{overflow-y:auto;display:flex;flex-direction:column;gap:12px;min-height:200px}.dialog-actions{display:flex;gap:8px;justify-content:flex-end}.dialog-error{color:#f28e7d;font-size:11px;margin:0}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tab{border-radius:8px;padding:8px 14px;color:var(--muted)}.tab[data-active=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.form-grid{display:flex;flex-direction:column;gap:12px}.field{display:flex;flex-direction:column;gap:5px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.weekday-row{display:flex;flex-wrap:wrap;gap:8px}.calendar{display:flex;flex-direction:column;gap:10px}.calendar-head{display:flex;align-items:center;gap:8px}.calendar-head strong{flex:1;text-align:center}.calendar-modes{display:flex;gap:6px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-weekday{text-align:center;padding:3px 0}.calendar-day{padding:6px 0;border-radius:8px;font-size:12px}.calendar-day[data-out=true]{opacity:.25}.calendar-day[data-rest=true]{background:var(--red);color:#fff;border-color:var(--red)}.calendar-day[data-work=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.calendar-day[data-scheduled=false]:not([data-rest=true]):not([data-work=true]){opacity:.45}.list-editor{display:flex;flex-direction:column;gap:8px}.list-row{display:grid;grid-template-columns:1fr 110px auto;gap:8px;align-items:center}.list-tools{display:flex;gap:4px}.copy-dialog{width:min(760px,100%)}.copy-list{display:flex;flex-direction:column;gap:6px;max-height:46vh;overflow-y:auto}.copy-row{display:grid;grid-template-columns:170px 1fr auto;gap:8px;align-items:center}.copy-row[data-selected=true] .copy-key{color:var(--accent)}.copy-key{background:none;border:none;text-align:left;padding:0;color:var(--muted);cursor:pointer}.expense-item{padding:10px 14px;gap:7px}@media(max-width:480px){.pair{grid-template-columns:1fr}.countdown{font-size:24px}.stat{font-size:20px}.list-row{grid-template-columns:1fr 90px auto}.copy-row{grid-template-columns:120px 1fr auto}}:root,html[data-theme=midnight]{--bg: #F1F4FA;--surface: #FFFFFF;--surface-alt: #E7EDF8;--stroke: #D6DFEE;--ink: #27364D;--muted: #74839A;--accent: #526FA8;--accent-ink: #FFFFFF;--tile-top: #DEE7F4;--tile-bottom: #D2DFF0;--red: #BD465D}html[data-theme=forest]{--bg: #242337;--surface: #302D46;--surface-alt: #3C3755;--stroke: #504969;--ink: #F5F0FC;--muted: #B7ACC9;--accent: #D5BDEB;--accent-ink: #302441;--tile-top: #45405C;--tile-bottom: #3A354F;--red: #F298AA}html[data-theme=paper]{--bg: #F7F1E8;--surface: #FFFCF7;--surface-alt: #F0E5D6;--stroke: #DED2C3;--ink: #4B3A31;--muted: #89796B;--accent: #9B674B;--accent-ink: #FFFFFF;--tile-top: #EEE2D2;--tile-bottom: #E7D8C6;--red: #BD465D}.flip-number{display:flex;gap:2px;font-size:52px;line-height:1.1;font-weight:600;overflow:hidden;flex-wrap:wrap;font-family:Bahnschrift,DIN Alternate,Segoe UI,sans-serif}.flip-number.flip-mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.flip-number.flip-classic{font-family:Georgia,Times New Roman,serif;font-weight:500}.flip-tile{display:inline-block;min-width:.62em;text-align:center;position:relative}.flip-tile>span{display:inline-block;width:100%;background:linear-gradient(var(--tile-top) 48%,var(--tile-bottom) 52%);border-radius:6px;padding:2px 0}.flip-tile>.flip-old{position:absolute;inset:0;opacity:0}.flip-static{display:inline-block;min-width:.35em;text-align:center}@keyframes flip-in{0%{transform:rotateX(-90deg);opacity:.2}to{transform:rotateX(0);opacity:1}}@keyframes flip-out{0%{transform:rotateX(0);opacity:1}to{transform:rotateX(90deg);opacity:0}}.flip-tile>span[style*=flip-in]{transform-origin:top center;backface-visibility:hidden}.flip-tile>span[style*=flip-out]{transform-origin:bottom center;backface-visibility:hidden}@keyframes slide-in{0%{transform:translateY(-.75em);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(.75em);opacity:0}}@media(prefers-reduced-motion:reduce){.flip-tile>span{animation:none!important}}
