:root{--bg:#f2f4f9;--surface:#fff;--surface-2:#f3f5fa;--border:#e3e8f1;--text:#1e2b40;--text-2:#66758a;--primary:#4b5bd7;--primary-hover:#3849c1;--primary-soft:#edf0ff;--success:#087f6b;--success-soft:#e3f4ee;--warning:#a65b12;--warning-soft:#fff2dc;--danger:#c8434e;--danger-soft:#fff0f1;--info:#2368b3;--info-soft:#e8f2fe;--shadow:0 4px 20px #1d2c4c0b;--shadow-sm:var(--shadow);--shadow-md:0 12px 35px #1d2c4c17;--shadow-lg:0 24px 65px #1d2c4c2e;--ring:0 0 0 3px #4b5bd724;--glass:var(--surface);--glass-strong:var(--surface);--glass-border:var(--border);--blur:none;--ease-out:cubic-bezier(.22,1,.36,1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#101722;--surface:#192332;--surface-2:#222e40;--border:#2e3b50;--text:#e8edf6;--text-2:#a0adc0;--primary:#a1b0ff;--primary-hover:#bec8ff;--primary-soft:#293553;--success:#6bdbbb;--success-soft:#173f39;--warning:#f2bf76;--warning-soft:#433522;--danger:#ff969e;--danger-soft:#482b35;--info:#86bbf9;--info-soft:#233b56;--shadow:0 4px 20px #0000001f;--shadow-md:0 12px 35px #0003;--shadow-lg:0 24px 65px #00000059;--ring:0 0 0 3px #a1b0ff2e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-gutter:stable}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Microsoft YaHei,sans-serif;line-height:1.5}button,input,select,textarea{font:inherit}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .16s,color .16s,border-color .16s,box-shadow .16s,transform .16s var(--ease-out)}button:active:not(:disabled){transform:scale(.98)}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.btn{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;display:inline-flex}.btn:hover{background:var(--surface-2);border-color:color-mix(in srgb,var(--border),var(--text-2) 18%)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 12px #4b5bd724}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}[data-theme=dark] .btn-primary{color:#16203d}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger);opacity:.9}[data-theme=dark] .btn-danger{color:#34202a}.btn-sm{border-radius:8px;min-height:32px;padding:6px 10px;font-size:12px}.btn-ghost{color:var(--text-2);box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-2);color:var(--text);border-color:#0000}.input,.select,.textarea{border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;min-height:42px;color:var(--text);border-radius:10px;outline:none;padding:10px 12px;font-size:14px;transition:border-color .16s,box-shadow .16s}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:var(--ring)}.input::placeholder,.textarea::placeholder{color:var(--text-2);opacity:.8}.select{cursor:pointer;width:auto;max-width:100%}.textarea{resize:vertical;min-height:90px;line-height:1.7}.select-sm,.input-sm{min-height:32px;padding:6px 8px;font-size:12px}.field{flex-direction:column;gap:7px;min-width:0;display:flex}.field-label{color:var(--text-2);font-size:13px;font-weight:500}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid .field-full{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;min-width:0;padding:20px}.panel-title{align-items:center;gap:8px;margin-bottom:14px;font-size:15px;font-weight:650;display:flex}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.stats-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-card{box-shadow:var(--shadow);border-radius:16px;transition:box-shadow .18s}.badge{white-space:nowrap;border-radius:999px;align-items:center;padding:3px 9px;font-size:11px;font-weight:500;display:inline-flex}.badge-primary{background:var(--primary-soft);color:var(--primary)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-gray{background:var(--surface-2);color:var(--text-2)}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toolbar-spacer{flex:1}.toolbar>.input{width:auto}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}.page-transition{animation:page-enter .24s var(--ease-out)}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes item-enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.hub-link,.today-essential,.daily-study,.today-tasks{animation:item-enter .28s var(--ease-out) backwards}.hub-link:nth-child(2),.today-essential:nth-child(2){animation-delay:35ms}.hub-link:nth-child(3),.daily-study{animation-delay:70ms}.hub-link:nth-child(4),.today-tasks{animation-delay:.1s}.progress-fill,.project-progress>div,.goal-progress>div,.pomo-progress-fill{transition:width .4s var(--ease-out)}@media (hover:hover){.hub-link:hover,.today-essential:hover,.project-card:hover,.goal-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}}@media (width<=900px){.stats-grid,.stats-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}}@media (width<=768px){html{scrollbar-gutter:auto}.stats-grid,.stats-grid-three{gap:10px}.input,.select,.textarea{min-height:44px;font-size:16px}.btn{min-height:44px}.btn-sm{min-height:36px}.panel{border-radius:16px;padding:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:226px;height:100vh;padding:22px 14px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{letter-spacing:-.02em;align-items:center;gap:9px;padding:2px 10px 20px;font-size:16px;font-weight:800;display:flex}.sidebar-brand-icon{color:var(--primary);display:inline-flex}.sidebar-nav{flex-direction:column;flex:1;gap:9px;display:flex}.sidebar-group{flex-direction:column;gap:1px;display:flex}.sidebar-group-title{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;font-size:14px;font-weight:700;display:flex}.sidebar-group-title:hover,.sidebar-item:hover{background:var(--surface-2)}.sidebar-group-active{background:var(--primary-soft);color:var(--primary)}.sidebar-group-links{flex-direction:column;margin:2px 0 0 38px;display:flex}.sidebar-item{color:var(--text-2);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 9px;font-size:12.5px}.sidebar-item-active{color:var(--primary);font-weight:700}.sidebar-badge{background:var(--danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:19px;height:19px;margin-left:auto;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.sidebar-footer{border-top:1px solid var(--border);color:var(--text-2);padding:13px 10px 0;font-size:11px}.sidebar-footer kbd{border:1px solid var(--border);border-radius:4px;padding:1px 4px;font-family:inherit}@media (width<=768px){.sidebar{display:none}}.header{background:var(--surface);border-bottom:1px solid var(--border);z-index:50;justify-content:space-between;align-items:center;gap:12px;height:60px;padding:0 28px;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:9px;min-width:0;display:flex}.header-title{text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:750;overflow:hidden}.header-back-btn{background:var(--surface-2);width:34px;height:34px;color:var(--text);cursor:pointer;border:0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.header-back-btn:hover{color:var(--primary)}.header-search-btn{border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);cursor:pointer;border-radius:10px;flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:inline-flex}.header-search-btn:hover{color:var(--primary);border-color:var(--primary)}.header-search-kbd{border:1px solid var(--border);background:var(--surface);border-radius:4px;padding:0 5px;font-family:inherit;font-size:10px}@media (width<=768px){.header{height:54px;padding:0 16px}.header-title{font-size:17px}.header-search-btn{background:0 0;border:0;padding:9px}.header-search-text,.header-search-kbd{display:none}}.bottom-nav{display:none}@media (width<=768px){.bottom-nav{z-index:70;padding:6px 7px calc(6px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--surface), transparent 5%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 28px #11182712}.bottom-nav-item{min-width:0;min-height:53px;color:var(--text-2);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;display:flex;position:relative}.bottom-nav-icon{justify-content:center;align-items:center;height:23px;display:inline-flex}.bottom-nav-label{line-height:1}.bottom-nav-active{background:var(--primary-soft);color:var(--primary);font-weight:700}.bottom-nav-active .bottom-nav-icon{animation:nav-select .22s var(--ease-out)}@keyframes nav-select{0%{transform:translateY(3px)scale(.9)}to{transform:none}}.bottom-nav-badge{background:var(--danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;display:inline-flex;position:absolute;top:2px;left:calc(50% + 10px)}}.modal-backdrop{z-index:100;background:#0f111573;justify-content:center;align-items:flex-start;padding:8vh 16px 16px;animation:.18s ease-out dialog-shade;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{animation:dialog-enter .24s var(--ease-out);background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;width:100%;max-height:84dvh;display:flex;overflow:hidden;box-shadow:0 20px 50px #0003}.modal-head{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-head h3{font-size:16px}.modal-close{min-width:36px;min-height:36px;color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px;font-size:15px}.modal-close:hover{background:var(--surface-2);color:var(--text)}.modal-body{overscroll-behavior:contain;min-height:0;padding:20px;overflow-y:auto}.confirm-message{color:var(--text);font-size:14px;line-height:1.6}.confirm-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.toaster{pointer-events:none;z-index:200;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;animation:.2s toast-in;display:flex;box-shadow:0 8px 24px #0000001f}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--danger)}.toast-info .toast-icon{color:var(--info)}.toast-message{overflow-wrap:anywhere;flex:1;min-width:0}.toast-action{background:var(--primary-soft);color:var(--primary);cursor:pointer;border:0;border-radius:7px;flex-shrink:0;padding:7px 10px;font-size:12px;font-weight:650}@keyframes dialog-shade{0%{opacity:0}to{opacity:1}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(12px)scale(.99)}to{opacity:1;transform:none}}@keyframes sheet-enter{0%{opacity:.5;transform:translateY(35px)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:40px 16px;display:flex}.empty-state-icon{opacity:.7;font-size:36px}.empty-state-title{color:var(--text);font-size:14px;font-weight:500}.empty-state-hint{color:var(--text-2);font-size:13px}.progress{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.progress-fill{background:var(--primary);border-radius:999px;height:100%;transition:width .3s}.bar-chart{align-items:stretch;gap:4px;display:flex}.bar-chart-col{flex-direction:column;flex:1;min-width:0;display:flex}.bar-chart-track{background:var(--surface-2);border-radius:6px;flex:1;align-items:flex-end;display:flex;overflow:hidden}.bar-chart-bar{background:var(--primary);border-radius:6px 6px 0 0;width:100%;transition:height .3s}.bar-chart-label{color:var(--text-2);text-align:center;white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:10px;overflow:hidden}.tag-list{flex-wrap:wrap;gap:4px;display:inline-flex}.tag{color:var(--text-2);background:var(--surface-2);border-radius:999px;padding:1px 8px;font-size:11px}.line-chart{display:block}.line-chart-labels{justify-content:space-between;margin-top:4px;display:flex}.line-chart-labels span{color:var(--text-2);text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:10px;overflow:hidden}.donut-wrap{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.donut-total{fill:var(--text);font-size:26px;font-weight:700}.donut-caption{fill:var(--text-2);font-size:11px}.donut-legend{flex-direction:column;flex:1;gap:8px;min-width:180px;display:flex}.donut-legend-item{align-items:center;gap:8px;font-size:13px;display:flex}.donut-legend-item i{border-radius:3px;flex-shrink:0;width:10px;height:10px}.donut-legend-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.donut-legend-value{color:var(--text-2);white-space:nowrap;font-size:12px}.stats-empty-chart{color:var(--text-2);text-align:center;padding:24px 0;font-size:13px}@media (width<=768px){.modal-backdrop{align-items:flex-end;padding:0;overflow:hidden}.modal{max-height:calc(100dvh - 22px - env(safe-area-inset-top,0px));animation:sheet-enter .26s var(--ease-out);border-bottom:0;border-radius:22px 22px 0 0}.modal-head{padding:18px 18px 13px}.modal-body{padding:18px 18px calc(20px + env(safe-area-inset-bottom,0px))}.modal .form-actions{background:var(--surface);padding:12px 0 0;position:sticky;bottom:-1px}.modal .form-actions>.btn{flex:1}.toaster{left:14px;right:14px;bottom:calc(82px + env(safe-area-inset-bottom,0px))}.toast{justify-content:center}}.achieve{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.achieve-left{align-items:center;gap:16px;min-width:220px;display:flex}.achieve-badge{border-radius:22px;flex-shrink:0;justify-content:center;align-items:center;width:76px;height:76px;display:flex;position:relative;box-shadow:0 8px 22px #0000002e}.achieve-badge-ring{border:1.5px solid #ffffff8c;border-radius:18px;position:absolute;inset:5px}.achieve-badge-icon{color:#fff;text-shadow:0 1px 4px #00000040;font-size:30px;font-weight:700}.achieve-title-info{flex-direction:column;gap:3px;display:flex}.achieve-label{color:var(--text-2);letter-spacing:1px;font-size:11.5px}.achieve-name{font-size:20px;font-weight:700}.achieve-desc{color:var(--text-2);font-size:12.5px}.achieve-right{flex-direction:column;flex:1;gap:10px;min-width:260px;display:flex}.achieve-points{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.achieve-points-num{color:var(--primary);font-size:30px;font-weight:700}.achieve-points-label{color:var(--text-2);font-size:13px}.achieve-points-total{color:var(--text-2);opacity:.8;font-size:12px}.achieve-actions{flex-wrap:wrap;gap:8px;display:flex}.achieve-hint{color:var(--text-2);margin:0;font-size:12px}.titles-intro{color:var(--text-2);margin:0 0 14px;font-size:13px}.titles-intro b{color:var(--primary)}.titles-grid{flex-direction:column;gap:10px;max-height:420px;display:flex;overflow-y:auto}.title-card{border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.title-card-owned{background:var(--surface-2)}.title-card-wearing{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.title-card-badge{color:#fff;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:19px;font-weight:700;display:flex}.title-card-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.title-card-name{font-size:14.5px;font-weight:600}.title-card-desc{color:var(--text-2);font-size:12px}.title-card-cost{color:var(--text-2);opacity:.85;font-size:11.5px}.title-card-action{flex-shrink:0}@media (width<=640px){.achieve{flex-direction:column;align-items:stretch}.achieve-badge{border-radius:18px;width:62px;height:62px}.achieve-badge-icon{font-size:24px}}.achieve-badge-wrap{flex-shrink:0;justify-content:center;align-items:center;width:84px;height:84px;display:flex;position:relative}.achieve-badge-halo{background:conic-gradient(from 0deg, transparent 0deg, var(--title-color) 90deg, transparent 200deg, var(--title-color) 300deg, transparent 360deg);filter:blur(13px);opacity:1;border-radius:30px;animation:5s linear infinite badge-spin;position:absolute;inset:-10px}.achieve-badge{background:var(--title-color);width:74px;height:74px;box-shadow:0 10px 24px #00000047, 0 0 30px var(--title-color), 0 0 64px var(--title-color), inset 0 2px 1px #ffffff8c, inset 0 -8px 14px #00000038;filter:brightness(1.18)saturate(1.12);border-radius:22px;justify-content:center;align-items:center;animation:4.5s ease-in-out infinite badge-float;display:flex;position:relative;overflow:hidden}.achieve-badge:before{content:"";border-radius:inherit;background:linear-gradient(148deg,#ffffff80 0%,#ffffff0f 42%,#00000047 100%);position:absolute;inset:0}.achieve-badge-shine{background:linear-gradient(90deg,#0000,#fffffff2,#0000);width:45%;height:220%;animation:2.8s ease-in-out infinite badge-sweep;position:absolute;top:-60%;left:-70%;transform:rotate(22deg)}.achieve-badge-icon{color:#fff;text-shadow:0 2px 6px #00000059;font-size:30px;font-weight:700;position:relative}@keyframes badge-spin{to{transform:rotate(360deg)}}@keyframes badge-sweep{0%{opacity:0;left:-70%}15%{opacity:1}55%{opacity:1;left:130%}to{opacity:0;left:130%}}@keyframes badge-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.achieve-badge,.achieve-badge-halo,.achieve-badge-shine{animation:none!important}.achieve-badge-shine{display:none}}.title-card-badge{background:var(--title-color,#6b9080);box-shadow:0 4px 12px #00000038, 0 0 14px var(--title-color,#6b9080), inset 0 1px 1px #ffffff80, inset 0 -4px 8px #0003;position:relative;overflow:hidden}.title-card-badge:before{content:"";background:linear-gradient(148deg,#ffffff73,#fff0 45%,#00000040);position:absolute;inset:0}.hub-page{flex-direction:column;gap:15px;max-width:830px;margin:0 auto;display:flex}.hub-intro{padding:8px 2px 5px}.hub-intro>span{color:var(--primary);letter-spacing:.12em;font-size:11px;font-weight:800}.hub-intro h2{letter-spacing:-.04em;margin-top:7px;font-size:clamp(23px,4vw,29px);font-weight:800}.hub-intro p{color:var(--text-2);margin-top:6px;font-size:13px}.hub-hero{border-radius:19px;padding:23px 25px}.hub-hero-learn{color:#fff;background:linear-gradient(135deg,#0c6596,#087eaa)}.hub-hero-review{color:#fff;background:linear-gradient(135deg,#5b21b6,#7c3aed)}.hub-hero-label{color:#ffffffd1;align-items:center;gap:7px;font-size:12px;font-weight:700;display:inline-flex}.hub-hero h3{letter-spacing:-.03em;margin-top:12px;font-size:24px}.hub-hero p{color:#ffffffd1;margin-top:5px;font-size:13px}.hub-hero button{color:#1e3a8a;cursor:pointer;background:#fff;border:0;border-radius:10px;align-items:center;gap:16px;margin-top:20px;padding:10px 15px;font-size:13px;font-weight:800;display:inline-flex}.hub-hero button:hover{background:#f1f5f9}.hub-hero button span{font-size:17px;font-weight:400}.hub-section-head{justify-content:space-between;align-items:baseline;padding:3px 2px 0;display:flex}.hub-section-head h3{font-size:16px}.hub-section-head span{color:var(--text-2);font-size:11px}.hub-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.hub-link{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text);text-align:left;box-shadow:var(--shadow);cursor:pointer;border-radius:15px;align-items:center;gap:13px;padding:17px 16px;display:flex}.hub-link:hover{border-color:var(--primary)}.hub-link-icon{background:var(--primary-soft);width:38px;height:38px;color:var(--primary);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.hub-link-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.hub-link-copy strong{font-size:14px}.hub-link-copy small{text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);font-size:11px;overflow:hidden}.hub-link-arrow{color:var(--text-2);margin-left:auto;font-size:22px}.hub-summary{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.hub-summary>div{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;gap:4px;padding:18px;display:flex}.hub-summary strong{color:var(--primary);font-size:20px}.hub-summary span{color:var(--text-2);font-size:11px}.hub-page>.achieve{margin-top:8px}@media (width<=768px){.hub-page{gap:13px}.hub-intro{padding:5px 2px 3px}.hub-hero{padding:21px}.hub-links{grid-template-columns:1fr;gap:9px}.hub-link{padding:13px 14px}.hub-summary>div{padding:13px 10px}.hub-summary strong{font-size:17px}}.update-banner{z-index:200;padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top,0px));color:#fff;background:linear-gradient(90deg,#2563eb,#4f46e5);align-items:center;gap:10px;font-size:13.5px;animation:.28s cubic-bezier(.34,1.3,.64,1) update-slide-down;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 18px #2563eb59}.update-banner-icon{font-size:15px}.update-banner-text{flex:1;font-weight:600}.update-banner-btn{color:#2563eb;cursor:pointer;white-space:nowrap;background:#fff;border:none;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:700}.update-banner-btn:disabled{opacity:.7;cursor:default}.update-banner-close{color:#ffffffd9;cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:14px}@keyframes update-slide-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.gs-backdrop{z-index:110;background:#0f111573;justify-content:center;padding:10vh 16px 16px;animation:.18s ease-out dialog-shade;display:flex;position:fixed;inset:0}.gs-panel{animation:dialog-enter .24s var(--ease-out);background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;width:100%;max-width:620px;height:fit-content;max-height:70vh;display:flex;overflow:hidden;box-shadow:0 20px 50px #0003}.gs-input-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 16px;display:flex}.gs-icon{font-size:16px}.gs-input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:15px}.gs-close{border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);cursor:pointer;border-radius:6px;padding:3px 8px;font-size:11px}.gs-results{padding:8px;overflow-y:auto}.gs-hint{color:var(--text-2);text-align:center;padding:24px 0;font-size:13px}.gs-group{margin-bottom:6px}.gs-group-head{color:var(--text-2);justify-content:space-between;align-items:center;padding:8px 10px 4px;font-size:12px;font-weight:600;display:flex}.gs-count{font-weight:400}.gs-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;gap:2px;width:100%;padding:8px 10px;display:flex}.gs-item:hover{background:var(--surface-2)}.gs-item-title{color:var(--text);font-size:14px}.gs-item-desc{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}@media (width<=768px){.gs-backdrop{padding:0}.gs-panel{border-radius:0;max-width:none;height:100dvh;max-height:100dvh}.gs-input-row{padding-top:calc(14px + env(safe-area-inset-top,0px))}.gs-input{font-size:16px}.gs-close{min-height:36px;padding:6px 10px}.gs-results{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}}.home-music{border:1px solid var(--border);background:var(--surface);min-width:42px;height:42px;color:var(--text);cursor:pointer;opacity:.9;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 12px;font-size:17px;transition:opacity .15s,transform .15s;display:inline-flex;position:static;box-shadow:0 4px 16px #00000024}.home-music:hover{opacity:1;transform:translateY(-1px)}.home-music-cta{color:var(--primary);border-color:var(--primary);font-size:13.5px;font-weight:600}.today-page{flex-direction:column;gap:18px;max-width:830px;margin:0 auto;display:flex}.today-intro{justify-content:space-between;align-items:start;gap:10px;padding:8px 2px 2px;display:flex}.today-intro>div{min-width:0}.today-eyebrow{color:var(--primary);letter-spacing:.03em;font-size:12px;font-weight:700}.today-intro h2{letter-spacing:-.04em;margin-top:6px;font-size:clamp(22px,4vw,30px);font-weight:800}.today-subtitle{color:var(--text-2);margin-top:6px;font-size:13px}.today-focus{color:#fff;background:linear-gradient(125deg,#172f59 0%,#334ca5 72%,#5264c5 100%);border-radius:22px;justify-content:space-between;align-items:end;gap:22px;padding:25px 27px;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 30px #1d357129}.today-focus:before{content:"";pointer-events:none;border:32px solid #ffffff0b;border-radius:50%;width:230px;height:230px;position:absolute;top:-130px;right:-90px}.today-focus-main,.today-focus-actions{position:relative}.today-focus-main{min-width:0}.today-focus-kicker{color:#d9d6ff;align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.today-focus h3{letter-spacing:-.03em;max-width:460px;margin-top:13px;font-size:clamp(20px,4vw,28px);line-height:1.35}.today-focus p{color:#e5e3ff;margin-top:7px;font-size:13px;line-height:1.5}.today-focus-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.today-primary-btn,.today-secondary-btn{cursor:pointer;border-radius:11px;min-height:42px;padding:0 14px;font-size:13px;font-weight:700}.today-primary-btn{color:#3730a3;background:#fff;border:0;align-items:center;gap:7px;display:inline-flex}.today-secondary-btn{color:#fff;background:0 0;border:1px solid #ffffff73}.today-primary-btn:hover{background:#f0efff}.today-secondary-btn:hover{background:#ffffff1f}.today-essentials{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.today-essential{border:1px solid var(--border);background:var(--surface);text-align:left;min-width:0;color:var(--text);box-shadow:var(--shadow);cursor:pointer;border-radius:17px;align-items:center;gap:12px;padding:17px 18px;display:flex}.today-essential:hover{border-color:var(--primary)}.today-essential-icon{border-radius:12px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.today-essential-icon-vocab{color:#0369a1;background:#e0f2fe}.today-essential-icon-review{color:#6d28d9;background:#f3e8ff}.today-essential-content{flex-direction:column;gap:3px;min-width:0;display:flex}.today-essential-content strong{font-size:15px}.today-essential-content small{text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);font-size:11.5px;overflow:hidden}.today-essential-arrow{color:var(--text-2);margin-left:auto;font-size:24px}.today-count{background:var(--primary-soft);min-width:23px;height:23px;color:var(--primary);border-radius:999px;place-items:center;margin-left:auto;padding:0 5px;font-size:12px;font-weight:800;display:grid}.today-tasks{border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:19px 21px 15px}.today-section-head{justify-content:space-between;align-items:end;gap:12px;display:flex}.today-section-kicker{color:var(--primary);letter-spacing:.12em;font-size:10px;font-weight:800}.today-section-head h3{margin-top:3px;font-size:18px}.today-section-head h3 span{color:var(--text-2);margin-left:5px;font-size:12px;font-weight:400}.today-text-btn{color:var(--primary);cursor:pointer;white-space:nowrap;background:0 0;border:0;font-size:12px;font-weight:700}.today-task-list{margin-top:13px;list-style:none}.today-task-list li{border-top:1px solid var(--border);align-items:center;gap:10px;padding:10px 0;display:flex}.today-task-check{border:1.5px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--text-2);cursor:pointer;border-radius:12px;flex-shrink:0;place-items:center;display:grid}.today-task-check:hover{border-color:var(--success);color:var(--success)}.today-task-link{min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:10px;display:flex}.today-task-link span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.today-task-link small{color:var(--warning);flex-shrink:0;font-size:11px}.today-empty{background:var(--surface-2);color:var(--text-2);border-radius:11px;margin-top:16px;padding:18px;font-size:12.5px;line-height:1.5}.today-add-task{width:100%;color:var(--primary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;margin-top:4px;padding:10px;font-size:12px;font-weight:700}.today-add-task:hover{background:var(--primary-soft)}.today-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.today-shortcuts button{border:1px solid var(--border);background:var(--surface);min-height:43px;color:var(--text-2);cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.today-shortcuts button:hover{color:var(--primary);border-color:var(--primary)}@media (width<=768px){.today-page{gap:14px}.today-intro{padding:5px 2px 1px}.today-focus{border-radius:18px;flex-direction:column;align-items:stretch;gap:17px;padding:21px}.today-focus h3{margin-top:10px}.today-focus-actions{width:100%}.today-primary-btn{flex:1;justify-content:center}.today-secondary-btn{flex:none}.today-essentials{grid-template-columns:1fr;gap:9px}.today-essential{padding:13px 14px}.today-tasks{padding:16px 16px 12px}}@media (width<=370px){.today-shortcuts button{gap:4px;font-size:11px}.today-focus-actions{flex-wrap:wrap}.today-secondary-btn{flex:1}}[data-theme=dark] .today-essential-icon-vocab{color:#7dd3fc;background:#123342}[data-theme=dark] .today-essential-icon-review{color:#d8b4fe;background:#352350}.daily-study{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;padding:18px 20px}.daily-study-head,.daily-study-progress-meta,.daily-study-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.daily-study-head h3{margin-top:3px;font-size:16px}.daily-study-head h3 strong{color:var(--success);margin-left:8px;font-size:11px;font-weight:500}.daily-goal-edit{border:1px solid var(--border);background:var(--surface-2);min-height:36px;color:var(--text-2);white-space:nowrap;cursor:pointer;border-radius:9px;align-items:center;gap:5px;padding:5px 8px;font-size:11px;display:flex}.daily-study-progress-meta{color:var(--text-2);font-variant-numeric:tabular-nums;margin:14px 0 8px;font-size:11px}.daily-study-progress-meta b{color:var(--text);font-size:15px;font-weight:650}.daily-study-progress-meta small{font-size:11px}.daily-study-track{background:var(--surface-2);border-radius:99px;height:7px;overflow:hidden}.daily-study-track>div{border-radius:inherit;height:100%;transition:width .45s var(--ease-out);background:linear-gradient(90deg,#4b5bd7,#55b5a2)}.daily-study-footer{margin-top:14px}.daily-study-footer p{color:var(--text-2);font-size:11px}.daily-study-footer b{color:var(--success)}.daily-study-week{gap:5px;display:flex}.daily-study-day{background:var(--surface-2);width:22px;height:22px;color:var(--text-2);border-radius:50%;place-items:center;font-size:10px;display:grid}.daily-study-day-done{background:var(--success-soft);color:var(--success)}.daily-study-day-today{outline:1px solid var(--primary);outline-offset:2px}.daily-goal-presets{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.daily-goal-hint{color:var(--text-2);font-size:12px;line-height:1.6}.quick-task{margin-top:16px}.quick-task-input-row{background:var(--surface-2);color:var(--text-2);border:1px solid #0000;border-radius:12px;align-items:center;gap:9px;padding:5px 5px 5px 12px;transition:border-color .16s;display:flex}.quick-task-input-row:focus-within{border-color:var(--primary)}.quick-task-input-row input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;height:36px;font-size:14px}.quick-task-input-row>svg{flex-shrink:0}.quick-task-input-row>button{color:#fff;background:var(--primary);cursor:pointer;border:0;border-radius:9px;flex-shrink:0;width:37px;height:37px;font-size:24px}.quick-task-input-row>button:disabled{opacity:.35;cursor:default}[data-theme=dark] .quick-task-input-row>button{color:#16203d}.quick-task-options{flex-wrap:wrap;align-items:center;gap:5px;padding:7px 0 3px;display:flex}.quick-task-options button{min-height:30px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:4px 10px;font-size:11px}.quick-task-options .quick-task-option-active{color:var(--primary);background:var(--primary-soft);font-weight:600}.quick-task-options>span{color:var(--text-2);margin-left:auto;font-size:10px}@media (width<=768px){.daily-study{padding:16px}.quick-task-input-row input{font-size:16px}.daily-study-footer{flex-wrap:wrap;gap:10px}.quick-task-options>span{display:none}}@media (width<=370px){.daily-study-head{align-items:start}.daily-study-head h3 strong{margin:3px 0 0;display:block}}.pomodoro-page{grid-template-columns:1fr 1fr;align-items:start;gap:16px;max-width:900px;display:grid}.pomo-timer{flex-direction:column;align-items:center;gap:18px;padding:36px 24px;display:flex}.pomo-break{border-color:var(--success)}.pomo-phase{color:var(--text-2);font-size:14px;font-weight:600}.pomo-break .pomo-phase{color:var(--success)}.pomo-time{font-variant-numeric:tabular-nums;letter-spacing:2px;font-size:72px;font-weight:700}.pomo-progress{background:var(--surface-2);border-radius:999px;width:100%;height:8px;overflow:hidden}.pomo-progress-fill{background:var(--primary);border-radius:999px;height:100%;transition:width .5s linear}.pomo-break .pomo-progress-fill{background:var(--success)}.pomo-controls{gap:10px;display:flex}.pomo-main-btn{min-width:120px}.pomo-stats{color:var(--text-2);gap:16px;font-size:13px;display:flex}.pomo-settings{margin-top:4px}.pomo-current{color:var(--primary);margin-top:14px;font-size:13px;font-weight:500}.pomo-current-dim{color:var(--text-2);font-weight:400}@media (width<=900px){.pomodoro-page{grid-template-columns:1fr}.pomo-time{font-size:56px}}.pomo-notices{flex-direction:column;gap:6px;width:100%;margin-top:4px;display:flex}.pomo-notice{color:var(--text-2);margin:0;font-size:12px;line-height:1.6}.pomo-notice-warn{color:var(--danger)}.pomo-notice-dim{opacity:.75;border-top:1px dashed var(--border);margin-top:2px;padding-top:8px}.pomo-notice-link{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:12px;font-weight:600;text-decoration:underline}.pomo-finish-overlay{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000008c;justify-content:center;align-items:center;padding:20px;animation:.18s pomo-fade-in;display:flex;position:fixed;inset:0}.modal .pomo-finish-card{max-width:none;box-shadow:none;background:0 0;border:0;padding:8px 0;animation:none}.pomo-finish-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:18px;width:100%;max-width:420px;padding:34px 26px 26px;animation:.24s cubic-bezier(.34,1.4,.64,1) pomo-pop-in;box-shadow:0 24px 60px #0000004d}.pomo-finish-icon{margin-bottom:10px;font-size:52px;line-height:1}.pomo-finish-title{margin:0 0 8px;font-size:24px;font-weight:700}.pomo-finish-detail{color:var(--text-2);margin:0 0 6px;font-size:15px}.pomo-finish-detail b{color:var(--text);font-size:17px}.pomo-finish-tip{color:var(--success);margin:0 0 20px;font-size:13px}.pomo-finish-actions{flex-direction:column;gap:9px;margin-top:20px;display:flex}.pomo-finish-actions .btn{width:100%;padding:11px;font-size:14px}@keyframes pomo-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pomo-pop-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.pomo-test-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pomo-test-result{color:var(--text-2);font-size:12px}.pomo-hint{color:var(--text-2);margin:10px 0 0;font-size:12px;line-height:1.6}.pomo-hint b{color:var(--primary)}.app{min-height:100vh;display:flex}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-content{background:var(--bg);flex:1;padding:26px 28px}@media (width<=768px){.app-content{padding:14px;padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}}.app-vocab-mode{height:100dvh;min-height:100dvh;overflow:hidden}.app-vocab-mode .sidebar{display:none}.app-vocab-mode .app-main{height:100dvh;overflow:hidden}.app-vocab-mode .app-content{height:100dvh;padding:0;overflow:hidden}.app-vocab-mode .page-transition{height:100%}.page-loading{min-height:240px;color:var(--text-2);justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex}.page-load-error{max-width:520px;margin:40px auto}.page-load-error p{color:var(--text-2);margin-top:12px;font-size:14px;line-height:1.8}.page-loading span{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}.focus-return-wrap{z-index:80;width:360px;max-width:calc(100vw - 28px);position:fixed;bottom:24px;right:26px}.focus-return{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);box-shadow:var(--shadow-md);text-align:left;cursor:pointer;animation:item-enter .22s var(--ease-out);border-radius:15px;align-items:center;gap:11px;padding:12px 15px;display:flex}.focus-return-dot{background:var(--warning);border-radius:50%;flex-shrink:0;width:8px;height:8px}.focus-return-dot-running{background:var(--success);box-shadow:0 0 0 4px var(--success-soft)}.focus-return-copy{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.focus-return-copy strong{font-size:12px}.focus-return-copy small{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.focus-return-time{color:var(--primary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px;font-weight:700}@media (width<=768px){.focus-return-wrap{left:14px;right:14px;bottom:calc(78px + env(safe-area-inset-bottom,0px));width:auto;max-width:none}.app-has-focus .app-content{padding-bottom:calc(154px + env(safe-area-inset-bottom,0px))}.app-has-focus .toaster{bottom:calc(142px + env(safe-area-inset-bottom,0px))}.app-vocab-mode .app-content{padding-bottom:0}}.login-container{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 18px max(24px, env(safe-area-inset-bottom));color:#233344;background:radial-gradient(at 10% 5%,#dfece9 0,#0000 58%),radial-gradient(at 95% 90%,#e1e5fa 0,#0000 55%),#f5f7fa;justify-content:center;align-items:center;display:flex}.login-card{background:#ffffffed;border:1px solid #fffc;border-radius:28px;width:100%;max-width:430px;padding:32px 26px;animation:.3s both account-enter;box-shadow:0 20px 70px #253b5517}.login-header{text-align:center;margin-bottom:24px}.login-logo{background:#edf4f1;border-radius:21px;place-items:center;width:64px;height:64px;margin:0 auto 14px;font-size:32px;display:grid}.login-eyebrow{color:#607c72;letter-spacing:.15em;font-size:10px;font-weight:700;display:block}.login-header h1,.login-card>h1{letter-spacing:-.04em;margin:8px 0 10px;font-size:27px}.login-subtitle{color:#69798b;margin:0;font-size:14px}.login-tabs{background:#f0f3f7;border-radius:13px;gap:4px;margin-bottom:22px;padding:4px;display:flex}.login-tabs button{color:#6c7a89;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;padding:11px;font-size:14px}.login-tabs button[aria-pressed=true]{color:#2a6151;background:#fff;font-weight:650;box-shadow:0 2px 8px #2333440a}.login-form{gap:17px;display:grid}.login-field{gap:7px;display:grid}.login-field label{font-size:13px;font-weight:600}.login-field input{width:100%;min-width:0;color:inherit;font:inherit;background:#fbfcfd;border:1px solid #dce3e9;border-radius:12px;outline:none;padding:13px;font-size:16px;transition:border-color .18s,box-shadow .18s}.login-field input:focus{border-color:#638e7e;box-shadow:0 0 0 3px #638e7e20}.login-password{position:relative}.login-password input{padding-right:66px}.login-password button{color:#627387;cursor:pointer;background:0 0;border:0;height:40px;padding:8px;font-size:12px;position:absolute;top:4px;right:8px}.login-button{color:#fff;width:100%;min-height:48px;font:inherit;cursor:pointer;background:#326b58;border:0;border-radius:13px;font-size:15px;font-weight:600;transition:background .2s,transform .15s}.login-button:hover:not(:disabled){background:#285b49}.login-button:active:not(:disabled){transform:scale(.985)}.login-card button:disabled{cursor:default;opacity:.55}.login-footer{text-align:center;margin-top:20px}.login-footer p{color:#83909e;margin:12px 0 0;font-size:12px;line-height:1.9}.login-text-button{color:#326b58;cursor:pointer;background:0 0;border:0;min-height:40px;padding:10px;font-size:13px}.login-error{color:#ad3447;overflow-wrap:anywhere;background:#fff0f2;border-radius:10px;padding:12px;font-size:13px;line-height:1.6}.login-notice{color:#44775f;margin:0;font-size:12px;line-height:1.6}.login-email-line{color:#748194;text-align:center;gap:6px;font-size:13px;display:grid}.login-email-line strong{color:#233344;overflow-wrap:anywhere}.login-email-line button{color:#326b58;background:0 0;border:0;padding:8px}.login-code{letter-spacing:.14em}.login-human{gap:8px;min-width:0;display:grid}.login-human-label{font-size:13px;font-weight:600}.login-human-widget{justify-content:center;min-height:65px;display:flex}.login-human p{color:#69798b;margin:0;font-size:12px;line-height:1.6}.account-data-panel{margin-bottom:14px}.account-data-panel h3{margin:0 0 8px;font-size:15px}.account-data-panel p{color:var(--text-secondary,#677486);font-size:13px;line-height:1.6}@keyframes account-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (width<=360px){.login-card{border-radius:22px;padding:26px 20px}}[data-theme=dark] .login-container{color:#e5eaf1;background:radial-gradient(at 5% 5%,#20392f,#0000 65%),#141c25}[data-theme=dark] .login-card{background:#1d2732;border-color:#2e3c49}[data-theme=dark] .login-logo{background:#293d35}[data-theme=dark] .login-tabs{background:#16212a}[data-theme=dark] .login-tabs button[aria-pressed=true]{color:#bde0d0;background:#2a3a35}[data-theme=dark] .login-field input{background:#17222c;border-color:#364451}[data-theme=dark] .login-email-line strong{color:#e5eaf1}[data-theme=dark] .login-error{color:#f4a4b1;background:#3a252d}[data-theme=dark] .login-text-button{color:#b0d9c6}@media (prefers-reduced-motion:reduce){.login-card{animation:none}.login-button,.login-field input{transition:none}}.error-boundary{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.error-boundary-card{background:var(--surface);border:1px solid var(--border);text-align:center;max-width:520px;box-shadow:var(--shadow);border-radius:14px;padding:32px}.error-boundary-icon{font-size:44px}.error-boundary-card h1{margin-top:12px;font-size:20px}.error-boundary-desc{color:var(--text-2);margin-top:10px;font-size:14px;line-height:1.7}.error-boundary-message{color:var(--danger);background:var(--danger-soft);word-break:break-all;border-radius:8px;margin-top:14px;padding:10px 14px;font-size:13px}.error-boundary-actions{justify-content:center;gap:10px;margin-top:18px;display:flex}.error-boundary-details{text-align:left;margin-top:18px}.error-boundary-details summary{color:var(--text-2);cursor:pointer;font-size:12px}.error-boundary-details pre{background:var(--surface-2);border-radius:8px;max-height:200px;margin-top:8px;padding:12px;font-size:11px;overflow:auto}
