.sidebar-ghd{position:relative;display:flex;align-items:center;min-width:0;flex:0 0 auto}.sidebar-ghd-chip{display:inline-flex;align-items:center;gap:3px;padding:1px 4px;border-radius:999px;border:1px solid var(--accent);background:transparent;color:var(--text);font-size:8px;font-weight:700;letter-spacing:.04em;line-height:1.4;cursor:pointer}.sidebar-ghd-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:0 0 auto}.sidebar-ghd.is-expired .sidebar-ghd-chip{border-color:var(--border);color:var(--text-muted)}.sidebar-ghd.is-expired .sidebar-ghd-dot{background:var(--text-muted,#888)}.sidebar-ghd.is-busy .sidebar-ghd-dot{animation:ghd-pulse 1.2s ease-in-out infinite}@keyframes ghd-pulse{50%{opacity:.3}}.sidebar:not(.expanded) .sidebar-ghd{position:absolute;left:-2px;bottom:-2px}.sidebar:not(.expanded) .sidebar-ghd-chip{padding:0;border:0}.sidebar:not(.expanded) .sidebar-ghd-text{display:none}.ghd-panel{position:absolute;left:0;top:calc(100% + 6px);z-index:30;width:264px;padding:14px;border-radius:10px;border:1px solid var(--border);background:var(--bg-sidebar);color:var(--text);box-shadow:0 6px 20px rgba(0,0,0,.18);font-size:13px;line-height:1.45}.sidebar:not(.expanded) .ghd-panel{left:44px;top:-8px}.ghd-panel-title{font-weight:700;font-size:14px;margin:0 0 2px}.ghd-panel-day{color:var(--text-secondary);margin:0 0 10px}.ghd-note{color:var(--text-muted);font-size:12px;margin:10px 0 0}.ghd-status{color:var(--text-secondary);margin:8px 0 0}.ghd-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--border)}.ghd-row-label{display:flex;flex-direction:column}.ghd-row-hint{color:var(--text-muted);font-size:11.5px}.ghd-switch{position:relative;width:34px;height:20px;flex:0 0 auto;border-radius:999px;border:1px solid var(--border);background:var(--bg-hover);cursor:pointer;padding:0}.ghd-switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text-muted);transition:transform .15s}.ghd-switch[aria-checked=true]{background:var(--accent);border-color:var(--accent)}.ghd-switch[aria-checked=true]:after{transform:translateX(14px);background:#fff}.ghd-button:disabled,.ghd-switch:disabled{opacity:.6;cursor:progress}.ghd-button{width:100%;margin-top:10px;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg-hover);color:var(--text);font-size:13px;font-weight:600;cursor:pointer}.ghd-button.is-primary{background:var(--accent);border-color:var(--accent);color:#fff}.ghd-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.ghd-actions .ghd-button{width:auto;margin-top:0}.ghd-error{color:#c8785a;font-size:12.5px;margin:8px 0 0}.ghd-points{margin:0 0 16px;padding-left:18px;color:var(--text-secondary);font-size:14px;line-height:1.6}.sx-continue{position:fixed;right:20px;top:20px;z-index:1000;width:280px;background:var(--bg-sidebar);border:1px solid var(--border);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow);color:var(--text);font-family:var(--font)}.sx-continue-title{font-weight:600;font-size:13.5px;margin-bottom:2px;overflow-wrap:anywhere}.sx-continue-sub{font-size:12px;color:var(--text-secondary);overflow-wrap:anywhere}.sx-continue-actions{display:flex;gap:8px;margin-top:10px}.sx-continue-btn{font:inherit;font-size:12.5px;padding:5px 12px;border-radius:8px;border:1px solid var(--border);background:transparent;color:inherit;cursor:pointer}.sx-continue-btn:hover,.sx-continue-open{border-color:var(--accent)}.sx-continue-open{background:var(--accent);color:#fff}@media (max-width:520px){.sx-continue{left:12px;right:12px;top:12px;width:auto}}.cfd-overlay{--cfd-danger:#b3413f;--cfd-danger-hover:#c24a48;--cfd-warning:#c98a2b;--cfd-warning-hover:#d6973a;--cfd-on-warning:#1a1917;--cfd-on-accent:#201f1c;position:fixed;inset:0;z-index:2100;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.45);font-family:var(--font)}:root.light .cfd-overlay{--cfd-on-accent:#fff}.cfd-card{width:min(400px,100%);background:var(--bg-sidebar);color:var(--text);text-align:left;border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}.cfd-head{padding:18px 18px 16px}.cfd-title{margin:0;font-size:14px;font-weight:600;line-height:normal;color:var(--text)}.cfd-desc{margin:5px 0 0;color:var(--text-muted);white-space:pre-line}.cfd-body,.cfd-desc{font-size:12px;line-height:1.5}.cfd-body{margin-top:10px;color:var(--text-secondary)}.cfd-body p{margin:0 0 6px}.cfd-body p:last-child{margin-bottom:0}.cfd-error{margin-top:10px;font-size:12px;line-height:1.5;color:var(--cfd-danger-hover)}.cfd-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--border)}.cfd-btn{font-family:inherit;font-size:11.5px;font-weight:600;line-height:normal;cursor:pointer;padding:6px 11px;border-radius:var(--r-sm);color:var(--text-secondary);background:var(--bg-sidebar);border:1px solid var(--border)}.cfd-btn:hover:not(:disabled){border-color:var(--text-muted);color:var(--text)}.cfd-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cfd-btn:disabled{opacity:.5;cursor:default}.cfd-btn-neutral{color:var(--cfd-on-accent);background:var(--accent);border-color:var(--accent)}.cfd-btn-neutral:hover:not(:disabled){color:var(--cfd-on-accent);background:color-mix(in srgb,var(--accent) 88%,var(--text));border-color:color-mix(in srgb,var(--accent) 88%,var(--text))}.cfd-btn-warning{color:var(--cfd-on-warning);background:var(--cfd-warning);border-color:var(--cfd-warning)}.cfd-btn-warning:hover:not(:disabled){color:var(--cfd-on-warning);background:var(--cfd-warning-hover);border-color:var(--cfd-warning-hover)}.cfd-btn-destructive{color:#fff;background:var(--cfd-danger);border-color:var(--cfd-danger)}.cfd-btn-destructive:hover:not(:disabled){color:#fff;background:var(--cfd-danger-hover);border-color:var(--cfd-danger-hover)}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:var(--accent)}@keyframes sxBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes sxSwirl{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}