: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}.compact-quick-row button{min-width:36px;padding:4px 6px;font-size:12px}.quick-more-btn{min-width:38px;color:#475569;background:#f8fafc;border-color:#d7dfed}.quick-more-btn:hover{background:#eef2f7}.quick-more-back-btn{min-width:40px}.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}.cleanup-total-indicator{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border:1px solid #d8e2f3;border-radius:999px;background:#f8fbff}.cleanup-total-indicator-text{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;color:#0f3b8a}@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}.dashboard-toolbar{justify-content:space-between;margin-bottom:8px;gap:12px}.dashboard-toolbar-main,.dashboard-toolbar-side{align-items:center}.overview-table th:nth-child(1),.overview-table td:nth-child(1){min-width:148px}.overview-table th:nth-child(2),.overview-table td:nth-child(2){min-width:118px}.overview-table th:nth-child(3),.overview-table td:nth-child(3){min-width:60px}.overview-table th:nth-child(4),.overview-table td:nth-child(4){min-width:68px}.overview-table th:nth-child(5),.overview-table td:nth-child(5){min-width:70px}.overview-table th:nth-child(6),.overview-table td:nth-child(6){min-width:124px}.overview-table th:nth-child(7),.overview-table td:nth-child(7){min-width:76px}.overview-table th:nth-child(8),.overview-table td:nth-child(8){min-width:42px}.overview-table th:nth-child(9),.overview-table td:nth-child(9){min-width:42px}.overview-table th:nth-child(10),.overview-table td:nth-child(10){min-width:42px}.overview-table th:nth-child(11),.overview-table td:nth-child(11){min-width:42px}.overview-table th:nth-child(12),.overview-table td:nth-child(12){min-width:42px}.overview-table th,.overview-table td{padding:3px 4px}.overview-table .status-toggle{min-width:32px;height:18px;line-height:16px;padding:0 3px;font-size:10px}.energy-summary-card{width:100%;display:inline-flex;align-items:center;justify-content:center;padding:4px 6px;border:1px solid #cddff7;border-radius:10px;background:#edf5ff;color:#0f172a;text-align:center}.energy-summary-inline{display:inline-flex;align-items:baseline;justify-content:center;gap:4px;white-space:nowrap}.energy-summary-card.waveplate-normal{background:#edf5ff;border-color:#cddff7}.energy-summary-card.waveplate-high{background:#fff7ed;border-color:#fdba74;color:#9a3412}.energy-summary-card.waveplate-full{background:#fef2f2;border-color:#f87171;color:#b91c1c}.energy-summary-card.combined-alert-120{background:#f5f3ff;border-color:#a78bfa;color:#5b21b6}.energy-summary-card.combined-alert-240{background:#ecfeff;border-color:#22d3ee;color:#0e7490}.energy-summary-main{font-weight:800;line-height:1}.energy-summary-sub{font-size:10px;letter-spacing:.02em;opacity:.82;line-height:1}.remark-chip{width:100%;display:inline-block;padding:2px 6px;border:1px solid #dce3f1;border-radius:10px;background:#f8fafc;color:#334155;font-size:11px;line-height:1.05;text-align:left;white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:calc(1.05em + 4px)}.remark-chip.long{font-size:10px;line-height:1;min-height:calc(1em + 4px)}.remark-chip:hover{border-color:#b8c8e6;background:#f1f5fb}.remark-chip.empty{color:#7f879b}.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-plate{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}.periodic-beta-table{min-width:max-content}.periodic-beta-table .beta-activity-col{min-width:150px;position:sticky;left:0;z-index:1;background:#f8fbff}.periodic-beta-table thead .beta-activity-col{z-index:3;background:linear-gradient(180deg,#f6f9ff,#edf3fd)}.periodic-beta-table .beta-account-col{min-width:72px;vertical-align:middle;background:#f8fbff}.periodic-beta-table .beta-account-highlight{box-shadow:inset 0 0 0 9999px #ffd66642}.beta-account-main,.beta-activity-main{display:flex;align-items:center;gap:6px;font-weight:700}.beta-account-main{flex-wrap:wrap}.beta-account-main-compact{justify-content:center}.beta-account-sub,.beta-activity-sub{margin-top:4px;font-size:12px;color:#64748b;line-height:1.25}.periodic-beta-table .beta-status-cell{text-align:center}.periodic-beta-table .status-item{justify-content:center;width:100%}.periodic-beta-table .status-toggle{width:100%;min-width:54px}.periodic-beta-table .beta-header-version-matrix,.periodic-beta-table .beta-cell-version-matrix{background:#f2f4ff}.periodic-beta-table .beta-header-version-coral,.periodic-beta-table .beta-cell-version-coral{background:#fff1f7}.periodic-beta-table .beta-header-version-hologram,.periodic-beta-table .beta-cell-version-hologram{background:#effbff}.periodic-beta-table .beta-header-version-template,.periodic-beta-table .beta-cell-version-template{background:#effaf5}.periodic-beta-table .beta-header-hv-trial,.periodic-beta-table .beta-cell-hv-trial{background:#f5f1ff}.periodic-beta-table .beta-header-monthly-tower,.periodic-beta-table .beta-cell-monthly-tower{background:#fff4ec}.periodic-beta-table .beta-header-fw-tower,.periodic-beta-table .beta-cell-fw-tower{background:#eef4ff}.periodic-beta-table .beta-header-fw-ruins,.periodic-beta-table .beta-cell-fw-ruins{background:#eefaf1}.periodic-beta-table .beta-header-range-plate,.periodic-beta-table .beta-cell-range-plate{background:#fff1f1}.periodic-beta-table .beta-header-range-music,.periodic-beta-table .beta-cell-range-music{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-plate .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{min-width:64px;padding:5px 18px 5px 6px;font-size:12px}.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:14px}.abbr-mark{color:#b54708}.id-text{color:#6b7280;font-weight:600}.account-cell{display:flex;flex-direction:column;gap:1px}.account-sub{line-height:1.15;font-size:12px;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.account-divider{opacity:.55;margin:0 2px}.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:center;gap:3px;flex-wrap:nowrap;white-space:nowrap}.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-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 5px;border:1px solid #cddff7;border-radius:999px;background:#edf5ff;text-decoration:none;font-size:12px}.eta-chip:hover{background:#e0efff}.eta-next{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.eta-next-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 5px;border:1px solid #dce3f1;border-radius:999px;background:#f8fafc;font-size:11px}.cleanup-duration{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;font-weight:700;color:#475569;transition:color .15s ease;white-space:nowrap}.cleanup-duration.is-running{color:#b42318}.cleanup-inline{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.cleanup-timer-btn{border:1px solid #c9d3e6;border-radius:8px;background:#f8fafc;color:#334155;font-size:11px;line-height:18px;height:22px;padding:0 6px;cursor:pointer;font-weight:700;transition:all .15s ease;white-space:nowrap}.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}.energy-editor-modal,.remark-editor-modal{width:min(520px,calc(100vw - 24px))}.energy-editor-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.energy-editor-close{white-space:nowrap}.energy-editor-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.energy-editor-summary-card{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border:1px solid #dce3f1;border-radius:10px;background:#f8fbff}.energy-editor-mode-tabs{display:flex;gap:8px;margin-bottom:12px}.energy-editor-mode-tab{flex:1;border:1px solid #dce3f1;background:#f8fafc;color:#475569}.energy-editor-mode-tab.active{border-color:#7aa8e8;background:#edf5ff;color:#1664d9;font-weight:700}.energy-editor-section,.remark-editor-section{margin-bottom:4px}.remark-editor-field{display:flex;flex-direction:column;gap:6px}.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:not(.cleanup-active-cell){box-shadow:inset 0 0 0 9999px #f1f7f373;opacity:.46;filter:saturate(45%)}tr.all-done-row td.cleanup-active-cell{box-shadow:inset 0 0 0 9999px #f1f7f373;opacity:1;filter:none}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}.dashboard-toolbar,.dashboard-toolbar-main,.dashboard-toolbar-side{flex-direction:column;align-items:stretch}.energy-editor-summary{grid-template-columns:1fr}.energy-editor-mode-tabs{flex-direction:column}.fulltime-form,.fulltime-duration{grid-template-columns:1fr}}
