:root{--color-bg: #f0f2f5;--color-surface: #ffffff;--color-border: #e2e6ea;--color-text: #1a1a2e;--color-text-muted: #6b7280;--color-accent: #0f6cbd;--color-accent-hover: #0c5aa6;--color-topbar-bg: #ffffff;--color-topbar-shadow: rgba(0, 0, 0, .08);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius: 8px;--font-sm: .8125rem;--font-md: .9375rem}[data-theme=dark]{--color-bg: #111318;--color-surface: #1c1f28;--color-border: #2e3344;--color-text: #e4e6f0;--color-text-muted: #8b91a8;--color-accent: #4d9ef7;--color-accent-hover: #6ab3ff;--color-topbar-bg: #16191f;--color-topbar-shadow: rgba(0, 0, 0, .4)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg: #111318;--color-surface: #1c1f28;--color-border: #2e3344;--color-text: #e4e6f0;--color-text-muted: #8b91a8;--color-accent: #4d9ef7;--color-accent-hover: #6ab3ff;--color-topbar-bg: #16191f;--color-topbar-shadow: rgba(0, 0, 0, .4)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--color-bg);color:var(--color-text);min-height:100vh}.top-bar{position:sticky;top:0;z-index:100;background:var(--color-topbar-bg);box-shadow:0 1px 4px var(--color-topbar-shadow);padding:0 var(--space-xl);height:56px;display:flex;align-items:center}.logo{height:28px;width:auto}.hidden{display:none}.widget-bar{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:.375rem var(--space-xl)}.countup-widget{display:flex;align-items:center;gap:var(--space-md);max-width:1400px;margin:0 auto}.countup-display{font-family:Consolas,Courier New,monospace;font-size:1.125rem;font-weight:700;color:var(--color-accent);min-width:11ch}.countup-since,.countup-prompt{font-size:var(--font-sm);color:var(--color-text-muted)}.countup-edit-btn{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:1rem;padding:.2rem .4rem;border-radius:4px;line-height:1}.countup-edit-btn:hover{color:var(--color-text);background:var(--color-bg)}.cu-picker-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:300}.cu-picker-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:min(360px,94vw);max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000040}.cu-picker-header{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border)}.cu-picker-header-simple{justify-content:space-between}.cu-picker-title{font-size:var(--font-sm);font-weight:600}.cu-picker-close{background:none;border:none;cursor:pointer;font-size:1.4rem;color:var(--color-text-muted);line-height:1;padding:0 var(--space-xs);margin-left:auto}.cu-picker-close:hover{color:var(--color-text)}.cu-picker-body{padding:var(--space-md);overflow-y:auto;flex:1}.cu-picker-footer{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-top:1px solid var(--color-border);flex-wrap:wrap}.cu-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cu-cal-header{text-align:center;font-size:.7rem;font-weight:600;color:var(--color-text-muted);padding:2px 0 6px}.cu-cal-day{aspect-ratio:1;border:1px solid transparent;border-radius:4px;background:none;cursor:pointer;font-size:var(--font-sm);font-family:inherit;color:var(--color-text);transition:background .1s,border-color .1s}.cu-cal-day:hover{background:var(--color-bg);border-color:var(--color-border)}.cu-cal-day.today{border-color:var(--color-accent);color:var(--color-accent);font-weight:600}.cu-cal-day.selected{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.cu-date-select{padding:.2rem .3rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text);font-size:var(--font-sm);font-family:inherit;cursor:pointer}.cu-date-select:focus{outline:none;border-color:var(--color-accent)}.cu-nav-btn{background:none;border:none;cursor:pointer;font-size:1.3rem;color:var(--color-text-muted);line-height:1;padding:0 var(--space-xs);transition:color .15s}.cu-nav-btn:hover{color:var(--color-text)}.cu-today-btn{margin-left:auto}.cu-time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.cu-time-item{padding:.45rem .2rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text);font-size:var(--font-sm);font-family:inherit;cursor:pointer;text-align:center;transition:background .1s,border-color .1s}.cu-time-item:hover{border-color:var(--color-accent);background:var(--color-surface)}.cu-time-item.selected{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.cu-picker-btn{padding:.3rem .65rem;border-radius:4px;border:1px solid var(--color-border);font-size:var(--font-sm);font-family:inherit;font-weight:500;cursor:pointer;background:var(--color-surface);color:var(--color-text);transition:background .15s}.cu-picker-btn:hover{background:var(--color-bg)}.cu-picker-btn:disabled{background:var(--color-accent);color:#fff;border-color:var(--color-accent);cursor:default}.cu-picker-btn-danger{color:#dc2626;border-color:#dc2626;background:transparent}.cu-picker-btn-danger:hover{background:#dc2626;color:#fff}.logo-light{display:none}.logo-dark,[data-theme=dark] .logo-light{display:block}[data-theme=dark] .logo-dark{display:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .logo-light{display:block}:root:not([data-theme=light]) .logo-dark{display:none}}.search-input{margin-left:auto;width:min(400px,40vw);padding:var(--space-xs) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-size:var(--font-sm);font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.search-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #0f6cbd1f}.search-input::placeholder{color:var(--color-text-muted)}.main-content{max-width:1400px;margin:0 auto;padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-xl)}.section{display:flex;flex-direction:column;gap:var(--space-sm)}.section-title{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-border)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:var(--space-sm)}.card{display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-md) var(--space-sm);min-height:64px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:var(--font-sm);font-weight:500;text-decoration:none;line-height:1.3;transition:border-color .15s,box-shadow .15s,transform .1s,color .15s}.card:hover{border-color:var(--color-accent);box-shadow:0 2px 10px #0f6cbd1f;transform:translateY(-2px);color:var(--color-accent)}.card:active{transform:translateY(0);box-shadow:none}html[data-view=list] .card-grid{display:flex;flex-direction:column;gap:var(--space-xs)}html[data-view=list] .card{justify-content:flex-start;text-align:left;padding:var(--space-sm) var(--space-md);min-height:unset;height:40px}html[data-view=list] .card[data-tooltip]:after{position:static;transform:none;opacity:1;width:auto;max-width:55%;margin-left:auto;background:transparent;color:var(--color-text-muted);font-size:var(--font-sm);font-weight:400;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0;border-radius:0;transition:none;z-index:auto}html[data-view=list] .card[data-tooltip]:hover:after{transform:none;opacity:1}html[data-view=list] .card:before{display:none!important}.card{position:relative}.card[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);background:#141623f2;color:#f0f2f5;font-size:.72rem;font-weight:400;line-height:1.5;padding:6px 10px;border-radius:6px;width:max-content;max-width:220px;text-align:center;white-space:normal;pointer-events:none;opacity:0;transition:opacity .15s,transform .15s;z-index:50}.card[data-tooltip]:hover:after{opacity:1;transform:translate(-50%) translateY(-2px)}.card[data-tooltip]:before{content:"";position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#141623f2;pointer-events:none;opacity:0;transition:opacity .15s;z-index:50}.card[data-tooltip]:hover:before{opacity:1}html[data-tooltips=off] .card:after,html[data-tooltips=off] .card:before{display:none}.section-list{list-style:none;display:flex;flex-direction:column;gap:2px}.section-list-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius);border:1px solid transparent;cursor:grab;font-size:var(--font-sm);transition:background .1s,border-color .1s}.section-list-item:hover{background:var(--color-bg);border-color:var(--color-border)}.section-list-item.is-dragging{opacity:.4}.section-list-item.drag-over{border-color:var(--color-accent);background:var(--color-bg)}.drag-handle{color:var(--color-text-muted);cursor:grab;font-size:1rem;line-height:1;-webkit-user-select:none;user-select:none}.section-list-name{flex:1}.settings-btn{margin-left:var(--space-md);padding:var(--space-xs) var(--space-sm);background:none;border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;font-size:1rem;line-height:1;transition:border-color .15s,background .15s}.settings-btn:hover{background:var(--color-bg);border-color:var(--color-accent)}.modal-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:200;align-items:flex-start;justify-content:center;padding-top:5vh}.modal-overlay.is-open{display:flex}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:min(460px,90vw);max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border)}.modal-header h2{font-size:var(--font-md);font-weight:600}.modal-close{background:none;border:none;cursor:pointer;font-size:1.4rem;color:var(--color-text-muted);line-height:1;padding:0 var(--space-xs);transition:color .15s}.modal-close:hover{color:var(--color-text)}.modal-body{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg)}.modal-body fieldset{border:none;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.modal-body legend{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-xs)}.modal-body label{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-sm);cursor:pointer}.modal-footer{padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.btn-reset{background:none;border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-sm) var(--space-md);font-size:var(--font-sm);font-family:inherit;color:var(--color-text-muted);cursor:pointer;transition:border-color .15s,color .15s}.btn-reset:hover{border-color:#e53e3e;color:#e53e3e}.seg-group{display:flex;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;width:fit-content}.seg-btn{background:none;border:none;border-right:1px solid var(--color-border);padding:var(--space-xs) var(--space-md);font-size:var(--font-sm);font-family:inherit;font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:background .15s,color .15s}.seg-btn:last-child{border-right:none}.seg-btn:hover:not(.is-active){background:var(--color-bg);color:var(--color-text)}.seg-btn.is-active{background:var(--color-accent);color:#fff}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-xs) 0}.toggle-label{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-sm);color:var(--color-text)}.toggle-switch{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-thumb{position:absolute;inset:0;background:var(--color-border);border-radius:20px;transition:background .2s}.toggle-thumb:before{content:"";position:absolute;height:14px;width:14px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-thumb{background:var(--color-accent)}.toggle-switch input:checked+.toggle-thumb:before{transform:translate(16px)}.toggle-select{padding:.15rem .3rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text);font-size:var(--font-sm);font-family:inherit;cursor:pointer}.import-export-row{display:flex;gap:var(--space-sm);flex-wrap:wrap}.import-label{cursor:pointer}.import-label input[type=file]{display:none}.tab-bar{display:flex;border-bottom:1px solid var(--color-border);padding:0 var(--space-lg)}.tab-btn{background:none;border:none;border-bottom:2px solid transparent;padding:var(--space-sm) var(--space-md);margin-bottom:-1px;cursor:pointer;font-size:var(--font-sm);font-weight:500;font-family:inherit;color:var(--color-text-muted);transition:color .15s,border-color .15s}.tab-btn.is-active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.tab-btn:hover:not(.is-active){color:var(--color-text)}.tab-panel{display:none;flex-direction:column;gap:var(--space-lg)}.tab-panel.is-active{display:flex}.custom-links-list{list-style:none;display:flex;flex-direction:column;gap:4px}.custom-link-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius);font-size:var(--font-sm)}.custom-link-info{flex:1;display:flex;flex-direction:column;gap:2px;overflow:hidden}.custom-link-row{display:flex;gap:var(--space-sm);overflow:hidden}.custom-link-title{font-weight:500;min-width:80px;white-space:nowrap}.custom-link-url{flex:1;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-link-tooltip{font-size:.72rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-edit-link{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:.75rem;padding:2px 4px;border-radius:4px;transition:color .15s,background .15s}.btn-edit-link:hover{color:var(--color-accent);background:#0f6cbd14}.edit-link-actions{display:flex;gap:var(--space-sm)}.btn-cancel-edit{padding:var(--space-xs) var(--space-md);font-size:var(--font-sm);font-family:inherit;cursor:pointer}.btn-delete-link{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:.75rem;padding:2px 4px;border-radius:4px;transition:color .15s,background .15s}.btn-delete-link:hover{color:#e53e3e;background:#e53e3e14}.custom-links-empty{font-size:var(--font-sm);color:var(--color-text-muted);padding:var(--space-xs) 0}.add-link-form{display:flex;flex-direction:column;gap:var(--space-sm)}.add-link-form input{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-size:var(--font-sm);font-family:inherit;outline:none;transition:border-color .15s}.add-link-form input:focus{border-color:var(--color-accent)}.btn-add{align-self:flex-start;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius);padding:var(--space-xs) var(--space-md);font-size:var(--font-sm);font-family:inherit;cursor:pointer;transition:background .15s}.btn-add:hover{background:var(--color-accent-hover)}
