:root{--bg: #0a0a0a;--surface: #1a1a1a;--surface2: #141414;--text: rgba(255, 255, 255, .9);--text-dim: rgba(255, 255, 255, .5);--accent: #7db4ff;--gold: var(--accent);--glow-rgb: 125, 180, 255;--glow-blur: 18px;--glow-spread: 2px;--glow-alpha: .34;--gold-glow: rgba(var(--glow-rgb), .3);--on-accent: #071433;--green: #27ae60;--red-fill: rgba(239, 68, 68, .85);--red-tint: rgba(239, 68, 68, .16);--transition: .4s cubic-bezier(.4, 0, .2, 1);--page-bg: linear-gradient(165deg, #0e2457 0%, #091a43 50%, #07132e 100%) fixed;--page-bg-flat: #0b1e4b;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .16);--sel-outline: var(--accent);--sel-tint: linear-gradient(rgba(var(--glow-rgb), .1), rgba(var(--glow-rgb), .1));--toast-h: 46px;--toast-radius: 12px;--toast-bg: var(--surface);--toast-border: 1px solid rgba(125, 180, 255, .35);--toast-shadow: 0 10px 30px rgba(0, 0, 0, .5);--radius: 14px;--red: #ef4444}*{box-sizing:border-box}html,body{margin:0;padding:0}html,body{min-width:360px}html{scrollbar-gutter:stable;overflow-y:scroll}html:has(body.app-mode){overflow-y:hidden;scrollbar-gutter:auto;overflow-x:auto}html:has(.focus-pip-body){overflow:hidden;scrollbar-gutter:auto;background:#07132e}body{background:var(--page-bg);min-height:100vh;color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.45}.app{width:100%;max-width:1180px;margin:0 auto;padding:clamp(16px,1.6vw,24px) clamp(14px,4.6vw,48px) 88px}button{font-family:inherit;cursor:pointer}button,a,input,textarea,select,.course-chip.empty,.meta-date.empty,.task-item,.dash-due-item,.nav-item,.help-icon,.parse-rec,.sound-pick,.focus-todo-text.empty,.bm-card-actions,.bm-keys-box,.lpf-todo,.lpf-import-item{transition:background-color .2s ease,color .2s ease,border-color .2s ease,opacity .2s ease,box-shadow .2s ease,filter .2s ease,transform .2s ease}input,textarea{font-family:inherit}a{color:var(--accent)}@keyframes ws-spin{to{transform:rotate(360deg)}}.app-booting{min-height:70vh;display:flex;align-items:center;justify-content:center}.app-booting-spinner{width:30px;height:30px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:ws-spin .8s linear infinite}::selection{background:var(--gold-glow)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--accent);background-clip:padding-box;border:3px solid transparent;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:#a5cdff}::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-button{display:none;width:0;height:0}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--accent) transparent}}[hidden]{display:none!important}:root{--header-h: 92px}.app-header{position:sticky;top:0;z-index:500;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#132b65;border-bottom:1px solid var(--border-strong);box-shadow:0 2px 16px #00000052}.app-header-left{display:flex;align-items:center;gap:14px}.app-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;letter-spacing:-.02em;cursor:pointer}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border-radius:9px;background:none;border:1px solid transparent;color:var(--text-dim);cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.icon-btn:hover{background:#ffffff14;color:var(--text)}.icon-btn.active{color:var(--text);background:#7db4ff29;border-color:#7db4ff4d}.app-below{position:relative}body.app-mode{height:100vh;overflow-y:hidden;overflow-x:auto}body.app-mode #root{height:100%;display:flex;flex-direction:column}body.app-mode .app-header{flex:none}body.app-mode .app-below{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable}:root{--scrim-dim: rgba(0, 0, 0, .2);--scrim-dur: .25s;--scrim-ease: cubic-bezier(.22, 1, .36, 1)}@media (prefers-reduced-motion: reduce){:root{--scrim-dur: .18s;--scrim-ease: ease}}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}@keyframes scrim-out{0%{opacity:1}to{opacity:0}}.popup-backdrop.closing,.bm-backdrop.closing,.help-backdrop.closing,.editor-backdrop.closing,.confirm-backdrop.closing,.focus-songwin-backdrop.closing,.focus-modal-back.closing{animation:scrim-out var(--scrim-dur) var(--scrim-ease) both;pointer-events:none}.ws-scrim{position:fixed;inset:var(--header-h) 0 0 0;background:var(--scrim-dim);opacity:0;pointer-events:none;transition:opacity var(--scrim-dur) var(--scrim-ease);z-index:399}.app-below.nav-open .ws-scrim{opacity:1;pointer-events:auto}.ws-sidebar{position:fixed;top:var(--header-h);left:0;bottom:0;width:248px;background:#17233d;border-right:1px solid var(--border-strong);padding:18px 12px;display:flex;flex-direction:column;gap:4px;transform:translate(-100%);transition:transform .32s cubic-bezier(.22,1,.36,1);z-index:400;box-shadow:6px 0 28px #00000073}.app-below.nav-open .ws-sidebar{transform:translate(0)}.app-below.nav-open .ws-sidebar .nav-item{animation:nav-item-in .4s cubic-bezier(.22,1,.36,1) both}.ws-sidebar .nav-item:nth-child(1){animation-delay:.1s}.ws-sidebar .nav-item:nth-child(2){animation-delay:.15s}.ws-sidebar .nav-item:nth-child(3){animation-delay:.2s}.ws-sidebar .nav-item:nth-child(4){animation-delay:.25s}.ws-sidebar .nav-item:nth-child(5){animation-delay:.3s}@keyframes nav-item-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.ws-sidebar{transition:transform .18s ease}.app-below.nav-open .ws-sidebar .nav-item{animation:none}}.nav-item{text-align:left;background:none;border:none;color:var(--text-dim);font-size:14px;font-weight:600;padding:9px 12px;border-radius:8px;cursor:pointer;transition:background .2s ease,color .2s ease}.nav-item:hover{background:#ffffff0f;color:var(--text)}.nav-item.active{color:var(--text);background:#7db4ff29}.nav-item{display:flex;align-items:center;gap:8px}.count-badge{--badge-size: 18px;display:inline-flex;align-items:center;justify-content:center;min-width:var(--badge-size);height:var(--badge-size);padding:0 4px;border-radius:999px;line-height:1;font-weight:700;font-variant-numeric:tabular-nums;flex:none}.nav-count{display:none;background:#ef4444;color:#fff;font-size:10.5px;position:relative;top:1px}.nav-count.on{display:inline-flex}.ws-mark{display:inline-flex;align-items:center;font-family:Inter,system-ui,sans-serif;font-weight:700;font-size:34px;letter-spacing:-.01em;color:#fff;line-height:1;white-space:nowrap}.ws-mark-text{color:#fff}.ws-mon{height:1em;width:auto;display:inline-block;margin:0 -.05em;transform:translateY(.09em)}.app-user{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--text-dim)}.app-user-name{margin-left:22px}@media (max-width: 460px){.app-header{padding:0 12px}.app-user{gap:2px}.app-user-name{display:none}}.app-user button{background:none;border:2px solid var(--border);color:var(--text-dim);border-radius:999px;padding:4px 10px;font-size:12px}.app-user button:hover{color:var(--text);border-color:var(--border-strong)}.app-user .icon-btn{position:relative;padding:0;border-radius:9px;border-color:transparent}.app-user .icon-btn:hover{background:#ffffff14;border-color:transparent}.app-user .icon-btn.active{background:#7db4ff29;border-color:#7db4ff4d}.bell-dot{position:absolute;top:-3px;right:-3px;background:var(--accent);color:var(--on-accent);font-size:10.5px;display:none;box-shadow:0 0 0 2px #0e2049,0 0 10px var(--gold-glow)}.bell-dot.on{display:inline-flex}.tab-bar{display:flex;gap:6px;background:var(--surface2);border:2px solid var(--border);border-radius:999px;padding:5px;margin-bottom:18px}.tab-btn{flex:1;background:none;border:none;color:var(--text-dim);font-size:14px;font-weight:600;padding:9px 0;border-radius:999px}.tab-btn.active{background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--border-strong),0 4px 14px #0006}.tab-panel{display:none}.tab-panel.active{display:block;animation:fade-in .3s ease}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.signin{max-width:360px;margin:14vh auto 0;text-align:center;padding:0 18px}.signin h1{font-size:30px;letter-spacing:-.03em;margin:18px 0 6px}.signin p{color:var(--text-dim);margin:0 0 26px}.signin img{width:64px;height:64px}.btn-primary{width:100%;background:var(--accent);color:var(--on-accent);border:none;border-radius:12px;padding:13px;font-size:15px;font-weight:700}.btn-primary:hover{box-shadow:0 0 var(--glow-blur) var(--glow-spread) rgba(var(--glow-rgb),var(--glow-alpha))}.signin input,.signin textarea{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text);padding:13px;font-size:15px;margin-bottom:12px}.signin input:focus,.signin textarea:focus{outline:none;border-color:var(--accent)}.signin .hint{font-size:12px;color:var(--text-dim);margin-top:18px}.tasks-header{display:flex;justify-content:flex-end;gap:8px;margin-bottom:10px}.tasks-mode-btn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;color:var(--gold);background:#7db4ff14;border:1px solid rgba(125,180,255,.3);border-radius:999px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.tasks-mode-btn:hover{background:#7db4ff29}.tasks-mode-btn svg{display:block}.tasks-tips-btn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1;background:#7db4ff14;border:1px solid rgba(125,180,255,.3);border-radius:999px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.tasks-tips-btn:hover{background:#7db4ff29;border-color:#7db4ff80}.protip-list{display:flex;flex-direction:column;gap:14px}.protip-head{font-size:13.5px;font-weight:650;color:var(--text)}.protip-body{font-size:12.5px;line-height:1.5;color:var(--text-dim);margin-top:3px}.tasks-refresh-btn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;line-height:1;color:var(--gold);background:#7db4ff14;border:1px solid rgba(125,180,255,.3);border-radius:999px;cursor:pointer;transition:background .2s ease,border-color .2s ease,opacity .2s ease}.tasks-refresh-btn:hover{background:#7db4ff29;border-color:#7db4ff80}.tasks-refresh-btn:disabled{opacity:.6;cursor:default}.tasks-refresh-btn.spinning{animation:ws-spin .7s linear infinite}.ws-textbox{resize:none;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.4;vertical-align:top}.focus-add-todo{align-items:center}.quick-add-sentinel{height:0;margin:0}.quick-add{position:sticky;top:0;z-index:300;margin-bottom:18px;margin-inline:-8px;padding:10px 8px;background:transparent;transition:none}.quick-add.pinned{background:var(--page-bg-flat);border-radius:0 0 14px 14px;box-shadow:0 5px 12px -9px #00000073}.quick-add-row{display:flex;align-items:stretch;gap:8px}.quick-add-row input,.quick-add-row textarea{flex:1;min-width:0}.quick-add-btn{flex:none;width:48px;background:var(--accent);color:var(--on-accent);border:none;border-radius:12px;font-size:22px;font-weight:700;line-height:1;cursor:pointer}.quick-add-btn:hover{filter:brightness(1.06)}.quick-add input,.quick-add textarea{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text);padding:13px 14px;font-size:15px;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease}.quick-add input:focus,.quick-add textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--gold-glow)}.quick-add input.invalid,.quick-add textarea.invalid{border-color:var(--red);box-shadow:0 0 0 3px #ef444440}.quick-add-hint{font-size:11.5px;color:var(--text-dim);margin:7px 2px 0}.qa-folder-drop{display:none;position:absolute;top:calc(100% + 6px);left:0;min-width:220px;max-width:100%;z-index:600;background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;padding:6px;box-shadow:0 14px 40px #00000080}.qa-folder-drop.open{display:flex;flex-direction:column;gap:2px}.qa-folder-opt{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;border-radius:8px;color:var(--text);font:inherit;font-size:13px;padding:7px 10px;cursor:pointer}.qa-folder-opt svg{flex:none}.qa-folder-opt{align-items:flex-start}.qa-folder-opt span{min-width:0;white-space:normal;overflow-wrap:anywhere}.qa-folder-opt:hover{background:#ffffff0f}.qa-folder-opt.active{background:var(--gold-glow);color:var(--gold)}.task-group-header{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin:20px 4px 8px}.task-group-header.tone-red{color:var(--red)}.task-group-header.tone-orange{color:#e85d04}.task-list:not(.task-list-excerpt){padding-bottom:210px}.task-item{position:relative;display:flex;align-items:flex-start;gap:11px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 12px 12px 16px;margin-bottom:8px;overflow:hidden;transition:border-color var(--transition)}.task-item:hover{border-color:var(--border-strong)}.task-item.completing{opacity:0;transform:translate(56px);transition:opacity .5s ease,transform .5s ease,height .34s ease .46s,margin .34s ease .46s,padding .34s ease .46s,border-width .34s ease .46s}.task-item.completed{opacity:.5}.task-priority{position:absolute;left:0;top:0;bottom:0;width:4px}.task-priority.highest{background:#ef4444}.task-priority.high{background:#e85d04}.task-priority.normal{background:#f0c030}.task-priority.low{background:#60a5fa}.task-priority.lowest{background:#fff6}.task-cb{flex:none;width:22px;height:22px;margin-top:1px;border:2px solid var(--border-strong);border-radius:7px;display:flex;align-items:center;justify-content:center;background:none;color:transparent}.task-cb:hover{border-color:var(--accent)}.task-cb.checked{background:var(--green);border-color:var(--green);color:#fff}.task-cb svg{width:13px;height:13px}.task-handle{flex:none;align-self:stretch;display:flex;align-items:center;color:var(--text-dim);font-size:16px;line-height:1;letter-spacing:-2px;cursor:grab;opacity:.5;padding:0 2px;user-select:none}.task-handle:hover{opacity:1}.task-handle:active{cursor:grabbing}.task-item.dragging{opacity:.5}.task-info{flex:1;min-width:0}.task-title{font-size:15px;font-weight:500;word-break:break-word}.task-item.completed .task-title{text-decoration:line-through}.task-translation{display:flex;align-items:baseline;gap:6px;margin-top:3px;font-size:13.5px;color:var(--text-dim);font-style:italic}.task-translation-badge{font-size:11px;font-style:normal;opacity:.85;flex:none;min-width:1.25em}.task-translation.asking{flex-wrap:wrap;font-style:normal;row-gap:4px}.task-ask-label{font-size:12.5px;color:var(--text-dim);flex:none}.task-ask-checking{font-size:12.5px;color:var(--text-dim);opacity:.75}.task-ask-chips{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-width:0}.task-ask-chip{background:var(--surface2);border:1px solid var(--border);border-radius:999px;color:var(--text);font:inherit;font-size:11.5px;font-style:normal;font-weight:600;line-height:1.3;padding:2px 9px;cursor:pointer;white-space:nowrap;transition:border-color var(--transition),color var(--transition)}.task-ask-chip:hover{border-color:var(--accent);color:var(--accent)}.task-ask-chip:disabled{cursor:default;opacity:.5}.task-ask-chip.busy,.task-ask-chip.busy:disabled{border-color:var(--accent);color:var(--accent);opacity:1}.task-ask-chip.busy:after{content:"…"}.task-ask-chip.more{background:none;border-color:transparent;color:var(--text-dim);font-weight:500;padding-inline:4px}.task-ask-chip.more:hover{border-color:transparent;color:var(--text);text-decoration:underline}.task-altered-badge{color:var(--accent);font-size:12px;margin-left:6px;cursor:pointer;vertical-align:top}.task-altered-badge:hover{filter:brightness(1.2)}.task-bottom-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin-top:6px}.task-meta-wrap{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:7px}.task-meta{font-size:11.5px;color:var(--text-dim);display:flex;align-items:center;gap:5px;min-width:0;flex-wrap:wrap;white-space:normal}.task-meta .meta-dot{opacity:.5}.task-meta .meta-time,.task-meta .meta-date,.course-chip{cursor:text}.course-chip{font-weight:600;flex:none;max-width:100%;overflow-wrap:break-word}.course-chip.empty,.task-meta .meta-date.empty{cursor:pointer;font-weight:500;color:var(--text-dim);opacity:.7;border:1px dashed var(--border-strong);border-radius:999px;padding:0 7px}.course-chip.empty:hover,.task-meta .meta-date.empty:hover{opacity:1;color:var(--text)}.task-details-text{white-space:pre-wrap;color:var(--text-dim);font-size:13px;line-height:1.55;margin-bottom:14px;max-height:60vh;overflow-y:auto;word-break:break-word;overflow-wrap:anywhere}.popup-body>.task-translation{margin:0 0 12px;align-items:flex-start}.popup-body>.task-translation .task-translation-badge{line-height:20.15px}.popup-body>.task-translation .task-details-text{margin-bottom:0;max-height:40vh}.task-folders-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--accent);margin:2px 0 8px}.task-folder{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;overflow:hidden}.task-folder-head{display:flex;align-items:flex-start;flex-wrap:wrap;gap:4px 10px;width:100%;min-width:0;text-align:left;background:none;border:none;color:var(--text);font:inherit;padding:11px 14px;cursor:pointer}.task-folder-handle{flex:none;margin-top:1px;color:var(--text-dim);font-size:16px;line-height:18px;letter-spacing:-2px;cursor:grab;opacity:.5;user-select:none}.task-folder-head:hover .task-folder-handle{opacity:.75}.task-folder-handle:hover{opacity:1}.task-folder-handle:active{cursor:grabbing}.task-folder.dragging{opacity:.5}.task-folder-head .task-folder-ico,.task-folder-count,.task-folder-arrow{flex:none;margin-top:1px}.task-folder-head:hover{background:var(--surface2)}.task-folder-ico{width:18px;height:18px;flex:none}.task-folder-name{font-weight:650;font-size:14px;min-width:0;overflow-wrap:break-word}.task-folder-count{font-size:12px;color:var(--text-dim)}.task-folder-arrow{margin-left:auto;color:var(--text-dim);font-size:11px;transition:transform .2s ease}.task-folder.open .task-folder-arrow{transform:rotate(90deg)}.task-folder-body{border-top:1px solid var(--border);padding:10px 12px 6px}.task-folder-body .task-group-header{font-size:11px}.task-folder-meta{display:inline-flex;align-items:baseline;gap:5px;flex:none}.task-folder-sep{font-size:12px;color:var(--text-dim);opacity:.5}.task-folder-new{font-size:12px;color:#ef4444;font-variant-numeric:tabular-nums;white-space:nowrap}.task-folder-autofile{display:flex;align-items:center;gap:8px;padding:0 2px 9px;margin-bottom:8px;border-bottom:1px solid var(--border);font-size:12.5px;color:var(--text-dim);opacity:.72;transition:opacity .2s ease}.task-folder-autofile:hover,.task-folder-autofile.on{opacity:1}.task-folder-autofile .task-cb.autofile-cb{width:15px;height:15px;margin-top:0;border-width:1.5px;border-radius:5px;padding:0}.task-folder-autofile .task-cb.autofile-cb svg{width:10px;height:10px}.task-folder-autofile .task-cb.autofile-cb.checked{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.task-folder-autofile-text{min-width:0;overflow-wrap:break-word;line-height:1.5}.task-folder-autofile-note{opacity:.62;white-space:nowrap}.task-folder-autofile .course-chip{cursor:text}.task-folder-autofile .inline-edit-block{display:inline-block;vertical-align:middle;white-space:nowrap}.task-folder-empty{color:var(--text-dim);font-size:12.5px;text-align:center;padding:10px 0 14px}.act-folder svg{display:inline-block;vertical-align:-2px}.folder-pick{display:flex;flex-direction:column;gap:7px}.folder-pick-row{display:flex;align-items:flex-start;gap:10px;text-align:left;background:var(--surface2);border:1px solid var(--border);border-radius:10px;color:var(--text);font:inherit;font-weight:600;padding:10px 12px;cursor:pointer;min-width:0}.folder-pick-row span{min-width:0;white-space:normal;overflow-wrap:anywhere}.folder-pick-row .task-folder-ico,.folder-pick-row svg{flex:none;margin-top:1px}.folder-pick-row:hover{border-color:var(--border-strong)}.folder-pick-row.on{border-color:var(--accent)}.folder-pick-row .task-folder-ico{width:16px;height:16px}.folder-pick-remove{background:none;border:1px dashed var(--border-strong);border-radius:10px;color:var(--text-dim);font:inherit;font-size:12.5px;padding:8px 12px;cursor:pointer}.folder-pick-remove:hover{color:var(--red);border-color:var(--red)}.folder-pick-input{background:var(--surface2);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:10px 12px;font-size:13px;width:100%}.folder-pick-input:focus{outline:none;border-color:var(--accent)}.folder-pick-note{font-size:11.5px;color:var(--text-dim)}.folder-pick-new{display:flex;align-items:center;gap:8px}.folder-pick-new .folder-pick-input{flex:1;min-width:0}.folder-pick-add{flex:none;width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent);border:none;border-radius:10px;font-size:19px;font-weight:700;line-height:1;cursor:pointer}.folder-pick-add:hover{filter:brightness(1.06)}.folder-pick-color{width:34px;height:34px;flex:none;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--surface2);cursor:pointer}.task-folder-colorin{position:absolute;width:0;height:0;padding:0;border:none;opacity:0}.ws-resize-grip{display:flex;justify-content:center;padding:5px 0 7px;cursor:ns-resize;touch-action:none}.ws-resize-grip-top{padding:7px 0 5px}.ws-resize-grip-pill{width:64px;height:5px;border-radius:999px;background:#7db4ff73;transition:background .15s ease,width .15s ease}.ws-resize-grip:hover .ws-resize-grip-pill{background:var(--accent);width:84px}.ws-resize-grip-x{position:absolute;top:0;right:0;bottom:0;width:14px;display:flex;align-items:center;justify-content:center;cursor:ew-resize;touch-action:none}.ws-resize-grip-x-pill{width:5px;height:54px;border-radius:999px;background:#7db4ff73;transition:background .15s ease,height .15s ease}.ws-resize-grip-x:hover .ws-resize-grip-x-pill{background:var(--accent);height:76px}.qa-folder-list{display:flex;flex-direction:column;gap:2px;max-height:340px;overflow-y:auto}:where(:focus){outline:none}html[data-kbd] :focus-visible{outline:2px dashed var(--sel-outline);outline-offset:2px}.task-item.selected{outline:2px solid var(--sel-outline);outline-offset:-2px;background-image:var(--sel-tint)}.cal-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.cal-seg{display:flex;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:3px;gap:3px}.cal-seg-btn{border:none;background:none;color:var(--text-dim);font:inherit;font-size:12.5px;font-weight:600;padding:6px 14px;border-radius:7px;cursor:pointer}.cal-seg-btn.active{background:var(--gold-glow);color:var(--gold)}.cal-nav{display:flex;align-items:center;gap:6px}.cal-label{font-size:14.5px;font-weight:700;min-width:150px;text-align:center}.cal-nav-btn{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);font:inherit;font-size:13px;padding:5px 11px;cursor:pointer}.cal-nav-btn:hover{border-color:var(--border-strong)}.cal-today{color:var(--gold);font-weight:600}.cal-dows{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:6px}.cal-dows>div{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim);text-align:center;overflow:hidden;white-space:nowrap}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cal-cell{min-width:0;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:6px;min-height:108px;display:flex;flex-direction:column;gap:4px}.cal-compact .cal-cell{min-height:88px;padding:4px 5px;gap:3px}.cal-week .cal-cell{min-height:300px}.cal-cell.out{opacity:.42}.cal-daynum{font-size:12px;font-weight:700;color:var(--text-dim);padding:0 2px 1px}.cal-cell.today .cal-daynum{color:var(--on-accent);background:var(--gold);border-radius:999px;width:21px;height:21px;display:grid;place-items:center;padding:0}.cal-chip{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--chip);border-radius:7px;padding:3px 6px;cursor:pointer;min-width:0}.cal-chip:hover{border-color:var(--border-strong);border-left-color:var(--chip)}.cal-chip-txt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11.5px;line-height:1.35;color:var(--text);word-break:break-word}.cal-chip.done .cal-chip-txt{text-decoration:line-through;opacity:.5}.cal-more{background:none;border:none;color:var(--text-dim);font:inherit;font-size:11px;font-weight:600;text-align:left;padding:1px 4px;cursor:pointer}.cal-more:hover{color:var(--gold)}.task-folder-body.cal-scope{padding:10px 12px 12px}.task-folder-body.cal-scope .cal-cell{min-height:76px}.task-folder-body.cal-scope .cal-week .cal-cell{min-height:190px}.cal-chip-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:baseline;flex:none}.cal-pop{position:fixed;z-index:700;width:min(524px,calc(100vw - 24px));background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;padding:10px 12px;box-shadow:0 18px 50px #0000008c}.cal-pop-close{position:absolute;top:6px;right:9px;background:none;border:none;color:var(--text-dim);font-size:13px;cursor:pointer;z-index:2}.cal-pop-close:hover{color:var(--text)}.cal-pop .task-handle{display:none}.cal-pop .task-item{margin:0}.cal-day-pop{width:min(320px,calc(100vw - 24px));display:flex;flex-direction:column;gap:4px}.cal-day-pop-title{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gold);margin:2px 0 4px}.task-due-badge{font-size:10.5px;font-weight:700;padding:2px 6px;border-radius:6px;letter-spacing:.03em;background:var(--surface2);color:var(--text-dim);border:1px solid var(--border)}.task-due-badge.OVR,.task-due-badge.TOD{color:var(--red);border-color:#ef444466}.task-due-badge.OVR{background:#ef44441a}.task-due-badge.TOM{color:#e85d04;border-color:#e85d0473}.task-test-badge{display:inline-flex;align-items:center;font-size:10.5px;font-weight:700;padding:2px 6px;border-radius:6px;letter-spacing:.03em;background:#ef44441a;color:var(--red);border:1px solid rgba(239,68,68,.4)}.task-test-badge-x{background:none;border:none;color:var(--red);font-size:9px;line-height:1;padding:0;width:0;overflow:hidden;opacity:0;cursor:pointer;transition:width .15s ease,opacity .15s ease,margin .15s ease}.task-test-badge:hover .task-test-badge-x{width:11px;margin-left:3px;opacity:.75}.task-test-badge .task-test-badge-x:hover{opacity:1}.task-actions{flex:none;display:flex;align-items:center;gap:1px}.task-actions button{background:none;border:none;color:var(--text-dim);font-size:13px;padding:4px;border-radius:6px;line-height:1;display:flex;align-items:center}.task-actions button:hover{background:var(--surface2);color:var(--text)}.task-actions .act-more{font-size:15px;letter-spacing:1px;padding:4px 5px}.row-menu-back{position:fixed;inset:0;z-index:60}.lp-frame-body .row-menu-back{position:absolute}.row-menu{position:absolute;min-width:208px;max-width:280px;padding:5px;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 14px 34px #00000073}.row-menu-empty{padding:10px 11px;font-size:12.5px;color:var(--text-dim)}.more-row{display:flex;align-items:center;gap:8px}.more-go{flex:1;min-width:0;display:flex;align-items:center;gap:10px;background:none;border:none;color:var(--text);font:inherit;font-size:13px;text-align:left;padding:9px 10px;border-radius:8px;cursor:pointer}.more-go:hover{background:var(--surface2)}.more-ico{flex:none;width:18px;display:flex;align-items:center;justify-content:center;line-height:1}.more-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-pin{flex:none;background:none;border:none;border-radius:8px;padding:8px;line-height:1;font-size:13px;cursor:pointer;opacity:.28;filter:grayscale(1);transition:opacity .14s ease,filter .14s ease}.more-pin:hover{opacity:.75;filter:grayscale(.3);background:var(--surface2)}.more-pin.on{opacity:1;filter:none}.more-pin:disabled{cursor:default}.more-pin:disabled:hover{background:none;opacity:1}.task-actions .act-schoology:hover{color:#06b6d4}.task-actions .act-sep{color:var(--text-dim);opacity:.6;padding:0 4px;user-select:none;pointer-events:none}.task-actions .act-translate{opacity:.4}.task-actions .act-translate.active{opacity:1}.attach-count{display:inline-block;font-size:10px;margin-left:-3px;transform:translateY(-3px)}.supertask{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface2);padding:6px;margin-bottom:8px}.supertask-header{display:flex;align-items:center;gap:11px;padding:6px 6px 8px 10px}.supertask-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim)}.supertask .task-item{margin-bottom:6px;background:var(--surface)}.supertask .task-item:last-child{margin-bottom:0}.inline-edit-block{display:block;box-sizing:border-box;background:var(--surface2);border:1px solid var(--accent);border-radius:6px;color:var(--text);padding:1px 3px;max-width:100%;min-width:56px;flex:none;font-size:14px;font-weight:500;line-height:1.45;word-break:break-word}.inline-edit-block:focus{outline:none}.empty-state{text-align:center;color:var(--text-dim);padding:40px 20px;font-size:14px}.toast{position:fixed;left:0;right:0;margin:0 auto;width:fit-content;max-width:min(92vw,540px);bottom:24px;transform:translateY(12px);opacity:0;background:var(--toast-bg);border:var(--toast-border);border-radius:var(--toast-radius);box-shadow:var(--toast-shadow);padding:0 16px;min-height:var(--toast-h);display:flex;align-items:center;gap:14px;font-size:14px;box-shadow:0 10px 30px #00000080;z-index:1000;transition:transform .3s ease,opacity .3s ease;white-space:normal;overflow-wrap:anywhere;text-align:left}.toast.show{transform:translateY(0);opacity:1}body:has(.selbar:not([hidden])) .toast{bottom:calc(24px + var(--toast-h) + 10px)}.toast>span{min-width:0}.toast button{background:none;border:none;color:var(--accent);font-weight:700;font-size:14px;flex:none;white-space:nowrap}.verify-bar{display:flex;align-items:center;gap:12px;background:#7db4ff1a;border:1px solid rgba(125,180,255,.35);border-radius:12px;padding:11px 14px;font-size:13.5px;margin:16px 14px 0}@media (min-width: 700px){.verify-bar{margin:24px 48px 0}}.verify-text{flex:1;min-width:0;overflow-wrap:anywhere}.verify-btn{flex:none;background:var(--accent);color:var(--on-accent);border:none;border-radius:9px;padding:7px 13px;font-size:12.5px;font-weight:700;cursor:pointer}.verify-btn:disabled{opacity:.65;cursor:default}.verify-x{flex:none;background:none;border:none;color:var(--text-dim);font-size:13px;cursor:pointer;padding:4px 6px;border-radius:7px}.verify-x:hover{color:var(--text);background:#ffffff14}.wipe-banner{background:#ef44441a;border:1px solid rgba(239,68,68,.4);border-radius:12px;padding:14px;margin-bottom:16px;font-size:14px}.wipe-banner button{margin-top:10px;background:var(--red);color:#fff;border:none;border-radius:9px;padding:8px 14px;font-weight:600}.popup-backdrop{position:fixed;inset:0;background:var(--scrim-dim);animation:scrim-in var(--scrim-dur) var(--scrim-ease) both;display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px}.popup{background:var(--surface);border:1px solid var(--border-strong);border-radius:16px;padding:16px;width:100%;max-width:360px;max-height:80vh;display:flex;flex-direction:column;overflow:visible}.popup>h3{flex:none}.popup-body{overflow-y:auto;min-height:0}.popup h3{margin:0 0 12px;font-size:15px}.popup-bulk-note{margin:0 0 10px;padding:7px 10px;border-radius:8px;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);color:var(--accent);font-size:12px;font-weight:600}.priority-option{display:flex;align-items:center;gap:10px;width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;color:var(--text);margin-bottom:7px;font-size:14px}.priority-option:hover{border-color:var(--border-strong)}.priority-option .arrow{font-size:16px;width:18px;text-align:center}.attach-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.attach-empty{color:var(--text-dim);font-size:12.5px;padding:4px 2px}.attach-item{display:flex;align-items:stretch;gap:6px}.attach-item.editing{flex-direction:column;align-items:stretch;background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:10px 12px}.attach-open{flex:1;min-width:0;display:flex;align-items:center;gap:8px;background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:7px 10px;color:var(--text);text-align:left;cursor:pointer}.attach-open:hover{background:var(--surface);border-color:var(--border-strong)}.attach-labels{min-width:0;display:flex;flex-direction:column;line-height:1.25}.attach-title,.attach-domain{white-space:normal;overflow-wrap:anywhere}.attach-title{font-size:13px;font-weight:600}.attach-domain{font-size:11px;color:var(--text-dim)}.attach-domain:empty{display:none}.attach-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.attach-field-label{font-size:11px;color:var(--text-dim);font-weight:600;margin:6px 0 4px}.attach-field-label:first-child{margin-top:0}.attach-input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text);padding:13px 14px;font-size:15px;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease}.attach-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--gold-glow)}.attach-edit-actions{display:flex;justify-content:space-between;gap:8px;margin-top:10px}.attach-remove{padding:7px 14px;background:transparent;border:1px solid rgba(239,68,68,.4);border-radius:8px;color:var(--red);font-size:12.5px;font-weight:600;cursor:pointer}.attach-remove:hover{background:var(--red-fill);border-color:transparent;color:#fff}.attach-done{padding:7px 18px;background:var(--accent);border:none;border-radius:8px;color:var(--on-accent);font-size:12.5px;font-weight:700;cursor:pointer}.attach-done:hover{filter:brightness(1.06)}.attach-iconbtn{flex:none;width:34px;background:none;border:1px solid var(--border);border-radius:9px;color:var(--text-dim);font-size:13px;cursor:pointer}.attach-iconbtn:hover{color:var(--text);border-color:var(--border-strong)}.attach-iconbtn.danger:hover{color:var(--red);border-color:#ef444466}.attach-add{width:100%;background:var(--surface2);border:1px dashed var(--border-strong);border-radius:9px;color:var(--text);padding:8px 10px;font-size:12.5px;cursor:pointer;margin-bottom:12px}.attach-add:hover{border-color:var(--accent)}.attach-footer{display:flex;gap:8px}.attach-footer .btn-primary{flex:1}.attach-open-group{background:linear-gradient(180deg,#9b79ee,#7c56dd);color:#fff;--glow-rgb: 139, 92, 246;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1.15}.attach-open-group:hover{filter:brightness(1.07)}.attach-open-group-sub{font-size:10px;font-weight:600;opacity:.85}.attach-badge{font-size:9px;font-weight:700;padding:2px 5px;border-radius:5px;color:#fff;letter-spacing:.03em}.verify-bar.pw-dropped{background:#7891c81a;border-color:#7891c861}.sg-popup{background:#16203a;border-color:#7db4ff29;max-width:560px;padding:20px 22px 18px}.sg-popup .popup-body{display:flex;flex-direction:column;gap:14px}.sg-head{position:relative;display:flex;align-items:center;justify-content:center;padding:2px 34px 14px}.sg-title{margin:0;font-size:17px;font-weight:700;text-align:center;color:var(--text)}.sg-x{position:absolute;top:-2px;right:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#ffffff0f;border:none;color:var(--text-dim);font-size:12px;cursor:pointer;transition:background .16s ease,color .16s ease}.sg-x:hover{background:#ffffff1f;color:var(--text)}.sg-prompt{margin:0;font-size:14px;line-height:1.55;color:var(--text)}.sg-note{font-size:12px;line-height:1.45;color:var(--text-dim);margin-top:-4px}.sg-input{width:100%;height:190px;resize:vertical;overflow-y:auto;background:#101a2e;border:1px solid rgba(125,180,255,.14);border-radius:12px;color:var(--text);padding:12px 13px;font-family:inherit;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.sg-input::placeholder{color:var(--text-dim)}.sg-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--gold-glow)}.sg-foot{display:flex;align-items:center;gap:14px}.sg-count{flex:none;font-size:11.5px;color:var(--text-dim);font-variant-numeric:tabular-nums}.sg-send{flex:none;width:auto;margin-left:auto;border-radius:999px;padding:11px 26px;font-size:14px;font-weight:700}.sg-send:disabled{opacity:.45;cursor:default}.selbar{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:1400;display:flex;align-items:center;gap:12px;min-height:var(--toast-h);padding:0 10px 0 16px;border-radius:var(--toast-radius);background:var(--toast-bg);border:var(--toast-border);box-shadow:var(--toast-shadow);font-size:12.5px}.selbar[hidden]{display:none}.selbar-count{font-weight:700;color:var(--text)}.selbar-hint{color:var(--text-dim);font-size:11.5px}.selbar-clear{padding:6px 13px;border-radius:999px;border:1px solid var(--border-strong);background:#ffffff0f;color:var(--text);font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .16s ease,border-color .16s ease}.selbar-clear:hover{background:#ffffff24;border-color:var(--accent)}.group-pick-dot{flex:none;width:14px;height:14px;margin-top:2px;border-radius:50%;box-shadow:inset 0 0 0 1px #00000059}.group-pick-edit{margin-left:auto;padding:0 2px;color:var(--text-dim);font-size:12px;opacity:0;transition:opacity .14s ease,color .14s ease}.folder-pick-row:hover .group-pick-edit{opacity:1}.group-pick-edit:hover{color:var(--text)}.group-pick-del{margin-left:0;padding:0 2px;color:var(--text-dim);font-size:12px;opacity:0;transition:opacity .14s ease,color .14s ease}.folder-pick-row:hover .group-pick-del{opacity:1}.group-pick-del:hover{color:var(--red)}.folder-pick-mini{flex:none;padding:9px 13px;border-radius:10px;border:1px solid var(--border-strong);background:#ffffff0f;color:var(--text);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.folder-pick-mini:hover{border-color:var(--accent)}.folder-pick-input.invalid{border-color:var(--red)}.fd-body{display:flex;flex-direction:column;gap:16px}.fd-block{display:flex;flex-direction:column;gap:4px}.fd-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--accent)}.fd-side{display:flex;gap:8px;font-size:13px;line-height:1.5;padding:6px 9px;border-radius:8px;border:1px solid var(--border)}.fd-was{background:#ef44440d;opacity:.85}.fd-now{background:#22c55e0d}.fd-side-tag{flex:none;width:30px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);padding-top:2px}.fd-line{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.fd-same{color:var(--text-dim)}.fd-del{color:#ff8f8f;background:#ef444429;text-decoration:line-through;border-radius:3px}.fd-add{color:#7ee2a8;background:#22c55e29;border-radius:3px}.fd-empty{color:var(--text-dim);font-style:italic;opacity:.7}.fd-note{font-size:11.5px;line-height:1.45;color:var(--text-dim)}.fd-leftovers{padding-top:10px;border-top:1px solid var(--border)}.fd-actions{display:flex;justify-content:flex-end;padding-top:12px;border-top:1px solid var(--border)}.fd-dismiss{background:none;border:1px solid var(--border);border-radius:999px;color:var(--text-dim);font-size:12px;font-weight:600;padding:5px 15px;cursor:pointer;transition:color var(--transition),border-color var(--transition),background var(--transition)}.fd-dismiss:hover{color:var(--accent);border-color:var(--accent);background:#7db4ff1a}.cp-pop{position:absolute;z-index:5000;width:196px;padding:8px;display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 12px 32px #0000008c;user-select:none}.cp-sq{position:relative;width:180px;height:140px;border-radius:8px;cursor:crosshair;touch-action:none}.cp-knob{position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #00000073;transform:translate(-50%,-50%);pointer-events:none}.cp-hue{position:relative;width:180px;height:12px;border-radius:6px;background:linear-gradient(to right,red,#ff0 16.7%,#0f0 33.3%,#0ff,#00f 66.7%,#f0f 83.3%,red);cursor:pointer;touch-action:none}.cp-hue-knob{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #00000073;transform:translate(-50%,-50%);pointer-events:none}.cp-row{display:flex;align-items:center;gap:8px}.cp-chip{flex:none;width:26px;height:26px;border:1px solid var(--border);border-radius:8px}.cp-hex{flex:1;min-width:0;background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);font:inherit;font-size:12.5px;letter-spacing:.04em;padding:5px 8px}.cp-hex:focus{outline:none;border-color:var(--accent)}.focus-setup{display:flex;flex-direction:column;gap:8px}.focus-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-top:14px}.focus-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.focus-preset{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:11px 0;font-size:14px;font-weight:600}.focus-preset.active{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 2px var(--gold-glow)}.focus-preset.custom{position:relative}.focus-preset-del{position:absolute;top:2px;right:7px;font-size:12px;line-height:1;color:var(--text-dim);opacity:0;transition:opacity .15s ease,color .15s ease}.focus-preset.custom:hover .focus-preset-del{opacity:1}.focus-preset-del:hover{color:var(--red)}.focus-add-preset{display:block;margin:10px auto 0;background:none;border:2px dashed var(--border-strong);color:var(--text-dim);border-radius:999px;padding:7px 22px;font-size:14px;font-weight:600;transition:border-color .2s,color .2s}.focus-add-preset:hover{border-color:var(--accent);color:var(--accent)}.focus-carousel{position:relative;display:flex;justify-content:center;gap:6px;margin-top:8px;user-select:none}.focus-wheel-col{display:flex;flex-direction:column;align-items:center}.focus-wheel{height:170px;width:66px;overflow-y:scroll;padding:68px 0;scrollbar-width:none;-webkit-mask-image:linear-gradient(transparent,#000 33%,#000 67%,transparent);mask-image:linear-gradient(transparent,#000 33%,#000 67%,transparent)}.focus-wheel::-webkit-scrollbar{display:none}.focus-wheel-item{height:34px;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-dim);cursor:pointer;transition:color .15s ease,transform .15s ease}.focus-wheel-item.active{color:var(--text);font-weight:700;transform:scale(1.08)}.focus-wheel-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-top:2px}.focus-carousel-window{position:absolute;top:85px;left:0;right:0;height:34px;transform:translateY(-50%);border-top:1px solid rgba(125,180,255,.5);border-bottom:1px solid rgba(125,180,255,.5);background:#7db4ff0f;pointer-events:none}.focus-custom,.focus-todo-input{background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:11px 12px;font-size:14px;width:100%}.focus-custom:focus,.focus-todo-input:focus{outline:none;border-color:var(--accent)}.focus-todo-input.invalid,.focus-custom.invalid{border-color:var(--red);box-shadow:0 0 0 3px #ef444440}.focus-field-error{color:var(--red);font-size:12px;min-height:14px}.focus-todo-text.empty{color:var(--text-dim);opacity:.7;cursor:pointer}.focus-todo-text.empty:hover{opacity:1;color:var(--text)}.focus-add-todo{display:flex;gap:6px;position:relative}.focus-add-todo .focus-todo-input{flex:1}.focus-add-btn{flex:none;width:44px;background:var(--accent);color:var(--on-accent);border:none;border-radius:10px;font-size:20px;font-weight:700;line-height:1}.focus-add-btn:hover{filter:brightness(1.06)}.focus-import{width:100%;background:var(--surface);border:1px solid var(--border);color:var(--text-dim);border-radius:10px;padding:10px 12px;font-size:13px;font-weight:700;letter-spacing:.02em}.focus-import:hover{color:var(--text);border-color:var(--border-strong)}.focus-import.active{color:var(--accent);border-color:var(--accent)}.focus-import-panel{display:none;flex-direction:column;border:1px solid var(--border);border-radius:12px;background:var(--surface2);overflow:hidden}.focus-import-panel.open{display:flex}.focus-folder{background:var(--surface2);border:1px solid var(--border);border-radius:12px;margin:6px 0;overflow:hidden;flex:none}.focus-overlay-todos>*,.focus-todo-list>*{flex:none}.focus-folder-headrow{display:flex;align-items:center;gap:8px;padding:0 10px 0 8px}.focus-folder-head{flex:1;display:flex;align-items:flex-start;gap:9px;text-align:left;background:none;border:none;color:var(--text);font:inherit;padding:9px 4px;cursor:pointer;min-width:0}.focus-folder-count,.focus-folder-arrow{flex:none;margin-top:2px}.focus-folder-ico{margin-top:2px;width:16px;height:16px;flex:none;vertical-align:-3px}.focus-folder-colorin{position:absolute;width:0;height:0;padding:0;border:none;opacity:0}.focus-folder-name{font-weight:650;font-size:13.5px;min-width:0;white-space:normal;overflow-wrap:anywhere}.focus-folder-count{font-size:11.5px;color:var(--text-dim);flex:none}.focus-folder-arrow{margin-left:auto;color:var(--text-dim);font-size:10px;transition:transform .2s ease}.focus-folder.open>.focus-folder-head>.focus-folder-arrow,.focus-folder.open>.focus-folder-headrow>.focus-folder-head>.focus-folder-arrow{transform:rotate(90deg)}.focus-finished-head.open .focus-folder-arrow{transform:rotate(90deg)}.focus-folder-body{border-top:1px solid var(--border);padding:6px 8px 8px 18px;max-height:260px;overflow-y:auto}.focus-todo-fold{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:3px 5px;border-radius:6px;line-height:1}.focus-todo-fold:hover{color:var(--accent);background:#ffffff0f}.focus-todo-fold svg{display:inline-block;vertical-align:-2px}.focus-import-bulk-label .focus-folder-ico{vertical-align:-3px;margin-right:2px}.focus-import-search{display:block;box-sizing:border-box;width:calc(100% - 20px);margin:10px 10px 0;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:11px 12px;font-size:14px;line-height:1.4;font-family:inherit}.focus-import-search:focus{outline:none;border-color:var(--accent)}.focus-import-search::placeholder{color:var(--text-dim)}.focus-import-wrap{display:flex;flex-direction:column;overflow:hidden;flex:1 1 auto;min-height:0}.focus-import-body{max-height:440px;overflow-y:auto;flex:1 1 auto;min-height:0}.focus-import-search{margin-bottom:8px}.focus-import-section{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);padding:11px 13px 5px}.focus-import-section.gold{color:var(--accent)}.focus-import-bulk,.focus-import-task{display:flex;align-items:center;gap:9px;padding:9px 13px;border-top:1px solid var(--border)}.focus-import-task.selected,.focus-todo-row.selected,.focus-todo-item.selected{outline:2px solid var(--sel-outline);outline-offset:-2px;background-image:var(--sel-tint);border-radius:8px}.focus-import-bulk{background:#7db4ff0d}.focus-import-bulk-label{flex:1;min-width:0;font-size:13.5px}.focus-import-course{font-weight:700}.focus-import-count{font-size:12px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.focus-import-task-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.focus-import-title{font-size:14px;word-break:break-word}.focus-import-tags{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:11.5px;color:var(--text-dim)}.focus-import-tags .meta-dot{opacity:.5}.focus-import-tags .meta-date{cursor:text}.focus-import-tags .meta-date.empty{cursor:pointer;font-weight:500;opacity:.7;border:1px dashed var(--border-strong);border-radius:999px;padding:0 7px}.focus-import-tags .meta-date.empty:hover{opacity:1;color:var(--text)}.focus-import-date{font-weight:700;color:var(--text-dim);font-variant-numeric:tabular-nums}.focus-import-tags .course-chip{font-size:11.5px}.focus-import-task.imported{opacity:.5}.focus-import-editbtn{flex:none;background:none;border:none;color:var(--text-dim);font-size:13px;padding:4px 5px;border-radius:6px;line-height:1;opacity:.4}.focus-import-task:hover .focus-import-editbtn{opacity:1}.focus-import-editbtn:hover{color:var(--text);background:var(--surface);opacity:1}.focus-import-add{flex:none;width:28px;height:28px;background:none;border:1px solid var(--border-strong);color:var(--accent);border-radius:8px;font-size:16px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center}.focus-import-add:hover{border-color:var(--accent);background:#7db4ff14}.focus-import-add.done{color:var(--green);border-color:#27ae6066;cursor:default}.focus-import-add.done:hover{background:none}.focus-import-empty{padding:18px 13px;text-align:center;color:var(--text-dim);font-size:13px}.focus-import-edit-input{flex:1;min-width:0;background:var(--bg);border:1px solid var(--accent);border-radius:7px;color:var(--text);padding:5px 8px;font:inherit;font-size:13px}.focus-import-edit-input.course{flex:0 0 96px}.focus-todo-list{display:flex;flex-direction:column;gap:6px}.focus-todo-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:9px 12px;font-size:14px;transition:border-color var(--transition)}.focus-todo-row:hover{border-color:var(--border-strong)}.focus-todo-label{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.focus-todo-text{word-break:break-word}.focus-todo-label .course-chip{font-size:11.5px;flex:none}.focus-todo-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:11.5px;color:var(--text-dim)}.focus-todo-meta .meta-dot{opacity:.5}.focus-todo-meta .meta-date{cursor:text}.focus-todo-meta .meta-date.empty{cursor:pointer;font-weight:500;opacity:.7;border:1px dashed var(--border-strong);border-radius:999px;padding:0 7px}.focus-todo-meta .meta-date.empty:hover{opacity:1;color:var(--text)}.focus-todo-translation{display:flex;align-items:baseline;gap:5px;font-size:12.5px;color:var(--text-dim);font-style:italic}.focus-todo-translation-badge{font-size:10px;font-style:normal;opacity:.85;flex:none}.focus-todo-del{flex:none;background:none;border:none;color:var(--text-dim);font-size:13px}.focus-todo-del:hover{color:var(--red)}.focus-music-list{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto}.focus-music-opt{display:flex;align-items:center;gap:9px;text-align:left;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:11px 12px;font-size:14px}.focus-music-opt.active{border-color:var(--accent);color:var(--accent)}.focus-music-opt-emoji{flex:none;font-size:15px}.focus-music-opt-label{flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere}.focus-music-genre-head{display:flex;align-items:center;gap:9px;padding:10px 4px 4px;margin-top:4px;border-top:1px solid var(--border)}.focus-music-genre-head:first-of-type{border-top:none;margin-top:0}.focus-music-genre-name{flex:1;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim)}.focus-music-genre-count{flex:none;font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}.focus-music-subhead{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);padding:12px 4px 4px;margin-top:4px;border-top:1px solid var(--border)}.focus-music-subhead:first-of-type{border-top:none;margin-top:0;padding-top:4px}.focus-music-coll{display:flex;align-items:center;gap:9px;text-align:left;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:11px 12px;font-size:14px;cursor:pointer}.focus-music-coll:hover{border-color:var(--border-strong)}.focus-music-coll.active{border-color:var(--accent);color:var(--accent)}.focus-music-coll-name{flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere}.focus-music-hint{font-size:12.5px;color:var(--text-dim);font-style:italic;padding:4px 4px 2px}.focus-songwin-backdrop{position:fixed;inset:0;z-index:1200;background:var(--scrim-dim);animation:scrim-in var(--scrim-dur) var(--scrim-ease) both;display:flex;align-items:center;justify-content:center;padding:24px}.focus-songwin{width:100%;max-width:460px;max-height:78vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-strong);border-radius:16px;overflow:hidden;box-shadow:0 24px 60px #00000080}.focus-songwin-head{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border)}.focus-songwin-titles{flex:1;min-width:0}.focus-songwin-title{font-size:16px;font-weight:700}.focus-songwin-sub{font-size:12px;color:var(--text-dim);margin-top:2px}.focus-songwin-close{flex:none;width:30px;height:30px;border-radius:8px;background:none;border:none;color:var(--text-dim);font-size:14px;cursor:pointer}.focus-songwin-close:hover{background:#ffffff0f;color:var(--text)}.focus-songwin-list{overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:2px}.focus-songwin-row{display:flex;align-items:center;gap:10px;background:none;border:none;color:var(--text);border-radius:9px;padding:10px;cursor:pointer;text-align:left}.focus-songwin-row:hover{background:#ffffff0f}.focus-songwin-row.active{background:#7db4ff1f;color:var(--accent)}.focus-songwin-emoji{flex:none;font-size:16px}.focus-songwin-name{flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere;font-size:13.5px}.focus-songwin-artist{flex:none;font-size:11.5px;color:var(--text-dim)}.focus-start{margin-top:18px}.focus-overlay{--focus-red: #e04545;--focus-red-rgb: 224, 69, 69;position:fixed;inset:0;z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:20px;overflow:auto;background:radial-gradient(820px 560px at 50% 16%,rgba(125,180,255,.07),transparent 60%),linear-gradient(165deg,#0e2457,#091a43,#07132e)}.focus-stage{display:grid;grid-template-columns:1fr;gap:30px;width:100%;max-width:560px}.focus-left{display:flex;flex-direction:column;align-items:center;gap:16px}.focus-right{display:flex;min-width:0}@media (min-width: 900px){.focus-stage{grid-template-columns:minmax(0,1fr) minmax(360px,440px);max-width:1100px;gap:60px;align-items:center}.focus-right .focus-task-panel{height:var(--focus-left-h, min(76vh, 680px));max-height:none}}.focus-min-btn{position:fixed;top:18px;left:18px;width:40px;height:40px;border-radius:999px;background:#ffffff0d;border:1px solid var(--border-strong);color:var(--text-dim);display:flex;align-items:center;justify-content:center}.focus-min-btn svg{width:20px;height:20px}.focus-min-btn:hover{color:var(--text);border-color:var(--accent)}.focus-quote{position:relative;top:-45px;max-width:680px;margin:0 auto;text-align:center;color:var(--text-dim);font-size:15px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.focus-endtime{display:flex;align-self:center;align-items:center;gap:7px;margin:2px 0 6px;color:var(--text-dim);font-size:15px;font-variant-numeric:tabular-nums;letter-spacing:.01em}.focus-endtime-icon{font-size:15px}.focus-widget .focus-endtime{font-size:12px;gap:5px;margin:1px 0 3px}.focus-widget .focus-endtime-icon{font-size:12px}.focus-ring-wrap{position:relative;width:340px;height:340px}.focus-ring{width:340px;height:340px}.focus-ring .ring-bg{fill:none;stroke:#ffffff14;stroke-width:10}.focus-ring .ring-fg{fill:none;stroke:var(--accent);stroke-width:10;stroke-linecap:round;transition:stroke 1s ease,filter 1s ease;filter:drop-shadow(0 0 8px var(--gold-glow))}.focus-ring .ring-dot{fill:var(--accent);filter:drop-shadow(0 0 6px var(--gold-glow));transition:fill 1s ease,filter 1s ease}.focus-ring-wrap.urgent .ring-fg{stroke:var(--focus-red);filter:drop-shadow(0 0 8px rgba(var(--focus-red-rgb),.4))}.focus-ring-wrap.urgent .ring-dot{fill:var(--focus-red);filter:drop-shadow(0 0 6px rgba(var(--focus-red-rgb),.4))}.focus-time{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:60px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#fff}.focus-time.flash-up{animation:focusFlashUp .45s ease}.focus-time.flash-down{animation:focusFlashDown .45s ease}@keyframes focusFlashUp{0%{transform:scale(1);color:#fff}35%{transform:scale(1.09);color:var(--accent)}to{transform:scale(1);color:#fff}}@keyframes focusFlashDown{0%{transform:scale(1);color:#fff}35%{transform:scale(.94);color:var(--focus-red)}to{transform:scale(1);color:#fff}}.focus-locked-note{text-align:center;font-size:12.5px;line-height:1.5;color:var(--text-dim);padding:14px 8px}.focus-extend{display:flex;flex-direction:column;gap:10px;width:100%;max-width:420px}.focus-extend-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.focus-extend-btn{background:var(--surface);border:2px solid var(--border-strong);color:var(--text);border-radius:12px;padding:13px 0;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.focus-extend-row.add .focus-extend-btn{color:var(--accent);border-color:#7db4ff59}.focus-extend-row.add .focus-extend-btn:hover{background:#7db4ff1f;border-color:var(--accent)}.focus-extend-row.trim .focus-extend-btn{color:var(--focus-red);border-color:rgba(var(--focus-red-rgb),.32)}.focus-extend-row.trim .focus-extend-btn:hover{background:rgba(var(--focus-red-rgb),.12);border-color:var(--focus-red)}.focus-extend-btn.custom{font-size:15px}.focus-extend-modal .focus-carousel{margin:10px 0 14px}.focus-extend-carousel .focus-wheel{height:102px;padding:34px 0}.focus-extend-carousel .focus-carousel-window{top:51px}.focus-extend-carousel .focus-wheel-item{font-size:16px}.focus-controls{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.focus-ctrl{background:var(--surface);border:2px solid var(--border-strong);color:var(--text);border-radius:999px;padding:14px 30px;font-size:16px;font-weight:600}.focus-ctrl:hover{border-color:var(--accent)}.focus-ctrl.primary{border-color:#7db4ff80;color:var(--accent)}.focus-ctrl.primary:hover{background:#7db4ff1f}.focus-ctrl.gold{color:var(--accent);border-color:#7db4ff66}.focus-ctrl.gold:hover{background:#7db4ff1f;border-color:var(--accent)}.focus-ctrl.danger{color:var(--focus-red);border-color:rgba(var(--focus-red-rgb),.4)}.focus-ctrl.danger:hover{background:rgba(var(--focus-red-rgb),.12);border-color:var(--focus-red)}.focus-task-panel{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px;max-height:min(76vh,680px)}.focus-task-head{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}.focus-task-panel>.focus-task-head,.focus-task-panel>.focus-add-todo,.focus-task-panel>.focus-import{flex-shrink:0}.focus-task-panel>.focus-import-panel{flex:1 1 320px;min-height:0}.focus-task-panel>.focus-overlay-todos{flex-shrink:5}.focus-overlay-todos>.focus-folder{display:flex;flex-direction:column;flex:1 0 300px;max-height:max-content}.focus-overlay-todos>.focus-folder>.focus-folder-headrow{flex:none}.focus-overlay-todos>.focus-folder>.focus-folder-body{flex:1 1 auto;max-height:none;min-height:0}.focus-task-panel .focus-import-wrap{max-height:none;min-height:80px}.focus-task-panel .focus-import-body{max-height:none}.focus-import-search,.focus-import-panel>.ws-resize-grip{flex:none}.focus-overlay-todos{display:flex;flex-direction:column;gap:7px;flex:1 1 auto;min-height:60px;overflow-y:auto}.focus-todos-empty{color:var(--text-dim);font-size:13px;text-align:center;padding:16px 0}.focus-todo-item{display:flex;align-items:flex-start;gap:10px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;font-size:14.5px;transition:border-color var(--transition)}.focus-todo-item:hover{border-color:var(--border-strong)}.focus-todo-item.dragging{opacity:.5;border-color:var(--accent)}.focus-todo-item .focus-todo-label{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.focus-todo-item .course-chip{font-size:11.5px;flex:none}.focus-todo-item.done{opacity:.5}.focus-todo-item.done .focus-todo-text{text-decoration:line-through}.focus-todo-handle{flex:none;align-self:stretch;display:flex;align-items:center;background:none;border:none;color:var(--text-dim);font-size:16px;line-height:1;cursor:grab;letter-spacing:-2px;opacity:.5;user-select:none}.focus-todo-handle:hover{opacity:1}.focus-todo-handle:active{cursor:grabbing}.focus-todo-actions{flex:none;display:flex;align-items:center;gap:2px}.focus-todo-iconbtn{background:none;border:none;color:var(--text-dim);font-size:13px;text-decoration:none;padding:4px 5px;border-radius:6px;line-height:1}.focus-todo-item:hover .focus-todo-iconbtn{color:var(--text)}.focus-todo-iconbtn:hover{background:#ffffff14;color:var(--accent)}.focus-task-panel .focus-todo-input,.focus-task-panel .focus-import{background:var(--surface2)}.focus-modal-back{position:fixed;inset:0;z-index:2100;background:var(--scrim-dim);animation:scrim-in var(--scrim-dur) var(--scrim-ease) both;display:flex;align-items:center;justify-content:center;padding:24px;--focus-red: #e04545;--focus-red-rgb: 224, 69, 69}.focus-modal{width:100%;max-width:300px;background:var(--surface);border:1px solid var(--border-strong);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:14px;box-shadow:0 20px 60px #00000080}.focus-modal-title{font-size:16px;font-weight:700}.focus-modal-input{background:var(--surface2);border:1px solid var(--border-strong);border-radius:10px;color:var(--text);padding:11px 12px;font-size:15px}.focus-modal-input:focus{outline:none;border-color:var(--accent)}.focus-modal-actions{display:flex;gap:8px;justify-content:flex-end}.focus-music-panel{position:fixed;right:18px;bottom:18px;z-index:2000;display:flex;flex-direction:column;align-items:flex-end;gap:9px;max-width:320px}.focus-music-bar{display:flex;align-items:center;gap:8px}.focus-music-menu{display:none;position:absolute;bottom:calc(100% + 10px);right:0;width:272px;background:var(--surface);border:1px solid var(--border-strong);border-radius:14px;padding:12px 12px 14px;box-shadow:0 14px 44px #00000080;max-height:calc(100vh - 110px);overflow-y:auto}.focus-music-menu.open{display:flex;flex-direction:column;gap:7px}.focus-menu-section{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--text-dim);margin-top:6px}.focus-menu-section:first-child{margin-top:0}.focus-menu-nowplaying{margin-bottom:16px}.focus-menu-current{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:13px;font-weight:600;color:var(--accent)}.focus-menu-seek{display:flex;align-items:center;gap:5px;padding:2px 4px 0}.focus-menu-skip{flex:none;background:none;border:none;color:var(--text-dim);font-size:13px;line-height:1;padding:3px 2px;border-radius:6px;cursor:pointer}.focus-menu-skip:hover{color:var(--text);background:#ffffff0f}.focus-menu-time{flex:none;min-width:26px;text-align:center;font-size:10px;color:var(--text-dim);font-variant-numeric:tabular-nums}.focus-seek-slider{flex:1;min-width:0;-webkit-appearance:none;appearance:none;height:4px;border-radius:999px;background:#ffffff29;cursor:pointer}.focus-seek-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);border:none;cursor:pointer}.focus-seek-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--accent);border:none}.focus-menu-tracks{display:flex;flex-direction:column;gap:2px;max-height:320px;overflow-y:auto}.focus-menu-browse-wrap{display:flex;flex-direction:column;max-height:420px;overflow-y:auto}.focus-menu-tracks.focus-menu-browse{max-height:none;overflow:visible}.focus-menu-genre{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;border-top:1px solid var(--border);color:var(--text);cursor:pointer;padding:8px 8px 5px;margin-top:4px}.focus-menu-genre:first-of-type{border-top:none;margin-top:0}.focus-menu-genre:hover{background:#ffffff0d;border-radius:8px}.focus-menu-genre-name{flex:1;text-align:left;font-size:12px;font-weight:700;letter-spacing:.02em}.focus-menu-genre.active .focus-menu-genre-name{color:var(--accent)}.focus-menu-count{flex:none;font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}.focus-menu-track span:not(.focus-menu-emoji):not(.focus-menu-count),.focus-menu-current span:not(.focus-menu-emoji){flex:1;min-width:0;text-align:left;white-space:normal;overflow-wrap:anywhere}.focus-menu-track{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;border-radius:8px;color:var(--text);font-size:13px;text-align:left;padding:5px 8px;cursor:pointer}.focus-fav{flex:none;background:none;border:none;color:var(--text-dim);font-size:15px;line-height:1;padding:2px 4px;border-radius:6px;cursor:pointer;transition:color .15s ease,transform .15s ease}.focus-fav:hover{color:var(--red);transform:scale(1.15)}.focus-fav.on{color:var(--red)}.focus-menu-switch{display:flex;align-items:center;gap:8px;width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:9px;color:var(--text);padding:9px 11px;margin-bottom:4px;font-size:13px;cursor:pointer;transition:border-color .15s ease}.focus-menu-switch:hover{border-color:var(--accent)}.focus-menu-switch-label{flex:1;text-align:left;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.focus-menu-switch-cta{flex:none;font-size:12px;font-weight:600;color:var(--accent)}.focus-menu-track:hover{background:#ffffff0f}.focus-menu-track.active{background:#7db4ff1f;color:var(--accent);font-weight:600}.focus-menu-emoji{flex:none;font-size:14px}.focus-menu-stub{font-size:12px;color:var(--text-dim);padding:2px 2px 0}.focus-music-volume{display:flex;align-items:center;gap:8px;width:100%}.focus-music-menu .focus-vol-slider{flex:1;width:auto}.focus-music-vol-icon{flex:none;font-size:13px;color:var(--text-dim)}.focus-vol-slider{-webkit-appearance:none;appearance:none;width:132px;height:4px;border-radius:999px;background:#ffffff29;cursor:pointer}.focus-vol-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);border:none;cursor:pointer}.focus-vol-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);border:none;cursor:pointer}.focus-music-name{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;margin-right:4px}.focus-music-emoji{font-size:14px}.focus-music-ctrl{flex:none;width:30px;height:30px;border-radius:999px;background:#ffffff0f;border:none;color:var(--text);font-size:13px}.focus-music-ctrl:hover{background:#ffffff24}.focus-music-ctrl.play{background:var(--accent);color:var(--on-accent)}.focus-music-ctrl.play:hover{filter:brightness(1.06)}.focus-widget{--focus-red: #e04545;--focus-red-rgb: 224, 69, 69;position:fixed;right:18px;bottom:18px;z-index:2000;width:250px;display:flex;flex-direction:column;align-items:center;gap:14px;background:linear-gradient(165deg,#0e2457,#091a43 55%,#07132e);border:1px solid rgba(125,180,255,.35);border-radius:16px;padding:34px 16px 18px;box-shadow:0 12px 32px #0000008c;cursor:grab;touch-action:none}.focus-widget.dragging{cursor:grabbing;opacity:.9}.focus-widget .focus-quote{position:static;top:auto;font-size:11.5px;max-width:100%;margin:0 0 20px}.focus-widget .focus-task-panel{max-height:420px;padding:12px}.focus-widget .focus-overlay-todos{min-height:150px}.focus-widget .focus-task-panel:has(>.focus-import-panel.open){max-height:560px}.focus-widget .focus-task-panel .focus-import-wrap{min-height:60px}.focus-widget:not(.focus-widget-pip){max-height:calc(100vh - 36px);overflow-y:auto}.focus-widget:not(.focus-widget-pip)>*{flex-shrink:0}.focus-widget button{cursor:pointer}.focus-pip-body{margin:0;background:#07132e}.focus-widget.focus-widget-pip{position:static;inset:auto;width:100%;background:transparent;touch-action:auto;padding:20px 16px 16px;border:none;border-radius:0;box-shadow:none;cursor:default;justify-content:center}.focus-widget .focus-ring-wrap,.focus-widget .focus-ring{width:178px;height:178px}.focus-widget .focus-time{font-size:36px}.focus-widget .focus-controls{gap:10px}.focus-widget .focus-ctrl{padding:9px 20px;font-size:12.5px}.focus-widget .focus-extend{max-width:252px;gap:7px}.focus-widget .focus-extend-row{gap:7px}.focus-widget .focus-extend-btn{padding:8px 0;font-size:12.5px;border-radius:8px}.focus-widget .focus-extend-btn.custom{font-size:12.5px}.focus-music-caption{font-size:8.5px;font-weight:700;letter-spacing:.14em;color:var(--text-dim);opacity:.65;text-align:center;margin-bottom:2px;align-self:stretch}.focus-widget .focus-music-panel{position:static;width:100%;align-items:stretch;gap:6px;margin-top:2px}.focus-widget .focus-music-bar{justify-content:center}.focus-widget .focus-music-menu.open{position:static;width:100%;box-shadow:none;padding:8px 6px 10px;max-height:none;overflow:visible}.focus-widget .focus-menu-tracks{max-height:220px}.focus-end-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(160%);z-index:2500;display:flex;align-items:center;gap:14px;max-width:420px;background:var(--toast-bg);border:var(--toast-border);border-radius:var(--toast-radius);min-height:var(--toast-h);padding:12px 20px;box-shadow:var(--toast-shadow);transition:transform .4s cubic-bezier(.4,0,.2,1)}.focus-end-toast.show{transform:translate(-50%) translateY(0)}.focus-end-toast-icon{flex:none;font-size:24px}.focus-end-toast-body{flex:1;min-width:0}.focus-end-toast-title{font-size:13px;font-weight:700;color:var(--accent);letter-spacing:.5px}.focus-end-toast-sub{font-size:11px;color:var(--text-dim);margin-top:2px}.focus-end-toast-sub strong{color:var(--text)}.focus-end-toast-close{flex:none;background:none;border:none;color:var(--text-dim);font-size:16px;padding:4px 8px}.focus-end-toast-close:hover{color:var(--text)}.focus-end-toast-retrieve{flex:none;background:var(--accent);color:var(--on-accent);border:none;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:700}.focus-end-toast-retrieve:hover{filter:brightness(1.06)}.focus-end-toast.focus-session-mini{gap:10px;padding:9px 14px;width:max-content;max-width:min(520px,92vw)}.focus-session-mini .focus-end-toast-icon{font-size:17px}.focus-session-mini .focus-end-toast-title{font-size:11.5px;white-space:nowrap}.focus-end-toast-time{color:var(--text-dim)}.focus-session-mini .focus-end-toast-retrieve{padding:6px 12px;font-size:12px}.focus-session-mini .focus-end-toast-close{font-size:14px}.focus-widget-bar{display:flex;align-self:stretch;align-items:flex-start;margin-bottom:6px;margin-top:-16px}.focus-widget-spacer{flex:1;min-width:0}.focus-widget-group{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:3px;margin-right:-11px}.focus-widget-hint{font-size:9px;line-height:1.25;color:var(--text-dim);text-align:right}.focus-widget-btns{flex:none;display:flex;gap:4px}.focus-widget-expand,.focus-widget-close{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--border-strong);border-radius:7px;background:#ffffff0d;color:var(--text-dim);font-size:11px;line-height:1;cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease}.focus-widget-expand:hover,.focus-widget-close:hover{background:#ffffff1f;color:var(--text);border-color:var(--accent)}.focus-finished-head{display:flex;align-items:center;gap:8px;width:100%;margin-top:8px;padding:7px 10px;background:none;border:1px dashed var(--border);border-radius:9px;color:var(--green);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .16s ease,color .16s ease}.focus-finished-head:hover{background:#ffffff0d;filter:brightness(1.15)}.focus-finished-count{background:#27ae6038;color:var(--green);font-size:10.5px}.focus-folder-head .focus-folder-arrow{margin-left:auto}.focus-import-bulk .focus-import-bulk-label{flex:1;min-width:0}.focus-import-bulk .focus-folder-arrow{flex:none;margin-left:0}.focus-finished-head .focus-folder-arrow{margin-left:auto;font-weight:400}.dash{display:flex;flex-direction:column;gap:18px;padding-top:8px}.dash-greeting{font-size:30px;line-height:1.2;font-weight:700;letter-spacing:-.03em;margin:0;text-align:center;background-image:linear-gradient(120deg,var(--text),var(--accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.dash-quote{padding:10px 0;line-height:1.5;text-align:center}.dash-quote-text{color:var(--text-dim);font-size:14.5px;font-style:italic}.dash-quote-author{margin-top:6px;font-size:12.5px;font-weight:600;color:var(--gold)}.dash-due{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.dash-overdue{display:none;background:#ef444412;border:1px solid rgba(239,68,68,.4);border-left:4px solid var(--red);border-radius:var(--radius);padding:16px}.dash-overdue.on{display:block}.dash-overdue-header.dash-schedule-header{font-size:20px;letter-spacing:-.01em;color:var(--red)}.dash-overdue-header .dash-due-link:hover{color:#ff6b6b}.dash-due-link{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;letter-spacing:inherit;cursor:pointer}.dash-due-link:hover{color:var(--accent)}.dash-due-empty{margin-top:10px;color:var(--text-dim);font-size:14px}.dash-due-list{margin-top:12px;display:flex;flex-direction:column;gap:8px}.dash-due-item{display:flex;align-items:center;gap:10px;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;cursor:pointer;transition:border-color var(--transition)}.dash-due-item:hover{border-color:var(--border-strong)}.dash-due-dot{flex:none;width:8px;height:8px;border-radius:50%}.dash-due-title{flex:1;min-width:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-due-time{flex:none;font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums}.dash-schedule{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.dash-schedule:empty{display:none}.dash-schedule-header{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:16px;font-weight:700;color:var(--text);margin-bottom:12px}.dash-refresh-btn{flex:none;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1;color:var(--gold);background:#7db4ff14;border:1px solid rgba(125,180,255,.3);border-radius:999px;cursor:pointer;transition:background .2s ease,border-color .2s ease,opacity .2s ease}.dash-refresh-btn:hover{background:#7db4ff29;border-color:#7db4ff80}.dash-refresh-btn:disabled{opacity:.6;cursor:default}.dash-refresh-btn.spinning{animation:ws-spin .7s linear infinite}.dash-schedule-list{display:flex;flex-direction:column;gap:8px}.dash-schedule-item{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:12px 14px;cursor:pointer;text-decoration:none;transition:border-color var(--transition)}.dash-schedule-item:hover{border-color:var(--border-strong)}.dash-schedule-title{font-size:14px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-schedule-open{flex:none;font-size:12px;font-weight:600;color:var(--gold)}.dash-schedule-empty{color:var(--text-dim);font-size:14px}.settings-backdrop{position:fixed;inset:0;background:#0009;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px 16px;z-index:1000}.settings-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:540px;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 24px 60px #00000080}.settings-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border);background:var(--surface);border-radius:var(--radius) var(--radius) 0 0}.settings-head h2{margin:0;font-size:18px}.settings-head-actions{display:flex;align-items:center;gap:12px}.settings-ical-actions{display:flex;margin:4px 0 2px}.settings-save{background:var(--surface2);color:var(--text);border:1px solid var(--border-strong);border-radius:8px;font-weight:600;font-size:13px;padding:8px 16px;cursor:pointer}.settings-save:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.settings-save.changed{background:var(--gold);color:var(--on-accent);border-color:transparent;font-weight:700}.settings-save.changed:hover{color:var(--on-accent);filter:brightness(1.06)}.settings-save:disabled{opacity:.5;cursor:default}.settings-close{background:none;border:none;color:var(--text-dim);font-size:18px;cursor:pointer}.settings-close:hover{color:var(--text)}.settings-body{padding:18px;display:flex;flex-direction:column;gap:22px;flex:1;min-height:0;overflow-y:auto}.settings-section{scroll-margin-top:8px}.settings-divider{border-top:1px dashed var(--border-strong);margin:2px 0}.settings-page{max-width:none;margin:0;container-type:inline-size;container-name:settingspage;padding-right:34px}.app:has(#settingsTab.active){max-width:none;margin:0}.settings-shell{display:flex;gap:26px;align-items:flex-start;padding:8px 0 80px}.settings-side{flex:none;width:172px;position:sticky;top:calc(var(--header-h) - 60px);align-self:flex-start;display:flex;flex-direction:column;gap:3px}.settings-side-title{margin:0 0 12px;font-size:24px}.settings-side-btn{display:flex;align-items:center;gap:12px;text-align:left;background:none;border:none;color:var(--text-dim);padding:9px 12px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.settings-side-btn:hover{background:#ffffff0f;color:var(--text)}.settings-side-btn.active{color:var(--accent);background:#7db4ff29}.settings-side-btn svg{width:19px;height:19px;flex:none}.settings-side-prem{display:flex;flex-direction:column;gap:3px;margin-top:24px;padding:7px;border-radius:12px;border:1px solid var(--border)}.settings-side-subhead{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);padding:2px 12px 3px}.settings-side-btn.premium.active{color:#a78bfa;background:#8b5cf62e}.settings-content{flex:1;min-width:0;container-type:inline-size;container-name:settings}.settings-shell{gap:clamp(10px,2.4vw,26px)}.settings-page{padding-right:clamp(6px,3vw,34px)}.settings-pagehead{padding:4px 0 12px;background:transparent}.settings-titlerow{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.settings-titlerow h2{margin:0;font-size:24px}.settings-pagehead .settings-nav{padding:0;border-bottom:none}.settings-body-page{display:flex;flex-direction:column;gap:22px;padding:18px 0 80px;overflow:visible;flex:none}.settings-section h3{margin:0 0 6px;font-size:14px;letter-spacing:.02em}.settings-hint{margin:0 0 12px;font-size:12.5px;color:var(--text-dim);line-height:1.5}.settings-input{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:10px 12px;font-size:13px;margin-bottom:10px}.settings-input:focus{outline:none;border-color:var(--border-strong)}.settings-input.invalid,.settings-input.invalid:focus{border-color:var(--red)}.settings-field-error{margin:-4px 0 10px;font-size:12px;color:var(--red)}.settings-field-error:empty{display:none}.settings-status{margin-top:10px;font-size:12px;color:var(--text-dim)}.settings-status.settings-status-error{color:var(--red)}.settings-readonly{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text-dim);padding:10px 12px;font-size:13px;word-break:break-all}.settings-courses{display:flex;flex-direction:column;gap:12px}.course-row{background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:14px}.course-row-top{display:flex;align-items:center;gap:10px}.course-color{flex:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;padding:0;border:none;border-radius:6px;background:none;overflow:hidden;cursor:pointer}.course-name{flex:1;min-width:0;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text);padding:5px 8px;margin-left:-8px;font-size:14px;font-weight:700}.course-name:hover{border-color:var(--border)}.course-name:focus{outline:none;background:var(--surface);border-color:var(--border-strong)}.course-del{flex:none;background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:14px}.course-del:hover{color:var(--red)}.parse-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:11px 0 0}.parse-chip{display:inline-flex;align-items:center;gap:4px;background:#ffffff0f;border:1px solid var(--border-strong);border-radius:999px;padding:5px 7px 5px 11px;font-size:12px;font-weight:600;color:var(--text)}.parse-chip-x{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:13px;line-height:1;padding:0 2px}.parse-chip-x:hover{color:var(--red)}.parse-add-wrap{display:inline-flex;align-items:center;gap:4px;border:1px dashed var(--border-strong);border-radius:999px;padding:5px 7px 5px 11px}.parse-add{width:66px;background:none;border:none;padding:0;color:var(--text);font-size:12px;font-weight:600;line-height:1.45}.parse-add::placeholder{color:var(--text-dim);font-weight:600}.parse-add:focus{outline:none}.parse-add-wrap:focus-within{border-style:solid;background:var(--surface)}.parse-add-go{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:13px;line-height:1;padding:0 2px}.parse-add-go:hover{color:var(--accent)}.parse-error{color:var(--red);font-size:11.5px;margin-top:6px;min-height:0}.parse-error:empty{display:none}.parse-recs{display:contents}.parse-rec{display:inline-flex;align-items:center;gap:4px;background:#7db4ff14;border:1px dashed var(--accent);border-radius:999px;padding:5px 11px 5px 9px;font-size:12px;font-weight:600;color:var(--accent);cursor:pointer}.parse-rec:hover{background:#7db4ff2e}.parse-rec-plus{font-weight:700;line-height:1}.settings-add{margin-top:12px;background:var(--surface2);border:1px dashed var(--border-strong);border-radius:8px;color:var(--text);padding:9px;width:100%;cursor:pointer;font-size:13px}.settings-add:hover{background:var(--surface)}.settings-playlists{display:flex;flex-direction:column;gap:8px;margin-top:12px}.settings-playlists .settings-add{margin-top:0}.settings-playlist-row{display:flex;align-items:center;gap:10px;background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.settings-playlist-main{flex:1;min-width:0}.settings-playlist-name{font-size:14px;font-weight:600}.settings-playlist-count{font-size:12px;color:var(--text-dim);margin-top:2px}.settings-playlist-emoji{flex:none;font-size:20px;line-height:1}.settings-playlist-btn{flex:none;background:var(--surface);border:1px solid var(--border-strong);color:var(--text);border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:600;cursor:pointer}.settings-playlist-btn:hover{border-color:var(--accent);color:var(--accent)}.settings-playlist-btn.danger{padding:6px 10px;color:#ffb4b4;border-color:#ef444466}.settings-playlist-btn.danger:hover{background:#ef444424;color:#fff;border-color:var(--red)}.editor-backdrop{position:fixed;inset:0;background:var(--scrim-dim);animation:scrim-in var(--scrim-dur) var(--scrim-ease) both;display:flex;align-items:center;justify-content:center;padding:24px;z-index:1600}.playlist-editor{width:100%;max-width:460px;max-height:82vh;display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--border-strong);border-radius:16px;padding:20px;box-shadow:0 24px 60px #00000080}.playlist-editor>:not(.playlist-editor-list){flex:none}.playlist-editor-title{margin:0;font-size:17px;color:var(--text)}.playlist-editor-namerow{display:flex;gap:8px;align-items:stretch}.playlist-editor-namerow .settings-input{flex:1;min-width:0}.playlist-emoji-wrap{position:relative;flex:0 0 52px}.playlist-emoji-btn{width:100%;height:100%;min-height:38px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;font-size:17px;line-height:1;display:grid;place-items:center;cursor:pointer;padding:0}.playlist-emoji-btn:hover{border-color:var(--border-strong)}.playlist-emoji-btn.default{opacity:.45}.emoji-picker{position:absolute;top:calc(100% + 6px);left:0;z-index:20;display:grid;grid-template-columns:repeat(8,34px);gap:4px;padding:10px;background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 16px 40px #00000073}.emoji-picker-opt{width:34px;height:34px;display:grid;place-items:center;background:transparent;border:none;border-radius:8px;font-size:19px;padding:0;cursor:pointer}.emoji-picker-opt:hover{background:var(--surface2)}.emoji-picker-clear{grid-column:1 / -1;margin-top:4px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text-dim);font-size:12px;padding:6px;cursor:pointer}.emoji-picker-clear:hover{color:var(--text)}.playlist-editor-save{background:var(--accent);border:none;border-radius:8px;color:#1a1205;font-weight:700;font-size:13px;padding:8px 18px;cursor:pointer}.playlist-editor-save:hover{filter:brightness(1.06)}.playlist-editor-count{font-size:12px;font-weight:600;color:var(--accent)}.playlist-editor-list{flex:1;min-height:160px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;border:1px solid var(--border);border-radius:10px;padding:6px}.playlist-song{display:flex;align-items:center;gap:9px;background:none;border:none;color:var(--text);border-radius:8px;padding:8px 9px;cursor:pointer;text-align:left;font:inherit}.playlist-song:hover{background:#ffffff0f}.playlist-song.on{background:#7db4ff1f}.playlist-song-check{flex:none;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--border-strong);display:grid;place-items:center;font-size:11px;color:transparent}.playlist-song.on .playlist-song-check{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.playlist-song-emoji{flex:none;font-size:15px}.playlist-song-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px}.playlist-song-artist{flex:none;font-size:11.5px;color:var(--text-dim)}.app-gear{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:16px;padding:2px 6px;line-height:1}.app-gear:hover{color:var(--text)}.settings-nav{display:flex;gap:8px;padding:10px 18px;border-bottom:1px solid var(--border)}.settings-nav-btn{background:var(--surface2);border:2px solid var(--border);border-radius:999px;color:var(--text-dim);font-size:12px;font-weight:600;padding:5px 12px;cursor:pointer}.settings-nav-btn:hover{color:var(--text);border-color:var(--border-strong)}.settings-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-dim);margin-bottom:8px}.help-icon{flex:none;width:16px;height:16px;border-radius:50%;border:1px solid var(--border-strong);background:none;color:var(--text-dim);font-size:10px;font-weight:700;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.help-icon:hover{color:var(--text);border-color:var(--accent)}.help-backdrop{position:fixed;inset:0;background:var(--scrim-dim);animation:scrim-in var(--scrim-dur) var(--scrim-ease) both;display:flex;align-items:center;justify-content:center;padding:24px;z-index:1500}.help-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-width:380px;padding:22px;box-shadow:0 24px 60px #00000080}.help-box h3{margin:0 0 10px;font-size:16px}.help-text{margin:0 0 16px;font-size:13px;color:var(--text-dim);line-height:1.55;white-space:pre-wrap}.confirm-backdrop{position:fixed;inset:0;background:var(--scrim-dim);animation:scrim-in var(--scrim-dur) var(--scrim-ease) both;display:flex;align-items:center;justify-content:center;padding:24px;z-index:1600}.confirm-box{background:#1a0d0d;border:1.5px solid var(--red);border-radius:var(--radius);max-width:380px;padding:22px;box-shadow:0 0 40px #ef444459}.confirm-title{margin:0 0 10px;font-size:17px;color:#ff6b6b}.confirm-text{margin:0 0 18px;font-size:13px;color:#fffc;line-height:1.55}.confirm-actions{display:flex;gap:10px;justify-content:flex-end}.confirm-cancel{background:none;border:1px solid var(--border-strong);border-radius:8px;color:var(--text);font-size:13px;padding:8px 16px;cursor:pointer}.confirm-cancel:hover{background:#ffffff0f}.confirm-yes{background:var(--red);border:none;border-radius:8px;color:#fff;font-weight:700;font-size:13px;padding:8px 18px;cursor:pointer}.confirm-yes:hover{background:#dc2626}.settings-inline{display:flex;align-items:center;gap:12px;margin-top:10px}.settings-saved{font-size:12px;color:var(--green)}.sound-list{display:flex;flex-direction:column;gap:8px}.sound-row{display:flex;align-items:center;gap:8px;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:4px 8px 4px 4px}.sound-row.selected{border-color:var(--accent);background:#7db4ff14}.sound-pick{flex:1;min-width:0;display:flex;align-items:center;gap:10px;background:none;border:none;color:var(--text);text-align:left;padding:8px 6px;border-radius:8px}.sound-pick:hover{background:#ffffff0a}.sound-emoji{flex:none;font-size:18px;line-height:1}.sound-name{flex:none;font-size:13px;font-weight:700}.sound-desc{flex:1;min-width:0;font-size:11.5px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sound-check{flex:none;color:var(--accent);font-weight:700}.sound-preview{flex:none;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);color:var(--accent);font-size:12px}.sound-preview:hover{border-color:var(--accent);background:#7db4ff1f}.sound-preview svg{display:block}.sound-volume{display:flex;align-items:center;gap:10px;margin-top:16px;margin-bottom:12px}.sound-volume-label{flex:none;font-size:12px;font-weight:600;color:var(--text-dim)}.sound-volume-slider{flex:1;min-width:0;accent-color:var(--accent);cursor:pointer;margin-left:2px}.sound-volume-pct{flex:none;text-align:right;font-size:12px;color:var(--text-dim)}.notify-hint{margin:6px 0 12px;font-size:12.5px;color:var(--text-dim);line-height:1.5}.notify-toggle{display:block;width:100%;text-align:left;background:var(--surface2);border:2px solid var(--border);border-radius:10px;color:var(--text-dim);font-size:13px;font-weight:600;padding:10px 12px;margin-top:8px;cursor:pointer}.notify-toggle:hover{color:var(--text);border-color:var(--border-strong)}.notify-toggle.on{color:var(--accent);border-color:#7db4ff80;background:#7db4ff12}.notify-sublabel{margin:14px 0 6px;font-size:12px;font-weight:600;color:var(--text-dim)}.notify-leads{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.notify-pill{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:8px 0;font-size:12.5px;font-weight:600;cursor:pointer}.notify-pill.active{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 2px var(--gold-glow)}#sec-notify .settings-status{margin-top:8px}.notify-test-wrap{margin-top:16px}.notify-test{background:var(--surface2);border:1px solid var(--border-strong);color:var(--text);border-radius:8px;padding:9px 15px;font-size:13px;font-weight:600;cursor:pointer}.notify-test:hover{border-color:var(--accent);color:var(--accent)}.notify-test.sent{border-color:var(--green);color:var(--green)}.notify-test-hint{margin-top:7px;font-size:12px;color:var(--text-dim)}.notify-perm{margin-top:4px;margin-bottom:8px}.nswitch{flex:none;position:relative;width:44px;height:26px;border-radius:999px;border:none;background:var(--surface2);box-shadow:inset 0 0 0 1px var(--border-strong);cursor:pointer;padding:0;transition:background .22s ease,box-shadow .22s ease}.nswitch:disabled{cursor:not-allowed;opacity:.55}.nswitch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#d8d8d8;transition:transform .22s cubic-bezier(.4,.1,.2,1),background .22s ease}.nswitch[aria-checked=true]{background:var(--accent);box-shadow:inset 0 0 0 1px transparent}.nswitch[aria-checked=true]:after{transform:translate(18px);background:var(--on-accent)}.nmaster{display:flex;align-items:center;gap:13px;padding:14px 15px;border-radius:12px;background:var(--surface);border:1px solid var(--border-strong);margin-bottom:10px}.nmaster-text{flex:1;min-width:0}.nmaster-title{font-size:14px;font-weight:650}.nmaster-desc{font-size:12px;color:var(--text-dim);margin-top:2px}.nappear{border-radius:12px;background:var(--surface2);border:1px solid var(--border);padding:13px 15px;margin-bottom:16px}.nappear-title{font-size:12.5px;font-weight:650;margin-bottom:8px}.nappear .srow:last-child{margin-bottom:0}.ntypes{display:flex;flex-direction:column;gap:10px;transition:opacity .25s ease}.ntypes.disabled{opacity:.4}.ntypes.disabled .nswitch{pointer-events:none}.ncard{border-radius:12px;background:var(--surface2);border:1px solid var(--border);overflow:hidden;transition:border-color .22s ease,background .22s ease}.ncard.open{border-color:#7db4ff66;background:#7db4ff0f}.ncard-bar{display:flex;align-items:flex-start;gap:12px;padding:14px 15px}.ncard-ico{flex:none;width:30px;height:30px;border-radius:8px;background:var(--surface);display:grid;place-items:center;color:var(--text-dim);margin-top:1px;transition:color .22s ease,background .22s ease}.ncard.open .ncard-ico{color:var(--accent);background:#7db4ff24}.ncard-main{flex:1;min-width:0}.ncard-title{font-size:13.5px;font-weight:600}.ncard-desc{font-size:12px;color:var(--text-dim);margin-top:3px;line-height:1.45}.ncard-detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows .26s ease}.ncard.open .ncard-detail{grid-template-rows:1fr}.ncard-detail-inner{overflow:hidden;padding:0 15px;border-top:0 solid var(--border);transition:padding .26s ease}.ncard.open .ncard-detail-inner{padding:4px 15px 15px;border-top-width:1px}.ncard-detail-inner>*+*{margin-top:12px}.nopt-label{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint, rgba(255,255,255,.32))}.nopt-label+*{margin-top:8px!important}.notify-howto{display:block;width:100%;text-align:center;margin:0 0 22px;padding:10px 14px;border-radius:10px;cursor:pointer;background:#7db4ff1a;border:1px solid rgba(125,180,255,.35);color:var(--accent);font-family:inherit;font-size:13px;font-weight:600;transition:background .18s ease,border-color .18s ease}.notify-howto:hover{background:#7db4ff2e;border-color:var(--accent)}.nchan{display:flex;gap:6px;flex:none}.nchan-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:9px;cursor:pointer;background:var(--surface);border:1px solid var(--border-strong);color:var(--text-dim);font-family:inherit;font-size:12px;font-weight:600;transition:background .15s ease,border-color .15s ease,color .15s ease}.nchan-ico{display:inline-flex}.nchan-btn:hover{color:var(--text);border-color:var(--text-dim)}.nchan-btn[aria-pressed=true]{background:#7db4ff24;border-color:var(--accent);color:var(--accent)}.ngmail-note{font-size:11.5px;color:var(--text-dim);margin:-2px 2px 14px;line-height:1.5}.ngmail-note b{color:var(--text);font-weight:600}.ngmail-warn{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;color:var(--text);background:#ef444414;border:1px solid rgba(239,68,68,.32);border-radius:10px;padding:10px 12px;margin:-6px 2px 14px}.ngmail-warn span{flex:1;min-width:0}.nverify-send{flex:none;background:var(--accent);color:var(--on-accent);border:none;border-radius:8px;padding:7px 12px;font-size:11.5px;font-weight:700;cursor:pointer}.nverify-send:disabled{opacity:.75;cursor:default}.nmail{background:#f7f9fd;color:#212c42;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.nmail-top{display:flex;align-items:center;gap:9px}.nmail-av{flex:none;width:30px;height:30px;border-radius:8px;overflow:hidden}.nmail-av svg{display:block;width:100%;height:100%}.nmail-meta{flex:1;min-width:0}.nmail-fromrow{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.nmail-from{font-size:12.5px;font-weight:700}.nmail-time{font-size:10.5px;color:#94a3b8}.nmail-to{font-size:10.5px;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nmail-subj{font-size:13px;font-weight:650}.nmail-body{font-size:12px;color:#4a5568;line-height:1.45}.nmail-foot{font-size:10px;color:#94a3b8;margin-top:2px}.ngroups{display:flex;flex-direction:column;gap:20px}.ngd{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;background:#050a159e;backdrop-filter:blur(3px);padding:20px;animation:ngd-fade .18s ease}@keyframes ngd-fade{0%{opacity:0}to{opacity:1}}.ngd-card{position:relative;width:min(560px,100%);max-height:92vh;overflow-y:auto;background:var(--surface);border:1px solid var(--border-strong);border-radius:18px;padding:24px 24px 20px;box-shadow:0 24px 70px #0000008c}.ngd-close{position:absolute;top:12px;right:14px;background:none;border:none;color:var(--text-dim);font-size:15px;cursor:pointer;line-height:1;padding:4px;z-index:1}.ngd-close:hover{color:var(--text)}.ngd-title{font-size:18px;font-weight:750}.ngd-sub{font-size:12.5px;color:var(--text-dim);line-height:1.5;margin:6px 24px 16px 0}.ngd-list{display:flex;flex-direction:column;gap:8px}.ngd-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--surface2);border:1px solid var(--border);border-radius:12px;border-left:3px solid var(--gda, var(--border-strong));color:var(--text);font-family:inherit;padding:12px 14px;cursor:pointer;transition:border-color .16s ease,background .16s ease}.ngd-item:hover{border-color:var(--gda, var(--accent));background:color-mix(in srgb,var(--gda, var(--accent)) 6%,var(--surface2))}.ngd-num{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--gda, var(--accent)) 16%,transparent);color:var(--gda, var(--accent));font-size:12.5px;font-weight:700}.ngd-item-main{flex:1;min-width:0}.ngd-item-title{font-size:13.5px;font-weight:650}.ngd-item-blurb{font-size:11.5px;color:var(--text-dim);margin-top:2px;line-height:1.4}.ngd-tag{flex:none;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gda, var(--text-dim));border:1px solid color-mix(in srgb,var(--gda, var(--accent)) 55%,transparent);border-radius:999px;padding:3px 8px}.ngd-chev{flex:none;color:var(--text-dim);font-size:16px}.ngd-head{display:flex;align-items:center;gap:10px;margin:0 24px 12px 0}.ngd-back{flex:none;background:none;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-dim);font-family:inherit;font-size:11.5px;font-weight:600;padding:5px 10px;cursor:pointer}.ngd-back:hover{color:var(--text);border-color:var(--text-dim)}.ngd-head-title{flex:1;min-width:0;font-size:14.5px;font-weight:700}.ngd-stage{border-radius:12px;overflow:hidden}.ngd-stage svg{display:block;width:100%;height:auto}.ngd-caption{font-size:12.5px;color:var(--text);line-height:1.55;margin-top:12px;min-height:56px}.ngd-dots{display:flex;justify-content:center;gap:7px;margin:12px 0 14px}.ngd-dot{width:7px;height:7px;border-radius:50%;background:var(--border-strong);transition:background .2s ease,transform .2s ease}.ngd-dot.on{background:var(--gda, var(--accent));transform:scale(1.25)}.ngd-nav{display:flex;gap:10px}.ngd-btn{flex:1;padding:10px 14px;border-radius:10px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:650;border:1px solid var(--border-strong);background:var(--surface2);color:var(--text);transition:background .16s ease,border-color .16s ease}.ngd-btn:hover{background:var(--surface)}.ngd-next{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.ngd-next:hover{filter:brightness(1.05);background:var(--accent)}.ngd-os{display:inline-grid;grid-template-columns:repeat(2,minmax(96px,1fr));gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:4px;margin-bottom:14px}.ngd-os-btn{background:none;border:none;color:var(--text-dim);font-family:inherit;font-size:12px;font-weight:600;padding:6px 14px;border-radius:7px;cursor:pointer;transition:background .18s ease,color .18s ease}.ngd-os-btn:hover{color:var(--text)}.ngd-os-btn.active{background:var(--accent);color:var(--on-accent)}.nlead-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.nlead{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:11px 0;font-size:14px;font-weight:600;cursor:pointer;transition:border-color .16s ease,color .16s ease,box-shadow .16s ease}.nlead:hover{border-color:var(--border-strong)}.nlead[aria-pressed=true]{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 2px var(--gold-glow)}.nwheels{position:relative;display:inline-flex;gap:6px;justify-content:center;padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.nwheels:before,.nwheels:after{content:"";position:absolute;left:8px;right:8px;height:1px;background:var(--border-strong);pointer-events:none;z-index:2}.nwheels:before{top:40px}.nwheels:after{top:74px}.nwheel{position:relative;height:102px;width:52px;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;-ms-overflow-style:none}.nwheel::-webkit-scrollbar{display:none}.nwheel-item{height:34px;scroll-snap-align:center;display:grid;place-items:center;font-size:15px;color:var(--text-faint, rgba(255,255,255,.32));font-variant-numeric:tabular-nums;cursor:pointer;transition:color .12s ease}.nwheel-item.sel{color:var(--accent);font-weight:700}.nwheel-spacer{height:34px}.nwheel-colon{display:grid;place-items:center;font-size:15px;color:var(--text-dim);font-weight:700}.nwheel-fixed{width:40px;display:grid;place-items:center;font-size:15px;font-weight:700;color:var(--accent)}.nwheel-cap{font-size:12px;color:var(--text-dim)}.nwheel-cap b{color:var(--text);font-weight:600}.nprev-tag{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint, rgba(255,255,255,.32));margin-bottom:8px}.nprev-stage{background:linear-gradient(155deg,#243862,#172642);border-radius:12px;padding:16px;display:flex;justify-content:center;box-shadow:inset 0 0 0 1px #ffffff0d}.ntoast{width:300px;background:#202024;border:1px solid var(--border-strong);border-radius:9px;display:flex;gap:10px;align-items:flex-start;padding:12px 11px;box-shadow:0 14px 34px #00000073}.ntoast-icon{flex:none;width:42px;height:42px;border-radius:8px;overflow:hidden}.ntoast-icon svg{width:100%;height:100%;display:block}.ntoast-body{flex:1;min-width:0;padding-top:1px}.ntoast-title{font-size:12.5px;font-weight:680;line-height:1.3;color:var(--text)}.ntoast-msg{font-size:12px;color:var(--text-dim);margin-top:3px;line-height:1.35}.ntoast-src{font-size:10.5px;color:var(--text-faint, rgba(255,255,255,.32));margin-top:5px}.ntoast-mac{width:320px;background:#2c2c30e6;backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.12);border-radius:14px;display:flex;gap:11px;align-items:center;padding:10px 14px;box-shadow:0 14px 34px #00000073}.ntoast-mac-icon{flex:none;width:32px;height:32px}.ntoast-mac-icon svg{width:100%;height:100%;display:block}.ntoast-mac-body{flex:1;min-width:0}.ntoast-mac-title{font-size:12.5px;font-weight:680;line-height:1.25;color:#f2f2f4}.ntoast-mac-src{font-size:11px;color:#ffffff8c;margin-top:1px}.ntoast-mac-msg{font-size:11.5px;color:#ffffffc7;margin-top:1px;line-height:1.3}.ntoast-mac-fav{flex:none;width:36px;height:36px;border-radius:8px;overflow:hidden}.ntoast-mac-fav svg{width:100%;height:100%;display:block}.nseg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:4px}.nseg-btn{background:none;border:none;color:var(--text-dim);font-family:inherit;font-size:12.5px;font-weight:600;padding:8px 0;border-radius:7px;cursor:pointer;transition:background .18s ease,color .18s ease;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nseg-btn:hover{color:var(--text)}.nseg-btn.active{background:var(--accent);color:var(--on-accent)}.settings-section>*:first-child,#sec-notify>.settings-status:first-child{margin-top:0}.settings-group-label{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim);opacity:.75;margin:22px 2px 9px}.srow{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:8px}.srow-main{flex:1;min-width:0}.srow-title{font-size:13.5px;font-weight:600}.srow-sub{font-size:12px;color:var(--text-dim);margin-top:3px;line-height:1.45}.srow-ctrl{flex:none;display:flex;align-items:center;gap:10px;max-width:100%}.srow-ctrl .nseg{min-width:0;max-width:100%}.srow-ctrl .nseg-btn{padding:8px 12px}@container settings (max-width: 560px){.srow{flex-direction:column;align-items:stretch;gap:12px}.srow-main{flex:none;width:100%}.srow-ctrl{width:100%;justify-content:flex-end}.srow-ctrl .nseg{max-width:min(100%,380px)}.srow-ctrl .nseg-btn{padding:8px 4px;font-size:12px}}.settings-credits-intro{font-size:13px;color:var(--text-dim);line-height:1.55;margin:4px 0 10px;max-width:620px}.settings-credits-tally{font-size:12px;font-weight:600;color:var(--accent);margin:0 0 8px}.settings-credits-group{margin-top:18px}.settings-credits-genre{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:0 2px 6px}.settings-credits-row{display:flex;align-items:center;gap:12px;padding:9px 12px;border-bottom:1px solid var(--border)}.settings-credits-row:last-child{border-bottom:none}.settings-credits-main{flex:1;min-width:0}.settings-credits-title{display:block;font-size:13px;color:var(--text)}.settings-credits-composer{display:block;font-size:11.5px;color:var(--text-dim);margin-top:1px}.settings-credits-lic{flex:none;font-size:11px;font-weight:600;color:var(--text-dim);background:var(--surface2);border:1px solid var(--border);border-radius:999px;padding:3px 9px;text-decoration:none;white-space:nowrap}a.settings-credits-lic:hover{color:var(--accent);border-color:var(--accent)}.settings-credits-link{display:block;margin:40px auto 4px;background:none;border:none;color:var(--text-faint, rgba(255, 255, 255, .28));font:inherit;font-size:11px;letter-spacing:.02em;cursor:pointer;padding:4px}.settings-credits-link:hover{color:var(--text-dim);text-decoration:underline}.credits-page{position:fixed;inset:0;z-index:1700;background:linear-gradient(165deg,#0e2457,#091a43,#07132e);display:flex;flex-direction:column}.credits-page-bar{flex:none;display:flex;align-items:center;gap:12px;padding:18px 24px;border-bottom:1px solid var(--border)}.credits-page-back{flex:none;width:38px;height:38px;border-radius:999px;background:#ffffff0d;border:1px solid var(--border-strong);color:var(--text-dim);display:flex;align-items:center;justify-content:center;cursor:pointer}.credits-page-back:hover{color:var(--text);border-color:var(--accent)}.credits-page-back svg{width:20px;height:20px}.credits-page-title{font-size:20px;font-weight:700;color:var(--text)}.credits-page-body{flex:1;overflow-y:auto;padding:20px 24px 60px;max-width:820px;width:100%;margin:0 auto}.settings-soon{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border-radius:5px;margin-left:8px;vertical-align:middle;background:#ffffff14;color:var(--text-dim)}.sdanger{background:var(--surface2);border:1px solid rgba(239,68,68,.4);color:#ffb4b4;font:inherit;font-size:12.5px;font-weight:600;padding:8px 14px;border-radius:9px;cursor:pointer;transition:all .18s ease}.sdanger:hover{background:#ef444424;color:#fff;border-color:var(--red, #ef4444)}.sdanger:disabled{opacity:.6;cursor:default}.spv{background:var(--surface2);border:1px dashed var(--border-strong);border-radius:11px;padding:12px;margin-bottom:8px;text-align:center}.spv-tag{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);opacity:.7;margin-bottom:9px;text-align:left}.spv-quote{font-style:italic;color:var(--text-dim);font-size:12.5px;margin-top:6px}.spv-author{color:var(--accent);font-size:11.5px;font-weight:600;margin-top:4px}.spv-select{min-width:190px}.na-interval{display:flex;flex-direction:column;gap:8px}.settings-banner{font-size:11.5px;color:var(--text-dim);background:#ffffff08;border:1px dashed var(--border-strong);border-radius:10px;padding:10px 12px;margin-top:14px;line-height:1.5}.lang-picker{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px 15px;margin-bottom:8px}.lang-lead{font-size:11.5px;line-height:1.5;color:var(--text-dim);margin-bottom:12px}.lang-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}.lang-off{font-size:12px;color:var(--text-dim);font-style:italic}.lang-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 6px 5px 11px;background:#7db4ff1a;border:1px solid rgba(125,180,255,.32);border-radius:999px;font-size:12.5px;line-height:1}.lang-chip-name{font-weight:600;color:var(--text)}.lang-chip-native{color:var(--text-dim);font-size:11.5px}.lang-chip-x{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;padding:0;border:none;border-radius:999px;background:transparent;color:var(--text-dim);font-size:10px;line-height:1;cursor:pointer;transition:background .14s ease,color .14s ease}.lang-chip-x:hover{background:#ffffff24;color:var(--text)}.lang-search{position:relative}.lang-input{width:100%}.lang-results{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:30;max-height:244px;overflow-y:auto;background:var(--surface-2, #0f2352);border:1px solid var(--border-strong);border-radius:11px;box-shadow:0 12px 28px #00000073;padding:5px}.lang-results[hidden]{display:none}.lang-result{display:flex;align-items:baseline;gap:9px;width:100%;padding:8px 10px;background:none;border:none;border-radius:8px;color:var(--text);font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.lang-result:hover{background:#ffffff12}.lang-result-name{font-weight:600}.lang-result-native{color:var(--text-dim);font-size:11.5px}.lang-empty{padding:9px 10px;font-size:12px;color:var(--text-dim)}.srow-child{margin-left:18px;border-left:2px solid var(--border);padding-left:16px}.srow-child[hidden]{display:none}@container settings (max-width: 560px){.srow-child{margin-left:8px;padding-left:8px}}.nlog-page{padding:4px 0 40px}.nlog-head{position:relative;margin-bottom:22px}.nlog-head-text{min-width:0;text-align:center}.nlog-title{font-size:24px;font-weight:700;letter-spacing:-.01em;color:var(--text)}.nlog-desc{font-size:13px;color:var(--text-dim);margin-top:4px}.nlog-clear{position:absolute;top:0;right:0;background:none;border:1px solid var(--border);border-radius:999px;color:var(--text-dim);font-size:12px;font-weight:600;padding:5px 13px;cursor:pointer}.nlog-clear:hover{color:var(--red);border-color:var(--red)}.nlog-day{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--accent);margin:20px 2px 8px}.nlog-head+.nlog-day{margin-top:0}.nlog-row{display:flex;gap:14px;background:#1720368c;border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin-bottom:8px;transition:border-color var(--transition),background var(--transition)}.nlog-row:hover{background:#1c2741b3;border-color:#7db4ff59}.nlog-time{flex:none;width:62px;font-size:12px;font-weight:600;color:var(--text-dim);font-variant-numeric:tabular-nums;padding-top:1px}.nlog-main{flex:1;min-width:0}.nlog-row-title{font-size:14px;font-weight:650;color:var(--text);overflow-wrap:anywhere}.nlog-body{font-size:12.5px;color:var(--text-dim);margin-top:2px;overflow-wrap:anywhere}.nlog-routes{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.nlog-route{flex:none;display:inline-flex;align-items:center;width:auto;max-width:none;font-size:10.5px;font-weight:600;border-radius:999px;padding:2px 8px}.nlog-route.is-popup{color:var(--accent);background:#7db4ff1f;border:1px solid rgba(125,180,255,.35)}.nlog-route.is-email{color:#8cc6ee;background:#4098d724;border:1px solid rgba(64,152,215,.38)}.nlog-empty{text-align:center;padding:56px 20px}.nlog-empty-bell{width:74px;height:74px;margin:0 auto;border-radius:50%;display:grid;place-items:center;font-size:30px;background:radial-gradient(circle,rgba(125,180,255,.16),transparent 70%);opacity:.75}.nlog-empty-title{font-size:16px;font-weight:700;color:var(--text);margin-top:12px}.nlog-empty-sub{font-size:13px;color:var(--text-dim);margin-top:6px}.arch-page{padding:4px 0 40px}.arch-head{position:relative;margin-bottom:22px}.arch-head-text{min-width:0;text-align:center}.arch-title{font-size:24px;font-weight:700;letter-spacing:-.01em;color:var(--text)}.arch-desc{font-size:13px;color:var(--text-dim);margin-top:4px}.arch-clear{position:absolute;top:0;right:0;background:none;border:1px solid var(--border);border-radius:999px;color:var(--text-dim);font-size:12px;font-weight:600;padding:5px 13px;cursor:pointer;transition:color var(--transition),border-color var(--transition),background var(--transition)}.arch-clear:hover{color:var(--red);border-color:var(--red);background:#ef444414}.arch-day{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--accent);margin:20px 2px 8px}.arch-head+.arch-day{margin-top:0}.arch-row{display:flex;align-items:center;gap:14px;background:#1720368c;border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin-bottom:8px;transition:border-color var(--transition),background var(--transition)}.arch-row:hover{background:#1c2741b3;border-color:#7db4ff59}.arch-row.selected{outline:2px solid var(--sel-outline);outline-offset:-2px;background-image:var(--sel-tint)}.arch-time{flex:none;width:62px;font-size:12px;font-weight:600;color:var(--text-dim);font-variant-numeric:tabular-nums}.arch-row .task-title{text-decoration:line-through}.arch-row .course-chip,.arch-row .meta-date{cursor:inherit}.arch-row .task-bottom-row{margin-top:4px}.arch-actions{flex:none;display:flex;flex-direction:column;gap:6px;align-items:stretch}.arch-restore,.arch-delete{background:none;border:1px solid var(--border);border-radius:999px;color:var(--text-dim);font-size:12px;font-weight:600;padding:5px 13px;cursor:pointer;transition:color var(--transition),border-color var(--transition),background var(--transition)}.arch-restore:hover{color:var(--accent);border-color:var(--accent);background:#7db4ff1a}.arch-delete:hover{color:var(--red);border-color:var(--red);background:#ef44441a}.arch-empty{text-align:center;padding:56px 20px}.arch-empty-icon{width:74px;height:74px;margin:0 auto;border-radius:50%;display:grid;place-items:center;font-size:30px;background:radial-gradient(circle,rgba(125,180,255,.16),transparent 70%);opacity:.75}.arch-empty-title{font-size:16px;font-weight:700;color:var(--text);margin-top:12px}.arch-empty-sub{font-size:13px;color:var(--text-dim);margin-top:6px;max-width:460px;margin-left:auto;margin-right:auto}@media (max-width: 560px){.arch-clear{position:static;display:block;margin:12px auto 0}.arch-row{flex-wrap:wrap;align-items:flex-start;row-gap:10px}.arch-time{width:auto;padding-top:1px}.arch-actions{flex-direction:row;flex-basis:100%;justify-content:flex-end}}.bm-page{width:100%}.bm-title{font-size:22px;font-weight:700;letter-spacing:-.01em;margin:0 0 14px}.bm-search-wrap{margin-bottom:14px}.bm-search,.bm-input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text);padding:13px 14px;font-size:15px;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease}.bm-search:focus,.bm-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--gold-glow)}.bm-input.invalid{border-color:var(--red);box-shadow:0 0 0 3px #ef444440}.bm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:12px;margin-bottom:16px}.bm-group-block{grid-column:1 / -1;background:color-mix(in srgb,var(--group-color) 7%,transparent);border:1px solid color-mix(in srgb,var(--group-color) 26%,transparent);border-left:3px solid var(--group-color);border-radius:var(--radius);padding:10px 12px 12px;margin:4px 0}.bm-group-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:12px}.bm-group-head{display:flex;align-items:center;gap:9px;padding:0 2px;margin-bottom:9px}.bm-group-head-dot{flex:none;width:9px;height:9px;border-radius:50%}.bm-group-head-name{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text)}.bm-group-head-count{font-size:11px;font-weight:600;color:var(--text-dim);background:#ffffff0f;border-radius:999px;padding:1px 7px}.bm-group-head-open{margin-left:auto;background:none;border:1px solid var(--border-strong);border-radius:999px;color:var(--text-dim);font-size:11.5px;font-weight:600;padding:3px 11px;transition:color .15s ease,border-color .15s ease,background .15s ease}.bm-group-head-open:hover{color:var(--accent);border-color:var(--accent);background:#7db4ff1a}.bm-group-head-gopen{margin-left:6px;color:#b9a6f2;border-color:#8b5cf68c}.bm-group-head-gopen:hover{color:#fff;border-color:#8b5cf6;background:#8b5cf62e}.bm-empty{grid-column:1 / -1;text-align:center;color:var(--text-dim);font-size:13px;padding:28px 0}.bm-card{position:relative;display:flex;align-items:stretch;min-height:92px;background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;text-decoration:none;transition:border-color var(--transition),transform var(--transition)}.bm-card-handle{flex:none;align-self:stretch;display:flex;align-items:center;color:var(--text-dim);font-size:16px;line-height:1;letter-spacing:-2px;cursor:grab;opacity:.5;padding:0 6px 0 8px}.bm-card-handle:hover{opacity:1}.bm-card-handle:active{cursor:grabbing}.bm-card.dragging{opacity:.5}.bm-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.bm-card-icon{flex:none;width:76px;display:flex;align-items:center;justify-content:center;background:#ffffff0a;font-size:28px}.bm-card-icon img{width:44px;height:44px;object-fit:contain;pointer-events:none}.bm-card-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:8px 12px}.bm-card-name{font-size:14px;font-weight:600;color:var(--text);min-width:0;white-space:normal;overflow-wrap:anywhere}.bm-card-host{font-size:11px;color:var(--text-dim);min-width:0;white-space:normal;overflow-wrap:anywhere}.bm-card-btns{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:8px;min-width:0}.bm-chip-btn{font-size:11px;font-weight:600;color:var(--text-dim);background:#ffffff0d;border:1px solid var(--border);border-radius:999px;padding:3px 10px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;transition:background .2s ease,color .2s ease,border-color .2s ease}.bm-chip-btn:hover{color:var(--text);border-color:var(--border-strong);background:#ffffff1a}.bm-chip-btn.bm-chip-kbd{color:var(--accent);background:#7db4ff1f;border-color:#7db4ff59;font-weight:700;letter-spacing:.3px}.bm-chip-btn.bm-chip-group{color:var(--chip-color, var(--accent));border-color:var(--chip-color, var(--border-strong));background:#ffffff0a}.bm-group-list{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.bm-group-row{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:8px 10px;color:var(--text);font-size:13px}.bm-group-row:hover{border-color:var(--border-strong)}.bm-group-dot{flex:none;width:12px;height:12px;border-radius:50%}.bm-group-dot.none{background:transparent;border:1.5px solid var(--border-strong)}.bm-group-row-name{flex:1}.bm-group-check{color:var(--accent);font-weight:700}.bm-group-pencil{flex:none;color:var(--text-dim);font-size:13px;line-height:1;padding:0 3px;cursor:pointer}.bm-group-pencil:hover{color:var(--text)}.bm-group-x{flex:none;color:var(--text-dim);font-size:15px;line-height:1;padding:0 3px;cursor:pointer}.bm-group-x:hover{color:var(--red)}.bm-group-color{flex:none;width:36px;height:34px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);padding:2px;cursor:pointer}.bm-card-actions{position:absolute;top:6px;right:6px;display:none;gap:4px}.bm-card:hover .bm-card-actions{display:flex}.bm-icon-btn{width:20px;height:20px;border-radius:6px;border:none;background:#ffffff1a;color:var(--text);font-size:11px;line-height:1;display:flex;align-items:center;justify-content:center}.bm-icon-btn:hover{background:#fff3}.bm-icon-danger:hover{background:var(--red-tint);color:var(--red)}.bm-add-wrap{text-align:center}.bm-add-btn{padding:9px 22px;border:1px dashed var(--border-strong);border-radius:10px;background:transparent;color:var(--text-dim);font-size:13px;font-weight:600}.bm-add-btn:hover{border-color:var(--accent);color:var(--accent)}.bm-backdrop{position:fixed;inset:0;z-index:1000;background:var(--scrim-dim);animation:scrim-in var(--scrim-dur) var(--scrim-ease) both;display:flex;align-items:center;justify-content:center;padding:20px}.bm-modal{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border-strong);border-radius:16px;padding:20px;box-shadow:0 16px 48px #00000080}.bm-modal-sm{max-width:360px}.bm-modal-title{margin:0 0 14px;font-size:16px;font-weight:700}.bm-modal-label{font-size:11px;color:var(--text-dim);font-weight:600;margin:10px 0 4px}.bm-modal-iconrow{display:flex;align-items:center;gap:8px}.bm-modal-iconprev{width:40px;height:40px;flex:none;border-radius:8px;font-size:18px}.bm-modal-iconprev img{width:26px;height:26px;object-fit:contain}.bm-mini-input{flex:1;font-size:13px;padding:8px 10px;border-radius:8px}.bm-mini-btn{padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text-dim);font-size:11px;font-weight:600;white-space:nowrap}.bm-mini-btn:hover{color:var(--text);border-color:var(--border-strong)}.bm-modal-hint{font-size:11px;color:var(--text-dim);margin-top:6px;line-height:1.4}.bm-modal-footer{display:flex;align-items:center;gap:8px;margin-top:18px}.bm-modal-spacer{flex:1}.bm-btn{padding:8px 16px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-dim);font-size:13px;font-weight:600}.bm-btn:hover{color:var(--text);border-color:var(--border-strong)}.bm-btn-primary{background:var(--accent);color:var(--on-accent);border:none;font-weight:700}.bm-btn-primary:hover{color:var(--on-accent);filter:brightness(1.06)}.bm-btn-primary:disabled{opacity:.45;cursor:not-allowed;filter:none}.bm-btn-danger{color:var(--red);border-color:#ef444466}.bm-btn-danger:hover{background:#ef4444d9;color:#fff;border-color:transparent}.bm-keys-premium{margin:4px 0 2px}.bm-keys-box{display:flex;align-items:center;justify-content:center;min-height:56px;padding:12px 16px;border:1.5px dashed var(--border-strong);border-radius:12px;background:var(--surface2);color:var(--text-dim);font-size:15px;font-weight:600;letter-spacing:.5px;text-align:center;user-select:none;outline:none;transition:border-color .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}.bm-keys-box:hover{border-color:var(--accent);color:var(--text)}.bm-keys-box.is-focused{border-style:solid;border-color:var(--accent);background:#7db4ff0f;color:var(--text);box-shadow:0 0 0 3px var(--gold-glow)}.bm-keys-box.is-valid{border-style:solid;border-color:var(--accent);background:#7db4ff1f;color:var(--accent);letter-spacing:.8px}.bm-keys-box.is-invalid{border-style:solid;border-color:var(--red);background:#ef444414;color:var(--red)}.bm-keys-text{pointer-events:none}.bm-keys-error{min-height:16px;margin:8px 2px 0;font-size:11px;font-weight:600;line-height:1.4;color:var(--red)}.bm-keys-error.is-ok{color:var(--green)}.bm-install-wrap{margin:12px 0 4px}.bm-install-banner{border:1px solid rgba(125,180,255,.35);background:#7db4ff14;border-radius:12px;padding:12px 14px}.bm-install-title{font-size:12px;font-weight:700;color:var(--accent);margin-bottom:4px}.bm-install-body{font-size:11px;color:var(--text);line-height:1.45}.bm-install-actions{display:flex;gap:8px;margin:10px 0 8px}.bm-install-actions .bm-btn{padding:6px 12px;font-size:12px}.bm-install-note{font-size:10.5px;color:var(--text-dim);line-height:1.4}.bm-install-connected{display:flex;align-items:center;gap:8px;border:1px solid rgba(39,174,96,.35);background:#27ae601a;border-radius:12px;padding:10px 14px;font-size:11.5px;font-weight:600;color:var(--text);line-height:1.4}.bm-install-dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px #27ae6033}.bm-card.selected{outline:2px solid var(--sel-outline);outline-offset:-2px;background-image:var(--sel-tint)}.bm-card.bm-selecting{cursor:default}.bm-chip-btn.bm-chip-off{opacity:.38;cursor:not-allowed;filter:grayscale(1)}.bm-chip-btn.bm-chip-off:hover{background:inherit;border-color:inherit;color:inherit}.bm-modal-note{font-size:12px;line-height:1.5;color:var(--text-dim);margin:-4px 0 10px;max-height:96px;overflow-y:auto}.landing{position:relative;width:100%;min-height:100vh;overflow-x:clip;color:var(--text);margin-top:-70px}.lp-nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px max(22px,calc((100% - 1360px)/2 + 22px));background:#09132ec7;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.lp-nav-brand{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center}.lp-nav .ws-mark{font-size:22px}.lp-nav-links{display:flex;gap:2px;position:absolute;left:50%;transform:translate(-50%)}.lp-nav-link{background:none;border:none;color:var(--text-dim);font:inherit;font-size:13px;font-weight:600;padding:7px 11px;border-radius:999px;cursor:pointer;transition:background .16s ease,color .16s ease}.lp-nav-link:hover{color:var(--text);background:#ffffff0f}.lp-nav-link.active{color:var(--accent)}.lp-nav-actions{display:flex;align-items:center;gap:14px}.lp-nav-login{background:none;border:none;color:var(--text-dim);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.lp-nav-login:hover{color:var(--text)}.lp-nav-cta{background:var(--accent);color:var(--on-accent);border:none;border-radius:999px;font-weight:700;font-size:13px;padding:8px 18px;cursor:pointer;transition:filter .16s ease}.lp-nav-cta:hover{filter:brightness(1.08)}.landing section[id],.landing [id=video]{scroll-margin-top:72px}@media (max-width: 1080px){.lp-nav-links{display:none}}.lp-glow{position:fixed;top:-22vh;left:50%;width:70vw;height:70vw;max-width:900px;max-height:900px;transform:translate(-50%);background:radial-gradient(circle,#7db4ff29,#7db4ff00 62%);pointer-events:none;z-index:0;animation:lp-drift 16s ease-in-out infinite alternate}@keyframes lp-drift{0%{transform:translate(-54%) translateY(0) scale(1)}to{transform:translate(-46%) translateY(4vh) scale(1.08)}}.landing.reveal-on .lp-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.landing.reveal-on .lp-reveal.in{opacity:1;transform:none}.lp-hero{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 24px}.lp-hero-top{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:70px;width:100%}.lp-hero-inner{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:780px;transform:translateY(-47px)}.lp-stage-glow{width:100%;max-width:1360px;margin-top:-250px;padding-bottom:96px}@media (max-height: 900px){.lp-stage-glow{margin-top:-170px}}@media (max-height: 780px){.lp-stage-glow{margin-top:-90px}}@media (max-height: 660px){.lp-stage-glow{margin-top:0}}.lp-stage-glow .lp-frame.lp-demoshell{border:5px solid transparent;border-radius:24px;background:linear-gradient(#0c1b43,#0c1b43) padding-box,linear-gradient(130deg,#7db4ffd9,#8b5cf673 30%,#7db4ff1f 55%,#3d7fe8b3 85%,#7db4ffd9) border-box;background-size:auto,220% 220%;animation:lp-stage-drift 9s ease-in-out infinite alternate;box-shadow:0 30px 110px #3d7fe838,0 8px 34px #00000080}@keyframes lp-stage-drift{0%{background-position:0 0,0% 0%}to{background-position:0 0,100% 100%}}@media (prefers-reduced-motion: reduce){.lp-stage-glow .lp-frame.lp-demoshell{animation:none}}.lp-hero-title{margin:0 0 -1px;font-size:clamp(40px,5.4vw,60px);font-weight:700;letter-spacing:-.02em;line-height:1.1}.lp-hero-accent{color:var(--accent)}.lp-tagline{margin:18px 0 22px;font-size:clamp(15px,2vw,18px);font-weight:500;color:#ffffffd1;max-width:52ch;line-height:1.5}.lp-hero-actions{display:flex;align-items:center;gap:12px;margin-top:20px}.lp-hero-actions .lp-cta{margin-top:0}.lp-cta-ghost{background:#ffffff0a;color:var(--text);border:1px solid var(--border-strong);border-radius:999px;font-weight:700;font-size:16px;padding:15px 30px;cursor:pointer;transition:background .18s ease,border-color .18s ease}.lp-cta-ghost:hover{background:#ffffff17;border-color:#ffffff4d}.lp-cta{position:relative;overflow:hidden;margin-top:30px;background:var(--accent);color:var(--on-accent);border:none;border-radius:999px;font-weight:700;font-size:17px;padding:15px 42px;cursor:pointer;box-shadow:0 10px 30px #7db4ff52;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.lp-cta:hover{transform:translateY(-2px);background:#a3caff;box-shadow:0 14px 38px #7db4ff80,0 0 var(--glow-blur) var(--glow-spread) rgba(var(--glow-rgb),var(--glow-alpha))}.lp-cta:after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:38%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);transform:skew(-20deg);pointer-events:none;opacity:0}.lp-cta:hover:after{animation:lp-cta-sweep .72s ease-out}@keyframes lp-cta-sweep{0%{left:-60%;opacity:1}to{left:130%;opacity:1}}@media (prefers-reduced-motion: reduce){.lp-cta:hover:after{animation:none}.lp-glow{animation:none}}.lp-cta:active{transform:translateY(0)}.lp-cta-sub{margin:14px 0 0;font-size:13px;color:var(--text-dim)}html[data-kbd] .landing :is(button,a):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lp-hero-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:26px;width:100%}.lp-hero-chip{font-size:12.5px;color:#ffffffc7;padding:7px 13px;border:1px solid var(--border);border-radius:999px;background:#ffffff0a}.lp-hero-stage{min-width:0;width:100%;aspect-ratio:1280 / 780;max-width:1280px;margin-inline:auto}.lp-frame.lp-demoshell{width:1280px;height:780px;display:flex;flex-direction:column;transform:translateZ(0)}.lp-demoshell-body{position:relative;flex:1;min-height:0;overflow:hidden;text-align:left;background:linear-gradient(165deg,#0e2457,#091a43,#07132e);--header-h: 64px}.lp-demoshell-body .app-header{position:absolute;top:0;left:0;right:0;padding:0 18px}.lp-demoshell-body .app-header .ws-mark{font-size:24px}.lp-demoshell-body .app-below{position:absolute;inset:var(--header-h) 0 0 0;overflow:hidden}.lp-demoshell-body .ws-sidebar{position:absolute;top:0;bottom:0;width:200px}.lp-demoshell-body .ws-scrim{position:absolute;inset:0}.lp-demoshell-body .app{max-width:none;height:100%;overflow-y:auto;overflow-x:hidden;padding:0 26px 28px}.lp-demoshell-body .tab-panel{padding-top:18px}.lp-demoshell-body .lp-hover{filter:brightness(1.13)}.lp-demoshell-body .dash{gap:12px}.lp-demoshell-body :is(.focus-overlay,.focus-min-btn,.focus-modal-back,.focus-songwin-backdrop,.focus-music-panel,.focus-music-menu,.focus-widget,.popup-backdrop,.bm-backdrop,.row-menu-back,.toast,.selbar,.cal-pop){position:absolute}.lp-demoshell-body .focus-overlay{justify-content:safe center}.lp-demoshell-body .focus-widget .focus-music-panel{position:static}.lp-demoshell-body .lp-pip-window{position:absolute;right:18px;bottom:18px;z-index:2000;width:440px;max-height:calc(100% - 36px);display:flex;flex-direction:column;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(165deg,#0e2457,#091a43 55%,#07132e);box-shadow:0 18px 48px #0009,0 0 0 1px #00000080;overflow:hidden}.lp-pip-titlebar{flex:none;display:flex;align-items:center;gap:10px;height:34px;padding:0 12px;background:#0b1633;border-bottom:1px solid rgba(255,255,255,.07);color:#ffffffe0;font-size:13px;font-weight:500;user-select:none}.lp-pip-info,.lp-pip-back,.lp-pip-x{display:inline-flex;color:#ffffffd1}.lp-pip-info svg,.lp-pip-back svg,.lp-pip-x svg{display:block}.lp-pip-spacer{flex:1}.lp-pip-x{margin-left:2px}.lp-demoshell-body .lp-pip-window .focus-widget{position:static;width:100%;max-height:none;flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;justify-content:flex-start;padding-top:30px}.lp-demoshell-body .lp-pip-window .focus-widget::-webkit-scrollbar{display:none}.lp-demoshell-body .lp-pip-window .focus-widget .focus-task-panel{max-height:420px}.lp-demoshell-body .lp-pip-window .focus-widget .focus-task-panel:has(>.focus-import-panel.open){max-height:560px}.lp-demoshell-body .focus-task-panel{max-height:430px}.lp-demoshell-body .focus-music-menu{max-height:380px}.lp-demoshell-body .focus-songwin{max-height:430px}.lp-demoshell-body .focus-widget{max-height:430px;width:320px}.lp-demoshell-body .focus-widget .focus-task-panel{max-height:180px}.lp-demoshell-body .focus-import-body{max-height:190px}.lp-demoshell-body .cal-cell{min-height:64px}.lp-demoshell-body .popup{max-height:560px}.lp-demoshell-body .task-details-text{max-height:380px}.lp-demoshell-body .focus-stage{grid-template-columns:minmax(0,1fr) minmax(360px,440px);max-width:1100px;gap:60px;align-items:center}.lp-demoshell-body .lp-drag-ghost{position:absolute;top:0;left:0;opacity:.7;pointer-events:none;z-index:5001}.lp-demoshell-soon{min-height:200px}.lp-frame.lp-demoshell .tasks-header{display:flex}.lp-frame.lp-demoshell .quick-add,.lp-frame.lp-demoshell .bm-add-wrap{display:block}.lp-hero-stage{pointer-events:none}.lp-fit{position:relative}.lp-demo-cursor{position:absolute;top:0;left:0;z-index:3000;pointer-events:none;filter:drop-shadow(0 2px 5px rgba(0,0,0,.5))}.lp-demo-cursor svg{display:block;transition:transform .1s ease}.lp-demo-cursor.pressed svg{transform:scale(.85);transform-origin:6px 4px}.lp-section{position:relative;z-index:1;max-width:1360px;margin:0 auto;padding:78px 22px;text-align:center}.lp-h2{font-size:clamp(26px,4vw,38px);font-weight:700;margin:0 0 8px;letter-spacing:-.01em}.lp-h2-left{text-align:left;margin-bottom:14px}.lp-sub{margin:0 0 30px;color:var(--text-dim);font-size:15px}.lp-lead{margin:0;color:#ffffffbd;font-size:15px;line-height:1.6}.lp-split{display:grid;grid-template-columns:620px 1fr;gap:44px;align-items:center;text-align:left}.lp-split-reverse{grid-template-columns:1fr 620px}.lp-split-text{min-width:0}.lp-features .lp-split{align-items:start}.lp-features .lp-split-text{padding-top:166px}.lp-split-title{font-size:22px;font-weight:700;margin:0 0 10px}.lp-split-text .lp-lead{margin-bottom:16px}.lp-fit{width:100%;min-width:0;display:flex;justify-content:center}.lp-fit>*{flex:none;transform-origin:top center}.lp-frame{width:620px;height:560px;display:flex;flex-direction:column;background:#0c1b43;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 24px 60px #00000073}.lp-frame-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:14px;position:relative}.lp-frame-body .popup-backdrop,.lp-frame-body .bm-backdrop,.lp-frame-body .focus-modal-back{position:absolute}.lp-frame-body .toast{position:absolute;bottom:14px;max-width:calc(100% - 20px)}.lp-frame-body.lp-frame-static{overflow:hidden;pointer-events:none}.lp-frame-body.loading .lp-tabpanel{visibility:hidden}.lp-frame-loading{display:none;position:absolute;inset:0;align-items:center;justify-content:center;color:var(--text-dim);font-size:14px}.lp-frame-body.loading .lp-frame-loading{display:flex}.lp-frame-err{padding:28px;text-align:center;color:var(--text-dim)}.lp-tabpanel{min-height:0}.lp-how .lp-frame{height:600px}.lp-frame .tasks-header{display:none}.lp-frame .dash-refresh-btn{pointer-events:none}.lp-frame .quick-add,.lp-frame .bm-add-wrap{display:none}.lp-frame-body .bm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-frame-body .bm-card-btns .bm-chip-btn:nth-child(2){display:none}.lp-frame-body .task-list{margin-top:4px}.lp-frame-body .task-list{padding-bottom:0}.lp-frame-body .dash{padding:0}.lp-how .lp-frame-body{padding-top:22px;padding-bottom:8px}.lp-demo-frame{width:100%;max-width:1280px;margin:0 auto;background:#0c1b43;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 24px 60px #00000073}.lp-demo-body{position:relative;aspect-ratio:16 / 9;background:radial-gradient(circle at 50% 40%,rgba(125,180,255,.1),transparent 60%),#0a1636}.lp-demo-video{position:absolute;inset:0;width:100%;height:100%}.lp-demo-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;text-align:center}.lp-demo-play{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--accent);background:#7db4ff1a;border:1px solid rgba(125,180,255,.4)}.lp-demo-ph-title{font-size:16px;font-weight:700;color:var(--text)}.lp-demo-ph-sub{font-size:13px;color:var(--text-dim);max-width:38ch;line-height:1.5}.lp-tabs{display:inline-flex;gap:8px;background:#ffffff0a;border:2px solid var(--border);border-radius:999px;padding:6px;margin-bottom:34px}.lp-tab{display:inline-flex;align-items:center;gap:7px;background:none;border:none;color:var(--text-dim);font-weight:600;font-size:14px;padding:9px 18px;border-radius:999px;cursor:pointer;transition:background .2s ease,color .2s ease}.lp-tab:hover{color:var(--text)}.lp-tab.active{background:var(--accent);color:var(--on-accent)}.lp-tab-emoji{font-size:15px}.lp-bullets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.lp-bullets li{display:flex;align-items:center;gap:9px;font-size:13.5px;color:#ffffffd1}.lp-check{flex:none;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;background:#7db4ff29;color:var(--accent);border-radius:50%;font-size:11px;font-weight:700}.lp-frame-body{display:flex;flex-direction:column}.lp-frame-body .lp-tabpanel{flex:none}.lp-frame-body .lp-tabpanel:has(.lpf){flex:1 1 0;min-height:0;display:flex;flex-direction:column}.lpf{flex:1;display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 4px 0;position:relative}.lpf-min{position:absolute;top:2px;left:2px;width:26px;height:26px;border-radius:999px;background:#ffffff0d;border:1px solid var(--border);color:var(--text-dim);display:flex;align-items:center;justify-content:center;cursor:pointer}.lpf-min:hover{background:#ffffff1f;color:var(--text)}.lpf-min:active{transform:scale(.92)}.lpf-min svg{width:14px;height:14px}.lpf.mini .lpf-quote,.lpf.mini .lpf-endtime,.lpf.mini .lpf-extend{display:none}.lpf.mini .lpf-ring,.lpf.mini .lpf-ring svg{width:130px;height:130px}.lpf.mini .lpf-time{font-size:27px}.lpf-music{position:absolute;right:10px;bottom:8px;display:flex;flex-direction:column;align-items:center;gap:4px}.lpf-music-cap{font-size:8.5px;font-weight:700;letter-spacing:.16em;color:var(--text-dim)}.lpf-music-bar{display:flex;align-items:center;gap:6px}.lpf-music-ctrl{width:26px;height:26px;border-radius:999px;background:#ffffff0f;border:none;color:var(--text);font-size:11px;cursor:pointer}.lpf-music-ctrl:hover{background:#ffffff24}.lpf-music-ctrl:active{transform:scale(.9)}.lpf-music-ctrl.play{background:var(--accent);color:var(--on-accent)}.lpf-import-panel{display:flex;flex-direction:column;gap:6px}.lpf-import-search{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:7px 10px;font-size:12.5px;font-family:inherit}.lpf-import-search:focus{outline:none;border-color:var(--accent)}.lpf-import-search::placeholder{color:var(--text-dim)}.lpf-import-item{display:flex;align-items:center;gap:7px;text-align:left;background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:6px 10px;font-size:12px;cursor:pointer}.lpf-import-item:hover{border-color:var(--accent)}.lpf-import-plus{color:var(--accent);font-weight:700}.lpf-import-empty{color:var(--text-dim);font-size:11.5px;text-align:center;padding:2px 0}.lpf-stage{flex:1;align-items:center}.lpf-left{justify-content:center}.lpf-quote{width:100%;font-size:12px;font-weight:700;letter-spacing:.2em;text-align:center;color:var(--text-dim)}.lpf-stage{display:grid;grid-template-columns:minmax(0,1fr) 238px;gap:14px;width:100%}.lpf-left{display:flex;flex-direction:column;align-items:center;gap:8px}.lpf-ring{position:relative;width:200px;height:200px}.lpf-ring svg{width:200px;height:200px;filter:drop-shadow(0 0 10px var(--gold-glow))}.lpf-ring-fg{transition:stroke-dashoffset .25s linear}.lpf-time{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:700;font-variant-numeric:tabular-nums;color:#fff}.lpf.paused .lpf-time{opacity:.55}.lpf-endtime{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim)}.lpf-controls{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.lpf-ctrl{background:var(--surface);border:2px solid var(--border-strong);color:var(--text);border-radius:999px;padding:8px 16px;font-weight:600;font-size:12px;cursor:pointer}.lpf-ctrl:hover{border-color:var(--accent)}.lpf-ctrl.primary{color:var(--accent);border-color:#7db4ff80}.lpf-ctrl.primary:hover{background:#7db4ff1f}.lpf-ctrl.danger{color:#e04545;border-color:#e0454566}.lpf-ctrl.danger:hover{background:#e045451f;border-color:#e04545}.lpf-extend{display:flex;flex-direction:column;gap:7px;width:100%;max-width:216px}.lpf-extend-row{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.lpf-extend-btn{background:var(--surface);border:2px solid var(--border-strong);color:var(--text);border-radius:9px;padding:7px 0;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer}.lpf-extend-btn.custom{font-size:11px}.lpf-extend-row.add .lpf-extend-btn{color:var(--accent);border-color:#7db4ff59}.lpf-extend-row.add .lpf-extend-btn:hover{background:#7db4ff1f;border-color:var(--accent)}.lpf-extend-row.trim .lpf-extend-btn{color:#e04545;border-color:#e0454552}.lpf-extend-row.trim .lpf-extend-btn:hover{background:#e045451f;border-color:#e04545}.lpf-panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:9px;min-width:0}.lpf-panel-head{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.lpf-add{display:flex;gap:6px}.lpf-add-input{flex:1;min-width:0;background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:7px 10px;font-size:12.5px}.lpf-add-input:focus{outline:none;border-color:var(--accent)}.lpf-add-btn{flex:none;width:34px;background:var(--accent);border:none;border-radius:9px;color:var(--on-accent);font-size:16px;font-weight:700;cursor:pointer}.lpf-import{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:10px;color:var(--text-dim);padding:9px 12px;font-size:12.5px;font-weight:700;letter-spacing:.02em}.lpf-todos{width:100%;display:flex;flex-direction:column;gap:7px}.lpf-todo{display:flex;align-items:center;gap:8px;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:6px 10px;cursor:pointer;font-size:13px}.lpf-todo:hover{border-color:var(--border-strong)}.lpf-todo.done{color:var(--text-dim)}.lpf-todo.done .lpf-todo-label{text-decoration:line-through}.lpf-todo-handle{flex:none;color:var(--text-dim);font-size:12px;line-height:1;letter-spacing:-2px;opacity:.5}.lpf-todo-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.lpf-todo-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lpf-todo-course{font-size:11px;font-weight:600}.lpf-todo-course.empty{align-self:flex-start;color:var(--text-dim);border:1px dashed var(--border-strong);border-radius:999px;padding:1px 8px;font-size:10.5px}.lp-cloud{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 24px;max-width:1050px;margin:10px auto 0;line-height:1.05}.lp-cloud-word{font-weight:700;letter-spacing:-.01em;padding:0 4px;white-space:nowrap;cursor:default;transition:transform .15s ease,filter .15s ease}.lp-cloud-word:hover{filter:brightness(1.25);transform:scale(1.07)}.lp-cloud-word.w5{font-size:clamp(34px,6vw,62px)}.lp-cloud-word.w4{font-size:clamp(23px,4vw,38px)}.lp-cloud-word.w3{font-size:clamp(17px,2.6vw,25px)}.lp-cloud-word.w2{font-size:clamp(13px,1.8vw,17px)}.lp-caps-caption{margin:34px auto 0;max-width:42ch;font-size:16px;color:#fffc;line-height:1.5}.lp-caps-emph{color:var(--accent);font-weight:700}.lp-setups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:6px auto 0;text-align:left}.lp-setup-card{background:#0c1b43;border:1px solid var(--border);border-radius:16px;padding:14px;box-shadow:0 18px 44px #00000059}.lp-setup-body{pointer-events:none}.lp-setup-body .task-item{padding:9px 8px 9px 13px;gap:8px;margin-bottom:7px}.lp-setup-body .task-item:last-child{margin-bottom:0}.lp-setup-body .task-title{font-size:13px}.lp-setup-body .task-translation{font-size:11.5px;margin-top:2px}.lp-setup-body .task-cb{width:18px;height:18px;border-radius:6px}.lp-setup-body .task-meta{font-size:11px}.lp-setup-body .task-meta-wrap{flex:1 1 0;min-width:0;flex-wrap:wrap;row-gap:3px}.lp-setup-body .task-bottom-row{flex-wrap:wrap;row-gap:3px;margin-top:5px}.lp-setup-body .task-actions{gap:2px}.lp-setup-body .task-actions button{font-size:11.5px;padding:3px}.lp-setup-body .task-actions svg{width:12px;height:12px}.lp-setup-body .task-actions .act-sep{padding:0 3px}.lp-setup-body .task-group-header{margin:10px 2px 6px;font-size:10.5px}.lp-setup-body .task-group-header:first-child{margin-top:0}.lp-setup-body .task-folders-label{margin:0 0 6px;font-size:10px}.lp-setup-body .task-folder-head{padding:8px 10px;gap:8px}.lp-setup-body .task-folder-name{font-size:12.5px}.lp-setup-body .task-folder-count{font-size:10.5px}.lp-setup-body .task-folder-ico{width:15px;height:15px}.lp-setup-body .task-folder-handle{font-size:13px}.lp-setup-body .task-folder-body{padding:8px 4px 4px}.lp-setup-body .task-test-badge{font-size:9.5px;padding:1px 4px}@media (max-width: 980px){.lp-setups{grid-template-columns:1fr;max-width:520px}}.lp-vs{max-width:1030px;margin:0 auto;text-align:left;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#ffffff05}.lp-vs-row{display:grid;grid-template-columns:1fr 1fr}.lp-vs-row+.lp-vs-row .lp-vs-cell{border-top:1px solid var(--border)}.lp-vs-row:not(.lp-vs-headrow):hover .lp-vs-cell{background:#ffffff08}.lp-vs-row:not(.lp-vs-headrow):hover .lp-vs-hi{background:#7db4ff1f}.lp-vs-cell{padding:13px 16px;display:flex;align-items:center;gap:10px;font-size:13.5px;transition:background .15s ease}.lp-vs-head{font-weight:700;color:var(--text-dim);font-size:14px}.lp-vs-headrow .lp-vs-cell{border-top:none}.lp-vs-head.cobalt{background:#7db4ff1a}.lp-vs-head.cobalt .ws-mark{font-size:17px}.lp-vs-hi{background:#7db4ff12;border-left:1px solid rgba(125,180,255,.25)}.lp-vs-yes{flex:none}.lp-vs-no{flex:none;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff0d;color:#ffffff59;font-size:11px}.lp-vs-note{color:#ffffffc7;line-height:1.4}.lp-vs-hi .lp-vs-note{color:var(--text)}.lp-vs-foot{max-width:1030px;margin:14px auto 0;font-size:12.5px;color:var(--text-dim)}.lp-closer{padding-top:30px}.lp-closer .lp-cta{margin-top:4px}.lp-closer-privacy{margin:18px auto 0;max-width:52ch;font-size:12.5px;color:var(--text-dim)}@media (max-width: 640px){.lp-vs-cell{padding:10px;font-size:12px;gap:7px}.lp-vs-no,.lp-vs-yes{width:15px;height:15px;font-size:9px}}.lp-footer{position:relative;z-index:1;padding:34px 22px 44px}.lp-footer-top{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;max-width:1360px;margin:0 auto}.lp-footer-mark{display:flex;align-items:center}.lp-footer-mark .ws-mark{font-size:18px}.lp-footer-links{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.lp-footer-link{background:none;border:none;color:var(--text-dim);font:inherit;font-size:12.5px;font-weight:600;padding:6px 10px;border-radius:999px;cursor:pointer}.lp-footer-link:hover{color:var(--text);background:#ffffff0f}.lp-footer-actions{display:flex;align-items:center;gap:12px}.lp-footer-login{background:none;border:none;color:var(--text-dim);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}.lp-footer-login:hover{color:var(--text)}.lp-footer-cta{background:var(--accent);color:var(--on-accent);border:none;border-radius:999px;font-weight:700;font-size:12.5px;padding:7px 16px;cursor:pointer}.lp-footer-rule{height:1px;background:var(--border);max-width:1360px;margin:22px auto}.lp-footer-base{text-align:center;font-size:12.5px;color:var(--text-dim)}@media (max-width: 980px){.lp-split,.lp-split-reverse{grid-template-columns:1fr;gap:26px;justify-items:center}.lp-split-text{order:-1;text-align:center}.lp-features .lp-split-text{padding-top:0}.lp-split-text .lp-bullets li{justify-content:center}.lp-h2-left{text-align:center}}@media (max-width: 700px){.lp-footer-top{flex-direction:column;text-align:center}}@media (max-width: 560px){.lp-section{padding:60px 16px}}.lp-fn{padding-top:52px;padding-bottom:52px;margin-top:-20px}.lp-fn-title{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--text-dim)}.lp-fn-viewport{overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)}.lp-fn-track{display:flex;gap:18px;width:max-content;animation:lp-fn-scroll var(--lp-fn-dur, 34s) linear infinite}.lp-fn-viewport:hover .lp-fn-track{animation-play-state:paused}.lp-fn-set{display:flex;gap:18px}@keyframes lp-fn-scroll{0%{transform:translate(0)}to{transform:translate(calc(-1 * var(--lp-fn-shift, 50%)))}}.lp-fn-item{flex:none;display:flex;align-items:center;gap:12px;padding:15px 26px;border:1px solid var(--border);border-radius:999px;background:#ffffff0a;font-size:18px;font-weight:600;color:#ffffffdb;white-space:nowrap}.lp-fn-ico{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;font-size:21px;line-height:1}.lp-fn-ico svg{display:block;width:20px;height:20px}@media (prefers-reduced-motion: reduce){.lp-fn-track{animation:none;width:100%;flex-wrap:wrap;justify-content:center}.lp-fn-set{flex-wrap:wrap;justify-content:center}.lp-fn-set[aria-hidden=true]{display:none}}.lp-final{padding-top:20px}.lp-final-card{max-width:760px;margin:0 auto;padding:54px 32px 58px;text-align:center;border:1px solid var(--border);border-radius:24px;background:radial-gradient(120% 140% at 50% 0%,rgba(61,127,232,.18),transparent 62%),#ffffff08}.lp-final-title{margin:0;font-size:clamp(28px,3.6vw,40px);font-weight:700;letter-spacing:-.02em;line-height:1.15}.lp-final-sub{margin:14px auto 0;max-width:46ch;font-size:clamp(14px,1.8vw,16.5px);line-height:1.55;color:#ffffffc2}.lp-final-actions{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:30px;flex-wrap:wrap}.lp-final-actions .lp-cta{margin-top:0}.auth-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;overflow-y:auto;background:linear-gradient(165deg,#0e2457,#091a43,#07132e);animation:auth-fade .18s ease}@keyframes auth-fade{0%{opacity:0}to{opacity:1}}.auth-card{position:relative;width:100%;max-width:360px;margin:auto;display:flex;flex-direction:column;text-align:center;animation:auth-rise .28s cubic-bezier(.22,1,.36,1)}@keyframes auth-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.auth-close{position:fixed;top:16px;right:18px;width:34px;height:34px;display:grid;place-items:center;background:#ffffff0d;border:1px solid var(--border);border-radius:10px;color:var(--text-dim);font-size:15px;cursor:pointer}.auth-close:hover{background:#ffffff1a;color:var(--text)}.auth-logo{width:96px;height:96px;margin:0 auto 20px;display:block;filter:drop-shadow(0 12px 28px rgba(0,0,0,.45))}.auth-title{margin:0 0 8px;font-size:25px;font-weight:700;letter-spacing:-.015em;color:#fff}.auth-sub{margin:0 0 28px;font-size:13.5px;color:var(--text-dim)}.auth-google{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:#fff;color:#1a1a1a;border:none;border-radius:999px;padding:15px 18px;font-size:14.5px;font-weight:700;font-family:inherit;cursor:pointer}.auth-google:hover:not(:disabled){filter:brightness(.94)}.auth-hint{margin:10px 2px 0;font-size:11.5px;line-height:1.5;color:var(--text-dim)}.auth-google:disabled{opacity:.6;cursor:default}.auth-google-ico{position:absolute;left:18px;display:inline-flex;line-height:0}.auth-or{display:flex;align-items:center;gap:14px;margin:22px 0;color:#ffffff57;font-size:12px}.auth-or:before,.auth-or:after{content:"";flex:1;height:1px;background:var(--border-strong)}.auth-form{display:flex;flex-direction:column}.auth-input{width:100%;background:transparent;border:1px solid var(--border-strong);border-radius:14px;color:var(--text);padding:15px 16px;font-size:14.5px;font-family:inherit;text-align:left;margin-bottom:11px}.auth-input::placeholder{color:#ffffff5c}.auth-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--gold-glow)}.auth-error.info{color:var(--accent)}.auth-error{min-height:17px;font-size:12.5px;line-height:1.35;color:var(--red);text-align:left;padding:0 2px 4px}.auth-continue{width:100%;background:var(--accent);color:var(--on-accent);border:none;border-radius:999px;padding:16px 20px;font-size:15px;font-weight:750;font-family:inherit;cursor:pointer}.auth-continue:hover:not(:disabled){filter:brightness(1.06)}.auth-continue:disabled{opacity:.65;cursor:default}.auth-foot{margin-top:26px;font-size:13px;color:var(--text-dim)}.auth-foot button{background:none;border:none;color:var(--accent);font:inherit;font-weight:750;padding:0 2px;cursor:pointer}.auth-foot button:hover{text-decoration:underline}.auth-mini{display:block;margin:14px auto 0;background:none;border:none;color:var(--text-dim);font-size:12.5px;font-family:inherit;cursor:pointer}.auth-mini:hover{color:var(--text);text-decoration:underline}.auth-legal{margin-top:20px;font-size:11px;color:#ffffff57;line-height:1.5}.gold-sheen{position:relative;overflow:hidden}.gold-sheen:after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:38%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.5),transparent);transform:skew(-20deg);animation:gold-sheen 4.2s 1.2s ease-in-out infinite;pointer-events:none}@keyframes gold-sheen{0%,55%{left:-60%}80%,to{left:130%}}@media (prefers-reduced-motion: reduce){.gold-sheen:after{animation:none}}.onb-deck{position:fixed;inset:0;z-index:200;overflow:hidden;color:var(--text);background:radial-gradient(1150px 720px at 82% -12%,rgba(125,180,255,.17),transparent 62%) fixed,radial-gradient(900px 720px at -6% 108%,rgba(64,152,215,.18),transparent 62%) fixed,linear-gradient(165deg,#14337c,#0c2254 46%,#07132e) fixed}.onb-deck:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.055) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:radial-gradient(130% 95% at 50% 0%,#000 38%,transparent 100%);mask-image:radial-gradient(130% 95% at 50% 0%,#000 38%,transparent 100%)}.onb-orb{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:0}.onb-orb.a{width:420px;height:420px;background:#7db4ff12;top:-120px;right:-100px;animation:onb-orbA 22s ease-in-out infinite alternate}.onb-orb.b{width:520px;height:520px;background:#4098d712;bottom:-180px;left:-140px;animation:onb-orbB 26s ease-in-out infinite alternate}@keyframes onb-orbA{to{transform:translate(-70px,90px) scale(1.15)}}@keyframes onb-orbB{to{transform:translate(90px,-70px) scale(.9)}}.onb-rail{position:absolute;top:0;left:0;right:0;height:4px;background:#ffffff12;z-index:40}.onb-fill{height:100%;width:14%;background:linear-gradient(90deg,var(--gold),#a5cdff);box-shadow:0 0 12px var(--gold-glow);transition:width .8s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.onb-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transform:translate(-100%);animation:onb-shimmer 3s ease-in-out infinite}@keyframes onb-shimmer{55%,to{transform:translate(100%)}}.onb-back{position:absolute;top:14px;left:16px;z-index:40;background:#ffffff0d;border:1px solid var(--border);color:var(--text-dim);border-radius:10px;padding:7px 11px;font-size:12px;font-weight:600;backdrop-filter:blur(6px);transition:color .2s ease,border-color .2s ease}.onb-back:hover{color:var(--text);border-color:var(--border-strong)}.onb-back.hide{visibility:hidden}.onb-screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding:56px 22px;overflow-y:auto;opacity:0;transform:translate(48px);pointer-events:none;transition:opacity .45s ease,transform .45s cubic-bezier(.4,0,.2,1);z-index:1}.onb-screen.on{opacity:1;transform:none;pointer-events:auto}.onb-screen.off-l{transform:translate(-48px)}.onb-sc{width:100%;max-width:560px;min-height:580px;justify-content:center;margin:auto;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:38px 34px 34px;border-radius:26px;border:1px solid transparent;background:linear-gradient(180deg,#172344b8,#0c132aa8) padding-box,linear-gradient(135deg,#7db4ff8c,#ffffff1a 42%,#4098d76b) border-box;backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%);box-shadow:0 0 0 9px #ffffff09,0 34px 90px #0000008c,inset 0 1px #ffffff14}.onb-visual{width:100%;display:flex;justify-content:center;margin-bottom:34px}.onb-sc h1{margin:0 0 12px;font-size:clamp(26px,4.5vw,36px);font-weight:700;letter-spacing:-.02em;text-wrap:balance;line-height:1.15}.onb-sc h1 .g{color:var(--gold)}.onb-sub{margin:0;font-size:15px;color:var(--text-dim);max-width:40ch;text-wrap:balance}.onb-cta{margin-top:36px;width:100%;max-width:340px;background:linear-gradient(180deg,#3d7fe8 0%,var(--accent) 100%);color:var(--on-accent);border:none;border-radius:14px;font-weight:750;font-size:15.5px;padding:15px 24px;box-shadow:0 10px 30px #7db4ff40;transition:filter .2s ease,transform .15s ease,box-shadow .2s ease;position:relative;overflow:hidden}.onb-cta:after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:38%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.5),transparent);transform:skew(-20deg);animation:onb-sheen 4.2s 1.2s ease-in-out infinite;pointer-events:none}@keyframes onb-sheen{60%,to{left:130%}}.onb-cta:hover{filter:brightness(1.06);box-shadow:0 12px 36px #7db4ff59}.onb-cta:active{transform:scale(.98)}.onb-cta:disabled{opacity:.7}.onb-screen.on .rise{opacity:0;transform:translateY(14px);animation:onb-rise .6s cubic-bezier(.2,.7,.3,1) forwards}.onb-screen.on .rise.d1{animation-delay:.08s}.onb-screen.on .rise.d2{animation-delay:.18s}.onb-screen.on .rise.d3{animation-delay:.28s}@keyframes onb-rise{to{opacity:1;transform:none}}.onb-hero{position:relative;display:flex;align-items:center;justify-content:center}.onb-hero-glow{position:absolute;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,var(--gold-glow),transparent 65%);filter:blur(30px)}.onb-mark{width:108px;height:108px;border-radius:26px;display:block;position:relative;filter:drop-shadow(0 16px 40px rgba(0,0,0,.5));animation:onb-float 5s ease-in-out infinite}@keyframes onb-float{50%{transform:translateY(-9px)}}.onb-eyebrow{font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--text-dim);margin-bottom:10px}.onb-wordmark{font-size:clamp(34px,6vw,46px);font-weight:700;letter-spacing:-.02em;margin:6px 0 0;color:#fff}.onb-wordmark .o{color:var(--gold)}.onb-vcard{width:min(430px,100%);background:linear-gradient(180deg,#ffffff0e,#ffffff05);border:1px solid var(--border-strong);border-radius:20px;padding:18px;box-shadow:0 24px 70px #00000073,inset 0 1px #ffffff0f}.onb-imp{display:flex;align-items:center;gap:18px;justify-content:center}.onb-tile{width:52px;height:52px;border-radius:14px;background:#fff;flex:none;display:grid;place-items:center;padding:7px;box-shadow:0 8px 24px #0006;animation:onb-tileBeat 3s ease-in-out infinite}@keyframes onb-tileBeat{50%{transform:scale(1.06)}}.onb-tile svg{width:100%;height:100%;display:block}.onb-lane{position:relative;flex:none;width:64px;height:60px}.onb-fly{position:absolute;left:0;width:34px;height:8px;border-radius:99px;background:var(--gold);opacity:0}.onb-fly.f1{top:8px;animation:onb-flyOver 3s 0s ease-in-out infinite}.onb-fly.f2{top:26px;animation:onb-flyOver 3s .9s ease-in-out infinite}.onb-fly.f3{top:44px;animation:onb-flyOver 3s 1.8s ease-in-out infinite}@keyframes onb-flyOver{10%{opacity:1}70%{opacity:1}to{transform:translate(52px);opacity:0}}.onb-mini{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.onb-mini-task{display:flex;align-items:center;gap:8px;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:8px 10px;font-size:11.5px}.onb-mini-task .cb{width:14px;height:14px;border-radius:5px;border:2px solid var(--border-strong);flex:none}.onb-mini-task .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onb-mini-task .crs{font-size:10px;font-weight:700;flex:none}.onb-stage{position:relative;width:min(430px,100%);min-height:172px;border-radius:20px;padding:22px;display:flex;flex-direction:column;align-items:center;gap:16px;overflow:hidden;background:linear-gradient(180deg,#ffffff0e,#ffffff05);border:1px solid var(--border-strong);box-shadow:0 24px 70px #00000073,inset 0 1px #ffffff0f;transition:border-color .4s ease}.onb-stage.done{border-color:#27ae6080}.onb-tile.lg{width:70px;height:70px;border-radius:50%;animation:none}.onb-stage.scanning .onb-tile.lg{animation:onb-tileBeat 1.4s ease-in-out infinite}.onb-beam{position:absolute;left:0;right:0;height:80px;top:-90px;pointer-events:none;opacity:0;background:linear-gradient(180deg,transparent,rgba(125,180,255,.22),transparent)}.onb-stage.scanning .onb-beam{opacity:1;animation:onb-beam 1.5s linear infinite}@keyframes onb-beam{to{transform:translateY(300px)}}.onb-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;min-height:26px}.onb-chip{display:inline-flex;align-items:center;gap:6px;background:#ffffff0f;border:1px solid var(--border-strong);border-radius:999px;padding:4px 11px;font-size:12px;font-weight:650;color:var(--text);animation:onb-chipIn .45s cubic-bezier(.2,1.3,.4,1) both;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onb-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c, var(--gold));flex:none}@keyframes onb-chipIn{0%{opacity:0;transform:translateY(8px) scale(.9)}}.onb-field{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:12px;color:var(--text);font-size:14.5px;font-family:inherit;padding:13px 14px;transition:border-color .2s ease}.onb-field::placeholder{color:#ffffff4d}.onb-field:focus{outline:none;border-color:var(--gold)}.onb-sso{position:fixed;inset:0;z-index:300;display:flex;background:#030815c7;backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:18px}.onb-sso-card{width:min(560px,100%);background:var(--surface);border:1px solid var(--border-strong);border-radius:16px;padding:18px;position:relative;box-shadow:0 30px 80px #0000008c}.onb-sso-close{position:absolute;top:10px;right:10px;background:none;border:none;color:var(--text-dim);font-size:15px;padding:6px 9px;border-radius:8px}.onb-sso-close:hover{color:var(--text);background:#ffffff0f}.onb-sso-title{font-size:15px;font-weight:700;margin:0 26px 2px 0}.onb-sso-sub{font-size:11.5px;color:var(--text-dim);margin-bottom:12px}.onb-sso-scene{border-radius:12px;overflow:hidden;border:1px solid var(--border)}.onb-sso-scene svg{display:block;width:100%;height:auto}.onb-sso-cap{min-height:58px;font-size:13px;padding:11px 2px 0}.onb-sso-cap b{color:var(--gold)}.onb-sso-nav{display:flex;align-items:center;gap:12px;margin-top:10px}.onb-sso-arrow{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-size:16px}.onb-sso-arrow:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}.onb-sso-arrow:disabled{opacity:.35;cursor:default}.onb-sso-dots{flex:1;display:flex;justify-content:center;gap:7px}.onb-sso-dot{width:7px;height:7px;border-radius:50%;background:var(--border-strong);border:none;padding:0;transition:background .2s ease,transform .2s ease}.onb-sso-dot.on{background:var(--gold);transform:scale(1.25)}.onb-sso-count{font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums;min-width:34px;text-align:right}.onb-sso-done{background:var(--gold);color:var(--on-accent);border:none;border-radius:11px;font-weight:700;font-size:13px;padding:11px 16px;white-space:nowrap}.onb-err{min-height:17px;font-size:12px;color:var(--red);margin-top:7px;text-align:left;width:100%}.onb-courses-wrap{position:relative;width:100%;margin-top:16px}.onb-deck .settings-courses{max-height:min(285px,40vh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 24px),transparent 100%);mask-image:linear-gradient(180deg,#000 calc(100% - 24px),transparent 100%)}.onb-deck .settings-courses::-webkit-scrollbar{width:0;height:0;display:none}.onb-sc.tight h1{margin-bottom:6px}.onb-sc.tight .onb-sub{font-size:13px}.onb-sc.tight .onb-cta{margin-top:18px;padding:12px 22px}.onb-name-input{width:100%;background:var(--surface2);border:1.5px solid var(--border);border-radius:18px;color:var(--text);font-family:inherit;font-size:30px;font-weight:750;letter-spacing:-.01em;text-align:center;padding:22px 20px;transition:border-color .2s ease,box-shadow .2s ease}.onb-name-input::placeholder{color:#ffffff47;font-weight:650}.onb-name-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px var(--gold-glow)}.onb-spin{width:44px;height:44px;border-radius:50%;border:4px solid rgba(255,255,255,.1);border-top-color:var(--gold);animation:onb-spin .8s linear infinite;margin:0 auto 22px}@keyframes onb-spin{to{transform:rotate(360deg)}}.onb-check{width:64px;height:64px;border-radius:50%;background:#27ae601f;border:2px solid var(--green);display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--green);margin:0 auto 20px;animation:onb-pop .5s cubic-bezier(.3,1.6,.5,1)}@keyframes onb-pop{0%{transform:scale(.4);opacity:0}}.onb-imp-wrap{width:100%;position:relative}.onb-imp-rows{--row: 44px;--gap: 8px;--peek: 14px;width:100%;margin-top:22px;text-align:left;display:grid;grid-auto-rows:var(--row);row-gap:var(--gap);max-height:calc(var(--row) * 3 + var(--gap) * 3 + var(--peek));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 22px),transparent 100%);mask-image:linear-gradient(180deg,#000 calc(100% - 22px),transparent 100%)}.onb-imp-rows::-webkit-scrollbar{width:0;height:0;display:none}.onb-imp-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;column-gap:10px;background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:0 13px;font-size:13.5px;opacity:0;transform:translateY(8px);animation:onb-rise .45s ease forwards}.onb-imp-row:nth-child(2){animation-delay:.14s}.onb-imp-row:nth-child(n+3){animation-delay:.28s}.onb-imp-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onb-imp-row .course{font-size:11.5px;font-weight:700}.onb-imp-row .badge{font-size:10.5px;font-weight:700;letter-spacing:.03em;border-radius:6px;padding:2px 6px;background:#ef44441a;color:var(--red);border:1px solid rgba(239,68,68,.4)}.onb-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}.onb-confetti i{position:absolute;top:-12px;left:var(--x);width:7px;height:11px;background:var(--c);border-radius:2px;transform:rotate(var(--r));animation:onb-fall 2.6s var(--d) cubic-bezier(.3,.7,.5,1) forwards}@keyframes onb-fall{to{transform:translateY(105vh) rotate(calc(var(--r) + 420deg));opacity:0}}@media (max-height: 900px){.onb-sc{padding:24px 30px 22px}}@media (max-width: 620px){.onb-sc{padding:26px 18px 24px;border-radius:20px;box-shadow:0 0 0 6px #ffffff08,0 22px 60px #00000080,inset 0 1px #ffffff12}}@media (prefers-reduced-motion: reduce){.onb-orb,.onb-fly,.onb-mark,.onb-tile,.onb-cta:after,.onb-fill:after,.onb-confetti i{animation:none!important}.onb-sso-scene svg *{animation:none!important}.onb-screen{transition:none}.onb-screen.on .rise,.onb-imp-row{animation-duration:.01s!important;animation-delay:0s!important}.onb-fill{transition:none}}.onb-skip{margin-top:14px;background:none;border:none;color:var(--text-dim);font-family:inherit;font-size:13px;font-weight:600;padding:6px 10px;border-radius:8px;cursor:pointer;transition:color .2s ease}.onb-skip:hover{color:var(--text);text-decoration:underline}.onb-help{display:block;width:100%;text-align:center;margin:0 0 14px;padding:10px 14px;border-radius:10px;cursor:pointer;background:#7db4ff1a;border:1px solid rgba(125,180,255,.35);color:var(--accent);font-family:inherit;font-size:13px;font-weight:600;box-shadow:none;transition:background .18s ease,border-color .18s ease}.onb-help:hover{background:#7db4ff2e;border-color:var(--accent);box-shadow:none}.onb-swatches{gap:9px;margin-top:14px;margin-bottom:24px;height:34px;align-items:center}.onb-swatch{display:inline-flex;align-items:center;gap:7px;padding:6px 12px 6px 10px;border-radius:999px;background:color-mix(in srgb,var(--c) 13%,transparent);border:1px solid color-mix(in srgb,var(--c) 34%,transparent);color:var(--c);font-size:12.5px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;opacity:0;transform:translateY(-10px);animation:onb-swatch-drop .5s cubic-bezier(.22,1,.36,1) forwards,onb-swatch-drift 3.4s ease-in-out infinite;animation-delay:calc(.18s + var(--i) * .11s),calc(.72s + var(--i) * .11s);animation-duration:.5s,calc(3.4s + var(--i) * .5s);box-shadow:0 4px 14px #00000047}.onb-swatch:before{content:"";flex:none;width:8px;height:8px;border-radius:999px;background:var(--c);box-shadow:0 0 9px color-mix(in srgb,var(--c) 70%,transparent)}@keyframes onb-swatch-drop{to{opacity:1;transform:none}}@keyframes onb-swatch-drift{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.onb-langs{position:relative;height:112px;margin-top:12px;margin-bottom:12px;align-items:center;pointer-events:none}.onb-lang-core{font-size:30px;line-height:1;filter:drop-shadow(0 0 16px rgba(125,180,255,.55));animation:onb-orbit-breathe 5s ease-in-out infinite}.onb-lang-glyph{position:absolute;left:50%;top:50%;font-size:15px;font-weight:600;color:var(--accent);opacity:.55;transform:translate(-50%,-50%) rotate(calc(var(--i) * (360deg / var(--n)))) translate(46px) rotate(calc(var(--i) * (-360deg / var(--n))));animation:onb-glyph-float 4.5s ease-in-out infinite;animation-delay:calc(var(--i) * -.55s)}@keyframes onb-glyph-float{0%,to{opacity:.32}50%{opacity:.9}}@keyframes onb-orbit-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.onb-lang-wrap{position:relative;z-index:5}.lang-picker-full .lang-input{opacity:.5;cursor:not-allowed}@media (prefers-reduced-motion: reduce){.onb-swatch{animation:none;opacity:1;transform:none}.onb-lang-glyph,.onb-lang-core{animation:none}.onb-lang-glyph{opacity:.6}}.onb-stage{min-height:102px;padding:16px;gap:12px}
