:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand:#4f46e5;--brand-strong:#4338ca;--brand-soft:#eef2ff;--danger:#e11d48;--bg:#f6f7f9;--surface:#fff;--surface-2:#f3f4f6;--text:#111827;--muted:#6b7280;--border:#e5e7eb;--divider:#e0e0e0;--shadow:0 10px 30px #0f172a1f;--cell:clamp(32px, 5.4dvh, 46px)}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.4}#app{height:100%}button{font:inherit;color:inherit;cursor:pointer}.app{background:var(--bg);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.app-bar{padding:8px 12px 4px;padding-top:calc(8px + env(safe-area-inset-top));background:var(--bg);flex:none;justify-content:space-between;align-items:center;display:flex}.app-bar-title{letter-spacing:.5px;margin:0;font-size:20px;font-weight:700}.app-bar-actions{align-items:center;gap:2px;display:flex}.icon-btn-sync{color:var(--muted);position:relative}.sync-glyph{display:block}.sync-glyph.is-spinning{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sync-dot{background:var(--danger);border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:6px}.icon-btn{width:40px;height:40px;color:var(--brand);background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;font-size:26px;line-height:1;display:flex}.icon-btn:active{background:var(--brand-soft)}.icon-btn-sm{width:34px;height:34px;color:var(--muted);font-size:17px}.calendar{background:var(--surface);border-bottom:1px solid var(--divider);flex:none;padding-bottom:6px}.cal-nav{justify-content:space-between;align-items:center;height:44px;padding:0 6px;display:flex}.cal-nav-btn{width:44px;height:44px;color:var(--muted);background:0 0;border:0;border-radius:10px;font-size:24px;line-height:1}.cal-nav-btn:active{background:var(--surface-2)}.cal-title{background:0 0;border:0;border-radius:10px;padding:6px 12px;font-size:17px;font-weight:600}.cal-title:active{background:var(--surface-2)}.cal-weekdays{grid-template-columns:repeat(7,1fr);display:grid}.cal-weekdays span{text-align:center;color:var(--muted);font-size:12px;line-height:22px}.cal-grid{grid-template-columns:repeat(7,1fr);grid-auto-rows:var(--cell);padding:0 2px;display:grid}.cal-cell{background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.cal-day{width:calc(var(--cell) - 8px);height:calc(var(--cell) - 8px);font-variant-numeric:tabular-nums;border-radius:50%;justify-content:center;align-items:center;font-size:15px;display:flex}.cal-cell.is-out .cal-day{color:var(--muted);opacity:.45}.cal-cell.is-today .cal-day{color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);font-weight:700}.cal-cell.is-selected .cal-day{background:var(--brand);color:#fff;box-shadow:none;font-weight:700}.cal-dot{background:var(--brand);border-radius:50%;width:4px;height:4px;position:absolute;bottom:2px}.cal-cell.is-selected .cal-dot{background:var(--brand)}.list-panel{flex-direction:column;flex:auto;min-height:0;display:flex}.list-head{border-bottom:1px solid var(--divider);background:var(--bg);flex:none;justify-content:space-between;align-items:baseline;padding:12px 16px 8px;display:flex}.list-head-date{font-size:15px;font-weight:600}.list-head-count{color:var(--muted);font-size:13px}.list-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0;padding-bottom:env(safe-area-inset-bottom);flex:auto;overflow-y:auto}.row-list{margin:0;padding:0;list-style:none}.row-wrap{background:var(--surface);position:relative;overflow:hidden}.row-delete{color:#0000;background:0 0;border:0;width:76px;font-size:15px;font-weight:600;position:absolute;top:0;bottom:0;right:0}.row-wrap.is-open .row-delete{background:var(--danger);color:#fff}.row{background:var(--surface);border-bottom:1px solid var(--divider);touch-action:pan-y;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;height:58px;padding:0 16px;display:flex;position:relative}.row-time{font-variant-numeric:tabular-nums;flex:0 0 62px;font-size:17px;font-weight:600}.row-platform{flex:auto;font-size:16px}.row-ordinal{background:var(--brand-soft);color:var(--brand);border-radius:999px;flex:none;padding:3px 10px;font-size:12px;font-weight:600}.empty{text-align:center;padding:48px 16px}.empty-title{color:var(--muted);margin:0;font-size:15px}.empty-hint{color:var(--muted);opacity:.8;margin:6px 0 0;font-size:13px}.overlay{z-index:50;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));background:#0f172a73;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0;overflow-y:auto}.overlay-center{align-items:center}.sheet,.dialog{background:var(--surface);width:min(100%,420px);box-shadow:var(--shadow);border-radius:18px;animation:.16s ease-out pop}@keyframes pop{0%{opacity:0;transform:translateY(8px)}}.sheet-head{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.sheet-title,.dialog-title{margin:0;font-size:17px;font-weight:700}.sheet-body{flex-direction:column;gap:16px;padding:16px;display:flex}.field{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.field-label{color:var(--muted);padding:0;font-size:13px}.input{border:1px solid var(--border);background:var(--surface);width:100%;height:48px;color:var(--text);border-radius:12px;padding:0 12px;font-size:16px}.input:focus{outline:2px solid var(--brand);outline-offset:-1px}.platform-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.platform-item{border:1px solid var(--border);background:var(--surface);border-radius:12px;justify-content:center;align-items:center;height:44px;font-size:15px;display:flex;position:relative}.platform-item input{opacity:0;pointer-events:none;position:absolute}.platform-item.is-active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);font-weight:600}.platform-item:focus-within{outline:2px solid var(--brand);outline-offset:1px}.error{color:var(--danger);margin:0;font-size:13px}.error-block{padding:8px 16px}.sheet-actions,.dialog-actions{gap:12px;margin-top:4px;display:flex}.dialog{padding:20px 16px 16px}.dialog-message{color:var(--muted);margin:8px 0 18px;font-size:14px}.btn{border:0;border-radius:12px;flex:1 1 0;height:48px;font-size:16px;font-weight:600}.btn:disabled{opacity:.6}.btn-primary{background:var(--brand);color:#fff}.btn-primary:active{background:var(--brand-strong)}.btn-ghost{background:var(--surface-2);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-link{height:40px;color:var(--brand);background:0 0;border:0;flex:none;font-size:15px;font-weight:600}.sync-status{color:var(--muted);margin:0;font-size:13px}.sync-status.is-error{color:var(--danger)}.sheet-note{color:var(--muted);margin:0;font-size:12px;line-height:1.5}
