:root{--bg: #f7f8fb;--panel: #ffffff;--ink: #1a2338;--soft: #69718a;--primary: #1664d9;--warning: #d97a16;--danger: #c62026;--line: #dce3f1}*{box-sizing:border-box}body{margin:0;font-family:PingFang SC,Microsoft YaHei,sans-serif;background:radial-gradient(circle at top right,#eaf1ff,var(--bg) 45%);color:var(--ink)}.app-shell{max-width:1160px;margin:0 auto;padding:16px}.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.topbar h1{margin:0;font-size:22px}nav{display:flex;gap:12px}nav a{text-decoration:none;color:var(--primary);font-weight:600}nav a.router-link-active{color:var(--ink)}.auth-inline{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.auth-status{font-size:13px;color:#166534;background:#edf7ef;border:1px solid #cfe7d4;border-radius:999px;padding:4px 10px}.modal-mask{position:fixed;inset:0;background:#0f172a5c;display:flex;align-items:center;justify-content:center;padding:12px;z-index:1000}.modal-card{width:min(720px,100%);max-height:90vh;overflow:auto}.grid{display:grid;gap:12px}.account-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}.account-card{border-left:6px solid #63a1ff}.account-card.warning{border-left-color:var(--warning);background:#fff8ee}.account-card.danger{border-left-color:var(--danger);background:#fff1f2}.meta{color:var(--soft);font-size:13px}.energy{margin:10px 0;font-size:30px;font-weight:800}.actions{display:flex;flex-wrap:wrap;gap:8px}.quick-row{display:flex;gap:6px;flex-wrap:nowrap}.quick-spend-row{width:100%}.overview-quick-row{flex-wrap:nowrap;gap:4px}.overview-quick-row button{min-width:42px;padding:5px 6px}.refresh-indicator{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:#f8fbff}.refresh-pie{width:22px;height:22px;border-radius:50%;transition:background .7s linear;border:1px solid #ccd8ef}.refresh-pie.urgent{animation:pie-blink .7s ease-in-out infinite}.refresh-text{font-size:12px;color:var(--soft);min-width:28px;text-align:right}@keyframes pie-blink{0%{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.62}to{transform:scale(1);opacity:1}}button{border:1px solid var(--line);background:#fff;padding:6px 10px;border-radius:8px;cursor:pointer}button.primary{border-color:var(--primary);color:#fff;background:var(--primary)}button.warn{border-color:var(--danger);color:var(--danger)}button.btn-gain{color:#2f6f4f;background:#eef7f1;border-color:#cfe5d8}button.btn-gain:hover{background:#e7f2eb}button.btn-spend{color:#7a5a2a;background:#fbf6ee;border-color:#eadcc6}button.btn-spend:hover{background:#f6efdf}table{width:100%;border-collapse:collapse}.table-wrap{width:100%;overflow-x:auto}.overview-table th:nth-child(1),.overview-table td:nth-child(1){min-width:176px}.overview-table th:nth-child(2),.overview-table td:nth-child(2){min-width:96px}.overview-table th:nth-child(3),.overview-table td:nth-child(3){min-width:72px}.overview-table th:nth-child(3) input,.overview-table td:nth-child(3) input{max-width:68px!important}.overview-table th:nth-child(4),.overview-table td:nth-child(4){min-width:72px}.overview-table th:nth-child(4) input,.overview-table td:nth-child(4) input{max-width:68px!important}.overview-table th:nth-child(5),.overview-table td:nth-child(5){min-width:82px}.overview-table th:nth-child(6),.overview-table td:nth-child(6){min-width:188px}.overview-table th:nth-child(7),.overview-table td:nth-child(7){min-width:104px}.overview-table th:nth-child(8),.overview-table td:nth-child(8){min-width:58px}.overview-table th:nth-child(9),.overview-table td:nth-child(9){min-width:58px}.overview-table th:nth-child(10),.overview-table td:nth-child(10){min-width:58px}.overview-table th:nth-child(11),.overview-table td:nth-child(11){min-width:58px}.overview-table th:nth-child(12),.overview-table td:nth-child(12){min-width:60px}.overview-table th,.overview-table td{padding:4px 5px}.overview-table .status-toggle{min-width:30px;height:18px;line-height:16px;padding:0 4px;font-size:10px}.periodic-table{table-layout:fixed}.periodic-table col.col-id{width:15%}.periodic-table col.col-flag{width:8.5%}.periodic-table th:not(:first-child),.periodic-table td:not(:first-child){text-align:center}.periodic-table td .status-item{width:100%;justify-content:center}.periodic-table .status-toggle{min-width:46px;padding:0 4px}.periodic-table th,.periodic-table td{padding:4px 5px}.periodic-table thead .group-row th{border:1px solid #d6e0f2;border-bottom-color:#cdd9ee;box-shadow:inset 0 -1px #ffffffb3;font-size:13px;font-weight:700;color:#334155;letter-spacing:.2px;text-align:center;padding-top:6px;padding-bottom:6px}.periodic-table thead tr:nth-child(2) th{border-top:0;font-weight:700;box-shadow:inset 0 1px #ffffff8c}.periodic-table thead .group-row th.group-id{background:linear-gradient(180deg,#f6f9ff,#edf3fd)}.periodic-table thead .group-row th.group-fv{background:linear-gradient(180deg,#eef3ff,#e3ecff)}.periodic-table thead .group-row th.group-hv{background:linear-gradient(180deg,#f3efff,#ece5ff)}.periodic-table thead .group-row th.group-monthly{background:linear-gradient(180deg,#fff3ea,#ffe8d7)}.periodic-table thead .group-row th.group-fourweek{background:linear-gradient(180deg,#eef8f1,#e2f2e8)}.periodic-table thead .group-row th.group-range{background:linear-gradient(180deg,#fff0f0,#ffe4e4)}.periodic-table th.col-version-matrix{color:#4338ca;background:#f2f4ff}.periodic-table th.col-version-coral{color:#be185d;background:#fff1f7}.periodic-table th.col-version-hologram{color:#0e7490;background:#effbff}.periodic-table th.col-version-template{color:#047857;background:#effaf5}.periodic-table th.col-hv-trial{color:#6d28d9;background:#f5f1ff}.periodic-table th.col-monthly-tower{color:#c2410c;background:#fff4ec}.periodic-table th.col-fw-tower{color:#1e40af;background:#eef4ff}.periodic-table th.col-fw-ruins{color:#15803d;background:#eefaf1}.periodic-table th.col-range-lahailuo{color:#b91c1c;background:#fff1f1}.periodic-table th.col-range-music{color:#a21caf;background:#fff2ff}.periodic-table tbody td:nth-child(2){background:#f2f4ff}.periodic-table tbody td:nth-child(3){background:#fff1f7}.periodic-table tbody td:nth-child(4){background:#effbff}.periodic-table tbody td:nth-child(5){background:#effaf5}.periodic-table tbody td:nth-child(6){background:#f5f1ff}.periodic-table tbody td:nth-child(7){background:#fff4ec}.periodic-table tbody td:nth-child(8){background:#eef4ff}.periodic-table tbody td:nth-child(9){background:#eefaf1}.periodic-table tbody td:nth-child(10){background:#fff1f1}.periodic-table tbody td:nth-child(11){background:#fff2ff}.manage-table th:nth-child(1),.manage-table td:nth-child(1){min-width:220px}.manage-table th:nth-child(2),.manage-table td:nth-child(2){min-width:170px}.manage-table th:nth-child(3),.manage-table td:nth-child(3),.manage-table th:nth-child(4),.manage-table td:nth-child(4){min-width:78px}.manage-table th:nth-child(5),.manage-table td:nth-child(5){min-width:120px}.energy-stack{display:flex;flex-direction:column;gap:6px}.waveplate-input{background:#edf5ff;border-color:#cddff7;color:#0f172a;font-weight:700}.waveplate-input.waveplate-high{background:#fff7ed;border-color:#fdba74;color:#9a3412}.waveplate-input.waveplate-full{background:#fef2f2;border-color:#f87171;color:#b91c1c}.waveplate-input.combined-alert-120{background:#f5f3ff;border-color:#a78bfa;color:#5b21b6}.waveplate-input.combined-alert-240{background:#ecfeff;border-color:#22d3ee;color:#0e7490;box-shadow:inset 0 0 0 1px #22d3ee2e}.crystal-input{background:#eef9f1;border-color:#cde7d4}.crystal-input.combined-alert-120{background:#ede9fe;border-color:#8b5cf6;color:#6d28d9;font-weight:700}.crystal-input.combined-alert-240{background:#cffafe;border-color:#06b6d4;color:#155e75;font-weight:700;box-shadow:inset 0 0 0 1px #22d3ee38}.input-flash{animation:input-flash .75s ease-out}@keyframes input-flash{0%{box-shadow:0 0 #1664d973;border-color:#7aa8e8}to{box-shadow:0 0 0 7px #1664d900;border-color:inherit}}.status-wrap{display:flex;flex-wrap:wrap;gap:8px 12px}.status-item{display:inline-flex;align-items:center;gap:6px;width:fit-content;white-space:nowrap}.status-toggle{border:1px solid #cfd7e7;border-radius:10px;padding:0 7px;min-width:38px;height:22px;line-height:20px;font-size:12px;color:#374151;background:#f8fafc;cursor:pointer}.status-toggle:hover{border-color:#97a3ba}.status-label.completed{text-decoration:line-through;text-decoration-thickness:1.5px;opacity:.78}.status-item.status-done .status-toggle{border-color:#72bf8e;background:#ecf9f1;color:#166534;font-weight:600}.status-item.status-skipped .status-toggle{border-color:#e6b56d;background:#fff6ea;color:#9a3412;font-weight:600}.status-item.status-todo .status-toggle{border-color:#cfd7e7;background:#f8fafc;color:#475569}.status-item.flag-all-done .status-toggle{opacity:.45;filter:saturate(45%)}.status-item.flag-all-done span{opacity:.46}.status-item.flag-daily-task .status-label{color:#1d4ed8}.status-item.flag-daily-nest .status-label{color:#0f766e}.status-item.flag-weekly-door .status-label{color:#7e22ce}.status-item.flag-weekly-boss .status-label{color:#92400e}.status-item.flag-weekly-synthesis .status-label{color:#0f766e}.status-item.flag-version-matrix .status-label{color:#4338ca}.status-item.flag-version-coral .status-label{color:#be185d}.status-item.flag-version-hologram .status-label{color:#0e7490}.status-item.flag-version-template .status-label{color:#047857}.status-item.flag-hv-trial .status-label{color:#6d28d9}.status-item.flag-monthly-tower .status-label{color:#c2410c}.status-item.flag-fw-tower .status-label{color:#1e40af}.status-item.flag-fw-ruins .status-label{color:#15803d}.status-item.flag-range-lahailuo .status-label{color:#b91c1c}.status-item.flag-range-music .status-label{color:#a21caf}.all-done-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:6px;vertical-align:middle;border-radius:50%;border:1px solid #9ed1ad;background:#ecf9f1;color:#15803d;font-size:11px;font-weight:800}.tacet-select.tacet-empty{color:#7f879b}.tacet-select.tacet-aimisi{color:#0f6b57}.tacet-select.tacet-xigelika{color:#1d4ed8}.tacet-select.tacet-old-dark{color:#7c3aed}.tacet-select.tacet-old-thunder{color:#b45309}.tacet-select.tacet-daniya{color:#be185d}.account-main{line-height:1.2;font-size:15px}.abbr-mark{color:#b54708}.id-text{color:#6b7280;font-weight:600}.account-sub{margin-top:2px;line-height:1.25;font-size:14px;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.nickname-text,.phone-tail-text{color:#111827;font-weight:700}th,td{border-bottom:1px solid var(--line);text-align:left;padding:6px 8px;font-size:14px;white-space:normal;word-break:break-word;overflow-wrap:anywhere;vertical-align:top}.eta-cell{white-space:pre-line}.eta-inline{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.eta-trigger{border:none;background:transparent;padding:0;color:#1664d9;font-weight:700;cursor:pointer;text-decoration:underline dotted;text-underline-offset:2px}.eta-trigger:hover{color:#0f4fb5}.eta-next{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.cleanup-duration{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;font-weight:700;color:#475569;margin-bottom:4px;transition:color .15s ease}.cleanup-duration.is-running{color:#b42318}.cleanup-timer-btn{border:1px solid #c9d3e6;border-radius:8px;background:#f8fafc;color:#334155;font-size:12px;line-height:20px;height:24px;padding:0 8px;cursor:pointer;font-weight:700;transition:all .15s ease}.cleanup-timer-btn:hover{border-color:#9fb2da}.cleanup-timer-btn.is-idle{border-color:#84cc16;background:#f0fdf4;color:#166534}.cleanup-timer-btn.is-idle:hover{border-color:#65a30d;background:#dcfce7}.cleanup-timer-btn.is-running{border-color:#f59e0b;background:#fff7ed;color:#9a3412}.cleanup-timer-btn.is-running:hover{border-color:#d97706;background:#ffedd5}.cleanup-timer-btn:disabled{opacity:.55;cursor:not-allowed}.cleanup-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.cleanup-summary-card{border:1px solid #d9e1ef;border-radius:10px;padding:10px 12px;background:#f8fbff}.cleanup-total-text{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:22px;font-weight:800;color:#0f3b8a}.cleanup-manual-form{display:grid;grid-template-columns:minmax(230px,1.8fr) repeat(4,minmax(96px,1fr)) auto;gap:8px;align-items:end}.cleanup-manual-form label{margin:0}@media(max-width:980px){.cleanup-manual-form{grid-template-columns:1fr 1fr}}.fulltime-modal-mask{position:fixed;inset:0;background:#0f172a3d;display:flex;align-items:center;justify-content:center;z-index:50}.fulltime-modal{width:min(420px,calc(100vw - 24px));background:#fff;border:1px solid #dce3f1;border-radius:12px;padding:12px;box-shadow:0 16px 40px #162e5a33}.fulltime-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fulltime-duration{grid-template-columns:repeat(3,1fr)}tbody tr:nth-child(3n+1){background:#fff}tbody tr:nth-child(3n+2){background:#f6faff}tbody tr:nth-child(3n){background:#eef5ff}.manage-table tbody tr.inactive{text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:#8b95a7}.manage-table tbody tr.inactive button{opacity:1}tr.warning{background:#fff8ee}tr.danger{background:#fff1f2}tr.edited td{box-shadow:inset 0 0 0 9999px #ffd6666b;border-top:1px solid #e0b95a;border-bottom:1px solid #e0b95a}tr.all-done-row td{box-shadow:inset 0 0 0 9999px #f1f7f373;opacity:.46;filter:saturate(45%)}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:8px;padding:7px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}@media(max-width:768px){.energy{font-size:24px}.app-shell{padding:12px}.fulltime-form,.fulltime-duration{grid-template-columns:1fr}}
