@font-face{font-family:Alibaba PuHuiTi;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/AlibabaPuHuiTi-3-55-Regular.ttf)format("truetype")}@font-face{font-family:Alibaba PuHuiTi;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/AlibabaPuHuiTi-3-65-Medium.ttf)format("truetype")}@font-face{font-family:Alibaba PuHuiTi;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/AlibabaPuHuiTi-3-65-Medium.ttf)format("truetype")}@font-face{font-family:Alibaba PuHuiTi;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/AlibabaPuHuiTi-3-65-Medium.ttf)format("truetype")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-sans:"Alibaba PuHuiTi", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--font-mono:"JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-xs:13px;--fs-sm:14px;--fs-md:15px;--fs-base:16px;--fs-lg:17px;--fs-xl:19px;--fs-2xl:24px;--fs-3xl:28px;font-family:var(--font-sans);font-size:var(--fs-base);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.55}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}html,body,#root{height:100%}#root{min-height:100%}body{color:#0a0a0a;font-family:var(--font-sans);background:#fff;margin:0}button,input,select,textarea{letter-spacing:0;font-family:inherit}button,select{font:inherit}button:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #5b9cff8c}input:focus,input:focus-visible,textarea:focus,textarea:focus-visible{box-shadow:none;outline:none}.mono{font-family:var(--font-mono)}.app-shell{--bg:#0a0a0a;--bg-elevated:#111;--panel:#161616;--panel-soft:#1c1c1c;--line:#ffffff14;--line-strong:#ffffff1f;--text:#f4f4f5;--muted:#a1a1aa;--faint:#71717a;--accent:#fafafa;--accent-soft:#ffffff14;--accent-ink:#0a0a0a;--chip:#ffffff0f;--danger:#f87171;--danger-soft:#f871711f;--ok:#4ade80;--warn:#fbbf24;--highlight:#ff6b2c;--info:#60a5fa;--shadow:0 16px 48px #00000073;--sidebar-w:220px;--sidebar-collapsed:64px;--sidebar-bg:#121412;--detail-w:320px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--gutter:20px;--gutter-sm:16px;--board-gutter:var(--gutter);--radius:12px;--radius-sm:10px;--radius-pill:10px;--radius-round:999px;--mono:var(--font-mono,ui-monospace, monospace);--sans:var(--font-sans,"Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", sans-serif);--fs-xs:13px;--fs-sm:14px;--fs-md:15px;--fs-base:16px;--fs-lg:17px;--fs-xl:19px;--fs-2xl:24px;--fs-3xl:28px;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:var(--fs-base);grid-template-columns:var(--sidebar-w) minmax(0, 1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:"sidebar main";width:100%;height:100svh;line-height:1.55;display:grid;overflow:hidden}.app-shell.details-open{grid-template-columns:var(--sidebar-w) minmax(0, 1fr) var(--detail-w);grid-template-areas:"sidebar main detail"}.app-shell.sidebar-compact.details-open{grid-template-columns:var(--sidebar-collapsed) minmax(0, 1fr) var(--detail-w);grid-template-areas:"sidebar main detail"}.app-shell[data-theme=light]{--bg:#fff;--bg-elevated:#fff;--panel:#fff;--panel-soft:#f4f4f5;--line:#0000000f;--line-strong:#0000001a;--text:#0a0a0a;--muted:#71717a;--faint:#a1a1aa;--accent:#18181b;--accent-soft:#0000000d;--accent-ink:#fafafa;--chip:#f4f4f5;--danger:#dc2626;--danger-soft:#dc262614;--ok:#16a34a;--warn:#d97706;--highlight:#ff6b2c;--info:#2563eb;--shadow:0 12px 40px #0000000f;--sidebar-bg:#f0f2ef}.app-shell[data-theme=plain]{--bg:#f6f3ee;--bg-elevated:#faf8f4;--panel:#faf8f4;--panel-soft:#efeae2;--line:#4638281a;--line-strong:#46382829;--text:#2c2620;--muted:#7a7166;--faint:#a3998c;--accent:#3d342b;--accent-soft:#46382812;--accent-ink:#faf8f4;--chip:#ebe4d8;--danger:#b54a3c;--danger-soft:#b54a3c1a;--ok:#4f7a4a;--warn:#b07a2a;--highlight:#c46a3a;--info:#5b7c99;--shadow:0 12px 36px #3c302014;--brand-blue:#6b8cae;--user-accent:#6b8cae;--sidebar-bg:#efe9df}.app-shell.sidebar-compact{grid-template-columns:var(--sidebar-collapsed) minmax(0, 1fr);grid-template-areas:"sidebar main"}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--line);z-index:3;flex-direction:column;grid-area:sidebar;gap:0;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden auto}.sidebar-brand{box-sizing:border-box;align-items:center;gap:0;width:100%;min-height:52px;padding:10px 10px 8px;display:flex}.sidebar-collapse-btn{color:var(--faint);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:color .12s,background .12s;display:inline-flex}.sidebar-collapse-btn:hover{background:var(--panel-soft);color:var(--text)}.sidebar-collapse-btn:active{color:var(--muted)}.board-sidebar-toggle{margin-right:2px}.sidebar-compact .sidebar-brand{justify-content:center;min-height:0;padding:12px 8px 8px}.sidebar-compact .brand-home{flex:auto;justify-content:center;width:100%;padding:6px}.brand-home{border-radius:var(--radius-sm);box-sizing:border-box;color:inherit;flex:auto;align-items:center;gap:10px;width:100%;min-width:0;padding:6px 8px;text-decoration:none;transition:background .12s;display:flex}.brand-home:hover{background:color-mix(in srgb, var(--panel-soft) 70%, transparent)}.brand-home:hover strong{color:var(--text)}.brand-home strong{font-size:var(--fs-md);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:600;overflow:hidden}.sidebar-compact .brand-home strong{display:none}.brand-mark{object-fit:contain;object-position:center;background:0 0;border:0;border-radius:8px;flex-shrink:0;width:30px;height:30px;display:block}.sidebar-search{box-sizing:border-box;width:100%;padding:4px 10px 12px}.sidebar .search-box{background:color-mix(in srgb, var(--bg) 88%, transparent);border-color:color-mix(in srgb, var(--line) 80%, transparent)}.search-box{background:var(--panel-soft);border-radius:var(--radius-pill);color:var(--muted);border:1px solid #0000;align-items:center;gap:8px;width:100%;height:40px;padding:0 12px;transition:border-color .15s,background .15s;display:flex}.search-box:focus-within{background:var(--bg);border-color:color-mix(in srgb, var(--brand-blue) 45%, var(--line));box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-blue) 14%, transparent)}.search-box input{color:var(--text);font:inherit;font-size:var(--fs-md);background:0 0;border:0;outline:none;flex:1;min-width:0}.search-box kbd{background:var(--panel);border:1px solid var(--line);color:var(--faint);font-family:var(--mono);border-radius:4px;padding:3px 5px;font-size:12px;line-height:1;display:none}@media (width>=960px){.search-box kbd{display:inline-flex}}.sidebar-scroll{flex-direction:column;flex:1;gap:2px;min-height:0;padding:0 10px 10px;display:flex;overflow:auto}.sidebar .nav-item{min-height:40px;padding:8px 12px}.nav-section{flex-direction:column;gap:4px;margin-bottom:6px;display:flex}.nav-item{border-radius:var(--radius-pill);color:var(--text);cursor:pointer;font:inherit;font-size:var(--fs-md);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 14px;font-weight:500;line-height:1.25;transition:background .12s;display:flex}.nav-item:hover{background:var(--panel-soft)}.sidebar .nav-item:hover{background:color-mix(in srgb, var(--bg) 72%, transparent)}.sidebar .nav-item.active{background:color-mix(in srgb, var(--bg) 92%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line) 70%, transparent)}.nav-item.active{background:var(--panel-soft);color:var(--text);font-weight:600}.nav-item .nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;min-width:0;min-height:1.25em;line-height:1.25;display:inline-flex;overflow:hidden}.nav-item .nav-icon,.nav-item-mode .nav-icon,.nav-item-mode .nav-mode-icon{color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.nav-item.active .nav-icon,.nav-item-mode.active .nav-mode-icon,.nav-item.active .nav-mode-icon{color:var(--text)}.nav-item-mode .nav-count-empty{visibility:hidden;min-width:1ch}.nav-item .nav-abbr,.list-heading-abbr{display:none}.nav-item strong,.nav-count{color:var(--faint);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;min-height:1.25em;font-weight:500;line-height:1;display:inline-flex}.nav-item.active strong,.nav-item.active .nav-count{color:var(--muted)}.list-heading{color:var(--faint);font-size:var(--fs-sm);letter-spacing:0;justify-content:space-between;align-items:center;margin-top:22px;padding:10px 14px 8px;font-weight:500;display:flex}.list-heading .icon-button{min-width:24px;height:24px}.sidebar-footer{border-top:1px solid var(--line);z-index:12;flex-direction:column;gap:8px;padding:10px 10px 12px;display:flex;position:relative;overflow:visible}.sidebar-footer .sidebar-account{justify-content:flex-start;align-items:center;gap:10px;width:100%;margin:0;padding:6px 8px 6px 6px}.sidebar-footer .sidebar-account .avatar-sync-btn{flex-shrink:0;margin:0}.sidebar-compact .sidebar-footer{align-items:center;padding:10px 8px 12px}.sidebar-compact .sidebar-footer .sidebar-account{justify-content:center;width:100%;padding:6px}.sidebar-compact .sidebar-footer .account-card-meta{display:none}.sidebar-tools{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:6px;min-width:0;display:grid}.sidebar-tools>*{min-width:0}.language-picker,.theme-mode-picker,.theme-toggle,.sync-chip{background:var(--chip);border-radius:var(--radius-pill);color:var(--muted);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;min-width:0;height:36px;padding:0 12px;transition:background .12s;display:flex}.language-picker:hover,.theme-mode-picker:hover,.theme-toggle:hover,.sync-chip:hover{background:var(--panel-soft)}.theme-mode-picker .menu-select-trigger{gap:4px;padding:0 8px;font-size:12px}.sync-status-block{width:100%;display:grid}.sync-status-block .sync-chip{justify-content:flex-start;gap:8px;width:100%;height:42px;padding:0 14px}.sync-status-block .sync-chip span:last-child{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sync-status-block .sync-dot{margin-right:2px}.menu-select{width:100%;position:relative}.menu-select-trigger{color:var(--text);cursor:pointer;font:inherit;font-size:var(--fs-md);background:0 0;border:0;justify-content:space-between;align-items:center;gap:6px;width:100%;min-width:0;height:100%;padding:0;display:flex}.menu-select-value{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.menu-select-chevron{color:var(--faint);flex-shrink:0;transition:transform .15s}.menu-select.open .menu-select-chevron{transform:rotate(180deg)}.menu-select-menu{color:#0a0a0a;isolation:isolate;opacity:1;overscroll-behavior:contain;z-index:120;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #0f172a1a;border-radius:12px;margin:0;padding:6px;list-style:none;overflow:auto;box-shadow:0 14px 36px #0f172a24,0 0 0 1px #0f172a0f}.menu-select-menu-portal{color:#0a0a0a!important;opacity:1!important;z-index:12000!important;background:#fff!important}.app-shell[data-theme=light] .menu-select-menu,.app-shell[data-theme=plain] .menu-select-menu,html[data-theme=light] .menu-select-menu-portal,html[data-theme=plain] .menu-select-menu-portal,.menu-select-menu-portal[data-theme=light],.menu-select-menu-portal[data-theme=plain]{border-color:#0f172a1a;box-shadow:0 14px 36px #0f172a24,0 0 0 1px #0f172a0f;color:#0a0a0a!important;background:#fff!important}html[data-theme=plain] .menu-select-menu-portal,.menu-select-menu-portal[data-theme=plain],.app-shell[data-theme=plain] .menu-select-menu{border-color:#46382824;color:#2c2620!important;background:#faf8f4!important}.app-shell[data-theme=dark] .menu-select-menu,html[data-theme=dark] .menu-select-menu-portal,.menu-select-menu-portal[data-theme=dark]{border-color:#ffffff1f;box-shadow:0 18px 48px #0000008c,0 0 0 1px #ffffff14;color:#f4f4f5!important;background:#1a1a1a!important}.menu-select-menu-portal .menu-select-option{color:#52525b}.menu-select-menu-portal .menu-select-option:hover{color:#0a0a0a;background:#f4f4f5}.menu-select-menu-portal .menu-select-option.active{color:#0a0a0a;background:#e5efff}html[data-theme=dark] .menu-select-menu-portal .menu-select-option,.menu-select-menu-portal[data-theme=dark] .menu-select-option{color:#a1a1aa}html[data-theme=dark] .menu-select-menu-portal .menu-select-option:hover,.menu-select-menu-portal[data-theme=dark] .menu-select-option:hover{color:#f4f4f5;background:#262626}html[data-theme=dark] .menu-select-menu-portal .menu-select-option.active,.menu-select-menu-portal[data-theme=dark] .menu-select-option.active{color:#f4f4f5;background:#28374c}html[data-theme=plain] .menu-select-menu-portal .menu-select-option,.menu-select-menu-portal[data-theme=plain] .menu-select-option{color:#7a7166}html[data-theme=plain] .menu-select-menu-portal .menu-select-option:hover,.menu-select-menu-portal[data-theme=plain] .menu-select-option:hover{color:#2c2620;background:#efeae2}html[data-theme=plain] .menu-select-menu-portal .menu-select-option.active,.menu-select-menu-portal[data-theme=plain] .menu-select-option.active{color:#2c2620;background:#e0e5e7}.menu-select-menu li{margin:0;padding:0}.menu-select-group{pointer-events:none;margin:0;padding:0;list-style:none}.menu-select-group-label{color:var(--faint,#a1a1aa);letter-spacing:.04em;-webkit-user-select:none;user-select:none;padding:10px 12px 4px;font-size:11px;font-weight:700;display:block}.menu-select-menu-portal .menu-select-group-label{color:#a1a1aa}html[data-theme=dark] .menu-select-menu-portal .menu-select-group-label,.menu-select-menu-portal[data-theme=dark] .menu-select-group-label{color:#71717a}html[data-theme=plain] .menu-select-menu-portal .menu-select-group-label,.menu-select-menu-portal[data-theme=plain] .menu-select-group-label{color:#a3998c}.menu-select-option{color:var(--muted);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:13px;font-weight:500;transition:background .12s,color .12s;display:flex}.menu-select-option:hover{background:var(--panel-soft);color:var(--text)}.menu-select-option.active{background:color-mix(in srgb, var(--brand-blue) 16%, transparent);color:var(--text);font-weight:600}.menu-select-option.active svg{color:var(--brand-blue);flex-shrink:0}.language-picker.menu-select,.theme-mode-picker.menu-select{overflow:visible}.language-picker .menu-select-trigger,.theme-mode-picker .menu-select-trigger{color:var(--muted);font-size:13px;font-weight:600}.language-picker.open .menu-select-trigger,.theme-mode-picker.open .menu-select-trigger,.language-picker:hover .menu-select-trigger,.theme-mode-picker:hover .menu-select-trigger{color:var(--text)}.detail-repeat-select,.detail-list-select{background:0 0;border:0;width:100%;min-width:0;height:auto;padding:0}.detail-repeat-select .menu-select-trigger,.detail-list-select .menu-select-trigger{background:var(--bg);border:1px solid var(--line);font-size:var(--fs-md);border-radius:8px;min-height:32px;padding:4px 8px}.detail-repeat-select .menu-select-menu,.detail-list-select .menu-select-menu{width:100%;left:0;right:0}.theme-toggle,.sync-chip{cursor:pointer;font-size:var(--fs-sm)}.sync-chip{justify-content:flex-start;width:100%}.sync-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sync-chip.enabled{color:var(--ok)}.sync-chip.syncing,.sync-chip.queued{color:var(--warn)}.sync-chip.error{color:var(--danger)}.account-card{border-radius:var(--radius-pill);color:var(--text);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:10px;width:100%;padding:8px 10px;transition:background .12s;display:flex}.account-card:hover{background:var(--panel-soft)}.account-card-split{cursor:default;gap:8px;padding:6px 8px 6px 6px}.account-card-split:hover{background:0 0}.account-card-meta{border-radius:var(--radius-pill);color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:8px;min-width:0;padding:4px 6px;display:flex}.account-card-meta:hover{background:var(--panel-soft)}.account-card span:not(.avatar):not(.avatar-sync-ring),.account-card-meta>span{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.account-card strong,.account-card-meta strong{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.account-card small,.account-card-meta small{color:var(--muted);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-footer .account-card.school-cal-entry .avatar.small{width:34px;min-width:34px;max-width:34px;height:34px}.sidebar-footer .account-card.school-cal-entry .avatar.small svg{width:18px;height:18px}.avatar-sync-btn{--ring-size:34px;cursor:pointer;height:var(--ring-size);width:var(--ring-size);background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.avatar-sync-btn .avatar.small{width:28px;min-width:28px;max-width:28px;height:28px}.avatar-sync-ring{pointer-events:none;background:conic-gradient(from -90deg, color-mix(in srgb, var(--brand-blue) 35%, transparent) 0deg 360deg);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 2.5px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,#0000 calc(100% - 2.5px),#000 calc(100% - 2px))}.avatar-sync-btn .avatar{z-index:1;position:relative}.avatar-sync-btn.sync-synced .avatar-sync-ring{background:conic-gradient(from -90deg, var(--brand-blue) 0deg 360deg);opacity:.55}.avatar-sync-btn.sync-syncing .avatar-sync-ring{background:conic-gradient(from -90deg, var(--brand-blue) 0deg 110deg, color-mix(in srgb, var(--brand-blue) 15%, transparent) 110deg 360deg);opacity:1;animation:.85s linear infinite avatar-sync-spin}.avatar-sync-btn.sync-queued .avatar-sync-ring{background:conic-gradient(from -90deg, var(--brand-blue) 0deg 200deg, color-mix(in srgb, var(--brand-blue) 18%, transparent) 200deg 360deg);opacity:.9;animation:1.4s linear infinite avatar-sync-spin}.avatar-sync-btn.sync-error .avatar-sync-ring{background:conic-gradient(from -90deg, var(--danger) 0deg 360deg);opacity:1;animation:none}.avatar-sync-btn.sync-idle .avatar-sync-ring,.avatar-sync-btn:not(.ready):not(.sync-idle) .avatar-sync-ring{opacity:.25}@keyframes avatar-sync-spin{to{transform:rotate(360deg)}}.sync-dot{background:var(--faint);border-radius:var(--radius-round);flex-shrink:0;width:8px;height:8px}.sync-dot.on{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 20%, transparent)}.sync-dot.busy{background:var(--warn)}.sidebar-compact .sidebar-brand strong,.sidebar-compact .brand-home strong,.sidebar-compact .search-box,.sidebar-compact .nav-item .nav-label,.sidebar-compact .nav-item .nav-count,.sidebar-compact .nav-item .nav-abbr,.sidebar-compact .list-heading-label,.sidebar-compact .account-card span:not(.avatar):not(.avatar-sync-ring),.sidebar-compact .account-card-meta,.sidebar-compact .account-card svg:last-child,.sidebar-compact .language-picker .menu-select-value,.sidebar-compact .language-picker .menu-select-chevron,.sidebar-compact .theme-toggle span{display:none}.sidebar-compact .account-card-split{justify-content:center;padding:6px}.sidebar-compact .avatar-sync-btn{--ring-size:34px}.sidebar-compact .account-card.school-cal-entry .avatar.small{width:34px;min-width:34px;max-width:34px;height:34px}.sidebar-compact .nav-item .nav-icon,.sidebar-compact .nav-item-mode .nav-mode-icon{color:var(--muted);margin:0 auto;display:block}.sidebar-compact .nav-item.active .nav-icon{color:var(--text)}.sidebar-compact .list-heading{justify-content:center;margin-top:10px;padding:4px 2px}.sidebar-compact .list-heading-abbr{color:var(--faint);font-size:11px;font-weight:600;display:none}.sidebar-compact .list-heading .icon-button{margin:0 auto}.new-list-flyout{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);box-sizing:border-box;left:calc(var(--sidebar-collapsed) + 10px);max-width:min(320px, calc(100vw - var(--sidebar-collapsed) - 24px));z-index:50;width:300px;padding:12px 14px;position:fixed;top:148px}.new-list-flyout-form{flex-direction:column;gap:10px;min-width:0;display:flex}.new-list-flyout-title{color:var(--text);letter-spacing:-.01em;font-size:13px;font-weight:700}.new-list-flyout-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-width:0;display:grid}.new-list-flyout-row input{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:var(--fs-sm);width:100%;min-width:0;padding:8px 10px}.new-list-flyout-row input:focus{border-color:color-mix(in srgb, var(--brand-blue) 50%, var(--line));box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-blue) 14%, transparent);outline:none}.new-list-flyout-row button[type=submit]{background:var(--text);border-radius:var(--radius-sm);color:var(--bg);cursor:pointer;font:inherit;white-space:nowrap;border:0;padding:8px 12px;font-size:12px;font-weight:700}.new-list-flyout-cancel{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;padding:8px 10px;font-size:12px;font-weight:600}.new-list-flyout-cancel:hover{background:var(--panel-soft);color:var(--text)}.sidebar-compact .nav-item{justify-content:center;min-height:38px;padding:8px 4px}.sidebar-compact .nav-section{align-items:stretch;gap:2px}.sidebar-compact .custom-lists>.nav-item.new-list{display:none}.sidebar-compact .sidebar-scroll{padding:0 6px 8px}.sidebar-compact .sidebar-tools{flex-direction:column;grid-template-columns:1fr}.sidebar-compact .theme-toggle,.sidebar-compact .theme-mode-picker,.sidebar-compact .language-picker{justify-content:center;width:100%;min-width:0;padding:0}.sidebar-compact .language-picker .menu-select-trigger{justify-content:center;width:100%}.sidebar-compact .language-picker .menu-select-trigger:after{content:"文";font-size:13px;font-weight:700}.sidebar-compact .theme-mode-picker .menu-select-value,.sidebar-compact .theme-mode-picker .menu-select-chevron{display:none}.sidebar-compact .theme-mode-picker .menu-select-trigger:after{content:"◐";font-size:13px;font-weight:700}.sidebar-compact .sync-status-block .sync-chip{justify-content:center;padding:0}.sidebar-compact .account-card{justify-content:center;padding:8px}.task-board{background:var(--bg);isolation:isolate;z-index:1;flex-direction:column;grid-area:main;gap:0;width:100%;min-width:0;height:100%;min-height:0;display:flex;position:relative;overflow:clip hidden}.mobile-backdrop,.account-overlay,.detail-backdrop{grid-column:unset;grid-row:unset;grid-area:unset}:is(.task-board:has(>.insights-panel),.task-board:has(>.pomo-page)){overflow:hidden}.board-top{box-sizing:border-box;align-items:start;gap:var(--space-2) var(--space-4);min-width:0;min-height:48px;padding:var(--gutter-sm) var(--board-gutter) var(--space-3);grid-template-rows:auto;grid-template-columns:minmax(0,1fr) auto;width:100%;display:grid}.board-header{flex-direction:column;grid-area:1/1;justify-content:flex-start;gap:4px;width:100%;min-width:0;display:flex;overflow:hidden}.board-title-row{flex-wrap:wrap;align-items:center;gap:4px 8px;width:100%;min-width:0;min-height:36px;display:flex;overflow:hidden}.board-title-row>.sidebar-collapse-btn,.board-title-row>.board-sidebar-toggle,.board-title-row>.mobile-menu-btn{flex-shrink:0;align-self:center}.board-header h1{font-size:var(--fs-3xl);letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap;word-break:keep-all;flex:auto;min-width:0;margin:0;font-weight:600;line-height:1.25;overflow:hidden}.app-shell.details-open .board-top{align-items:start}.app-shell.details-open .board-header{justify-content:flex-start}.app-shell.details-open .board-header h1{white-space:nowrap;font-size:clamp(17px,1.9vw,22px)}.app-shell.details-open .public-cal-board-hint{display:none}.board-academic-inline{box-sizing:border-box;color:var(--muted);font-size:var(--fs-sm);flex-wrap:nowrap;flex:100%;align-items:center;gap:0 6px;min-width:0;max-width:100%;padding:2px 0;line-height:1.35;display:inline-flex;overflow:hidden}:is(.board-title-row:has(>.sidebar-collapse-btn) .board-academic-inline,.board-title-row:has(>.board-sidebar-toggle) .board-academic-inline){padding-left:40px}.board-academic-sep{color:var(--faint);opacity:.85;-webkit-user-select:none;user-select:none;flex-shrink:0;font-weight:400}.board-academic-school{color:var(--muted);cursor:pointer;font:inherit;font-size:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:4px;flex:0 auto;min-width:0;max-width:12em;padding:2px 0;font-weight:500;overflow:hidden}.board-academic-school:hover{color:var(--text)}.board-academic-inline .academic-pin-select,.board-academic-inline .board-academic-pin{flex:auto;width:auto;min-width:0;max-width:min(100%,18em);overflow:hidden}.board-academic-inline .menu-select-value{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.board-academic-inline .academic-pin-select .menu-select-trigger{color:var(--muted);font-size:inherit;background:0 0;border:0;border-radius:4px;align-items:center;gap:4px;width:100%;min-width:0;max-width:100%;height:auto;min-height:0;padding:2px 0;font-weight:500;overflow:hidden}.board-academic-inline .academic-pin-select .menu-select-trigger:hover{color:var(--text);background:0 0}.board-academic-inline .academic-pin-select.open .menu-select-trigger{box-shadow:none;color:var(--text);background:0 0}.board-academic-inline .academic-pin-select .menu-select-value{color:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-academic-inline .academic-pin-select .menu-select-chevron{color:var(--faint);flex-shrink:0}.board-academic-inline .board-academic-countdown{color:var(--brand-blue);font-size:inherit;letter-spacing:-.01em;white-space:nowrap;flex:none;min-width:0;max-width:none;font-weight:600;line-height:1.35;overflow:visible}.board-header p{color:var(--muted);font-size:var(--fs-md);margin:0;padding-left:2px}.board-tools{opacity:.85;flex-shrink:0;gap:4px;display:flex}.board-tools:hover{opacity:1}.nav-item-row{align-items:center;gap:2px;width:100%;display:flex;position:relative}.nav-item-row .nav-item{flex:1;min-width:0}.nav-item-delete{color:var(--muted);cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:opacity .12s,background .12s,color .12s;display:inline-flex}.nav-item-row:hover .nav-item-delete,.nav-item-row.active .nav-item-delete,.nav-item-delete:focus-visible{opacity:1;pointer-events:auto}.nav-item-delete:hover{background:var(--danger-soft);color:var(--danger)}.sidebar-compact .nav-item-delete{display:none}.board-range-label{color:var(--muted);font-size:var(--fs-md);white-space:normal;word-break:keep-all;width:100%;min-width:0;max-width:100%;margin:0;line-height:1.35;display:block;overflow:visible}.board-calendar-controls{align-self:start;align-items:center;gap:var(--space-2);flex-wrap:nowrap;flex-shrink:0;grid-area:1/2;justify-content:flex-end;justify-self:end;min-width:0;max-width:100%;min-height:36px;display:flex}.public-cal-board-hint{color:var(--brand-blue);grid-area:3/1/auto/-1;margin:0;padding:0 2px;font-size:12px;font-weight:600}.public-cal-board-hint.muted{color:var(--muted);font-weight:500}.cal-scope-switch{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-sm);flex-shrink:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:3px;display:inline-grid}.cal-week-span-switch{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-sm);flex-shrink:0;grid-template-columns:1fr 1fr;gap:2px;min-width:108px;padding:3px;display:inline-grid}.cal-week-span-switch.is-placeholder{opacity:0;pointer-events:none;visibility:hidden}.cal-week-span-switch button{color:var(--muted);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:8px;min-width:0;min-height:28px;padding:4px 8px;font-size:12px;font-weight:600}.cal-week-span-switch button:hover:not(:disabled){color:var(--text)}.cal-week-span-switch button.active{background:var(--text);color:var(--bg)}.cal-week-span-switch button:disabled{cursor:default}.cal-scope-switch,.cal-nav{flex-shrink:0}.cal-scope-switch button{color:var(--muted);cursor:pointer;font:inherit;font-size:var(--fs-sm);background:0 0;border:0;border-radius:8px;min-width:40px;min-height:32px;padding:0 10px;font-weight:600}.cal-scope-switch button:hover{color:var(--text)}.cal-scope-switch button.active{background:var(--text);color:var(--bg)}.cal-nav{align-items:center;gap:4px;display:inline-flex}.cal-today-btn{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font:inherit;font-size:var(--fs-sm);white-space:nowrap;min-height:32px;padding:0 10px;font-weight:600}.cal-today-btn:hover{border-color:var(--line-strong)}.app-shell{--brand-blue:var(--user-accent,#5b9cff);--heat-0:color-mix(in srgb, var(--panel-soft) 88%, var(--line));--heat-1:color-mix(in srgb, var(--brand-blue) 22%, #fff);--heat-2:color-mix(in srgb, var(--brand-blue) 48%, #fff);--heat-3:var(--brand-blue);--heat-4:color-mix(in srgb, var(--brand-blue) 72%, #0b1a33)}.app-shell[data-theme=dark]{--heat-0:#161b24;--heat-1:color-mix(in srgb, var(--brand-blue) 28%, #0b0d10);--heat-2:color-mix(in srgb, var(--brand-blue) 48%, #0b0d10);--heat-3:var(--brand-blue);--heat-4:color-mix(in srgb, var(--brand-blue) 70%, #fff)}.app-shell[data-theme=light]{--heat-0:#eef2f7;--heat-1:color-mix(in srgb, var(--brand-blue) 20%, #fff);--heat-2:color-mix(in srgb, var(--brand-blue) 42%, #fff);--heat-3:var(--brand-blue);--heat-4:color-mix(in srgb, var(--brand-blue) 55%, #12305f)}.app-shell[data-theme=plain]{--heat-0:#ebe4d8;--heat-1:color-mix(in srgb, var(--brand-blue) 18%, #f6f3ee);--heat-2:color-mix(in srgb, var(--brand-blue) 38%, #f6f3ee);--heat-3:var(--brand-blue);--heat-4:color-mix(in srgb, var(--brand-blue) 55%, #2c2620)}.cal-heat-panel{flex-direction:column;flex:1;gap:10px;min-width:0;min-height:0;padding-bottom:4px;display:flex;overflow:hidden}.cal-heat-panel--compact>.cal-month-grid{flex:0 auto;min-height:0}.cal-heat-panel--compact>.cal-week-board{flex:none;min-height:0}.task-list.month-board-only{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.task-list.month-board-only>.cal-heat-panel--month{flex-direction:column;flex:1;width:100%;min-height:0;max-height:none;display:flex;overflow:hidden}.cal-heat-panel--month{flex-direction:column;flex:auto;align-self:stretch;width:100%;height:100%;min-height:0;max-height:none;display:flex;overflow:hidden}.cal-heat-panel--month>.cal-month-grid{flex:auto;min-height:0}.task-list.week-board-only{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.task-list.week-board-only>.cal-heat-panel--week{flex-direction:column;flex:1;width:100%;min-height:0;max-height:none;display:flex;overflow:hidden}.cal-heat-panel--week>.cal-week-board,.cal-heat-panel--compact>.cal-year-overview{flex:auto;min-height:0}.cal-heat-panel--compact{flex-direction:column;flex:0 auto;place-self:start stretch;width:100%;max-width:100%;height:auto;min-height:0;max-height:100%;display:flex}.cal-heat-panel--year{flex:auto;align-self:stretch;height:100%;max-height:none;overflow:auto}.task-list.with-cal-split{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:stretch;gap:12px 14px;display:grid;overflow:hidden}.task-list.with-cal-split>.cal-heat-panel--compact{grid-area:1/1;height:auto;min-height:0;max-height:100%;overflow:auto}.task-list.with-cal-split>.cal-selected-tasks{grid-area:1/2;min-height:0}.cal-selected-tasks{flex-direction:column;gap:6px;min-height:0;padding:0 0 4px;display:flex;overflow:auto}.cal-selected-tasks-head{flex-direction:column;align-items:baseline;gap:2px;padding:0 2px 4px;display:flex}.cal-selected-tasks-head h2{font-size:var(--fs-md);margin:0;font-weight:600}.cal-selected-tasks-head span{color:var(--muted);font-size:12px;line-height:1.3}.cal-selected-tasks .task-row{grid-template-columns:28px minmax(0,1fr) auto;gap:8px;min-height:44px;padding:8px 10px}.cal-selected-tasks .task-trail{grid-template-columns:28px;width:28px}.cal-selected-tasks .task-schedule,.cal-selected-tasks .repeat-icon{display:none}.cal-selected-tasks .empty-state{font-size:var(--fs-sm);padding:4px 2px}@media (width<=960px){.task-list.with-cal-split{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;overflow:auto}.task-list.with-cal-split>.cal-heat-panel--compact{grid-area:1/1;max-height:min(48vh,420px)}.task-list.with-cal-split>.cal-selected-tasks{grid-area:2/1}}.cal-heat-legend{color:var(--muted);flex-shrink:0;justify-content:flex-end;align-items:center;gap:4px;font-size:12px;display:flex}.cal-heat-legend i{border-radius:3px;width:12px;height:12px;display:inline-block}.cal-heat-legend .heat-0{background:var(--heat-0);border:1px solid var(--line)}.cal-heat-legend .heat-1{background:var(--heat-1)}.cal-heat-legend .heat-2{background:var(--heat-2)}.cal-heat-legend .heat-3{background:var(--heat-3)}.cal-heat-legend .heat-4{background:var(--heat-4)}.cal-month-grid{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);flex:auto;grid-template-rows:auto repeat(6,minmax(108px,1fr));grid-template-columns:repeat(7,minmax(0,1fr));gap:0;width:100%;min-width:0;height:100%;min-height:min(560px,68vh);max-height:none;display:grid;overflow:hidden}.cal-heat-panel--compact .cal-month-grid{flex:auto;max-width:none;height:100%;max-height:none}.cal-heat-panel--compact:has(.cal-month-grid){flex:auto;min-height:0;max-height:none;overflow:hidden}.cal-month-grid.with-week-col{grid-template-columns:1.75rem repeat(7,minmax(0,1fr))}.cal-month-week-head{color:var(--faint);text-align:center;align-self:end;padding:6px 0 8px;font-size:12px;font-weight:700}.cal-month-week-label{color:color-mix(in srgb, var(--brand-blue) 90%, var(--text));-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;height:100%;min-height:0;font-size:clamp(14px,2vmin,17px);font-weight:800;line-height:1;display:flex}.cal-month-week-label.kind-holiday{color:var(--brand-blue)}.cal-month-week-label.kind-summer{color:#c2410c}.cal-month-week-label.kind-winter{color:#0369a1}.cal-month-week-label.kind-prep{color:#7c3aed}.cal-month-week-label.kind-exam{color:#b45309}.cal-month-weekday{color:var(--muted);font-size:var(--fs-md);letter-spacing:.02em;text-align:center;align-self:end;padding:6px 0 8px;font-weight:600}.cal-month-cell{background:var(--panel);border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--text);cursor:pointer;text-align:left;border-radius:0;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:4px;width:100%;min-width:0;height:100%;min-height:0;padding:6px 5px 4px;transition:background .12s;display:flex;position:relative}.cal-month-cell:hover{background:color-mix(in srgb, var(--text) 2.5%, var(--panel));z-index:1}.cal-month-cell.has-chips.heat-1:not(.academic-holiday):not(.academic-summer):not(.academic-winter):not(.academic-exam):not(.academic-prep),.cal-month-cell.has-chips.heat-2:not(.academic-holiday):not(.academic-summer):not(.academic-winter):not(.academic-exam):not(.academic-prep),.cal-month-cell.has-chips.heat-3:not(.academic-holiday):not(.academic-summer):not(.academic-winter):not(.academic-exam):not(.academic-prep),.cal-month-cell.has-chips.heat-4:not(.academic-holiday):not(.academic-summer):not(.academic-winter):not(.academic-exam):not(.academic-prep){background:var(--panel);color:var(--text)}.cal-month-cell.muted{background:color-mix(in srgb, var(--panel-soft) 70%, var(--panel));color:var(--faint)}.cal-month-cell.today{background:color-mix(in srgb, var(--brand-blue) 5%, var(--panel))}.cal-month-cell.focus{background:color-mix(in srgb, var(--brand-blue) 4%, var(--panel));box-shadow:none}.cal-month-cell-head{flex-wrap:wrap;flex-shrink:0;align-items:flex-start;gap:2px 4px;min-width:0;display:flex}.cal-month-day{text-align:left;font-size:clamp(15px,1.9vmin,18px);font-weight:800;line-height:1.15}.cal-month-day.is-today,.cal-month-day.is-selected{border-radius:999px;justify-content:center;align-items:center;min-width:1.55em;height:1.55em;padding:0 .22em;display:inline-flex}.cal-month-day.is-today{background:var(--brand-blue);color:#fff!important}.cal-month-day.is-selected:not(.is-today){background:color-mix(in srgb, var(--text) 78%, transparent);color:var(--bg)!important}.cal-month-day.is-holiday:not(.is-today):not(.is-selected){color:var(--brand-blue)}.cal-month-day.is-today.is-holiday{background:var(--brand-blue);color:#fff!important}.cal-month-day.is-selected.is-holiday:not(.is-today){background:color-mix(in srgb, var(--text) 78%, transparent);color:var(--bg)!important}.cal-month-holiday-name{display:none!important}.cal-month-chips{overscroll-behavior:contain;flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;overflow:hidden auto}.cal-month-chip{--chip:#5b9cff;background:color-mix(in srgb, var(--chip) 14%, var(--panel));color:color-mix(in srgb, var(--chip) 42%, var(--text));cursor:pointer;font:inherit;text-align:left;border:0;border-radius:4px;flex-shrink:0;grid-template-columns:11px minmax(0,1fr) auto;align-items:center;gap:2px 3px;width:100%;max-width:100%;min-height:18px;padding:1px 4px;font-size:10px;font-weight:600;line-height:1.15;display:grid}.app-shell[data-theme=dark] .cal-month-chip{background:color-mix(in srgb, var(--chip) 22%, var(--panel-soft));color:color-mix(in srgb, var(--chip) 28%, #f4f4f5)}.cal-month-chip.is-done{opacity:.72}.cal-month-chip.is-done .cal-month-chip-title{text-decoration:line-through}.cal-month-chip-check{color:color-mix(in srgb, var(--chip) 70%, var(--text));flex-shrink:0;justify-content:center;align-items:center;width:11px;height:12px;margin-top:0;display:inline-flex}.cal-month-chip.is-done .cal-month-chip-check{color:var(--ok)}.cal-month-chip-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cal-month-chip-time{color:color-mix(in srgb, var(--chip) 40%, var(--muted));white-space:nowrap;flex-shrink:0;align-self:center;margin-top:0;font-size:9px;font-weight:600;line-height:1}.cal-month-more{color:var(--muted);padding:0 2px;font-size:10px;font-weight:700}.cal-month-lunar{color:var(--muted);text-align:left;white-space:normal;word-break:break-word;flex:auto;min-width:0;max-width:100%;font-size:clamp(9px,1.05vmin,11px);font-weight:500;line-height:1.2;overflow:visible}.cal-month-cell.academic-holiday .cal-month-lunar{color:color-mix(in srgb, var(--brand-blue) 75%, var(--muted))}.cal-week-lunar{color:var(--muted);white-space:normal;word-break:break-word;max-width:100%;font-size:clamp(10px,1.1vmin,12px);font-weight:500;line-height:1.25;overflow:visible}.cal-week-head .holiday-date .cal-week-lunar{color:color-mix(in srgb, var(--brand-blue) 80%, var(--muted))}.cal-month-count{display:none}.cal-month-academic{letter-spacing:0;white-space:normal;word-break:break-word;flex:auto;min-width:0;max-width:100%;font-size:clamp(9px,1.05vmin,11px);font-weight:700;line-height:1.2;overflow:visible}.cal-month-academic.kind-holiday{color:var(--brand-blue)}.cal-month-cell.academic-holiday .cal-month-day:not(.is-today):not(.is-selected),.cal-month-cell.academic-holiday .cal-month-lunar{font-weight:700;color:var(--brand-blue)!important}.cal-month-academic.kind-summer{color:#c2410c}.cal-month-academic.kind-winter{color:#0369a1}.cal-month-academic.kind-prep{color:#7c3aed}.cal-month-academic.kind-exam{color:#b45309}.cal-month-academic.kind-week{color:color-mix(in srgb, var(--brand-blue) 88%, var(--text))}.cal-month-cell.academic-holiday{background:color-mix(in srgb, #86efac 18%, var(--panel))!important}.cal-month-cell.academic-summer{background:color-mix(in srgb, #fdba74 14%, var(--panel))!important}.cal-month-cell.academic-winter{background:color-mix(in srgb, #7dd3fc 14%, var(--panel))!important}.cal-month-cell.academic-exam{background:color-mix(in srgb, #fcd34d 12%, var(--panel))!important}.cal-month-cell.academic-prep{background:color-mix(in srgb, #c4b5fd 10%, var(--panel))!important}.cal-month-cell.academic-week:not(.academic-holiday){box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-blue) 14%, transparent)}.app-shell[data-theme=dark] .cal-month-cell.academic-holiday{background:color-mix(in srgb, #166534 36%, var(--panel))!important}.app-shell[data-theme=dark] .cal-month-cell.academic-summer{background:color-mix(in srgb, #9a3412 32%, var(--panel))!important}.app-shell[data-theme=dark] .cal-month-cell.academic-winter{background:color-mix(in srgb, #075985 32%, var(--panel))!important}.cal-academic-banner{background:color-mix(in srgb, var(--warn) 12%, var(--panel-soft));border:1px solid color-mix(in srgb, var(--warn) 35%, var(--line));border-radius:var(--radius-sm);color:var(--text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 0 8px;padding:8px 12px;font-size:12px;display:flex}.cal-academic-banner button{background:var(--brand-blue);color:#fff;cursor:pointer;font:inherit;white-space:nowrap;border:0;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:700}.cal-academic-strip{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;font-size:12px;font-weight:600;display:flex}.cal-academic-strip-label{color:color-mix(in srgb, var(--brand-blue) 80%, var(--text));font-weight:800}.cal-academic-strip-holiday{color:var(--brand-blue)}.cal-academic-strip-event{color:var(--text)}.cal-month-term-chip{color:var(--muted);white-space:normal;word-break:break-word;max-width:100%;padding:0 1px;font-size:clamp(9px,1vmin,10.5px);font-weight:700;line-height:1.25;overflow:visible}.cal-month-term-chip.kind-summer{color:#c2410c}.cal-month-term-chip.kind-winter{color:#0369a1}.cal-month-term-chip.kind-exam{color:#b45309}.cal-month-week-label{font-size:clamp(13px,1.8vmin,16px)!important}.app-shell[data-theme=dark] .cal-month-academic.kind-holiday,.app-shell[data-theme=dark] .cal-month-cell.academic-holiday .cal-month-day:not(.is-today):not(.is-selected){color:var(--brand-blue)}.app-shell[data-theme=dark] .cal-month-academic.kind-summer{color:#fdba74}.cal-week-academic-chip{color:var(--muted);white-space:normal;word-break:break-word;max-width:100%;font-size:clamp(9px,1vmin,11px);font-weight:700;line-height:1.25;overflow:visible}.cal-week-academic-chip.kind-holiday{color:var(--brand-blue)}.cal-week-academic-chip.kind-summer{color:#c2410c}.cal-week-academic-chip.kind-winter{color:#0284c7}.cal-week-daynum.is-holiday{color:var(--brand-blue)}.cal-week-col.academic-holiday{background:color-mix(in srgb, #86efac 10%, var(--panel))}.cal-week-col.academic-summer{background:color-mix(in srgb, #fdba74 8%, var(--panel))}.cal-week-col.academic-winter{background:color-mix(in srgb, #7dd3fc 8%, var(--panel))}.school-cal-chip{background:color-mix(in srgb, var(--brand-blue) 12%, var(--panel-soft));border:1px solid color-mix(in srgb, var(--brand-blue) 28%, var(--line));border-radius:var(--radius-pill);color:var(--text);cursor:pointer;font:inherit;font-size:var(--fs-sm);white-space:normal;word-break:keep-all;flex:0 auto;align-items:center;gap:6px;max-width:100%;height:auto;min-height:30px;padding:4px 10px;font-weight:600;display:inline-flex}.school-cal-chip span{white-space:normal;word-break:keep-all;min-width:0;overflow:visible}.school-cal-chip:hover{border-color:color-mix(in srgb, var(--brand-blue) 50%, var(--line))}.school-cal-countdown{color:var(--brand-blue);font-size:var(--fs-md);margin:0;font-weight:700}.school-cal-upcoming button.is-pinned{background:color-mix(in srgb, var(--brand-blue) 12%, transparent)}.school-cal-avatar{background:color-mix(in srgb, var(--brand-blue) 18%, var(--panel-soft))!important;color:var(--brand-blue)!important}.school-cal-entry small{display:block}.school-cal-field{text-align:left;gap:8px;width:100%;display:grid}.school-cal-panel-wide{width:min(480px,100vw - 32px)}.school-cal-filters{gap:10px;width:100%;display:grid}.school-cal-province.menu-select{width:100%}.school-cal-province .menu-select-trigger{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);font-size:var(--fs-md);min-height:44px;padding:10px 12px}.school-cal-catalog{gap:6px;width:100%;max-height:min(320px,42vh);margin:0;padding:0;list-style:none;display:grid;overflow:auto}.school-cal-catalog-empty{color:var(--muted);font-size:var(--fs-sm);text-align:center;padding:12px 4px}.school-cal-catalog-item{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;text-align:left;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;width:100%;padding:12px;transition:border-color .12s,background .12s;display:grid}.school-cal-catalog-item.is-oneline{gap:6px;min-height:0;padding:5px 10px}.school-cal-catalog-item:hover{border-color:color-mix(in srgb, var(--brand-blue) 35%, var(--line))}.school-cal-catalog-item.active{background:color-mix(in srgb, var(--brand-blue) 12%, var(--panel-soft));border-color:color-mix(in srgb, var(--brand-blue) 40%, var(--line))}.school-cal-catalog-main{gap:2px;min-width:0;display:grid}.school-cal-catalog-item.is-oneline .school-cal-catalog-main{flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.school-cal-catalog-main strong,.school-cal-catalog-title{font-size:var(--fs-md);flex-wrap:wrap;align-items:center;gap:6px;font-weight:600;display:inline-flex}.school-cal-catalog-item.is-oneline .school-cal-catalog-title{text-overflow:ellipsis;white-space:nowrap;flex-wrap:nowrap;flex:0 auto;min-width:0;max-width:100%;font-size:13px;font-weight:600;display:block;overflow:hidden}.school-cal-catalog-item.is-oneline .school-cal-badge{flex-shrink:0;padding:0 5px;font-size:10px}.school-cal-catalog-item.is-oneline .school-cal-catalog-loc{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-size:11px;overflow:hidden}.school-cal-catalog-item.is-oneline .school-cal-catalog-loc:before{content:"·";margin-right:6px}.school-cal-badge{letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;padding:1px 6px;font-size:10px;font-style:normal;font-weight:700;line-height:1.4;display:inline-flex}.school-cal-badge.refined{color:color-mix(in srgb, var(--brand-blue) 90%, #0a0a0a);background:color-mix(in srgb, var(--brand-blue) 16%, transparent);border:1px solid color-mix(in srgb, var(--brand-blue) 35%, transparent)}.school-cal-badge.template{color:var(--muted);background:color-mix(in srgb, var(--muted) 12%, transparent);border:1px solid color-mix(in srgb, var(--line) 80%, transparent)}.school-cal-badge.global{color:#0d897e;background:#14b8a629;border:1px solid #14b8a661}.school-cal-catalog-main small{color:var(--muted);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.school-cal-catalog-meta{color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.school-cal-catalog-action{color:var(--brand-blue);font-size:var(--fs-sm);white-space:nowrap;font-weight:700}.school-cal-catalog-item.active .school-cal-catalog-action{color:var(--text)}.school-cal-field span{color:var(--muted);font-size:var(--fs-sm);font-weight:600}.school-cal-field input{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:var(--fs-md);outline:none;width:100%;min-height:44px;padding:10px 12px}.school-cal-field input:focus,.school-cal-field input:focus-visible{border-color:color-mix(in srgb, var(--brand-blue) 50%, var(--line));box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-blue) 14%, transparent);outline:none}.school-cal-toggle{color:var(--text);cursor:pointer;font-size:var(--fs-md);-webkit-user-select:none;user-select:none;align-items:center;gap:10px;width:100%;margin:4px 0;display:flex}.school-cal-toggle input{accent-color:var(--brand-blue);width:16px;height:16px}.school-cal-import{cursor:pointer}.account-email-form{gap:12px;width:100%;display:grid}.account-email-ok{color:var(--ok)}.account-divider{color:var(--faint);font-size:var(--fs-sm);align-items:center;gap:12px;width:100%;margin:4px 0;display:flex}.account-divider:before,.account-divider:after{background:var(--line);content:"";flex:1;height:1px}.account-divider span{flex-shrink:0}.school-cal-day-card{background:color-mix(in srgb, var(--brand-blue) 8%, var(--panel-soft));border:1px solid color-mix(in srgb, var(--brand-blue) 22%, var(--line));border-radius:var(--radius);margin:0 var(--gutter) 12px;gap:10px;padding:14px 14px 12px;display:grid}.school-cal-day-head{color:var(--text);font-size:var(--fs-md);align-items:center;gap:8px;display:flex}.school-cal-day-head strong{font-weight:600}.school-cal-day-head span{color:var(--muted);font-size:var(--fs-sm);margin-left:auto}.school-cal-day-today{color:var(--text);font-size:var(--fs-sm);margin:0;font-weight:600;line-height:1.4}.school-cal-upcoming{gap:4px;margin:0;padding:0;list-style:none;display:grid}.school-cal-upcoming li{margin:0}.school-cal-upcoming button{color:var(--text);cursor:pointer;font:inherit;font-size:var(--fs-sm);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px;display:flex}.school-cal-upcoming button:hover{background:color-mix(in srgb, var(--brand-blue) 10%, var(--bg))}.school-cal-upcoming-date{color:var(--brand-blue);font-variant-numeric:tabular-nums;flex-shrink:0;min-width:5.5em;font-weight:700}.school-cal-upcoming-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar-compact .school-cal-entry span strong,.sidebar-compact .school-cal-entry span small{display:none}.task-list.year-board-only{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.task-list.year-board-only>.cal-heat-panel--year{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;width:100%;min-height:0;display:block;overflow:hidden auto}.cal-heat-panel--year{flex-direction:column;gap:12px;max-height:none;display:flex;height:auto!important}.cal-heat-panel--year>.cal-year-overview{flex:none;height:auto;min-height:auto;display:grid}.cal-year-academic-legend{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;padding:0;list-style:none;display:flex}.cal-year-academic-legend.cal-year-legend-only{justify-content:flex-end;margin:0 0 6px;padding:0 2px}.cal-year-academic-legend li{color:var(--muted);align-items:center;gap:5px;font-size:11px;font-weight:600;display:inline-flex}.cal-year-academic-legend i{border-radius:3px;flex-shrink:0;width:14px;height:10px;display:inline-block}.cal-year-academic-legend .lg-holiday{background:#aaf4c5}.cal-year-academic-legend .lg-summer{background:#fecb97}.cal-year-academic-legend .lg-winter{background:#9edefd}.cal-year-academic-legend .lg-exam{background:#fde082}.cal-year-academic-legend .lg-week{background:color-mix(in srgb, var(--brand-blue) 22%, #fff);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-blue) 35%, transparent)}.cal-year-academic-hint{background:var(--panel-soft);border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--muted);cursor:pointer;font:inherit;text-align:left;white-space:normal;word-break:break-word;width:100%;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.4}.cal-year-academic-hint:hover{border-color:color-mix(in srgb, var(--brand-blue) 40%, var(--line));color:var(--text)}.cal-year-overview{grid-template-rows:none;grid-template-columns:repeat(3,minmax(200px,1fr));grid-auto-rows:max-content;align-content:start;gap:20px 24px;width:100%;height:auto;padding:4px 4px 24px;display:grid;overflow:visible}.cal-year-mini{flex-direction:column;flex:none;gap:6px;min-width:0;height:auto;min-height:max-content;display:flex;overflow:visible}.cal-year-mini.focus-month .cal-year-mini-title{color:var(--brand-blue)}.cal-year-mini-title{color:var(--text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;flex:none;padding:0 2px;font-size:13px;font-weight:700;line-height:1.3}.cal-year-mini-title:hover{color:var(--brand-blue)}.cal-year-mini-summary{color:var(--muted);white-space:normal;word-break:break-word;flex-direction:column;gap:2px;min-height:0;padding:0 2px 2px;font-size:11px;font-weight:600;line-height:1.35;display:flex}.cal-year-mini-highlights{color:color-mix(in srgb, var(--brand-blue) 70%, var(--text));font-weight:600}.cal-year-mini-weekdays{color:var(--faint);text-align:center;flex:none;grid-template-columns:repeat(7,minmax(0,1fr));font-size:11px;font-weight:600;line-height:1.2;display:grid}.cal-year-mini-weekdays span{text-overflow:clip;white-space:nowrap;min-width:0;overflow:hidden}.cal-year-mini-weekdays .weekend{color:color-mix(in srgb, var(--brand-blue) 70%, var(--faint))}.cal-year-mini-grid{flex:none;grid-template-rows:none;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(28px,auto);gap:3px 2px;width:100%;height:auto;min-height:0;max-height:none;display:grid;overflow:visible}.cal-year-mini-day{box-sizing:border-box;color:var(--text);cursor:pointer;font-variant-numeric:tabular-nums;letter-spacing:0;text-align:center;white-space:normal;word-break:break-word;writing-mode:horizontal-tb;background:0 0;border:0;border-radius:8px;flex-flow:column;justify-content:flex-start;justify-self:stretch;align-items:center;gap:1px;width:100%;min-width:0;max-width:100%;height:auto;min-height:28px;max-height:none;margin:0;padding:2px 1px 3px;font-family:inherit;font-size:12px;font-weight:500;line-height:1.15;display:flex;position:relative;overflow:visible}.cal-year-mini-day:before{content:"";position:absolute;inset:-2px 0}.cal-year-mini-day-num{font-family:var(--mono), ui-monospace, "SF Mono", Menlo, Consolas, monospace;font-variant-numeric:tabular-nums;letter-spacing:0;text-align:center;z-index:1;flex:none;max-width:none;font-size:12px;line-height:1.15;display:inline-block;position:relative;overflow:visible;white-space:nowrap!important;word-break:keep-all!important;writing-mode:horizontal-tb!important}.cal-year-mini-label,.cal-year-mini-task,.cal-year-mini-more{white-space:normal;word-break:break-word;overflow-wrap:anywhere;z-index:1;min-width:0;max-width:100%;display:block;position:relative;overflow:visible}.cal-year-mini-label{color:var(--brand-blue);font-size:clamp(8px,1.6vw,9.5px);font-weight:700;line-height:1.15}.cal-year-mini-task{color:color-mix(in srgb, var(--brand-blue) 55%, var(--text));text-align:center;font-size:clamp(7.5px,1.5vw,9px);font-weight:600;line-height:1.2}.cal-year-mini-task.is-secondary{color:var(--muted);opacity:.9;font-weight:500}.cal-year-mini-more{color:var(--muted);font-size:8px;font-weight:700;line-height:1.1}.cal-year-mini-day.kind-holiday:not(.today){color:var(--brand-blue);background:#86efac47!important}.cal-year-mini-day.kind-summer:not(.today){background:#fdba7438!important}.cal-year-mini-day.kind-winter:not(.today){background:#7dd3fc38!important}.cal-year-mini-day.kind-exam:not(.today){background:#fcd34d33!important}.cal-year-mini-day.kind-prep:not(.today){background:#c4b5fd29!important}.cal-year-mini-day.kind-week:not(.today):not(.has-task){box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-blue) 12%, transparent)}.cal-year-mini-day.kind-holiday .cal-year-mini-label{color:var(--brand-blue)}.cal-year-mini-day.today .cal-year-mini-label,.cal-year-mini-day.today .cal-year-mini-task,.cal-year-mini-day.today .cal-year-mini-more{color:#fff}.app-shell[data-theme=dark] .cal-year-mini-day.kind-holiday:not(.today){background:#1665346b!important}.app-shell[data-theme=dark] .cal-year-mini-day.kind-summer:not(.today){background:#9a34125c!important}.app-shell[data-theme=dark] .cal-year-mini-day.kind-winter:not(.today){background:#0759855c!important}.cal-year-mini-day.out{cursor:default;pointer-events:none;visibility:hidden}.cal-year-mini-day.weekend{color:var(--brand-blue)}.cal-year-mini-day.holiday{font-weight:700;color:var(--brand-blue)!important}.cal-year-mini-day.holiday.weekend{color:var(--brand-blue)!important}.cal-year-mini-day.today{background:color-mix(in srgb, var(--brand-blue) 92%, #000);color:#fff;border-radius:8px;width:100%;max-width:none;font-weight:700}.cal-year-mini-day.today .cal-year-mini-day-num{color:#fff;background:0 0}.cal-year-mini-day.focus:not(.today){box-shadow:inset 0 0 0 1.5px var(--text);width:100%;max-width:none}.cal-year-mini-day:hover:not(.out):not(.today){background:var(--panel-soft)}.cal-year-mini-day.has-task:not(.today){background:color-mix(in srgb, var(--brand-blue) 6%, transparent)}@media (width<=960px){.cal-year-overview{grid-template-columns:repeat(2,minmax(160px,1fr));gap:18px 16px}}@media (width<=520px){.cal-year-overview{grid-template-columns:minmax(0,1fr);gap:22px 0;width:100%;max-width:360px;margin:0 auto}.cal-year-mini-grid{grid-auto-rows:minmax(32px,auto);gap:4px 2px}.cal-year-mini-day{min-height:32px;padding:3px 2px 4px}.cal-year-mini-day-num{font-size:13px}.cal-year-mini-task{font-size:9px}}.cal-week-board{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex:auto;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;width:100%;min-width:0;min-height:min(420px,58vh);display:grid;overflow:hidden}.cal-week-board.is-biweek{grid-template-rows:minmax(0,1fr) minmax(0,1fr);min-height:min(560px,72vh)}.cal-week-board.is-biweek .cal-week-col:nth-child(n+8){border-top:1px solid var(--line)}.cal-week-board .cal-week-col:nth-child(7n){border-right:0}.cal-heat-panel--week .cal-week-board{flex:auto;height:100%;min-height:0;max-height:none}.cal-week-col{border:0;border-right:1px solid var(--line);cursor:pointer;background:0 0;border-radius:0;flex-direction:column;min-width:0;height:100%;min-height:0;transition:background .12s;display:flex;overflow:hidden}.cal-week-col:last-child{border-right:0}.cal-week-col.today{background:color-mix(in srgb, var(--brand-blue) 4%, transparent)}.cal-week-col.focus{background:color-mix(in srgb, var(--text) 4%, transparent)}.cal-week-col:hover{background:color-mix(in srgb, var(--text) 3%, transparent)}.cal-week-head{color:var(--text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;flex-direction:column;flex-shrink:0;justify-content:flex-start;align-items:flex-start;gap:2px;width:100%;padding:12px 10px 8px;display:flex}.cal-week-dow{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700;line-height:1.2}.cal-week-daynum{color:var(--text);margin-top:2px;font-size:clamp(22px,2.6vmin,28px);font-weight:700;line-height:1.15}.cal-week-daynum.is-today,.cal-week-daynum.is-selected{border-radius:999px;justify-content:center;align-items:center;min-width:1.55em;height:1.55em;padding:0 .22em;display:inline-flex}.cal-week-daynum.is-today{background:var(--brand-blue);color:#fff}.cal-week-daynum.is-selected:not(.is-today){background:color-mix(in srgb, var(--text) 78%, transparent);color:var(--bg)}.cal-week-daynum.is-today.is-holiday{background:var(--brand-blue);color:#fff}.cal-week-daynum.is-selected.is-holiday:not(.is-today){background:color-mix(in srgb, var(--text) 78%, transparent);color:var(--bg)}.cal-week-daynum.is-holiday:not(.is-today):not(.is-selected){color:var(--brand-blue)}.cal-week-tasks{flex-direction:column;flex:1;gap:3px;min-height:0;padding:3px 6px 8px;display:flex;overflow:hidden auto}.cal-week-task{--chip:#5b9cff;background:color-mix(in srgb, var(--chip) 16%, var(--panel));color:color-mix(in srgb, var(--chip) 48%, var(--text));cursor:pointer;font:inherit;text-align:left;border:0;border-radius:6px;flex-shrink:0;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:3px 5px;width:100%;min-height:22px;padding:3px 6px;font-size:11px;font-weight:600;line-height:1.2;display:grid}.app-shell[data-theme=dark] .cal-week-task{background:color-mix(in srgb, var(--chip) 28%, var(--panel-soft));color:color-mix(in srgb, var(--chip) 35%, #f5f5f5)}.cal-week-task.important{--chip:#f59e0b}.cal-week-task-check{color:color-mix(in srgb, var(--chip) 70%, var(--text));flex-shrink:0;justify-content:center;align-items:center;width:12px;height:14px;margin-top:0;display:inline-flex}.cal-week-task-title{text-overflow:ellipsis;white-space:nowrap;grid-column:2;min-width:0;display:block;overflow:hidden}.cal-week-task-time{color:color-mix(in srgb, var(--chip) 45%, var(--muted));white-space:nowrap;flex-shrink:0;grid-column:3;align-self:center;font-size:10px;font-weight:600}.cal-week-add{color:var(--faint);cursor:pointer;font:inherit;opacity:.55;background:0 0;border:0;border-radius:8px;flex-shrink:0;justify-content:flex-start;align-items:center;gap:4px;width:100%;margin-top:2px;padding:6px 4px;font-size:12px;font-weight:600;transition:opacity .12s,color .12s,background .12s;display:inline-flex}.cal-week-col:hover .cal-week-add,.cal-week-col.focus .cal-week-add,.cal-week-add:focus-visible{opacity:1}.cal-week-add:hover{background:color-mix(in srgb, var(--text) 5%, transparent);color:var(--muted);opacity:1}@media (width<=960px){.cal-week-board{grid-template-columns:repeat(7,minmax(0,1fr));min-height:min(360px,50vh)}.cal-week-task{grid-template-columns:12px minmax(0,1fr);font-size:11px}.cal-week-task-time{display:none}.cal-week-add{opacity:1}}@media (width<=720px){.cal-week-head{padding:8px 4px 6px}.cal-week-daynum{font-size:clamp(16px,4.5vw,22px)}.cal-week-lunar,.cal-week-academic-chip{display:none}.cal-week-tasks{gap:4px;padding:2px 4px 8px}.cal-week-task{padding:5px}.cal-week-add span{display:none}.cal-scope-switch button{min-width:36px;padding:0 8px}}.today-intro{color:var(--muted);font-size:var(--fs-md);max-width:none;padding:0 var(--board-gutter) 10px;margin:0}.task-list{box-sizing:border-box;min-width:0;min-height:0;padding:0 var(--board-gutter) 12px;flex-direction:column;flex:1;gap:10px;width:100%;display:flex;overflow:hidden}.task-list[hidden],.task-composer[hidden]{display:none!important}:is(.task-list:has(>.task-row),.task-list:has(>.day-agenda-section),.task-list:has(>.day-public-events),.task-list:has(>.day-agenda-empty),.task-list:has(>.empty-state)){overflow:hidden auto}.day-agenda-section{flex-direction:column;gap:8px;min-width:0;display:flex}.day-agenda-heading{color:var(--muted);letter-spacing:.04em;text-transform:none;margin:4px 0 0;font-size:12px;font-weight:700}.day-agenda-empty{color:var(--muted);font-size:var(--fs-md);text-align:center;max-width:18rem;margin:24px auto}.task-row{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-sm);box-sizing:border-box;cursor:pointer;align-items:center;gap:var(--space-2) var(--space-3);touch-action:none;-webkit-user-select:none;user-select:none;grid-template-columns:28px minmax(0,1fr) auto;width:100%;min-width:0;min-height:44px;padding:8px 12px;transition:background .12s,border-color .12s;display:grid}.task-trail{flex-shrink:0;grid-template-columns:minmax(0,10.5rem) 28px 18px;place-items:center;column-gap:6px;width:calc(10.5rem + 58px);min-width:0;display:grid}.task-row:hover{background:color-mix(in srgb, var(--panel-soft) 70%, var(--bg));border-color:var(--line-strong)}.task-row.selected{background:var(--accent-soft);border-color:color-mix(in srgb, var(--text) 12%, transparent)}.task-row.is-completed .task-title{color:var(--faint);text-decoration:line-through}.task-row.dragging{opacity:.55}.task-row.drop-target{border-color:var(--accent)}.task-main{flex-direction:column;justify-content:center;align-self:center;gap:2px;min-width:0;min-height:28px;display:flex}.task-title{font-size:var(--fs-sm);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;align-items:center;min-width:0;min-height:28px;font-weight:500;line-height:1.25;display:flex;overflow:hidden}.task-time-line{color:var(--brand-blue);font-size:var(--fs-sm);font-weight:600;line-height:1.3}.task-meta{color:var(--muted);font-size:var(--fs-sm);white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.task-schedule{background:color-mix(in srgb, var(--info) 12%, transparent);box-sizing:border-box;color:var(--info);text-align:center;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;flex-shrink:1;place-self:center end;min-width:0;max-width:100%;padding:4px 8px;font-size:12px;font-weight:600;line-height:1.25;overflow:hidden}.task-row .check-button,.task-row .star-button,.task-row .repeat-icon{align-self:center}.task-trail .star-button{grid-column:2;justify-self:center;width:28px;min-width:28px;height:28px}.task-trail .repeat-icon{grid-column:3;justify-self:center}.star-button .star-icon,.star-button svg.star-icon{flex-shrink:0;width:16px;height:16px;display:block;overflow:visible}.task-row .check-button{width:28px;min-width:28px;height:28px}.task-row .check-button svg{flex-shrink:0;display:block}.task-schedule.tone-soon{background:color-mix(in srgb, var(--warn) 14%, transparent);color:var(--warn)}.task-schedule.tone-overdue{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.task-schedule.tone-ok{background:color-mix(in srgb, var(--info) 12%, transparent);color:var(--info)}.task-schedule.empty,.task-meta.empty,.repeat-icon.empty{opacity:0;pointer-events:none;visibility:hidden}.task-schedule.empty{background:0 0;min-height:1.5em;padding-left:8px;padding-right:8px}.detail-due-wrap{flex-direction:column;flex:auto;gap:8px;width:100%;min-width:0;display:flex}.detail-due-wrap .detail-date-input{flex:1;min-width:0}.detail-due-relative{background:color-mix(in srgb, var(--warn) 12%, transparent);border-radius:var(--radius-sm);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:42%;padding:6px 8px;font-weight:600;line-height:1.2;overflow:hidden}.detail-due-relative.tone-ok{background:color-mix(in srgb, var(--info) 12%, transparent);color:var(--info)}.detail-due-relative.tone-soon{background:color-mix(in srgb, var(--warn) 14%, transparent);color:var(--warn)}.detail-due-relative.tone-overdue{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.repeat-icon{color:var(--faint);align-items:center;display:inline-flex}.check-button,.star-button,.icon-button,.tool-button,.composer-actions>button,.composer-date-control>button,.detail-close,.detail-clear{color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.check-button,.star-button{border-radius:8px;min-width:34px;height:34px}.check-button:hover,.star-button:hover,.icon-button:hover,.tool-button:hover,.composer-actions>button:hover,.detail-close:hover{background:var(--panel-soft);color:var(--text)}.check-button.done{background:color-mix(in srgb, var(--ok) 16%, transparent);color:var(--ok)}.task-row.is-completed{opacity:.78}.task-row.is-completed .check-button.done{background:color-mix(in srgb, var(--ok) 22%, transparent)}.cal-week-task.is-done{opacity:.7}.cal-week-task.is-done .cal-week-task-title{text-decoration:line-through}.cal-week-task.is-done .cal-week-task-check{color:var(--ok)}.star-button.active{color:var(--warn)}.star-button.active svg,.star-button.active .star-icon{fill:currentColor;stroke:currentColor}.icon-button{border-radius:10px;min-width:38px;height:38px}.icon-button.small{min-width:32px;height:32px}.tool-button.danger,.delete-task{color:var(--danger)}.empty-state{color:var(--muted);text-align:left;background:0 0;border:0;max-width:none;margin:0;padding:2px 0 8px}.empty-state p{font-size:var(--fs-md);margin:0;line-height:1.5}.inline-edit-row,.add-step-form{box-sizing:border-box;align-items:center;gap:var(--space-2);margin:var(--space-2) 0 0;min-width:0;padding:0 var(--board-gutter);grid-template-columns:minmax(0,1fr) auto;width:100%;display:grid}.detail-panel .add-step-form{padding:0}.inline-edit-row input,.add-step-form input{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:var(--fs-sm);width:100%;min-width:0;padding:8px 10px}.inline-edit-row button,.add-step-form .add-step{background:var(--text);border-radius:var(--radius-pill);color:var(--bg);cursor:pointer;font:inherit;white-space:nowrap;border:1px solid #0000;flex-shrink:0;padding:8px 12px;font-size:12px;font-weight:600}.sidebar .nav-inline-edit,.nav-section .nav-inline-edit{box-sizing:border-box;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-width:0;min-height:40px;margin:0;padding:0;display:grid}.sidebar .nav-inline-edit input,.nav-section .nav-inline-edit input{background:color-mix(in srgb, var(--bg) 88%, transparent);border:1px solid color-mix(in srgb, var(--line) 80%, transparent);border-radius:var(--radius-pill);box-sizing:border-box;color:var(--text);font:inherit;font-size:var(--fs-md);width:100%;min-width:0;height:40px;padding:0 12px;font-weight:500}.sidebar .nav-inline-edit input:focus,.nav-section .nav-inline-edit input:focus{background:var(--bg);border-color:color-mix(in srgb, var(--brand-blue) 45%, var(--line));box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-blue) 12%, transparent);outline:none}.sidebar .nav-inline-edit button,.nav-section .nav-inline-edit button{background:var(--text);border-radius:var(--radius-pill);color:var(--bg);cursor:pointer;font:inherit;white-space:nowrap;border:0;flex-shrink:0;justify-content:center;align-items:center;min-width:52px;height:40px;padding:0 14px;font-size:12px;font-weight:700;display:inline-flex}.task-composer{background:linear-gradient(180deg, transparent, var(--bg) 32%);box-sizing:border-box;min-width:0;padding:12px var(--board-gutter) var(--gutter-sm);z-index:9;border:0;flex-shrink:0;width:100%;margin:0;display:block;position:relative;overflow:visible}.composer-bar{background:var(--panel-soft);border:1px solid var(--line);box-shadow:none;border-radius:16px;flex-wrap:nowrap;align-items:center;gap:12px;width:100%;max-width:none;min-height:56px;margin:0;padding:8px 12px;transition:border-color .15s,background .15s;display:flex;position:relative;overflow:visible}.composer-bar:focus-within{background:var(--panel-soft);border-color:var(--line-strong);box-shadow:none}.composer-sep{background:var(--line);flex-shrink:0;align-self:stretch;width:1px;margin:8px 0}.app-shell[data-theme=light] .composer-bar,.app-shell[data-theme=plain] .composer-bar{background:var(--panel-soft);border-color:var(--line);box-shadow:none}.app-shell[data-theme=dark] .composer-bar{background:var(--panel-soft);border-color:var(--line)}.composer-smart-toggle{box-shadow:none;color:var(--muted);cursor:pointer;font:inherit;font-size:var(--fs-sm);white-space:nowrap;background:0 0;border:0;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;gap:0;height:40px;padding:0 6px;font-weight:500;transition:color .12s;display:inline-flex}.composer-smart-toggle:hover{color:var(--text);background:0 0}.composer-smart-toggle.active{color:var(--brand-blue,var(--info));background:0 0;border:0;font-weight:600}.composer-smart-toggle.active:hover{color:color-mix(in srgb, var(--brand-blue,var(--info)) 88%, #0b1a33)}.composer-field{box-shadow:none;color:var(--text);font:inherit;font-size:var(--fs-md);background:0 0;border:0;outline:none;flex:1;width:100%;min-width:0;padding:8px 4px;font-weight:500}.composer-field:focus,.composer-field:focus-visible{box-shadow:none;border:0;outline:none}.composer-field::placeholder{color:var(--faint)}.composer-bar-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.composer-bar-actions.group-schedule,.composer-bar-actions.group-tools{gap:6px}.composer-date-control,.composer-time-control,.composer-repeat-control{position:relative}.sheet-panel-repeat{max-height:min(72vh,480px);padding-bottom:max(12px, env(safe-area-inset-bottom,0px))}.repeat-option-list{flex-direction:column;gap:2px;min-height:0;padding:4px 0 8px;display:flex;overflow:auto}.repeat-option-row{color:var(--text);cursor:pointer;font:inherit;font-size:var(--fs-md);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;width:100%;min-height:44px;padding:10px 12px;font-weight:500;display:flex}.repeat-option-row:hover{background:var(--panel-soft)}.repeat-option-row.active{background:color-mix(in srgb, var(--brand-blue) 10%, var(--panel-soft));color:var(--text);font-weight:600}.repeat-option-row svg:first-child{color:var(--muted);flex-shrink:0}.repeat-option-row.active svg:first-child{color:var(--brand-blue)}.repeat-option-row span{flex:auto;min-width:0}.repeat-option-row svg:last-child{color:var(--brand-blue);flex-shrink:0}.repeat-option-row.mute{color:var(--muted)}.repeat-option-divider{background:var(--line);height:1px;margin:6px 4px}.composer-icon-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;min-width:40px;height:40px;padding:0;transition:background .12s,color .12s;display:inline-flex}.composer-icon-btn:hover{background:var(--bg);color:var(--text)}.composer-icon-btn.voice-listening{color:#f07178;background:#f0717824}.composer-meta-btn{color:var(--muted);cursor:pointer;font:inherit;font-size:var(--fs-sm);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-width:40px;height:40px;padding:0 10px;font-weight:600;transition:background .12s,color .12s;display:inline-flex}.composer-meta-btn:hover,.composer-meta-btn.active{background:var(--bg);color:var(--text)}.composer-meta-label{text-overflow:ellipsis;white-space:nowrap;max-width:7em;line-height:1.2;overflow:hidden}.composer-submit{background:var(--brand-blue);box-shadow:0 2px 8px color-mix(in srgb, var(--brand-blue) 28%, transparent);color:#fff;cursor:pointer;border:0;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;min-width:64px;height:40px;padding:0 18px;transition:background .12s,box-shadow .12s,transform .12s;display:inline-flex}.composer-submit:hover{background:color-mix(in srgb, var(--brand-blue) 88%, #0b1a33);box-shadow:0 4px 12px color-mix(in srgb, var(--brand-blue) 45%, transparent)}.composer-submit:active{transform:scale(.96)}@media (width<=960px){.composer-meta-label{display:none}.composer-meta-btn{min-width:40px;padding:0}.composer-smart-toggle{padding:0 4px;font-size:12px}.composer-bar{gap:10px}}@media (width<=1180px){.board-top{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);align-items:start}.board-header{grid-area:1/1;min-width:0}.board-header h1{font-size:clamp(18px, 2.4vw, var(--fs-3xl))}.board-calendar-controls{grid-area:2/1;justify-content:flex-end;justify-self:stretch;width:100%;max-width:100%}.cal-week-span-switch.is-placeholder{display:none}.cal-scope-switch{flex:0 auto;min-width:0}.cal-scope-switch button{min-width:36px;padding:0 8px}.cal-nav{flex-shrink:0;margin-left:0}}@media (width<=860px){.board-calendar-controls{justify-content:space-between}.cal-nav{margin-left:auto}}@media (width<=640px){.task-composer{padding:8px var(--board-gutter) 12px}.composer-bar{flex-wrap:wrap;align-items:center;gap:6px;min-height:40px;padding:6px 8px}.composer-bar>.composer-sep{display:none}.composer-field{flex:calc(100% - 56px);order:0;min-width:0}.composer-bar-actions.group-schedule{flex:auto;order:2;justify-content:flex-start}.composer-bar-actions.group-tools{flex:none;order:3;justify-content:flex-end;margin-left:auto}.composer-smart-toggle{flex:none;height:36px}}.composer-date-popover{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overscroll-behavior:contain;z-index:60;gap:6px;width:min(260px,100vw - 24px);max-width:min(280px,100vw - 24px);max-height:min(320px,100svh - 96px);padding:10px;display:grid;position:absolute;inset:auto 0 calc(100% + 10px) auto;overflow:auto}.sheet-root{z-index:500;position:fixed;inset:0}.sheet-backdrop{cursor:pointer;background:#0000006b;border:0;position:absolute;inset:0}.sheet-panel{background:var(--panel,#fff);border:1px solid var(--line,#0f172a1a);color:var(--text,#0a0a0a);opacity:1;max-height:min(78dvh,560px);padding:10px 16px calc(14px + env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0;flex-direction:column;gap:12px;width:100%;animation:.22s cubic-bezier(.2,.85,.25,1) sheet-up;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -12px 40px #00000038}html[data-theme=dark] .sheet-panel{color:#f4f4f5;background:#161616;border-color:#ffffff1a}html[data-theme=plain] .sheet-panel{color:#2c2620;background:#faf8f4;border-color:#4638281f}@keyframes sheet-up{0%{opacity:.6;transform:translateY(18%)}to{opacity:1;transform:translateY(0)}}.sheet-handle{background:color-mix(in srgb, var(--muted) 45%, transparent);border-radius:999px;flex-shrink:0;align-self:center;width:40px;height:5px;margin-bottom:2px}.sheet-head{flex-shrink:0;justify-content:space-between;align-items:center;min-height:36px;display:flex}.sheet-head strong{font-size:var(--fs-lg);font-weight:700}.sheet-text-btn{color:var(--brand-blue);cursor:pointer;font:inherit;font-size:var(--fs-md);background:0 0;border:0;padding:6px 4px;font-weight:600}.sheet-quick{flex-shrink:0}.sheet-date-quick{gap:8px;display:grid}.sheet-date-quick button{background:var(--panel-soft);border:1px solid var(--line);color:var(--text);cursor:pointer;font:inherit;font-size:var(--fs-md);text-align:left;border-radius:12px;min-height:46px;padding:10px 14px;font-weight:600}.sheet-date-field{flex-direction:column;gap:8px;min-height:0;display:flex}.sheet-date-field>span{color:var(--muted);font-size:13px;font-weight:600}.sheet-date-field .composer-date-input{min-height:48px;font-size:16px}.sheet-panel.sheet-panel-date{max-height:min(88dvh,640px);overflow:hidden}.sheet-panel-date .sheet-date-quick{flex-shrink:0}.sheet-panel-date .sheet-date-field{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding-bottom:4px;overflow:auto}.month-date-picker{background:var(--panel-soft,#f4f4f5);border:1px solid var(--line,#0000000f);border-radius:14px;flex-direction:column;gap:8px;width:100%;min-width:0;padding:10px 10px 12px;display:flex}.mdp-toolbar{grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:8px;min-height:40px;display:grid}.mdp-title{letter-spacing:-.01em;text-align:center;font-size:15px;font-weight:700}.mdp-nav{background:var(--panel,#fff);border:1px solid var(--line,#00000014);color:var(--text,#0a0a0a);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;min-width:36px;height:36px;padding:0;display:inline-flex}.mdp-nav:hover{background:color-mix(in srgb, var(--brand-blue,#2563eb) 10%, var(--panel,#fff));border-color:color-mix(in srgb, var(--brand-blue,#2563eb) 30%, var(--line))}.mdp-weekdays{color:var(--muted,#71717a);text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;font-size:12px;font-weight:700;display:grid}.mdp-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.mdp-day{aspect-ratio:1;color:var(--text,#0a0a0a);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;width:100%;min-width:0;min-height:40px;padding:0;font-size:14px;font-weight:600;transition:background .12s,color .12s;display:inline-flex}.mdp-day.out-month{color:var(--faint,#a1a1aa);opacity:.55;font-weight:500}.mdp-day:hover{background:color-mix(in srgb, var(--brand-blue,#2563eb) 12%, transparent)}.mdp-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--brand-blue,#2563eb) 55%, transparent);color:var(--brand-blue,#2563eb)}.mdp-day.is-selected{background:var(--brand-blue,#2563eb);color:#fff;font-weight:700}.mdp-day.is-selected:hover{background:color-mix(in srgb, var(--brand-blue,#2563eb) 88%, #000);color:#fff}.mdp-footer{justify-content:space-between;align-items:center;gap:10px;min-height:32px;margin-top:2px;padding:0 2px;display:flex}.mdp-today-btn{color:var(--brand-blue,#2563eb);cursor:pointer;font:inherit;background:0 0;border:0;padding:6px 4px;font-size:13px;font-weight:700}.mdp-today-btn:hover{text-decoration:underline}.mdp-selected-label{color:var(--text,#0a0a0a);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.mdp-selected-label.muted{color:var(--muted,#71717a);font-weight:500}.month-date-picker.is-compact{padding:8px}.month-date-picker.is-compact .mdp-day{border-radius:8px;min-height:34px;font-size:13px}.detail-due-wrap .month-date-picker{width:100%}.detail-field.detail-due-field{align-items:center;gap:var(--space-2);grid-template-rows:auto;grid-template-columns:16px 2.5rem minmax(0,1fr) 24px;height:auto;min-height:0;padding:10px 12px;display:grid}.detail-field.detail-due-field.is-expanded{grid-template-rows:auto auto;align-items:start;padding-bottom:12px}.detail-field.detail-due-field>.field-icon{grid-area:1/1;align-self:center}.detail-field.detail-due-field>span:not(.field-icon):not(.detail-due-summary-text){grid-area:1/2;align-self:center}.detail-field.detail-due-field>.detail-due-summary{grid-area:1/3;align-self:center}.detail-field.detail-due-field>.detail-clear{grid-area:1/4;place-self:center end}.detail-field.detail-due-field:not(.is-expanded)>.detail-due-wrap{display:none!important}.detail-field.detail-due-field>.detail-due-wrap{grid-area:2/1/auto/-1;width:100%;margin-top:4px}.detail-due-summary{background:var(--panel);border:1px solid var(--line);color:var(--text);cursor:pointer;font:inherit;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:6px;width:100%;min-width:0;min-height:34px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.detail-due-summary:hover{border-color:color-mix(in srgb, var(--brand-blue) 35%, var(--line))}.detail-due-summary-text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.detail-due-chevron{color:var(--muted);flex-shrink:0;transition:transform .15s}.detail-due-chevron.open{transform:rotate(180deg)}.time-wheels{flex:auto;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:10px;min-height:0;padding:4px 0 2px;display:grid}.time-wheel{flex-direction:column;gap:6px;min-width:0;min-height:0;display:flex}.time-wheel-label{color:var(--muted);letter-spacing:.04em;text-align:center;font-size:12px;font-weight:700}.time-wheel-list{background:var(--panel-soft,#f4f4f5);border:1px solid var(--line,#0000000f);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:14px;flex-direction:column;gap:2px;min-height:180px;max-height:min(42dvh,280px);padding:6px;display:flex;overflow:auto}.time-wheel-list button{color:var(--text,#0a0a0a);cursor:pointer;font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:10px;flex-shrink:0;min-height:48px;padding:8px;font-size:20px;font-weight:600;transition:background .12s,color .12s,box-shadow .12s}.time-wheel-list button.active{background:color-mix(in srgb, var(--brand-blue,#2563eb) 22%, #fff);box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--brand-blue,#2563eb) 42%, transparent);color:var(--text,#0a0a0a);font-weight:800}html[data-theme=dark] .time-wheel-list{background:#1c1c1c;border-color:#ffffff1a}html[data-theme=dark] .time-wheel-list button{color:#f4f4f5}html[data-theme=dark] .time-wheel-list button.active{color:#fafafa;background:#2c4161;box-shadow:inset 0 0 0 1.5px #5b9cff8c}html[data-theme=plain] .time-wheel-list{background:#efeae2;border-color:#4638281f}html[data-theme=plain] .time-wheel-list button.active{color:#2c2620;background:#d8dee3;box-shadow:inset 0 0 0 1.5px #6b8cae66}.sheet-colon{align-self:center;margin-top:22px;font-size:28px}.sheet-actions{flex-shrink:0;gap:10px;padding-top:4px;display:flex}.sheet-primary{background:var(--brand-blue);color:#fff;cursor:pointer;font:inherit;border:0;border-radius:14px;flex:1;min-height:50px;padding:12px 16px;font-size:16px;font-weight:700}.sheet-primary:active{transform:scale(.98)}.time-quick-actions button.danger-soft{color:var(--danger)}@media (width>=720px){.sheet-panel{border-radius:18px;width:min(400px,100vw - 32px);max-width:400px;max-height:min(70vh,520px);inset:50% auto auto 50%;transform:translate(-50%,-50%)}@keyframes sheet-up{0%{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}}.composer-time-popover,.composer-time-popover-fixed{display:none}.composer-date-input,.detail-date-input{background:var(--panel-soft);border:1px solid var(--line);color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:inherit;font-size:var(--fs-md);border-radius:8px;width:100%;min-width:0;max-width:100%;padding:8px 10px}.app-shell[data-theme=light] .composer-date-input,.app-shell[data-theme=light] .detail-date-input,.app-shell[data-theme=plain] .composer-date-input,.app-shell[data-theme=plain] .detail-date-input{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.date-quick-actions,.time-quick-actions{gap:2px;display:grid}.time-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.time-quick-actions.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.date-quick-actions button,.time-quick-actions button{background:var(--panel-soft);border-radius:var(--radius-pill);color:var(--text);cursor:pointer;font:inherit;font-size:var(--fs-md);text-align:center;border:1px solid #0000;padding:9px 10px}.date-quick-actions button{text-align:left;background:0 0;border-color:#0000}.date-quick-actions button:hover,.time-quick-actions button:hover{background:color-mix(in srgb, var(--panel-soft,#f4f4f5) 70%, var(--text,#0a0a0a));color:var(--text,#0a0a0a);border-color:#0000}.time-quick-actions button.active{background:color-mix(in srgb, var(--brand-blue,#2563eb) 18%, #fff);border-color:color-mix(in srgb, var(--brand-blue,#2563eb) 35%, transparent);color:var(--text,#0a0a0a);font-weight:700}html[data-theme=dark] .time-quick-actions button.active{color:#fafafa;background:#293c57;border-color:#5b9cff73}.time-custom-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;display:grid}@media (width<=380px){.time-custom-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.time-custom-row .time-apply-button{grid-column:1/-1}}.time-colon{color:var(--muted);font-size:var(--fs-xl);text-align:center;font-weight:600}.time-part-select{min-width:0}.time-part-select .menu-select-trigger{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;min-height:34px;padding:6px 8px}.time-apply-button{background:var(--text);border-radius:var(--radius-pill);color:var(--bg);cursor:pointer;font:inherit;font-size:var(--fs-md);border:0;min-height:36px;padding:6px 14px;font-weight:600}.detail-time-field{align-items:center}.detail-time-picker{width:100%;min-width:0;position:relative}.detail-time-trigger{background:var(--bg);border:1px solid var(--line);color:var(--text);cursor:pointer;font:inherit;font-size:var(--fs-md);border-radius:8px;justify-content:space-between;align-items:center;gap:6px;width:100%;min-height:32px;padding:6px 8px;display:flex}.detail-time-menu{background:var(--panel);border:1px solid var(--line-strong);box-shadow:var(--shadow);z-index:40;border-radius:12px;gap:8px;padding:10px;display:grid;position:absolute;inset:auto 0 calc(100% + 8px)}.detail-backdrop{display:none}.detail-panel{background:var(--bg);border-left:1px solid var(--line);box-shadow:none;z-index:2;flex-direction:column;grid-area:detail;width:100%;min-width:0;max-width:none;height:100%;min-height:0;transition:none;display:flex;position:relative;top:auto;right:auto;transform:none}.detail-panel.open{transform:none}.detail-close{border-radius:8px;align-self:flex-end;min-width:32px;height:32px;margin:8px 8px 0}.detail-scroll{gap:var(--space-3);min-height:0;padding:0 var(--space-3) var(--space-5);flex-direction:column;flex:1;display:flex;overflow:hidden auto}.detail-title-block{gap:10px;min-width:0;padding-top:2px;display:grid}.detail-title{align-items:center;gap:10px;width:100%;min-width:0;display:flex}.detail-title .check-button.large{flex-shrink:0;justify-content:center;align-self:center;align-items:center;width:32px;min-width:32px;height:32px;display:inline-flex}.detail-title .check-button.large svg{flex-shrink:0;display:block;transform:translateY(.5px)}.detail-title-actions{--detail-action-h:30px;--detail-action-r:6px;box-sizing:border-box;flex-wrap:nowrap;justify-content:stretch;align-items:stretch;gap:6px;width:100%;min-width:0;padding-left:0;display:flex}.detail-title-actions .detail-due-chip{text-align:center;flex:1 1 0;justify-content:center;width:auto;min-width:0;max-width:none;margin-left:0}.detail-list-inline.menu-select{flex:1 1 0;width:auto;min-width:0;max-width:none}.detail-list-inline .menu-select-trigger{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--detail-action-r,6px);height:var(--detail-action-h,30px);min-height:var(--detail-action-h,30px);justify-content:space-between;gap:4px;width:100%;padding:0 8px 0 10px;font-size:12px;font-weight:600}.detail-list-inline .menu-select-value{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.detail-list-inline .menu-select-chevron{opacity:.7;flex-shrink:0}.detail-title-actions .detail-tool-btn{border-radius:var(--detail-action-r,6px);flex:0 0 var(--detail-action-h,30px);height:var(--detail-action-h,30px);min-width:var(--detail-action-h,30px);width:var(--detail-action-h,30px);align-self:center}.detail-title-actions:not(:has(.detail-due-chip)) .detail-list-inline.menu-select{flex:auto}.detail-title-input{box-shadow:none;color:var(--text);font:inherit;font-size:var(--fs-md);resize:none;vertical-align:middle;white-space:pre-wrap;word-break:break-word;background:0 0;border:0;outline:none;flex:auto;align-self:center;width:100%;min-width:0;min-height:32px;padding:0;font-weight:600;line-height:32px;display:block;overflow:hidden}.detail-title-input:focus,.detail-title-input:focus-visible{box-shadow:none;background:0 0;border:0;outline:none}.detail-delete-icon{color:var(--danger);flex-shrink:0}.detail-delete-icon:hover{background:var(--danger-soft);color:var(--danger)}.detail-title-actions .star-button{color:var(--muted);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;margin-left:0;padding:0;display:inline-flex}.detail-title-actions .star-button:hover{background:var(--panel-soft);color:var(--text)}.detail-title-actions .star-button.active{color:var(--warn)}.detail-due-chip{background:color-mix(in srgb, var(--info) 10%, var(--panel-soft));border:1px solid color-mix(in srgb, var(--info) 22%, var(--line));border-radius:var(--detail-action-r,6px);box-sizing:border-box;color:var(--info);height:var(--detail-action-h,30px);text-overflow:ellipsis;white-space:nowrap;align-items:center;min-width:0;padding:0 10px;font-size:12px;font-weight:600;line-height:1;display:inline-flex;overflow:hidden}.detail-due-chip.tone-soon{background:color-mix(in srgb, var(--warn) 10%, var(--panel-soft));border-color:color-mix(in srgb, var(--warn) 24%, var(--line));color:var(--warn)}.detail-due-chip.tone-overdue{background:color-mix(in srgb, var(--danger) 10%, var(--panel-soft));border-color:color-mix(in srgb, var(--danger) 22%, var(--line));color:var(--danger)}.detail-due-chip.tone-ok{background:color-mix(in srgb, var(--info) 10%, var(--panel-soft));border-color:color-mix(in srgb, var(--info) 22%, var(--line));color:var(--info)}.undo-toast{background:var(--text);bottom:max(20px, env(safe-area-inset-bottom,0px));box-shadow:var(--shadow);color:var(--bg);z-index:80;border-radius:12px;align-items:center;gap:12px;max-width:min(420px,100vw - 24px);padding:10px 12px 10px 14px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.undo-toast span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.undo-toast-btn{background:color-mix(in srgb, var(--bg) 18%, transparent);color:inherit;cursor:pointer;font:inherit;border:0;border-radius:8px;flex-shrink:0;padding:6px 10px;font-size:13px;font-weight:700}.undo-toast-btn:hover{background:color-mix(in srgb, var(--bg) 28%, transparent)}@media (width<=960px){.app-shell.details-open,.app-shell.sidebar-compact.details-open{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);grid-template-areas:"sidebar main"}.app-shell.sidebar-compact.details-open{grid-template-columns:var(--sidebar-collapsed) minmax(0, 1fr);grid-template-areas:"sidebar main"}.detail-backdrop{cursor:pointer;z-index:20;background:#00000047;border:0;display:block;position:fixed;inset:0}.app-shell[data-theme=light] .detail-backdrop,.app-shell[data-theme=plain] .detail-backdrop{background:#00000029}.detail-panel{border-left:1px solid var(--line);box-shadow:var(--shadow);grid-area:unset;z-index:21;width:min(320px,92vw);max-width:100vw;transition:transform .2s;position:fixed;top:0;right:0;transform:translate(100%)}.detail-panel.open{transform:translate(0)}}.check-button.large,.star-button.large{min-width:40px;height:40px}.delete-task,.detail-due-relative{display:none}.detail-fields{gap:var(--space-2);min-width:0;display:grid}.detail-field{background:var(--panel-soft);border-radius:var(--radius-sm);align-items:center;gap:var(--space-2);border:1px solid #0000;grid-template-columns:16px 2.5rem minmax(0,1fr) 24px;min-width:0;padding:10px 12px;display:grid}.detail-field>span:nth-child(2){color:var(--muted);white-space:nowrap;font-size:12px;font-weight:600}.detail-field .detail-list-select,.detail-field .detail-repeat-select,.detail-field .detail-due-wrap,.detail-field .detail-time-picker{width:100%;min-width:0}.field-icon{color:var(--muted);display:inline-flex}.steps-block,.notes-block{gap:var(--space-2);width:100%;min-width:0;display:grid}.section-title{color:var(--muted);font-size:var(--fs-sm);align-items:center;gap:8px;display:flex}.section-title strong{color:var(--text);font-weight:600}.steps-list{gap:4px;display:grid}.step-row{background:var(--panel-soft);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font:inherit;font-size:var(--fs-md);text-align:left;border:1px solid #0000;align-items:center;gap:8px;width:100%;padding:10px 12px;display:flex}.step-row.done{color:var(--faint);text-decoration:line-through}.notes-block span{color:var(--muted);font-size:var(--fs-sm)}.notes-block textarea{background:var(--panel-soft);border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:var(--fs-md);resize:vertical;border:1px solid #0000;outline:none;width:100%;min-height:min(240px,36vh);padding:12px 14px;line-height:1.55;transition:border-color .15s}.notes-block textarea:focus{border-color:var(--line-strong)}.account-overlay{z-index:30;position:fixed;inset:0}.account-backdrop{cursor:pointer;background:#00000085;border:0;position:absolute;inset:0}.account-panel{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:16px;width:min(420px,100vw - 32px);max-height:calc(100svh - 48px);padding:22px 22px 20px;display:grid;position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.account-panel.settings-panel,.account-panel.settings-panel.settings-shell{--settings-h:min(88svh, 820px);--settings-w:min(1080px, calc(100vw - 72px));box-sizing:border-box;flex-direction:column;flex:none;gap:0;padding:0;display:flex;overflow:hidden;height:var(--settings-h)!important;max-height:var(--settings-h)!important;max-width:var(--settings-w)!important;min-height:var(--settings-h)!important;width:var(--settings-w)!important}.settings-panel .account-close{justify-self:auto;margin:0}.settings-body{flex:auto;grid-template-columns:168px minmax(0,1fr);width:100%;height:100%;min-height:0;display:grid;overflow:hidden}.settings-side{background:color-mix(in srgb, var(--panel-soft) 88%, var(--bg));border-right:1px solid var(--line);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.settings-side-head{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;min-height:44px;padding:10px 14px;display:flex}.settings-side-head h2{letter-spacing:-.02em;margin:0;font-size:16px;font-weight:700}.settings-nav{flex-direction:column;flex:auto;gap:2px;min-height:0;padding:10px 8px 12px;display:flex;overflow:auto}.settings-main{flex-direction:column;flex:auto;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.settings-main-head{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:8px 14px;display:flex}.settings-main-title{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:15px;font-weight:700;overflow:hidden}.settings-nav-item{color:var(--muted);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;width:100%;min-height:36px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.settings-nav-item:hover{background:color-mix(in srgb, var(--text) 5%, transparent);color:var(--text)}.settings-nav-item.active{background:color-mix(in srgb, var(--brand-blue) 14%, var(--panel));color:var(--text)}.settings-nav-item svg{opacity:.85;flex-shrink:0}.settings-content{flex-direction:column;flex:auto;min-width:0;height:100%;min-height:0;padding:0;display:flex;overflow:hidden}.settings-pane{box-sizing:border-box;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;justify-content:flex-start;gap:10px;min-width:0;height:100%;min-height:0;padding:12px 14px 14px;display:flex;overflow:auto}.settings-pane-account{gap:14px}.settings-pane-footer{margin-top:auto;padding-top:8px}.settings-pane.calendar-pane{flex-direction:column;flex:auto;justify-content:flex-start;gap:0;height:100%;min-height:0;max-height:none;padding:0;display:flex;overflow:hidden}.calendar-pane-sticky{background:var(--bg);border-bottom:1px solid var(--line);z-index:4;flex-direction:column;flex:none;gap:4px;padding:6px 12px;display:flex;position:relative}.calendar-pane-sticky .settings-rows-compact{gap:2px}.calendar-pane-sticky .settings-row{min-height:34px;padding:2px 0}.calendar-pane-sticky .settings-row-label{gap:6px;font-size:12px}.calendar-pane-sticky .settings-select .menu-select-trigger{min-height:30px;padding:4px 8px;font-size:12px}.calendar-pane-body{overscroll-behavior:contain;flex-direction:column;flex:1 1 0;gap:8px;height:100%;min-height:0;padding:0;display:flex;overflow:hidden}.calendar-pane-body.is-events{-webkit-overflow-scrolling:touch;gap:8px;padding:10px 14px 14px;overflow:hidden auto}.calendar-pane-body.is-school{padding:0;overflow:hidden}.school-cal-pane{flex-direction:column;flex:1 1 0;gap:0;height:100%;min-height:0;display:flex;overflow:hidden}.school-cal-pane-top{flex-direction:column;flex:none;gap:4px;padding:6px 12px 4px;display:flex}.school-cal-pane-bottom{border-top:1px solid var(--line);flex-direction:column;flex:none;gap:4px;padding:6px 12px 8px;display:flex}.cal-settings-tabs{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;flex-shrink:0;grid-template-columns:1fr 1fr;gap:2px;padding:2px;display:grid}.cal-settings-tabs button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;min-height:28px;padding:4px 8px;font-size:12px;font-weight:600}.cal-settings-tabs button:hover{color:var(--text)}.cal-settings-tabs button.active{background:var(--bg);color:var(--text);box-shadow:0 1px 2px #00000014}.public-cal-holiday-block{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin-top:12px;padding-top:10px;display:flex}.public-cal-holiday-lead{margin:0 0 2px}.cal-settings-toggle-row.is-holiday{background:color-mix(in srgb, var(--warn,#d97706) 8%, var(--panel-soft));border-color:color-mix(in srgb, var(--warn,#d97706) 16%, var(--line))}.cal-settings-toggle-row.is-invest{background:color-mix(in srgb, var(--ok,#16a34a) 8%, var(--panel-soft));border-color:color-mix(in srgb, var(--ok,#16a34a) 16%, var(--line))}.cal-settings-toggle-row{background:color-mix(in srgb, var(--brand-blue) 8%, var(--panel-soft));border:1px solid color-mix(in srgb, var(--brand-blue) 18%, var(--line));cursor:pointer;border-radius:8px;align-items:center;gap:8px;width:100%;min-height:40px;padding:6px 10px;display:flex}.cal-settings-toggle-row.is-school{background:color-mix(in srgb, var(--brand-blue) 10%, var(--panel-soft))}.cal-settings-toggle-row.is-school-compact{gap:8px;min-height:32px;padding:4px 10px}.cal-settings-toggle-row.is-school-compact .cal-settings-toggle-meta{flex-direction:row;align-items:center;gap:8px}.cal-settings-toggle-row.is-school-compact .cal-settings-toggle-meta strong{align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.school-cal-using-tag{background:color-mix(in srgb, var(--brand-blue) 16%, transparent);color:var(--brand-blue);white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:11px;font-style:normal;font-weight:600;line-height:1}.cal-settings-toggle-meta{text-align:left;flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.cal-settings-toggle-meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.cal-settings-toggle-meta small{color:var(--muted);font-size:11px}.cal-settings-check{accent-color:var(--brand-blue);flex-shrink:0;width:16px;height:16px;margin:0}.public-cal-section{flex-direction:column;flex:auto;gap:4px;min-height:0;display:flex}.cal-settings-toggle-row.is-pack-compact{gap:8px;min-height:30px;padding:3px 10px}.cal-settings-toggle-row.is-pack-compact .cal-settings-toggle-meta{flex-direction:row;align-items:center}.cal-settings-toggle-row.is-pack-compact .cal-settings-toggle-meta strong{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.pack-count-inline{color:var(--muted);white-space:nowrap;font-size:12px;font-style:normal;font-weight:600}.public-cal-cat-chips{flex-wrap:wrap;gap:4px;display:flex}.public-cal-cat-chip{background:var(--panel-soft);border:1px solid var(--line);color:var(--muted);cursor:pointer;font:inherit;border-radius:6px;padding:3px 7px;font-size:11px;font-weight:600;line-height:1.2}.public-cal-cat-chip.on{background:color-mix(in srgb, var(--brand-blue) 12%, var(--panel-soft));border-color:color-mix(in srgb, var(--brand-blue) 30%, var(--line));color:var(--text)}.public-cal-cat-chip.off{opacity:.4}.public-cal-cat-chip.focused{box-shadow:0 0 0 2px color-mix(in srgb, var(--brand-blue) 35%, transparent)}.public-cal-cat-count{color:var(--faint);margin-left:4px;font-size:10px;font-style:normal;font-weight:700}.public-cal-cat-chip.on .public-cal-cat-count{color:color-mix(in srgb, var(--brand-blue) 70%, var(--muted))}.public-cal-preview{border:1px solid var(--line);border-radius:8px;flex-direction:column;flex:auto;min-height:180px;display:flex;overflow:hidden}.public-cal-preview-toggle{background:var(--panel-soft);border:0;border-bottom:1px solid var(--line);color:var(--text);cursor:pointer;font:inherit;text-align:left;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:5px 8px;font-size:12px;font-weight:600;display:flex}.public-cal-preview-toggle strong{color:var(--muted);font-size:12px;font-weight:700}.public-cal-preview-empty{color:var(--muted);margin:0;padding:12px 10px;font-size:12px;line-height:1.45}.public-cal-preview-list{flex-direction:column;flex:auto;gap:0;min-height:0;max-height:none;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.public-cal-preview-list li{border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);grid-template-columns:52px minmax(0,1fr);align-items:flex-start;gap:8px;padding:8px 10px;display:grid}.public-cal-preview-list li:last-child{border-bottom:0}.public-cal-preview-list time{color:var(--brand-blue,var(--muted));font-variant-numeric:tabular-nums;padding-top:1px;font-size:11px;font-weight:700;line-height:1.35}.public-cal-preview-main{flex-direction:column;gap:2px;min-width:0;display:flex}.public-cal-preview-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;line-height:1.3;overflow:hidden}.public-cal-preview-main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.3;overflow:hidden}.public-cal-preview-more{text-align:center;font-size:11px;color:var(--faint)!important;grid-template-columns:1fr!important;padding:8px 10px 10px!important;display:block!important}.cal-month-public-events{flex-direction:column;gap:2px;width:100%;min-width:0;margin-top:2px;display:flex}.cal-month-public-chip{background:color-mix(in srgb, #6366f1 14%, var(--panel));color:var(--text);text-overflow:ellipsis;white-space:nowrap;border-left:2px solid #6366f1;border-radius:3px;max-width:100%;padding:1px 4px;font-size:10px;font-weight:600;line-height:1.25;text-decoration:none;display:block;overflow:hidden}.cal-month-public-chip.imp-high{background:color-mix(in srgb, #ef4444 12%, var(--panel));border-left-color:#ef4444}.cal-month-public-chip.imp-medium{border-left-color:#6366f1}.cal-month-public-chip.imp-low{opacity:.9;border-left-color:#94a3b8}.cal-month-public-more{color:var(--muted);padding-left:2px;font-size:10px;font-weight:600}.cal-week-public-event{color:var(--text);background:#6366f11a;border-radius:6px;align-items:center;gap:6px;min-height:22px;padding:2px 6px;text-decoration:none;display:flex}.cal-week-public-event.imp-high{background:#ef44441f}.cal-week-public-dot{background:#6366f1;border-radius:50%;flex-shrink:0;width:6px;height:6px}.cal-week-public-event.imp-high .cal-week-public-dot{background:#ef4444}.cal-week-public-title{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.day-public-events{flex-direction:column;gap:8px;width:100%;min-width:0;margin:0;padding:0;display:flex}.day-public-event-list{flex-direction:column;gap:8px;width:100%;margin:0;padding:0;list-style:none;display:flex}.day-public-event-row{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-sm);box-sizing:border-box;color:inherit;align-items:flex-start;gap:6px var(--space-3);grid-template-columns:28px minmax(0,1fr);width:100%;min-width:0;min-height:44px;padding:8px 12px;text-decoration:none;display:grid}.day-public-event-row:hover{background:color-mix(in srgb, var(--panel-soft) 70%, var(--bg));border-color:var(--line-strong)}.day-public-event-mark{color:var(--brand-blue);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.day-public-event-mark:before{content:"";opacity:.85;background:currentColor;border-radius:50%;width:8px;height:8px}.day-public-event-body{flex-direction:column;flex:auto;gap:2px;min-width:0;padding-top:3px;display:flex}.day-public-event-cat{color:var(--brand-blue);letter-spacing:.02em;font-size:11px;font-weight:700;line-height:1.3}.day-public-event-title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;line-height:1.35;overflow:hidden}.day-public-event-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.3;overflow:hidden}.day-public-event-row.imp-high .day-public-event-mark{color:#c2410c}.day-public-event-row.imp-medium .day-public-event-mark{color:var(--brand-blue)}.settings-calendar-current{background:color-mix(in srgb, var(--brand-blue) 10%, var(--panel-soft));border:1px solid color-mix(in srgb, var(--brand-blue) 22%, var(--line));border-radius:10px;align-items:center;gap:8px 10px;min-width:0;padding:8px 10px;display:flex}.settings-calendar-current-text{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.settings-calendar-current strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;line-height:1.25;overflow:hidden}.settings-calendar-current small{color:var(--muted);margin-top:0;font-size:11px;line-height:1.3;display:block}.school-cal-toggle-inline{white-space:nowrap;flex:none;gap:6px;width:auto;min-height:0;margin:0;padding:2px 0 2px 8px;font-size:12px;font-weight:600}.school-cal-toggle-inline input{flex-shrink:0;width:15px;height:15px}.settings-pane .school-cal-filters{flex-shrink:0;gap:4px;display:grid}.settings-pane .school-cal-search-field input,.settings-pane .school-cal-province .menu-select-trigger{min-height:32px;padding:5px 10px;font-size:12px}.settings-pane .school-cal-catalog,.school-cal-pane .school-cal-catalog{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1 1 0;gap:3px;min-height:200px;max-height:none;padding:0 12px 6px;display:grid;overflow-x:hidden;overflow-y:auto!important}.account-panel.settings-panel .school-cal-catalog{overflow-y:auto!important}.settings-pane .school-cal-actions{flex-shrink:0;gap:4px;margin-top:0;display:grid}.settings-pane .school-cal-actions .secondary-button,.settings-pane .school-cal-actions .school-cal-import{min-height:32px;padding:6px 10px;font-size:12px}.school-cal-search-field{position:relative}.school-cal-search-field input{min-height:36px;padding:8px 36px 8px 12px}.school-cal-search-icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.school-cal-province-field .school-cal-province .menu-select-trigger{min-height:36px;padding:6px 10px;font-size:13px}.settings-pane .school-cal-catalog-item,.settings-pane .school-cal-catalog-item.is-oneline{gap:6px;min-height:0;padding:4px 8px}.settings-pane .school-cal-catalog-item.is-oneline .school-cal-catalog-title{font-size:12px}.settings-pane .school-cal-catalog-item.is-oneline .school-cal-catalog-loc,.settings-pane .school-cal-catalog-meta,.settings-pane .school-cal-catalog-action{font-size:11px}.settings-pane-title{margin:0;font-size:15px;font-weight:700}.settings-pane-lead{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.settings-section-title{color:var(--muted);letter-spacing:.04em;margin:6px 0 0;font-size:12px;font-weight:700}.settings-rows{background:var(--panel-soft);border:1px solid var(--line);border-radius:12px;gap:0;min-width:0;display:grid;overflow:hidden}.settings-rows-compact{margin-bottom:4px}.settings-hint{color:var(--muted);margin:0 0 12px;padding:0 2px;font-size:12px;line-height:1.45}.settings-row{grid-template-columns:minmax(0,1fr) minmax(120px,46%);align-items:center;gap:10px;min-width:0;padding:12px 14px;display:grid}.settings-row.static{grid-template-columns:minmax(0,1fr) auto}.settings-row+.settings-row{border-top:1px solid var(--line)}.settings-row-label{color:var(--text);align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:600;display:inline-flex}.settings-row-label svg{color:var(--muted);flex-shrink:0}.settings-static-value{color:var(--muted);font-size:13px;font-weight:600}.settings-select{width:100%;min-width:0}.settings-select .menu-select-trigger{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-height:34px;padding:4px 10px;font-size:13px;font-weight:600}.settings-nav-row{background:var(--panel-soft);border:1px solid var(--line);color:var(--text);cursor:pointer;font:inherit;text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-width:0;padding:12px 14px;display:flex}.settings-nav-row:hover{border-color:var(--line-strong)}.settings-nav-value{color:var(--muted);align-items:center;gap:6px;min-width:0;max-width:55%;display:inline-flex}.settings-nav-value small{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}@media (width<=640px){.account-panel.settings-panel,.account-panel.settings-panel.settings-shell{--settings-h:min(90dvh, 860px);--settings-w:min(100vw - 16px, 640px);height:var(--settings-h)!important;max-height:var(--settings-h)!important;min-height:var(--settings-h)!important;max-width:var(--settings-w)!important;width:var(--settings-w)!important}.settings-body{grid-template-columns:132px minmax(0,1fr)}.school-cal-pane .school-cal-catalog{min-height:120px}.school-cal-toggle-inline span{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.school-cal-toggle-inline{padding-left:4px}.settings-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.settings-side{border-bottom:1px solid var(--line);border-right:0;flex-direction:column}.settings-side-head{min-height:44px;padding:10px 14px 6px}.settings-nav{border-bottom:0;border-right:0;flex-direction:row;flex:none;gap:4px;padding:6px 8px 10px;overflow-x:auto}.settings-nav-item{white-space:nowrap;flex:none;padding:8px 12px}.settings-nav-item span{display:inline}.settings-main-head{min-height:44px}}.account-close{justify-self:end;margin:-4px -4px 0 0}.account-hero{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:4px 8px 2px;display:flex}.account-hero.compact{background:var(--panel-soft);border:1px solid var(--line);text-align:left;border-radius:10px;flex-direction:row;align-items:center;gap:14px;padding:14px}.account-hero.compact .account-avatar-lg{width:56px;min-width:56px;max-width:56px;height:56px;font-size:var(--fs-xl)}.account-hero-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.account-hero-title-row{flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0;display:flex}.account-hero-title-row .account-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;margin:0;font-size:16px;overflow:hidden}.account-hero.compact .account-email{margin:0}.account-hero.signed-out{padding-top:0}.account-avatar-lg{font-size:var(--fs-2xl);border-radius:50%;width:72px;min-width:72px;max-width:72px;height:72px}.account-avatar-lg.empty{background:var(--panel-soft);border:1px solid var(--line);color:var(--muted)}.account-name{font-size:var(--fs-2xl);letter-spacing:0;overflow-wrap:anywhere;max-width:100%;margin:4px 0 0;font-weight:600;line-height:1.25}.account-email{color:var(--muted);font-size:var(--fs-md);overflow-wrap:anywhere;max-width:100%;margin:0;line-height:1.4}.account-lead{color:var(--muted);font-size:var(--fs-lg);margin:0;line-height:1.45}.account-status-badge{background:color-mix(in srgb, var(--ok) 14%, transparent);border:1px solid color-mix(in srgb, var(--ok) 28%, transparent);color:var(--ok);white-space:nowrap;border-radius:6px;flex-shrink:0;margin-top:0;padding:3px 8px;font-size:12px;font-weight:600}.account-hint{color:var(--muted);text-align:left;margin:0;font-size:13px;line-height:1.5}.account-hint.quiet{opacity:.9;font-size:12px}.settings-pane-account .account-hint{padding:0 2px}.account-error{background:var(--danger-soft);border:1px solid color-mix(in srgb, var(--danger) 30%, transparent);color:var(--danger);font-size:var(--fs-md);text-align:center;border-radius:10px;margin:0;padding:10px 12px}.account-meta-card{background:var(--panel-soft);border:1px solid var(--line);border-radius:10px;gap:0;display:grid;overflow:hidden}.account-meta-row{grid-template-columns:100px minmax(0,1fr);align-items:center;gap:12px;padding:11px 14px;display:grid}.account-meta-row+.account-meta-row{border-top:1px solid var(--line)}.account-meta-label{color:var(--muted);font-size:var(--fs-sm);align-items:center;gap:6px;display:inline-flex}.account-meta-value{color:var(--text);font-size:var(--fs-md);overflow-wrap:anywhere;text-align:right;min-width:0;font-weight:500}.account-actions{justify-content:stretch;gap:8px;width:100%;display:flex}.account-actions.stacked{grid-template-columns:1fr;gap:10px;width:100%;margin-top:4px;display:grid}.account-actions.stacked>*{box-sizing:border-box;justify-content:center;width:100%;min-width:0}.primary-button,.secondary-button,.danger-button{box-sizing:border-box;cursor:pointer;font:inherit;font-size:var(--fs-lg);border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:44px;padding:10px 14px;font-weight:500;display:inline-flex}.primary-button.google{color:#1f1f1f;background:#fff;border:1px solid #dadce0;width:100%}.primary-button.google:hover{background:#f8f9fa}.primary-button.ghost{background:var(--panel-soft);border:1px solid var(--line);color:var(--text);width:100%}.primary-button.ghost:hover{border-color:var(--line-strong)}.secondary-button{background:var(--panel-soft);border:1px solid var(--line);color:var(--text);width:100%}.secondary-button.block{width:100%}.secondary-button.danger{color:var(--danger)}.secondary-button:disabled{cursor:not-allowed;opacity:.45}.danger-button{background:var(--danger-soft);border:1px solid color-mix(in srgb, var(--danger) 28%, transparent);color:var(--danger);width:100%}.danger-button:hover{background:color-mix(in srgb, var(--danger) 18%, transparent)}.google-mark{border-radius:var(--radius-round);color:#4285f4;font-size:var(--fs-sm);background:#fff;border:1px solid #e5e7eb;justify-content:center;align-items:center;width:22px;height:22px;font-weight:700;display:inline-flex}.app-shell[data-theme=dark] .primary-button.google{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.avatar{aspect-ratio:1;background:var(--text);color:var(--bg);cursor:pointer;font-size:var(--fs-sm);border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;min-width:34px;max-width:34px;height:34px;padding:0;font-weight:600;display:inline-flex;overflow:hidden}.avatar.small{width:28px;min-width:28px;max-width:28px;height:28px}.avatar-image{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.mobile-menu-btn{display:none}.mobile-backdrop{z-index:14;background:#00000073;border:0;position:fixed;inset:0}@media (width<=860px){.app-shell,.app-shell.sidebar-compact,.app-shell.details-open,.app-shell.sidebar-compact.details-open{grid-template-columns:minmax(0,1fr);grid-template-areas:"main"}.app-shell.sidebar-compact .sidebar .nav-item .nav-label,.app-shell.sidebar-compact .sidebar .nav-item .nav-count,.app-shell.sidebar-compact .sidebar .list-heading-label,.app-shell.sidebar-compact .sidebar .brand-home strong,.app-shell.sidebar-compact .sidebar .language-picker .menu-select-value,.app-shell.sidebar-compact .sidebar .language-picker .menu-select-chevron,.app-shell.sidebar-compact .sidebar .school-cal-entry span strong,.app-shell.sidebar-compact .sidebar .school-cal-entry span small,.app-shell.sidebar-compact .sidebar .account-card svg:last-child{display:block!important}.app-shell.sidebar-compact .sidebar .search-box,.app-shell.sidebar-compact .sidebar .account-card span:not(.avatar):not(.avatar-sync-ring),.app-shell.sidebar-compact .sidebar .account-card-meta,.app-shell.sidebar-compact .sidebar .account-card-meta>span{display:flex!important}.app-shell.sidebar-compact .sidebar .nav-item .nav-label{flex:auto!important}.app-shell.sidebar-compact .sidebar .nav-item .nav-count{display:inline-block!important}.app-shell.sidebar-compact .sidebar .nav-item .nav-abbr,.app-shell.sidebar-compact .sidebar .list-heading-abbr{display:none!important}.app-shell.sidebar-compact .sidebar-brand{min-height:52px;padding:var(--gutter-sm);flex-direction:row;gap:10px}.app-shell.sidebar-compact .sidebar-collapse-btn,.board-sidebar-toggle{display:none}.app-shell.sidebar-compact .nav-item{justify-content:space-between;min-height:46px;padding:12px 14px}.app-shell.sidebar-compact .nav-item .nav-icon,.app-shell.sidebar-compact .nav-item-mode .nav-mode-icon{margin:0}.app-shell.sidebar-compact .sidebar-scroll{padding:0 var(--gutter-sm) 12px}.app-shell.sidebar-compact .sidebar-tools{flex-direction:row;grid-template-columns:1fr 1fr;gap:8px;display:grid}.app-shell.sidebar-compact .language-picker,.app-shell.sidebar-compact .theme-mode-picker{width:100%}.app-shell.sidebar-compact .language-picker .menu-select-trigger,.app-shell.sidebar-compact .theme-mode-picker .menu-select-trigger{justify-content:space-between}.app-shell.sidebar-compact .account-card{justify-content:flex-start;padding:10px 12px}.app-shell.sidebar-compact .account-card-split{justify-content:flex-start;padding:8px 10px}.sidebar-footer .sidebar-account{justify-content:flex-start;width:100%}.app-shell.sidebar-compact .sidebar-footer .account-card-meta{display:flex!important}.app-shell.sidebar-compact .custom-lists>.nav-item.new-list{display:flex}.sidebar{background:var(--sidebar-bg,var(--bg));border-right:1px solid var(--line);z-index:15;flex-direction:column;width:min(320px,90vw);max-width:min(320px,90vw);height:100dvh;transition:transform .22s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;top:0;left:0;transform:translate(-105%);box-shadow:8px 0 32px #0000001f}.app-shell.nav-open .sidebar{transform:translate(0)}.sidebar-scroll{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow:auto}.sidebar-footer{padding-bottom:max(10px, env(safe-area-inset-bottom,0px));flex-shrink:0}.sidebar{grid-area:unset}.task-board{grid-area:main;width:100%;min-width:0;min-height:0}.mobile-menu-btn{flex-shrink:0;display:inline-flex}.board-top{min-height:0;padding:10px var(--board-gutter) 8px;align-items:start;gap:8px 10px}.board-header{width:100%;min-width:0}.board-header h1{white-space:nowrap;flex:auto;font-size:clamp(20px,5.5vw,26px)}.board-title-row{align-items:center;gap:4px 8px}.board-title-row:has(>.mobile-menu-btn) .board-academic-inline{padding-left:40px}.board-academic-inline{flex-wrap:nowrap;flex:100%;gap:0 6px;padding-left:2px}.board-academic-school{max-width:8em}.board-academic-inline .academic-pin-select,.board-academic-inline .board-academic-pin{max-width:min(100%,14em)}.board-range-label{white-space:normal;word-break:keep-all;max-width:100%;font-size:13px;line-height:1.4}.board-calendar-controls{flex:100%;justify-content:space-between;gap:8px;width:100%;margin-left:0}.cal-scope-switch{flex:auto;min-width:0}.cal-nav{flex-shrink:0;margin-left:0}.task-list{flex:auto;min-height:0;padding-bottom:8px}:is(.task-list:has(>.task-row),.task-list:has(>.day-agenda-section),.task-list:has(>.day-public-events),.task-list:has(>.empty-state)){gap:8px}.task-row{grid-template-columns:28px minmax(0,1fr) auto;min-height:52px}.task-trail{grid-template-columns:minmax(0,38vw);width:auto;max-width:42vw}.task-row .star-button,.task-meta,.task-trail .repeat-icon,.repeat-icon{display:none}.task-title{font-size:var(--fs-sm)}.task-schedule{max-width:38vw}.search-box kbd{display:none}.task-composer{padding:8px var(--board-gutter) max(10px, env(safe-area-inset-bottom,0px));flex-shrink:0}.account-card span{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.account-card span strong,.account-card span small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.account-card span small{color:var(--muted);font-size:12px}.nav-item{min-height:46px;padding:12px 14px}.nav-item .nav-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.insights-panel,.pomo-page{min-height:0}.insights-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.insights-grid{grid-template-columns:1fr;overflow:auto}}@media (width<=520px){.app-shell{--gutter:14px;--gutter-sm:12px;--board-gutter:var(--gutter)}.board-top{padding:10px var(--board-gutter) 6px}.board-header h1{font-size:22px}.board-range-label{font-size:12.5px}.cal-scope-switch{width:100%}.insights-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cal-year-overview{grid-template-rows:none}.empty-state{max-width:20rem;margin:24px auto;padding:20px 12px}}.sidebar-tool-row{flex-wrap:wrap;gap:6px;padding:0 0 6px;display:flex}.sidebar-tool-row .sidebar-tool-btn{flex:auto;width:100%;min-width:0}.sidebar-tool-btn{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;font:inherit;flex:1;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:6px 8px;font-size:12px;font-weight:600;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.sidebar-tool-btn:hover{border-color:color-mix(in srgb, var(--brand-blue) 35%, var(--line));color:var(--text)}.sidebar-tool-btn.active{background:color-mix(in srgb, var(--brand-blue) 14%, var(--panel-soft));border-color:color-mix(in srgb, var(--brand-blue) 40%, var(--line));color:var(--text)}.sidebar-compact .sidebar-tool-btn span{display:none}.sidebar-compact .sidebar-tool-row{flex-direction:column}.task-board:has(>.insights-panel){overflow:hidden}.insights-panel{height:100%;min-height:0;padding:0 var(--board-gutter) 14px;flex-direction:column;flex:auto;gap:12px;display:flex;overflow:auto}.insights-kpis{flex-shrink:0;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.insights-kpis article{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;justify-content:center;gap:4px;min-height:72px;padding:10px 12px;display:flex}.insights-kpis span{color:var(--muted);font-size:11px;font-weight:600}.insights-kpis strong{font-size:clamp(20px,2.4vmin,28px);font-weight:800;line-height:1.1}.insights-kpis strong.warn{color:var(--danger)}.insights-grid{flex:auto;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px;min-height:0;display:grid;overflow:hidden}.insights-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;flex:auto;gap:10px;min-width:0;min-height:220px;padding:14px 16px;display:flex;overflow:hidden}.insights-card header{flex-shrink:0;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.insights-card h3{font-size:var(--fs-md);align-items:center;gap:6px;margin:0;font-weight:700;display:inline-flex}.insights-card header span{color:var(--muted);font-size:12px}.insights-bars{flex:auto;grid-template-columns:repeat(7,minmax(0,1fr));align-items:stretch;gap:10px;min-height:160px;padding-top:6px;display:grid}.insights-bar-col{flex-direction:column;align-items:center;gap:8px;min-width:0;min-height:0;display:flex}.insights-bar-track{background:color-mix(in srgb, var(--text) 4%, transparent);border-radius:8px;flex:auto;justify-content:center;align-items:flex-end;gap:3px;width:100%;min-height:148px;max-height:240px;padding:6px 5px 4px;display:flex;overflow:hidden}.insights-bar-track i,.insights-bar-track b{border-radius:5px 5px 3px 3px;width:40%;min-height:0;transition:height .18s;display:block}.insights-bar-track i.has-value,.insights-bar-track b.has-value{min-height:8px}.insights-bar-track i.done{background:var(--brand-blue)}.insights-bar-track b.open{background:color-mix(in srgb, var(--warn) 75%, var(--panel))}.insights-bar-col>span{color:var(--muted);font-size:11px;font-weight:600}.insights-legend{color:var(--muted);flex-shrink:0;gap:12px;font-size:11px;display:flex}.insights-legend i{border-radius:2px;width:10px;height:8px;margin-right:4px;display:inline-block}.insights-legend i.done{background:var(--brand-blue)}.insights-legend i.open{background:color-mix(in srgb, var(--warn) 75%, var(--panel))}.insights-summary ul{color:var(--text);font-size:var(--fs-sm);flex-direction:column;flex:auto;gap:6px;min-height:0;margin:0;padding-left:18px;line-height:1.45;list-style:outside;display:flex;overflow:hidden}.insights-summary ul li{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.insights-focus-list{border-top:1px solid var(--line);flex-shrink:0;min-height:0;padding-top:10px;overflow:hidden}.insights-focus-list strong{margin-bottom:6px;font-size:12px;display:block}.insights-focus-list ol{color:var(--muted);margin:0;padding-left:18px;font-size:13px;overflow:hidden}.insights-focus-list li{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.insights-focus-list small{color:var(--faint)}.insights-open-tasks{flex:none;min-height:120px}.insights-open-tasks header{justify-content:space-between;align-items:center;gap:10px;display:flex}.insights-open-tasks header h3{font-size:var(--fs-md);align-items:center;gap:6px;margin:0;font-weight:700;display:inline-flex}.insights-link-btn{color:var(--brand-blue);cursor:pointer;font:inherit;background:0 0;border:0;padding:4px 0;font-size:12px;font-weight:600}.insights-link-btn:hover{text-decoration:underline}.insights-open-empty{color:var(--muted);margin:0;font-size:13px}.insights-open-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.insights-open-list li{background:var(--panel-soft);border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.insights-open-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.insights-open-title em{color:var(--warn);margin-right:4px;font-style:normal}.insights-open-due{color:var(--muted);flex-shrink:0;font-size:12px;font-weight:600}@media (width<=960px){.insights-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.insights-grid{grid-template-columns:1fr 1fr}}@media (width<=720px){.insights-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.insights-grid{grid-template-columns:1fr}.insights-panel{overflow:hidden}}.pomo-mini-bar{background:var(--panel);border:1px solid var(--line);bottom:max(100px, calc(72px + env(safe-area-inset-bottom,0px)));box-shadow:var(--shadow);color:var(--text);cursor:grab;font:inherit;right:max(16px, env(safe-area-inset-right,0px));touch-action:none;-webkit-user-select:none;user-select:none;z-index:40;border-radius:999px;align-items:center;gap:8px;padding:8px 14px 8px 12px;display:inline-flex;position:fixed}.pomo-mini-bar:hover{border-color:color-mix(in srgb, var(--brand-blue) 40%, var(--line))}.pomo-mini-bar.is-dragging{border-color:color-mix(in srgb, var(--brand-blue) 50%, var(--line));cursor:grabbing;opacity:.96;box-shadow:0 10px 28px #0000002e}.pomo-mini-dot{background:var(--brand-blue,#2563eb);border-radius:50%;flex-shrink:0;width:8px;height:8px}.pomo-mini-bar.status-paused .pomo-mini-dot{background:var(--warn,#d97706)}.pomo-mini-label{color:var(--muted);pointer-events:none;font-size:12px;font-weight:600}.pomo-mini-time{font-variant-numeric:tabular-nums;letter-spacing:-.02em;pointer-events:none;font-size:14px;font-weight:700}.app-shell.native-tabs .pomo-mini-bar{bottom:calc(var(--native-tab-h,56px) + 72px + env(safe-area-inset-bottom,0px))}.task-board:has(>.pomo-page){overflow:hidden}.pomo-page,.pomo-page-solo{box-sizing:border-box;height:100%;min-height:0;padding:8px var(--board-gutter) max(48px, 12vh);flex-direction:column;flex:auto;justify-content:center;align-items:center;display:flex;overflow:auto}.pomo-solo{flex-direction:column;flex:0 auto;justify-content:center;gap:14px;width:min(100%,720px);max-width:720px;min-height:0;margin:0 auto;display:flex;transform:translateY(-6vh)}.pomo-topbar{flex-direction:column;flex-shrink:0;gap:0;padding-top:0;display:flex}.pomo-solo-durs{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.pomo-solo-durs button,.pomo-dur-custom{background:var(--panel-soft);border:1px solid var(--line);color:var(--muted);cursor:pointer;font:inherit;border-radius:10px;flex:calc(25% - 8px);min-width:72px;min-height:40px;padding:8px 10px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s,color .12s}.pomo-solo-durs button.active,.pomo-dur-custom.active{background:color-mix(in srgb, var(--brand-blue) 16%, var(--panel-soft));border-color:color-mix(in srgb, var(--brand-blue) 42%, var(--line));color:var(--text)}.pomo-dur-custom{cursor:text;justify-content:center;align-items:center;gap:4px;max-width:140px;padding:6px 10px;display:inline-flex}.pomo-dur-custom input{appearance:textfield;color:inherit;font:inherit;font-variant-numeric:tabular-nums;text-align:center;background:0 0;border:0;outline:none;width:100%;min-width:2.2em;max-width:3.2em;padding:0;font-size:14px;font-weight:700}.pomo-dur-custom input::-webkit-outer-spin-button{appearance:none;margin:0}.pomo-dur-custom input::-webkit-inner-spin-button{appearance:none;margin:0}.pomo-dur-custom span{color:inherit;opacity:.85;flex-shrink:0;font-size:12px;font-weight:600}.pomo-dur-custom:focus-within{background:color-mix(in srgb, var(--brand-blue) 16%, var(--panel-soft));border-color:color-mix(in srgb, var(--brand-blue) 55%, var(--line));box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-blue) 14%, transparent);color:var(--text)}.pomo-stage{background:var(--panel);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);text-align:center;flex-direction:column;flex:0 auto;justify-content:center;align-items:center;gap:16px;width:100%;min-height:0;padding:28px 24px 26px;display:flex;position:relative;overflow:hidden}.pomo-solo-head{text-align:center;flex-shrink:0}.pomo-solo-head strong{letter-spacing:.02em;font-size:15px;font-weight:800;line-height:1.3;display:block}.pomo-solo-head span{color:var(--muted);margin-top:2px;font-size:12px;line-height:1.35;display:block}.pomo-time{font-variant-numeric:tabular-nums;letter-spacing:.03em;margin:2px 0 0;font-size:clamp(56px,12vmin,96px);font-weight:800;line-height:1}.pomo-progress{background:color-mix(in srgb, var(--text) 9%, transparent);border-radius:999px;width:min(100%,420px);max-width:420px;height:12px;margin:0 auto;overflow:hidden}.pomo-progress i{background:linear-gradient(90deg, color-mix(in srgb, var(--brand-blue) 85%, #60a5fa), var(--brand-blue));border-radius:inherit;min-width:0;height:100%;transition:width .2s;display:block}.pomo-solo-actions{flex-shrink:0;justify-content:center;gap:10px;width:100%;max-width:380px;margin-top:2px;display:flex}.pomo-primary,.pomo-secondary{cursor:pointer;font:inherit;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-size:14px;font-weight:700;display:inline-flex}.pomo-primary{background:var(--brand-blue);color:#fff;border:0}.pomo-secondary{background:var(--panel-soft);border:1px solid var(--line);color:var(--text)}@media (width<=560px){.pomo-solo-durs button,.pomo-dur-custom{flex:calc(50% - 8px);max-width:none;min-height:36px}.pomo-stage{gap:12px;padding:14px 14px 16px}.pomo-time{font-size:clamp(48px,14vw,72px)}.pomo-solo-actions{flex-direction:row;gap:8px}.pomo-primary,.pomo-secondary{min-height:42px;padding:10px 12px}}@media (width>=900px) and (height>=600px){.cal-month-grid{min-height:min(640px,72vh)}.cal-month-chip{min-height:22px;padding:3px 5px;font-size:12px}.task-row{min-height:58px}.check-button,.star-button{min-width:38px;height:38px}}@media (width>=1100px) and (pointer:coarse){.app-shell:not(.sidebar-compact){--sidebar-w:300px;--gutter:24px;--board-gutter:var(--gutter)}}html.platform-native{--radius:16px;--radius-sm:14px;--radius-pill:14px;--gutter:18px;--gutter-sm:14px;--fs-xs:13px;--fs-sm:15px;--fs-md:16px;--fs-base:17px;--fs-lg:18px;--fs-xl:20px;--fs-2xl:26px;--fs-3xl:32px;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "MiSans", "HarmonyOS Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, sans-serif;--sans:var(--font-sans)}html.platform-native body,html.platform-native .app-shell{font-family:var(--font-sans)}html.platform-native .app-shell{height:100dvh;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}html.platform-native .app-shell[data-theme=light]{--bg:#f2f2f7;--bg-elevated:#fff;--panel:#fff;--panel-soft:#fff;--line:#3c3c431f;--line-strong:#3c3c432e;--text:#000;--muted:#636366;--faint:#8e8e93;--chip:#7878801f;--shadow:0 8px 28px #00000014}html.platform-native .app-shell[data-theme=dark]{--bg:#000;--bg-elevated:#1c1c1e;--panel:#1c1c1e;--panel-soft:#2c2c2e;--line:#54545873;--line-strong:#6363668c;--text:#fff;--muted:#98989f;--faint:#636366;--chip:#7878803d;--shadow:0 12px 36px #00000073}html.platform-native .sidebar{background:color-mix(in srgb, var(--bg-elevated) 92%, transparent);border-right-color:var(--line);-webkit-backdrop-filter:saturate(180%)blur(20px)}html.platform-native .nav-item{border-radius:12px;min-height:48px;padding:10px 12px}html.platform-native .nav-item.active{background:color-mix(in srgb, var(--brand-blue,#0a84ff) 16%, var(--panel-soft))}html.platform-native .task-row{background:var(--panel);box-shadow:0 1px 0 color-mix(in srgb, var(--line) 80%, transparent);border-color:#0000;border-radius:14px;min-height:58px;padding:14px 16px}html.platform-native .task-composer{background:linear-gradient(180deg, transparent, var(--bg) 28%);padding-bottom:max(12px, env(safe-area-inset-bottom,0px))}html.platform-native .composer-bar{background:var(--panel);border:1px solid var(--line);box-shadow:none;border-radius:16px;min-height:56px;padding:10px 14px}html.platform-native .composer-submit{border-radius:14px;min-width:56px;height:44px}html.platform-native .board-header h1{letter-spacing:-.04em;font-size:clamp(28px,5.5vw,34px);font-weight:700}html.platform-native .cal-month-grid,html.platform-native .cal-week-board,html.platform-native .cal-heat-panel--year{border-radius:16px}html.platform-native .pomo-stage{border-radius:22px;box-shadow:0 8px 32px #0000000f}html.platform-native .pomo-primary,html.platform-native .pomo-secondary{border-radius:14px;min-height:50px}html.platform-native .account-panel,html.platform-native .school-cal-panel{border-radius:20px 20px 0 0}html.platform-native .menu-select-menu-portal{border-radius:14px;box-shadow:0 12px 40px #0000002e}html.platform-android .app-shell:not(.sidebar-compact){--sidebar-w:300px}html.platform-android .check-button,html.platform-android .star-button,html.platform-android .icon-button{min-width:44px;min-height:44px}html.platform-android .composer-meta-btn,html.platform-android .composer-icon-btn{min-width:44px;height:44px}.app-shell.native-tabs{--native-tab-h:56px;--native-tint:#0a84ff;--native-row-radius:14px;padding-bottom:calc(var(--native-tab-h) + env(safe-area-inset-bottom,0px));grid-template-rows:minmax(0,1fr)}html.platform-native .app-shell.native-tabs[data-theme=light],html.platform-android .app-shell.native-tabs[data-theme=light]{--bg:#f2f2f7;--bg-elevated:#fff;--panel:#fff;--panel-soft:#fff;--line:#3c3c431a;--line-strong:#3c3c4329;--text:#000;--muted:#636366;--faint:#8e8e93;--brand-blue:#0a84ff}html.platform-native .app-shell.native-tabs[data-theme=dark],html.platform-android .app-shell.native-tabs[data-theme=dark]{--bg:#000;--bg-elevated:#1c1c1e;--panel:#1c1c1e;--panel-soft:#2c2c2e;--line:#54545866;--line-strong:#63636680;--text:#fff;--muted:#98989f;--faint:#636366;--brand-blue:#0a84ff}.native-tabbar{background:color-mix(in srgb, var(--bg-elevated,var(--panel)) 92%, transparent);border-top:.5px solid var(--line);height:calc(var(--native-tab-h,56px) + env(safe-area-inset-bottom,0px));padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px));z-index:30;-webkit-backdrop-filter:saturate(180%)blur(20px);justify-content:space-around;gap:0;display:none;position:fixed;bottom:0;left:0;right:0}.app-shell.native-tabs .native-tabbar{display:flex}.native-tabbar button{color:var(--muted);cursor:pointer;font:inherit;letter-spacing:.01em;background:0 0;border:0;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:48px;padding:4px 2px;font-size:10px;font-weight:600;transition:color .15s;display:flex}.native-tabbar button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1.15;overflow:hidden}.native-tabbar button.active{color:var(--native-tint,var(--brand-blue,#0a84ff))}.native-tabbar button:active{opacity:.7}.app-shell.native-tabs .mobile-menu-btn{display:none!important}.app-shell.native-tabs .native-header-search{color:var(--native-tint,var(--brand-blue));flex-shrink:0;margin-left:auto;display:inline-flex}.app-shell.native-tabs .board-top{background:0 0;border:0;gap:6px;padding:6px 16px 4px}.app-shell.native-tabs .board-header h1{letter-spacing:-.04em;font-size:32px;font-weight:700;line-height:1.15}.app-shell.native-tabs .board-title-row{min-height:40px}.app-shell.native-tabs .board-range-label{color:var(--muted);padding-left:2px;font-size:13px;font-weight:500}.app-shell.native-tabs .board-academic-inline{gap:0 6px;font-size:13px}.app-shell.native-tabs .board-academic-school,.app-shell.native-tabs .board-academic-inline .academic-pin-select .menu-select-trigger{min-height:28px}:is(.app-shell.native-tabs .task-list:has(>.task-row),.app-shell.native-tabs .task-list){background:0 0;border:0;flex-direction:column;gap:10px;padding:4px 16px 12px;display:flex}.app-shell.native-tabs .task-row{background:var(--panel);border-radius:var(--native-row-radius,14px);box-shadow:0 .5px 0 color-mix(in srgb, var(--line) 90%, transparent);border:0;align-items:center;gap:12px;min-height:58px;padding:14px 14px 14px 12px}.app-shell.native-tabs .task-row:hover,.app-shell.native-tabs .task-row.selected{background:var(--panel);box-shadow:0 0 0 1.5px color-mix(in srgb, var(--native-tint,#0a84ff) 35%, transparent), 0 4px 16px #0000000f}.app-shell.native-tabs .task-row .check-button{width:32px;min-width:32px;height:32px}.app-shell.native-tabs .task-title{letter-spacing:-.01em;font-size:16px;font-weight:500;line-height:1.3}.app-shell.native-tabs .task-meta{color:var(--muted);font-size:12px}.app-shell.native-tabs .task-composer{background:linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--bg) 88%, transparent) 40%, var(--bg) 100%);padding:8px 16px 12px}.app-shell.native-tabs .composer-bar{background:var(--panel);border:0;border-radius:16px;min-height:52px;padding:8px 10px 8px 14px;box-shadow:0 4px 24px #00000014}.app-shell.native-tabs .composer-submit{background:var(--native-tint,var(--brand-blue));color:#fff;border-radius:12px;min-width:40px;height:40px}.app-shell.native-tabs .detail-panel{bottom:calc(var(--native-tab-h,56px) + env(safe-area-inset-bottom,0px));border-radius:16px 16px 0 0;max-height:min(88dvh,720px);padding-bottom:12px;box-shadow:0 -8px 40px #0000001f}.app-shell.native-tabs .detail-close{background:color-mix(in srgb, var(--muted) 14%, transparent);border-radius:999px;min-width:30px;height:30px}.app-shell.native-tabs .sidebar{bottom:calc(var(--native-tab-h,56px) + env(safe-area-inset-bottom,0px));border-radius:0 16px 16px 0;padding-bottom:8px;top:0;box-shadow:8px 0 32px #00000024}.app-shell.native-tabs .board-sidebar-toggle{display:none}.app-shell.native-tabs .nav-item{border-radius:12px;min-height:48px}.app-shell.native-tabs .nav-item.active{background:color-mix(in srgb, var(--native-tint,#0a84ff) 14%, transparent);color:var(--native-tint,#0a84ff)}.app-shell.native-tabs .board-calendar-controls{background:0 0;border:0;gap:8px;padding:0 4px 8px}.app-shell.native-tabs .cal-scope-switch{background:color-mix(in srgb, var(--muted) 10%, transparent);border-radius:10px;padding:3px}.app-shell.native-tabs .cal-scope-switch button{border-radius:8px;min-height:32px;font-size:13px;font-weight:600}.app-shell.native-tabs .pomo-page{padding-bottom:8px}.app-shell.native-tabs .pomo-stage{background:var(--panel);box-shadow:0 1px 0 var(--line);border:0;border-radius:18px;margin:0 16px}.app-shell.native-tabs .pomo-topbar{padding:0 16px}.app-shell.native-tabs .undo-toast{bottom:calc(var(--native-tab-h,56px) + 16px + env(safe-area-inset-bottom,0px))}@media (width<=860px){.app-shell.native-tabs .board-top{padding-left:16px;padding-right:16px}.app-shell.native-tabs .task-board{background:var(--bg)}}.landing{--bg:#0a0c10;--panel:#12161d;--panel-elevated:#171c25;--panel-soft:#1c2330;--sidebar-panel:#0e1218;--line:#2a3140;--line-strong:#3a4458;--text:#f3f5f8;--muted:#98a2b3;--faint:#6d778a;--accent:#5b9cff;--accent-soft:#5b9cff24;--warn:#e6c07b;--ok:#7fd992;--shadow:0 24px 80px #00000073;--menu-bg:#171c25;--menu-hover:#1c2330;--glow-a:#5b9cff38;--glow-b:#7fd99214;--landing-gutter:24px;background:var(--bg);color:var(--text);font-family:var(--font-sans,"Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", sans-serif);min-height:100svh;transition:background .2s,color .2s;position:relative;overflow-x:hidden}.landing[data-theme=light]{--bg:#f6f7f9;--panel:#fff;--panel-elevated:#fff;--panel-soft:#eef1f6;--sidebar-panel:#f0f2ef;--line:#0f172a1a;--line-strong:#0f172a29;--text:#0f172a;--muted:#64748b;--faint:#94a3b8;--accent:#2563eb;--accent-soft:#2563eb1f;--warn:#d97706;--ok:#16a34a;--shadow:0 18px 48px #0f172a14;--menu-bg:#fff;--menu-hover:#f1f5f9;--glow-a:#2563eb1f;--glow-b:#10b9810f}.landing[data-theme=plain]{--bg:#f6f3ee;--panel:#faf8f4;--panel-elevated:#faf8f4;--panel-soft:#efeae2;--sidebar-panel:#efe9df;--line:#4638281a;--line-strong:#46382829;--text:#2c2620;--muted:#7a7166;--faint:#a3998c;--accent:#6b8cae;--accent-soft:#6b8cae29;--warn:#b07a2a;--ok:#4f7a4a;--shadow:0 16px 40px #3c30201a;--menu-bg:#faf8f4;--menu-hover:#efeae2;--glow-a:#6b8cae24;--glow-b:#4f7a4a0f}.landing-glow{background:radial-gradient(900px 480px at 15% -8%, var(--glow-a), transparent 60%), radial-gradient(700px 420px at 88% 8%, var(--glow-b), transparent 55%);pointer-events:none;position:absolute;inset:0}.landing-nav,.landing-hero,.landing-section,.landing-cta,.landing-footer-inner{z-index:1;max-width:1120px;margin-left:auto;margin-right:auto;position:relative}.landing-nav{box-sizing:border-box;padding:max(10px, env(safe-area-inset-top,0px)) var(--landing-gutter) 0;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.landing-brand{color:var(--text);flex:0 auto;align-items:center;gap:8px;min-width:0;max-width:min(48vw,220px);font-size:16px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.landing-brand.muted{color:var(--muted)}.landing-brand-mark{object-fit:contain;object-position:center;background:0 0;border:0;border-radius:8px;flex-shrink:0;width:28px;height:28px;display:block}.landing-brand-mark.sm{border-radius:6px;width:22px;height:22px}.landing-brand-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:inline-flex;overflow:hidden}.landing-brand-full{display:inline}.landing-brand-short{display:none}.landing-nav-links{z-index:40;flex-wrap:nowrap;flex:none;justify-content:flex-end;align-items:center;gap:6px;min-width:0;margin-left:auto;display:flex;position:relative}.landing-lang{z-index:50;flex-shrink:0;margin:0;display:inline-flex;position:relative}.landing-lang.open{z-index:220}.landing-lang-trigger{border:1px solid var(--line);color:var(--muted);cursor:pointer;font:inherit;background:0 0;border-radius:999px;align-items:center;gap:6px;min-width:72px;min-height:32px;padding:0 10px 0 12px;font-size:13px;font-weight:600;line-height:1;transition:border-color .15s,color .15s,background-color .15s;display:inline-flex}.landing-lang-value{white-space:nowrap}.landing-lang-trigger svg{opacity:.75;flex-shrink:0;transition:transform .15s}.landing-lang.open .landing-lang-trigger,.landing-lang-trigger:hover{background:color-mix(in srgb, var(--panel) 55%, transparent);border-color:var(--line-strong);color:var(--text)}.landing-lang.open .landing-lang-trigger svg{transform:rotate(180deg)}.landing-lang-menu,.landing-lang-menu-portal{border:1px solid var(--line,#ffffff1f);box-shadow:var(--shadow,0 18px 48px #0000008c);color:var(--text,#f3f5f8);isolation:isolate;overscroll-behavior:contain;pointer-events:auto;border-radius:12px;min-width:168px;max-height:min(320px,70vh);margin:0;padding:6px;list-style:none;overflow:auto;background:var(--menu-bg,#171c25)!important;opacity:1!important;z-index:20000!important}html[data-theme=dark] .landing-lang-menu,html[data-theme=dark] .landing-lang-menu-portal{--menu-bg:#171c25;--line:#ffffff1f;--text:#f3f5f8;--muted:#a1a1aa;--menu-hover:#1c2330;--accent:#5b9cff;--accent-soft:#5b9cff29;--shadow:0 18px 48px #0000008c}html[data-theme=light] .landing-lang-menu,html[data-theme=light] .landing-lang-menu-portal{--menu-bg:#fff;--line:#0f172a1a;--text:#0f172a;--muted:#64748b;--menu-hover:#f1f5f9;--accent:#2563eb;--accent-soft:#2563eb1f;--shadow:0 14px 36px #0f172a1f}html[data-theme=plain] .landing-lang-menu,html[data-theme=plain] .landing-lang-menu-portal{--menu-bg:#faf8f4;--line:#4638281f;--text:#2c2620;--muted:#7a7166;--menu-hover:#efeae2;--accent:#6b8cae;--accent-soft:#6b8cae29;--shadow:0 14px 36px #3c30201f}.landing-lang-menu li{margin:0;padding:0}.landing-lang-menu button{color:var(--muted,#a1a1aa);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:40px;padding:8px 12px;font-size:14px;font-weight:500;transition:background .12s,color .12s;display:flex}.landing-lang-option-label{text-align:left;white-space:nowrap;flex:1;min-width:0;overflow:visible}.landing-lang-menu button:hover{background:var(--menu-hover,#1c2330);color:var(--text,#f3f5f8)}.landing-lang-menu button.active{background:var(--accent-soft,#5b9cff29);color:var(--text,#f3f5f8);font-weight:600}.landing-lang-menu button.active svg{color:var(--accent,#5b9cff);flex-shrink:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.landing-link{color:var(--muted);padding:8px 10px;font-size:16px;text-decoration:none}.landing-link:hover{color:var(--text)}.landing-btn{cursor:pointer;font:inherit;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:16px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,filter .15s;display:inline-flex}.landing-btn.sm{padding:8px 14px;font-size:15px}.landing-btn.lg{min-height:46px;padding:12px 20px;font-size:17px}.landing-btn.primary{background:var(--accent);color:#fff}.landing-btn.primary:hover{filter:brightness(1.06)}.landing-btn.ghost{border:1px solid var(--line-strong);color:var(--text);background:0 0}.landing-btn.ghost:hover{background:var(--panel-soft)}.landing-btn.block{width:100%}.landing-hero{padding:48px var(--landing-gutter) 32px;grid-template-columns:minmax(280px,1fr) minmax(0,1.1fr);align-items:center;gap:36px 48px;display:grid}.landing-hero-copy{min-width:0;max-width:34em}.landing-kicker{color:var(--accent);letter-spacing:.02em;white-space:normal;word-break:keep-all;overflow-wrap:anywhere;margin:0 0 12px;font-size:14px;font-weight:600;line-height:1.5}.landing-hero h1{letter-spacing:0;word-break:keep-all;overflow-wrap:break-word;margin:0 0 14px;font-size:clamp(28px,4.2vw,44px);font-weight:700;line-height:1.28}.landing-hero h1 br{content:"";display:block}.landing-hero-lead{color:var(--muted);word-break:keep-all;overflow-wrap:break-word;max-width:36em;margin:0 0 22px;font-size:16px;line-height:1.7}.landing-hero-actions{flex-wrap:wrap;gap:12px;display:flex}.landing-hero-note{color:var(--faint);word-break:keep-all;margin:14px 0 0;font-size:13px;line-height:1.5}.landing-hero-visual{width:100%;min-width:0}.mock-app{background:var(--panel-elevated);border:1px solid var(--line);box-shadow:var(--shadow);transform-origin:50%;border-radius:18px;grid-template-columns:minmax(120px,148px) minmax(0,1fr);width:100%;min-width:0;min-height:340px;display:grid;overflow:hidden;transform:perspective(1200px)rotateY(-4deg)rotateX(2deg)}.mock-app:has(.mock-cal){grid-template-columns:minmax(100px,132px) minmax(0,1fr)}.mock-sidebar{background:var(--sidebar-panel);border-right:1px solid var(--line);flex-direction:column;gap:4px;padding:16px 12px;display:flex}.mock-brand{color:var(--muted);align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:600;display:flex}.mock-dot{background:var(--accent);border-radius:999px;width:8px;height:8px}.mock-nav-item{color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.mock-nav-item.active{background:var(--accent-soft);color:var(--text);font-weight:600}.mock-tabs{flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-bottom:10px;display:flex}.mock-tabs button{background:color-mix(in srgb, var(--panel) 70%, transparent);border:1px solid var(--line);color:var(--muted);cursor:pointer;font:inherit;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.mock-tabs button.active{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 45%, var(--line));color:var(--text)}.mock-caption{color:var(--faint);text-align:right;margin:10px 0 0;font-size:12px}.mock-list-label{color:var(--faint);margin:12px 0 4px;padding:0 10px;font-size:13px}.mock-main{flex-direction:column;gap:12px;width:100%;min-width:0;padding:18px 16px 14px;display:flex}.mock-main-head{flex-direction:column;gap:4px;width:100%;min-width:0;margin-bottom:8px;display:flex}.mock-main-head-top{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;width:100%;min-width:0;display:flex}.mock-main-head strong{white-space:nowrap;flex:0 auto;min-width:0;font-size:20px;font-weight:600;line-height:1.25}.mock-main-intro{color:var(--faint);width:100%;min-width:0;font-size:14px;line-height:1.4;display:block}.mock-main-head span:not(.mock-chip):not(.mock-scope){color:var(--faint);font-size:14px}.mock-task{background:color-mix(in srgb, var(--panel-soft) 70%, transparent);border:1px solid var(--line);border-radius:10px;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.mock-task.done .mock-task-title{color:var(--faint);text-decoration:line-through}.mock-check{border:1.5px solid var(--line-strong);border-radius:999px;width:14px;height:14px}.mock-check.on{background:var(--ok);border-color:var(--ok)}.mock-task-title{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.mock-badge{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:8px;padding:5px 10px;font-size:13px;font-weight:600}.mock-badge.soon{background:color-mix(in srgb, var(--warn) 16%, transparent);color:var(--warn)}.mock-badge.muted{background:var(--panel-soft);color:var(--faint)}.mock-composer{background:var(--panel-soft);border:1px dashed var(--line);color:var(--faint);border-radius:10px;align-items:center;gap:8px;margin-top:auto;padding:12px;font-size:13px;display:flex}.mock-chips{flex-wrap:nowrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.mock-chip{background:var(--panel-soft);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}.mock-chip.school{background:color-mix(in srgb, var(--accent) 12%, transparent);border-color:color-mix(in srgb, var(--accent) 28%, var(--line));color:var(--text)}.mock-chip.accent{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent)}.mock-badge.smart{color:#c4b5fd;background:#a78bfa2e}.mock-task.smart{border-color:color-mix(in srgb, #a78bfa 35%, var(--line))}.mock-scope{background:var(--panel-soft);border-radius:999px;align-items:center;gap:2px;padding:3px;display:inline-flex}.mock-scope i{background:0 0;border-radius:999px;width:18px;height:18px;display:block}.mock-scope i.on{background:var(--text)}.mock-cal{gap:10px;width:100%;min-width:0}.mock-cal-board{flex-direction:column;flex:auto;gap:3px;width:100%;min-width:0;min-height:0;display:flex}.mock-cal-weekdays,.mock-cal-row{gap:3px;width:100%;min-width:0;grid-template-columns:repeat(7,minmax(0,1fr))!important;display:grid!important}.mock-cal-weekdays span{color:var(--faint);text-align:center;min-width:0;padding:2px 0 4px;font-size:10px;font-weight:600}.mock-cal-cell{background:color-mix(in srgb, #f6e7d8 10%, var(--panel-soft));border:1px solid var(--line);box-sizing:border-box;border-radius:6px;min-width:0;min-height:48px;padding:4px 3px;overflow:hidden}.mock-cal-cell.today .mock-cal-day b.mark,.mock-cal-cell .mock-cal-day b.mark{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:1.3em;height:1.3em;padding:0 .15em;display:inline-flex}.mock-cal-cell.selected{background:color-mix(in srgb, var(--text) 8%, var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent)}.mock-cal-day{align-items:baseline;gap:2px;min-width:0;margin-bottom:2px;display:flex}.mock-cal-day b{flex-shrink:0;font-size:11px;font-weight:700}.mock-cal-day em{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:9px;font-style:normal;overflow:hidden}.mock-cal-chip{background:color-mix(in srgb, var(--accent) 24%, transparent);color:var(--text);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;max-width:100%;margin-top:2px;padding:2px 3px;font-size:9px;font-weight:600;display:block;overflow:hidden}.mock-heat{color:var(--faint);text-align:right;flex-shrink:0;font-size:10px}.mock-app-panel-only{grid-template-columns:none!important;display:block!important}.mock-app-panel-only .mock-main,.mock-app-panel-only .mock-panel{min-height:240px;padding:16px 14px 14px}.mock-panel{flex-direction:column;gap:12px;width:100%;min-width:0;display:flex}.mock-panel-head{flex-direction:column;gap:4px;display:flex}.mock-panel-head strong{font-size:18px;font-weight:700}.mock-panel-head span{color:var(--faint);font-size:12px}.mock-kpi-flex{flex-wrap:wrap;gap:8px;display:flex}.mock-kpi-card{background:var(--panel-soft);border:1px solid var(--line);box-sizing:border-box;border-radius:10px;flex:calc(50% - 8px);min-width:0;padding:10px 12px}.mock-kpi-card span{color:var(--faint);margin-bottom:4px;font-size:11px;display:block}.mock-kpi-card strong{font-size:22px;font-weight:800;line-height:1.1;display:block}.mock-kpi-card strong.warn{color:#f87171}.mock-bars-flex{flex:auto;align-items:flex-end;gap:6px;min-height:100px;padding-top:4px;display:flex}.mock-bar-item{flex-direction:column;flex:1 1 0;align-items:center;gap:6px;min-width:0;display:flex}.mock-bar-track{background:color-mix(in srgb, var(--text) 6%, transparent);border-radius:6px 6px 2px 2px;justify-content:center;align-items:flex-end;width:100%;height:84px;display:flex;overflow:hidden}.mock-bar-track i{background:linear-gradient(180deg, var(--accent), color-mix(in srgb, var(--accent) 40%, transparent));border-radius:6px 6px 2px 2px;width:70%;min-height:6px;display:block}.mock-bar-item span{color:var(--faint);font-size:10px;font-weight:600}.lf-pomo{box-sizing:border-box;flex-direction:column;gap:12px;width:100%;min-width:0;min-height:280px;padding:16px 16px 14px;display:flex}.lf-pomo-meta strong{margin:0 0 2px;font-size:16px;font-weight:700;display:block}.lf-pomo-meta p{color:var(--faint);margin:0;font-size:12px}.lf-pomo-durs{flex-flow:row;gap:8px;width:100%;display:flex}.lf-pomo-dur{background:var(--panel-soft);border:1px solid var(--line);box-sizing:border-box;color:var(--muted);text-align:center;white-space:nowrap;border-radius:10px;flex:1 1 0;min-width:0;padding:10px 6px;font-size:13px;font-weight:600;line-height:1.2}.lf-pomo-dur.on{background:color-mix(in srgb, var(--accent) 18%, var(--panel-soft));border-color:color-mix(in srgb, var(--accent) 45%, var(--line));color:var(--text)}.lf-pomo-display{background:var(--panel-soft);border:1px solid var(--line);box-sizing:border-box;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:14px;width:100%;max-width:360px;min-height:120px;margin:0 auto;padding:24px 16px 20px;display:flex;overflow:hidden}.lf-pomo-time{font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:clamp(36px,7vw,48px);font-weight:800;line-height:1}.lf-pomo-progress{background:color-mix(in srgb, var(--text) 10%, transparent);border-radius:999px;width:70%;max-width:220px;height:8px;overflow:hidden}.lf-pomo-progress i{background:var(--accent);border-radius:inherit;width:22%;height:100%;display:block}.lf-pomo-actions{flex-direction:row;gap:8px;width:100%;max-width:360px;margin:0 auto;display:flex}.lf-pomo-btn{box-sizing:border-box;text-align:center;border-radius:10px;flex:1 1 0;min-width:0;padding:11px 8px;font-size:13px;font-weight:700}.lf-pomo-btn.primary{background:var(--accent);color:#fff}.lf-pomo-btn.ghost{background:var(--panel-soft);border:1px solid var(--line);color:var(--text)}.mock-app.flat{transform:none}.mock-app.small{min-height:280px}.mock-app.tiny{min-height:220px;transform:none}.landing-highlights-4{grid-template-columns:repeat(4,minmax(0,1fr))}.landing-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.landing-flow-step{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 16px;position:relative}.landing-flow-n{color:var(--accent);letter-spacing:.08em;margin-bottom:8px;font-size:12px;font-weight:800;display:block}.landing-flow-step h3{margin:0 0 8px;font-size:16px;font-weight:700}.landing-flow-step p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.landing-flow-arrow{background:linear-gradient(90deg, transparent, var(--line-strong));z-index:1;width:12px;height:1px;position:absolute;top:50%;right:-10px}.landing-shots{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.landing-shot{margin:0}.landing-shot-frame{background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 10%, var(--panel)), var(--panel));border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:12px;overflow:hidden}.landing-shot figcaption{flex-direction:column;gap:4px;margin-top:12px;display:flex}.landing-shot figcaption strong{font-size:15px;font-weight:700}.landing-shot figcaption span{color:var(--muted);font-size:13px;line-height:1.45}.landing-section{padding:36px var(--landing-gutter) 12px}.landing-section-head{max-width:560px;margin-bottom:22px}.landing-section-head.center{text-align:center;margin-left:auto;margin-right:auto}.landing-section-head h2,.landing-cta h2{letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(24px,3vw,32px);font-weight:600}.landing-section-head p,.landing-cta p{color:var(--muted);margin:0;font-size:17px;line-height:1.65}.landing-highlights{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.landing-highlight{background:var(--panel);border:1px solid var(--line);border-radius:14px;gap:16px;min-height:112px;padding:22px 18px;display:flex}.landing-highlight-icon{background:var(--accent-soft);color:var(--accent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.landing-highlight h3{margin:0 0 6px;font-size:18px;font-weight:600}.landing-highlight p{color:var(--muted);margin:0;font-size:15px;line-height:1.55}.landing-section.platforms{padding-top:48px}.landing-platform-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.landing-platform-row span{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:999px;padding:10px 16px;font-size:15px;font-weight:500}.landing-platform-row span.dim{color:var(--faint)}.landing-downloads{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.landing-download-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:12px;padding:18px 16px 16px;display:flex}.landing-download-card header{align-items:center;gap:10px;display:flex}.landing-download-icon{background:var(--panel-soft);border:1px solid var(--line);color:var(--accent);border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.landing-download-card h3{margin:0;font-size:18px;font-weight:600}.landing-download-card .meta{color:var(--faint);margin:2px 0 0;font-size:14px}.landing-download-card .desc{color:var(--muted);flex:1;margin:0;font-size:15px;line-height:1.55}.landing-download-card .soon{background:var(--panel-soft);border:1px dashed var(--line);color:var(--muted);border-radius:999px;justify-content:center;align-items:center;min-height:42px;padding:10px 16px;font-size:15px;display:inline-flex}.landing-contact-matrix{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.landing-contact-matrix article{border:1px solid var(--line);background:var(--panel);border-radius:16px;min-width:0;padding:18px}.landing-contact-matrix h3,.landing-contact-matrix p{margin:0 0 10px}.landing-contact-matrix p{min-height:3em;color:var(--muted);font-size:15px}.landing-contact-matrix a{aspect-ratio:1;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;display:block}.landing-contact-matrix img{object-fit:contain;width:100%;height:100%;display:block}.landing-cta{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 12%, var(--panel)), var(--panel));border:1px solid var(--line);padding:40px var(--landing-gutter) 48px;text-align:center;border-radius:20px;margin-top:40px;margin-bottom:12px}.landing-cta-inner>.landing-btn{margin-top:28px}.landing-cta .landing-hero-actions{justify-content:center;margin-top:20px}.landing-footer{max-width:1120px;padding:36px var(--landing-gutter) max(96px, calc(56px + env(safe-area-inset-bottom,0px)));z-index:1;width:100%;margin-left:auto;margin-right:auto;position:relative}.landing-footer-grid{border-top:1px solid var(--line);grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:28px 32px;padding-top:28px;display:grid}.landing-footer-brand{flex-direction:column;gap:10px;min-width:0;display:flex}.landing-footer-brand p{color:var(--faint);max-width:28ch;margin:0;font-size:13px;line-height:1.55}.landing-footer-col{flex-direction:column;gap:8px;min-width:0;display:flex}.landing-footer-col h4{color:var(--text);letter-spacing:.02em;margin:0 0 4px;font-size:13px;font-weight:700}.landing-footer-col a{color:var(--faint);width:fit-content;font-size:13px;line-height:1.45;text-decoration:none;transition:color .12s}.landing-footer-col a:hover{color:var(--text)}.landing-footer-bottom{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px 24px;margin-top:28px;padding-top:20px;padding-bottom:8px;display:flex}.landing-footer-bottom p,.landing-footer-copy{color:var(--faint);margin:0;font-size:13px;text-decoration:none;transition:color .12s}.landing-footer-copy:hover{color:var(--muted)}.landing-footer-links{flex-wrap:wrap;gap:14px;display:flex}.landing-footer-links a{color:var(--faint);margin:0;font-size:13px;text-decoration:none;transition:color .12s}.landing-footer-links a:hover{color:var(--muted)}@media (width<=800px){.landing-contact-matrix{grid-template-columns:1fr}.landing-footer-grid{grid-template-columns:1fr 1fr}.landing-footer-brand{grid-column:1/-1}}@media (width<=520px){.landing-footer-grid{grid-template-columns:1fr}}@media (width<=1100px){.landing-highlights-4{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-flow{grid-template-columns:1fr 1fr}.landing-flow-arrow{display:none}}@media (width<=960px){.landing{--landing-gutter:16px}.landing-hero{padding:16px var(--landing-gutter) 20px;grid-template-columns:1fr;gap:20px}.landing-hero-copy{max-width:none}.landing-hero h1{font-size:clamp(26px,7vw,36px);line-height:1.32}.landing-hero-visual{order:-1}.mock-app{transform:none}.landing-highlights,.landing-downloads{grid-template-columns:1fr 1fr}.mock-tabs{justify-content:flex-start}}@media (width<=640px){.landing-nav{padding:max(8px, env(safe-area-inset-top,0px)) var(--landing-gutter) 0;gap:6px}.landing-brand{gap:6px;max-width:42vw;font-size:14px}.landing-brand-mark{border-radius:7px;width:26px;height:26px}.landing-brand-full{display:none}.landing-brand-short{display:inline}.landing-nav-links{gap:5px}.landing-nav-links .landing-link,.landing-btn-login{display:none}.landing-lang-trigger{min-width:0;min-height:32px;padding:0 8px 0 10px;font-size:12px}.landing-btn.sm{white-space:nowrap;flex-shrink:0;height:32px;padding:0 12px;font-size:13px;line-height:1}.landing-highlights,.landing-highlights-4,.landing-downloads,.landing-flow,.landing-shots,.mock-app{grid-template-columns:1fr}.mock-sidebar{display:none}.mock-main{padding:14px 12px 12px}.mock-main-head{gap:6px}.mock-main-head-top{align-items:center;gap:6px}.mock-main-head strong{font-size:17px;line-height:1.2}.mock-main-intro{width:100%;font-size:12px;line-height:1.45;display:block}.mock-chips{flex-shrink:1;gap:4px;max-width:62%;overflow:hidden}.mock-chip{text-overflow:ellipsis;max-width:100%;padding:3px 7px;font-size:10px;overflow:hidden}.mock-stats .mock-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-footer-inner{flex-direction:column;align-items:flex-start}}@media (width<=380px){.landing-nav{gap:4px;padding-left:10px;padding-right:10px}.landing-brand{max-width:36vw;font-size:13px}.landing-brand-mark{width:24px;height:24px}.landing-nav-links{gap:4px}.landing-btn.sm{height:30px;padding:0 10px;font-size:12px}.landing-lang-trigger{min-height:30px;padding:0 6px 0 8px;font-size:11px}.mock-chip.school span,.mock-chip.school{max-width:5.5em}}.landing-theme-fab{background:var(--panel-elevated);border:1px solid var(--line);bottom:max(16px, env(safe-area-inset-bottom,0px));box-shadow:var(--shadow);right:max(16px, env(safe-area-inset-right,0px));z-index:100;border-radius:999px;align-items:center;gap:2px;padding:4px;display:inline-flex;position:fixed}.landing-theme-fab button{color:var(--muted);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:5px;min-height:34px;padding:0 12px;font-size:12px;font-weight:600;line-height:1;transition:background .12s,color .12s;display:inline-flex}.landing-theme-fab button:hover{color:var(--text)}.landing-theme-fab button.active{background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent);color:var(--text)}.landing-theme-fab button.active svg{color:var(--accent)}@media (width<=520px){.landing-theme-fab{bottom:max(12px, env(safe-area-inset-bottom,0px));right:max(12px, env(safe-area-inset-right,0px))}.landing-theme-fab button span{display:none}.landing-theme-fab button{justify-content:center;min-width:36px;padding:0 10px}}.legal-page{min-height:100svh}.legal-main{box-sizing:border-box;max-width:720px;padding:32px var(--landing-gutter) 24px;z-index:1;width:100%;margin:0 auto;position:relative}.legal-head h1{letter-spacing:-.03em;margin:0 0 8px;font-size:clamp(28px,4vw,36px);font-weight:700;line-height:1.25}.legal-updated{color:var(--faint);margin:0 0 28px;font-size:13px}.legal-body{flex-direction:column;gap:22px;display:flex}.legal-section h2{margin:0 0 8px;font-size:16px;font-weight:700}.legal-section p{color:var(--muted);margin:0;font-size:15px;line-height:1.7}.legal-contact{color:var(--muted);margin:12px 0 0;font-size:14px;line-height:1.6}.legal-contact a{color:var(--accent);text-decoration:none}.legal-contact a:hover{text-decoration:underline}.legal-footer{max-width:720px}.legal-footer .landing-footer-bottom{border-top:1px solid var(--line);margin-top:8px}html.mini-route,html.mini-route body,html.mini-route #root{background:#0b0d10;height:100%;margin:0;font-size:16px;overflow:hidden}.mini-shell{--fs-xs:13px;--fs-sm:14px;--fs-md:15px;--fs-base:16px;--fs-lg:17px;--fs-xl:19px;--bg:#0a0a0a;--panel:#161616;--line:#ffffff1a;--text:#f4f4f5;--muted:#a1a1aa;--accent:#60a5fa;--accent-soft:#ffffff14;--danger:#f87171;--ok:#4ade80;background:var(--bg);color:var(--text);font-family:var(--font-sans,"Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", sans-serif);font-size:var(--fs-base);flex-direction:column;gap:12px;height:100svh;padding:12px;line-height:1.55;display:flex;overflow:hidden}.mini-top{justify-content:space-between;align-items:center;display:flex}.mini-brand{align-items:center;gap:8px;display:flex}.mini-brand strong{font-size:var(--fs-xl);font-weight:600}.mini-mark{color:#fff;background:#0a0a0a;border-radius:8px;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.mini-mark svg{color:#fff;stroke:#fff}.mini-top-actions{gap:4px;display:flex}.mini-icon,.mini-mic,.mini-add,.mini-foot button{background:var(--panel);color:var(--text);cursor:pointer;font:inherit;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:6px;display:inline-flex}.mini-icon{width:34px;height:34px}.mini-capture{gap:8px;display:grid}.mini-capture textarea{background:var(--panel);border:1px solid var(--line);color:var(--text);font:inherit;font-size:var(--fs-xl);resize:none;border-radius:10px;outline:none;width:100%;min-height:88px;padding:12px 14px;line-height:1.5}.mini-capture-actions{grid-template-columns:1fr 1.2fr;gap:8px;display:grid}.mini-mic,.mini-add{font-size:var(--fs-md);min-height:40px;padding:0 12px}.mini-mic.on{background:color-mix(in srgb, var(--danger) 16%, transparent);border-color:color-mix(in srgb, var(--danger) 35%, transparent);color:var(--danger)}.mini-add{background:var(--text);color:var(--bg);border-color:#0000;font-weight:600}.mini-hint{color:var(--muted);font-size:var(--fs-md);min-height:1.2em;margin:0}.mini-list{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex;overflow:auto}.mini-empty{background:var(--panel);border:1px dashed var(--line);color:var(--muted);font-size:var(--fs-md);text-align:center;border-radius:12px;padding:16px 12px}.mini-task{background:var(--panel);color:var(--text);cursor:pointer;text-align:left;border:1px solid #0000;border-radius:10px;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;display:grid}.mini-task.important .mini-task-title{color:#ffd27a}.mini-task-check{border:1.5px solid var(--line);border-radius:4px;width:12px;height:12px}.mini-task-title{font-size:var(--fs-xl);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.mini-task-due{color:var(--accent);font-size:var(--fs-sm);white-space:nowrap;font-weight:500}.mini-foot{border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-sm);justify-content:space-between;align-items:center;padding-top:8px;display:flex}.mini-foot button{color:var(--accent);font-size:var(--fs-md);background:0 0;border:0;padding:4px 6px}
