@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--font-ui: "Inter", system-ui, -apple-system, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "Inter", ui-monospace, monospace;--r-xs: 4px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 24px;--r-2xl: 32px}:root,.theme-light{--bg-deep: #f5f3ee;--bg: #fbf9f4;--bg-elev: #fbf9f4;--bg-card: #ffffff;--bg-card-solid: #ffffff;--bg-hover: #f0eee9;--bg-active: #eae8e3;--bg-subtle: #f5f3ee;--text: #1b1c19;--text-muted: #54433d;--text-faint: #87736c;--border: #e4e2dd;--border-strong: #dac1b9;--accent: #914528;--accent-2: #af5d3e;--accent-3: #6e5647;--accent-soft: #ffdbcf;--accent-grad: #914528;--accent-grad-2: #af5d3e;--success: #5a7f4d;--warning: #b87a2a;--danger: #ba1a1a;--info: #6e5647;--shadow-card: 0 1px 2px rgba(145, 69, 40, .04), 0 2px 8px rgba(145, 69, 40, .05);--shadow-pop: 0 4px 12px rgba(145, 69, 40, .08), 0 12px 32px rgba(145, 69, 40, .1);--glow: none;--orb-1: transparent;--orb-2: transparent;--orb-3: transparent}.theme-dark{--bg-deep: #0e0e0e;--bg: #131313;--bg-elev: #1c1b1b;--bg-card: #201f1f;--bg-card-solid: #201f1f;--bg-hover: #2a2a2a;--bg-active: #353534;--bg-subtle: #1c1b1b;--text: #e5e2e1;--text-muted: #dac1ba;--text-faint: #a28c85;--border: #353534;--border-strong: #54433d;--accent: #ffb59a;--accent-2: #d27d5d;--accent-3: #cac6c3;--accent-soft: #4c1f0a;--accent-grad: #ffb59a;--accent-grad-2: #d27d5d;--success: #a3c399;--warning: #e8b878;--danger: #ffb4ab;--info: #cac6c3;--shadow-card: 0 1px 2px rgba(0, 0, 0, .35), 0 2px 8px rgba(0, 0, 0, .25);--shadow-pop: 0 4px 16px rgba(0, 0, 0, .45), 0 16px 40px rgba(0, 0, 0, .55);--glow: none;--orb-1: transparent;--orb-2: transparent;--orb-3: transparent}.theme-light.palette-foret{--bg-deep: #f3f4f2;--bg: #f9faf8;--bg-elev: #f9faf8;--bg-card: #ffffff;--bg-card-solid: #ffffff;--bg-hover: #edeeec;--bg-active: #e7e8e6;--bg-subtle: #f3f4f2;--text: #191c1b;--text-muted: #434840;--text-faint: #73796f;--border: #e2e3e1;--border-strong: #c3c8bd;--accent: #334f2b;--accent-2: #4a6741;--accent-3: #3f4c38;--accent-soft: #c2e4b4;--accent-grad: #334f2b;--accent-grad-2: #4a6741;--success: #4a6741;--warning: #b87a2a;--danger: #ba1a1a;--info: #4b6542;--shadow-card: 0 1px 2px rgba(74, 103, 65, .05), 0 2px 8px rgba(74, 103, 65, .06);--shadow-pop: 0 4px 12px rgba(74, 103, 65, .08), 0 12px 32px rgba(74, 103, 65, .1)}.theme-dark.palette-foret{--bg-deep: #0c1410;--bg: #111814;--bg-elev: #16201a;--bg-card: #1a2620;--bg-card-solid: #1a2620;--bg-hover: #233127;--bg-active: #2d3f33;--bg-subtle: #16201a;--text: #e2e8df;--text-muted: #bccbb1;--text-faint: #7d9482;--border: #2d3f33;--border-strong: #3d4b36;--accent: #afd0a1;--accent-2: #8eb482;--accent-3: #cae9bc;--accent-soft: #1a2e10;--accent-grad: #afd0a1;--accent-grad-2: #8eb482;--success: #a3d4a0;--warning: #e8b878;--danger: #ffb4ab;--info: #a8c9a0}.theme-light.palette-study{--bg-deep: #f3ebf8;--bg: #fef7ff;--bg-elev: #fef7ff;--bg-card: #ffffff;--bg-card-solid: #ffffff;--bg-hover: #f8f1fe;--bg-active: #ede5f3;--bg-subtle: #f8f1fe;--text: #1d1a23;--text-muted: #494454;--text-faint: #7b7486;--border: #e7e0ed;--border-strong: #cbc3d7;--accent: #6b38d4;--accent-2: #8455ef;--accent-3: #855000;--accent-soft: #e9ddff;--accent-grad: #6b38d4;--accent-grad-2: #8455ef;--success: #4a8c5e;--warning: #a76500;--danger: #ba1a1a;--info: #665396;--shadow-card: 0 1px 2px rgba(107, 56, 212, .05), 0 2px 8px rgba(107, 56, 212, .06);--shadow-pop: 0 4px 12px rgba(107, 56, 212, .08), 0 12px 32px rgba(107, 56, 212, .1)}.theme-dark.palette-study{--bg-deep: #0e0b14;--bg: #14101c;--bg-elev: #1d1827;--bg-card: #221d2e;--bg-card-solid: #221d2e;--bg-hover: #2c2638;--bg-active: #382f48;--bg-subtle: #1d1827;--text: #e7e0ed;--text-muted: #c9c0d8;--text-faint: #968ba8;--border: #382f48;--border-strong: #4e3b7c;--accent: #d0bcff;--accent-2: #b399ee;--accent-3: #ffb869;--accent-soft: #23005c;--accent-grad: #d0bcff;--accent-grad-2: #b399ee;--success: #90d99a;--warning: #f5c87a;--danger: #ffb4ab;--info: #b0a0d8}.theme-light.palette-oceanic{--bg-deep: #eceef0;--bg: #f7f9fb;--bg-elev: #f7f9fb;--bg-card: #ffffff;--bg-card-solid: #ffffff;--bg-hover: #f2f4f6;--bg-active: #e6e8ea;--bg-subtle: #f2f4f6;--text: #191c1e;--text-muted: #42474f;--text-faint: #727780;--border: #e0e3e5;--border-strong: #c1c7d0;--accent: #003358;--accent-2: #00677d;--accent-3: #00373e;--accent-soft: #d0e4ff;--accent-grad: #003358;--accent-grad-2: #00677d;--success: #1e7d4f;--warning: #b87a2a;--danger: #ba1a1a;--info: #00677d;--shadow-card: 0 1px 2px rgba(0, 51, 88, .05), 0 2px 8px rgba(0, 74, 124, .08);--shadow-pop: 0 4px 12px rgba(0, 74, 124, .1), 0 12px 32px rgba(0, 74, 124, .12)}.theme-dark.palette-oceanic{--bg-deep: #07121c;--bg: #0b1824;--bg-elev: #112030;--bg-card: #15273a;--bg-card-solid: #15273a;--bg-hover: #1d3147;--bg-active: #284060;--bg-subtle: #112030;--text: #eff1f3;--text-muted: #c1c7d0;--text-faint: #8294a8;--border: #284060;--border-strong: #3d5572;--accent: #9ccaff;--accent-2: #4cd6fb;--accent-3: #83d3e1;--accent-soft: #001d35;--accent-grad: #9ccaff;--accent-grad-2: #4cd6fb;--success: #7dd8a0;--warning: #e8b878;--danger: #ffb4ab;--info: #83d3e1}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;font-family:var(--font-ui);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;letter-spacing:-.005em;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}body{background:var(--bg-deep);min-height:100vh;overflow:hidden}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;color:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--text-faint);border:2px solid transparent;background-clip:padding-box}.win-frame{position:relative;width:100%;height:100vh;background:var(--bg);overflow:hidden;isolation:isolate}.orbs,.orb{display:none!important}.titlebar{position:relative;z-index:10;height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 0 0 16px;background:var(--bg-deep);border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none;-webkit-app-region:drag}.titlebar-left{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-muted);font-weight:500}.titlebar-icon{width:16px;height:16px;border-radius:var(--r-xs);background:var(--accent)}.titlebar-controls{display:flex;-webkit-app-region:no-drag}.tb-btn{width:46px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:background .12s ease}.tb-btn:hover{background:var(--bg-hover);color:var(--text)}.tb-btn.close:hover{background:#ba1a1a;color:#fff}.app-body{position:relative;z-index:1;display:grid;grid-template-columns:232px 1fr;height:calc(100vh - 36px);overflow:visible;transition:grid-template-columns .28s cubic-bezier(.2,.8,.2,1)}.app-body.sidebar-collapsed{grid-template-columns:64px 1fr}.sidebar-collapse-btn{position:absolute;top:22px;width:24px;height:24px;border-radius:50%;background:var(--bg-card-solid);border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;z-index:50;box-shadow:var(--shadow-card);transition:left .28s cubic-bezier(.2,.8,.2,1),color .2s ease,border-color .2s ease,transform .2s ease;left:220px}.app-body.sidebar-collapsed .sidebar-collapse-btn{left:52px}.sidebar-collapse-btn:hover{color:var(--accent);border-color:var(--accent);transform:scale(1.08)}.sidebar-collapse-btn svg{width:12px;height:12px;transition:transform .28s cubic-bezier(.2,.8,.2,1)}.app-body.sidebar-collapsed .sidebar-collapse-btn svg{transform:rotate(180deg)}.sidebar{position:relative;background:var(--bg-elev);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.sidebar.collapsed{width:64px}.sidebar.collapsed .sidebar-scroll{padding:18px 8px 8px}.sidebar.collapsed .sidebar-brand-name,.sidebar.collapsed .sidebar-brand-sub,.sidebar.collapsed .sidebar-section-label,.sidebar.collapsed .nav-item>span:not(.nav-icon),.sidebar.collapsed .nav-badge,.sidebar.collapsed .sidebar-user-name,.sidebar.collapsed .sidebar-user-class{display:none}.sidebar.collapsed .nav-item{justify-content:center;padding:10px}.sidebar.collapsed .sidebar-header{justify-content:center;padding:6px 0 18px}.sidebar.collapsed .sidebar-footer{flex-direction:column;align-items:center;gap:8px;padding:10px 0}.sidebar.collapsed .sidebar-footer .theme-toggle{margin-left:0}.sidebar-scroll{flex:1;display:flex;flex-direction:column;padding:20px 12px 12px;overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-width:none}.sidebar-scroll::-webkit-scrollbar{width:4px}.sidebar-scroll::-webkit-scrollbar-thumb{background:transparent;border-radius:10px}.sidebar:hover .sidebar-scroll{scrollbar-width:thin}.sidebar:hover .sidebar-scroll::-webkit-scrollbar-thumb{background:var(--border-strong)}.sidebar-header{display:flex;align-items:center;gap:12px;padding:4px 12px 22px}.sidebar-logo{width:36px;height:36px;border-radius:var(--r-md);background:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-logo svg{width:20px;height:20px;color:#fff}.sidebar-brand-name{font-weight:700;font-size:14px;letter-spacing:-.01em;line-height:1.2}.sidebar-brand-sub{font-size:11px;color:var(--text-faint);font-weight:500;text-transform:uppercase;letter-spacing:.06em;margin-top:2px}.sidebar-section-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);font-weight:600;padding:14px 14px 6px}.nav-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:var(--r-sm);font-size:13.5px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:background .16s ease,color .16s ease;position:relative;width:100%;text-align:left;margin:1px 0}.nav-item>span:not(.nav-icon):not(.nav-badge){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.nav-item:hover{background:var(--bg-hover);color:var(--text)}.nav-item.active{background:color-mix(in srgb,var(--accent) 7%,transparent);color:var(--text);font-weight:600}.nav-item.active:before{content:"";position:absolute;left:-1px;top:22%;bottom:22%;width:2.5px;border-radius:0 2px 2px 0;background:var(--accent)}.nav-item.active .nav-icon{color:var(--accent)}.nav-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit}.nav-icon svg{width:100%;height:100%}.nav-badge{margin-left:auto;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--accent);color:#fff;font-family:var(--font-mono)}.theme-dark .nav-badge{color:var(--accent-soft)}.sidebar-footer{padding:12px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px}.sidebar-avatar{width:34px;height:34px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff;flex-shrink:0}.theme-dark .sidebar-avatar{color:var(--accent-soft)}.sidebar-user-name{font-size:12.5px;font-weight:600}.sidebar-user-class{font-size:11px;color:var(--text-faint)}.theme-toggle{margin-left:auto;width:34px;height:34px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .16s ease;border:1px solid var(--border);flex-shrink:0}.theme-toggle:hover{background:var(--bg-hover);color:var(--accent);border-color:var(--border-strong)}.theme-toggle svg{width:15px;height:15px}.main{position:relative;overflow-y:auto;padding:28px 36px 40px;background:var(--bg)}.main-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px;gap:16px}.page-title{font-size:28px;font-weight:700;letter-spacing:-.02em;margin:0 0 4px;color:var(--text)}.page-subtitle{font-size:14px;color:var(--text-muted);margin:0;font-family:var(--font-body);line-height:1.5}.greeting-time{font-family:var(--font-mono);font-size:13px;color:var(--text-faint);text-align:right}.greeting-date{font-size:14px;color:var(--text-muted);margin-top:2px}.page-fade{animation:page-fade .32s cubic-bezier(.2,.8,.2,1)}@keyframes page-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;box-shadow:none;position:relative;overflow:hidden;transition:box-shadow .24s ease,border-color .24s ease,transform .24s ease}.card:hover{box-shadow:var(--shadow-card)}.card-title{font-size:15px;font-weight:700;margin:0 0 4px;letter-spacing:-.01em;color:var(--text);line-height:1.3}.card-sub{font-size:12.5px;color:var(--text-muted);font-family:var(--font-body);margin:0;line-height:1.4}.card-eyebrow{font-size:11px;font-weight:600;margin:0 0 6px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);line-height:1.3}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.card-header>*:first-child{min-width:0;flex:1}.card-header>*:last-child{flex-shrink:0}.card-accent{background:var(--accent);color:#fff;border-color:transparent}.theme-dark .card-accent{color:var(--accent-soft)}.card-accent .card-title,.card-accent .card-sub{color:inherit;opacity:.85}.card-soft{background:var(--bg-subtle);border-color:var(--border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:var(--r-sm);font-size:13px;font-weight:600;transition:background .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease;border:1px solid transparent;white-space:nowrap;letter-spacing:-.005em}.btn-primary{background:var(--accent);color:#fff;box-shadow:inset 0 -1px #0000001a}.theme-dark .btn-primary{color:var(--accent-soft)}.btn-primary:hover{background:var(--accent-2);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-ghost{background:var(--bg-hover);border-color:var(--border);color:var(--text)}.btn-ghost:hover{background:var(--bg-active);border-color:var(--border-strong)}.btn-secondary{background:var(--bg-subtle);border-color:var(--border-strong);color:var(--text);box-shadow:inset 0 -1px #87736c26}.btn-secondary:hover{background:var(--bg-hover)}.btn-icon{width:36px;height:36px;padding:0;border-radius:var(--r-sm);background:var(--bg-hover);border:1px solid var(--border);color:var(--text-muted)}.btn-icon:hover{background:var(--bg-active);color:var(--accent);border-color:var(--border-strong)}.btn svg{width:15px;height:15px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:600;border-radius:999px;background:var(--bg-hover);border:1px solid var(--border);color:var(--text-muted)}.chip-accent{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,transparent);color:var(--accent)}.chip-dot{width:6px;height:6px;border-radius:50%}.input{width:100%;padding:10px 14px;border-radius:var(--r-sm);background:var(--bg-hover);border:1px solid var(--border);color:var(--text);font-size:13px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease;font-family:var(--font-body)}.input:focus{outline:none;border-color:var(--accent);background:var(--bg-card);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.input::placeholder{color:var(--text-faint)}.row{display:flex;align-items:center;gap:12px}.col{display:flex;flex-direction:column;gap:12px}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.gradient-text{color:var(--accent)}.stat-value{font-size:30px;font-weight:700;letter-spacing:-.02em;font-family:var(--font-ui);line-height:1.1}.stat-label{font-size:11.5px;color:var(--text-muted);font-weight:500;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.06em}.stat-delta{font-family:var(--font-mono);font-size:11px;color:var(--success);font-weight:600}.progress{height:6px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,var(--bg-hover));overflow:hidden;position:relative}.progress-bar{height:100%;background:var(--accent);border-radius:999px;transition:width .6s cubic-bezier(.2,.8,.2,1)}.lift{transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease,border-color .24s ease,background .24s ease}.lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-pop);border-color:var(--border-strong);background:var(--bg-card-solid)}@keyframes pulse-soft{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.15)}}.pulse{animation:pulse-soft 2s ease-in-out infinite}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 1100px){.grid-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.coming-soon-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;font-size:10.5px;font-weight:600;border-radius:999px;background:color-mix(in srgb,var(--warning) 14%,transparent);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent);color:var(--warning);letter-spacing:.06em;text-transform:uppercase}.coming-soon-overlay{position:relative}.coming-soon-overlay:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 0%,var(--bg) 92%);pointer-events:none;opacity:.55;border-radius:inherit}.coming-soon-banner{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;background:color-mix(in srgb,var(--warning) 8%,var(--bg-card));border:1px solid color-mix(in srgb,var(--warning) 22%,transparent);border-radius:var(--r-md);font-size:12.5px;font-weight:600;color:var(--warning);margin-bottom:16px}.glass{width:36px;height:56px;padding:0;border-radius:6px 6px 10px 10px;background:var(--bg-hover);border:1.5px solid var(--border);position:relative;overflow:hidden;cursor:pointer;transition:border-color .2s ease,transform .2s ease}.glass.filled{border-color:var(--accent)}.glass:hover{transform:translateY(-2px)}.glass-water{position:absolute;left:0;right:0;bottom:0;height:70%;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 40%,transparent) 0%,var(--accent) 100%);transform:translateY(100%);transition:transform .48s cubic-bezier(.2,.8,.2,1)}.glass.filled .glass-water{transform:translateY(0);animation:water-wave 2.4s ease-in-out infinite}.glass.filled .glass-water:before{content:"";position:absolute;top:-3px;left:-10%;right:-10%;height:6px;background:#ffffff8c;border-radius:50%;filter:blur(1px);animation:water-shimmer 1.6s ease-in-out infinite}@keyframes water-wave{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes water-shimmer{0%,to{opacity:.3}50%{opacity:.7}}.glass.adding{animation:glass-pop .48s cubic-bezier(.2,.8,.2,1)}@keyframes glass-pop{0%{transform:scale(.6);opacity:0}50%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}.glass.removing .glass-water{transform:translateY(100%)}.water-counter{font-size:44px;font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1;color:var(--accent)}.water-counter-frac{font-size:18px;color:var(--text-faint);font-weight:500;margin-left:6px}.water-btn{width:44px;height:44px;border-radius:50%;background:var(--bg-hover);border:1.5px solid var(--border);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s ease}.water-btn:hover:not(:disabled){background:var(--bg-active);border-color:var(--accent);transform:scale(1.06)}.water-btn:disabled{opacity:.35;cursor:not-allowed}.water-btn.primary{background:var(--accent);color:#fff;border-color:transparent;box-shadow:inset 0 -1px #0000001a}.theme-dark .water-btn.primary{color:var(--accent-soft)}.water-btn.primary:hover:not(:disabled){background:var(--accent-2);transform:scale(1.06)}.star{width:30px;height:30px;cursor:pointer;color:var(--border-strong);transition:color .16s ease,transform .16s ease}.star.filled{color:var(--accent)}.star:hover{transform:scale(1.15)}.sleep-bar{flex:1;background:var(--bg-hover);border:1px solid var(--border);border-radius:6px 6px 4px 4px;position:relative;cursor:default;transition:all .24s cubic-bezier(.2,.8,.2,1);min-height:6px}.sleep-bar:hover{transform:scaleY(1.04);filter:brightness(1.05)}.hero-glow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 60%),radial-gradient(circle at 20% 80%,color-mix(in srgb,var(--accent-2) 8%,transparent),transparent 60%)}.phase-glow-focus,.phase-glow-short,.phase-glow-long{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.35;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 65%);transition:background .6s ease;pointer-events:none}.today-pill{background:color-mix(in srgb,var(--accent) 14%,transparent);border:1.5px solid color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent);font-weight:700}.today-card{background:color-mix(in srgb,var(--accent) 6%,var(--bg-card))!important;border-color:color-mix(in srgb,var(--accent) 40%,transparent)!important;box-shadow:var(--shadow-card)!important}.pomo-ring-shadow{filter:drop-shadow(0 0 24px color-mix(in srgb,var(--accent) 22%,transparent))}.dashboard-grid{display:grid;grid-template-columns:repeat(12,1fr)}.dash-widget{position:relative;min-width:0;min-height:0;border-radius:var(--widget-radius, 16px);transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease}.dash-widget-body{width:100%;height:100%;border-radius:var(--widget-radius, 16px);overflow:visible}.dash-widget-body>.card{border-radius:var(--widget-radius, 16px)!important;height:100%}.dashboard-editing .dash-widget{cursor:grab}.dashboard-editing .dash-widget:active{cursor:grabbing}.dashboard-editing .dash-widget-body{outline:1.5px dashed color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}.dashboard-editing .dash-widget.is-hidden .dash-widget-body{opacity:.35;filter:grayscale(.6)}.dashboard-editing .dash-widget.is-hidden .dash-widget-body>*{pointer-events:none}.dashboard-editing .dash-widget-body button,.dashboard-editing .dash-widget-body a{pointer-events:none}@keyframes widget-jiggle{0%,to{transform:rotate(-.4deg)}50%{transform:rotate(.4deg)}}.dash-widget.jiggle{animation:widget-jiggle .38s ease-in-out infinite}.dash-widget.jiggle:nth-child(odd){animation-delay:-.12s}.dash-widget.jiggle:nth-child(3n){animation-duration:.42s}.dash-widget.jiggle:nth-child(4n+1){animation-duration:.36s}@media (prefers-reduced-motion: reduce){.dash-widget.jiggle{animation:none}}.dash-widget-toolbar{position:absolute;top:-10px;right:-6px;display:flex;align-items:center;gap:4px;padding:4px 6px 4px 10px;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:999px;box-shadow:var(--shadow-card);z-index:4;font-size:11px;color:var(--text-muted)}.dash-widget-name{font-weight:600;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-widget-btn{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-hover);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.dash-widget-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.theme-dark .dash-widget-btn:hover{color:var(--accent-soft)}.dash-widget-resize{position:absolute;right:-2px;bottom:-2px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border-strong);color:var(--text-muted);border-radius:6px;cursor:nwse-resize;z-index:4;box-shadow:var(--shadow-card);touch-action:none;transition:background .14s ease,color .14s ease}.dash-widget-resize:hover{background:var(--accent);color:#fff}.theme-dark .dash-widget-resize:hover{color:var(--accent-soft)}.dash-widget-radius-pop{position:absolute;top:26px;right:-6px;z-index:5;padding:10px 12px;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-pop);min-width:200px}.dash-widget-radius-row{display:flex;align-items:center;gap:8px}.dash-widget-radius-row input[type=range]{flex:1;accent-color:var(--accent)}.dash-hidden-tray{margin-top:18px;padding:12px 14px;border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--bg-subtle)}.dash-hidden-tray-title{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin-bottom:8px}.dash-hidden-tray-list{display:flex;flex-wrap:wrap;gap:6px}.dash-hidden-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.dash-hidden-chip:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.theme-dark .dash-hidden-chip:hover{color:var(--accent-soft)}@media (max-width: 900px){.dashboard-grid{grid-template-columns:repeat(6,1fr)}.dash-widget{grid-column:span 6!important}}:root{--tap-target-min: 44px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--bottom-nav-height: 64px}html,body{overflow-x:hidden;max-width:100vw}.mobile-only{display:none}@media (max-width: 1023px){.desktop-only{display:none!important}}@media (max-width: 639px){.mobile-only{display:revert!important}.tablet-up{display:none!important}}@media (max-width: 639px){button,.btn,a[role=button],input[type=button],input[type=submit],select,.nav-link,.icon-btn{min-height:var(--tap-target-min)}.dash-widget-btn,.m-icon-btn,.mobile-sheet-theme,.mobile-topbar-avatar{min-height:0}.app-content,main{padding-bottom:calc(var(--bottom-nav-height) + var(--safe-bottom) + 8px)}.container,.page,.pad{padding-left:16px;padding-right:16px}}.mobile-topbar{display:none}@media (max-width: 639px){.mobile-topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;height:56px;padding:0 8px;padding-top:var(--safe-top);box-sizing:content-box;background:var(--bg-elev);border-bottom:1px solid var(--border);flex-shrink:0;z-index:60}}.mobile-topbar-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;background:transparent;color:var(--accent);border-radius:var(--r-full, 999px);cursor:pointer}.mobile-topbar-btn:active{transform:scale(.92)}.mobile-topbar-title{flex:1;text-align:center;margin:0;font-size:20px;font-weight:700;letter-spacing:-.01em;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-dark .mobile-topbar-title,.theme-dark .mobile-topbar-btn{color:var(--accent)}.mobile-topbar-avatar{width:38px;height:38px;flex-shrink:0;border-radius:999px;border:none;background:var(--accent);color:#fff;font-weight:700;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center}.bottom-nav{position:fixed;left:0;right:0;bottom:0;display:none;align-items:stretch;justify-content:space-around;height:calc(var(--bottom-nav-height) + var(--safe-bottom));padding:6px 8px var(--safe-bottom);background:var(--bg-elev);border-top:1px solid var(--border);z-index:100}@media (max-width: 639px){.bottom-nav{display:flex}}.bottom-nav-item{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:transparent;border:none;color:var(--text-muted);font-size:11px;font-weight:600;cursor:pointer;padding:4px 2px;min-height:var(--tap-target-min);border-radius:var(--r-md);transition:color .16s ease}.bottom-nav-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:56px;height:30px;border-radius:999px;transition:background .18s ease}.bottom-nav-item.is-active{color:var(--accent)}.bottom-nav-item.is-active .bottom-nav-icon{background:var(--accent-soft)}.bottom-nav-item:active .bottom-nav-icon{transform:scale(.9)}.bottom-nav-badge{position:absolute;top:-2px;right:6px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}.mobile-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:300;display:flex;align-items:flex-end;animation:sheet-fade .18s ease}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}.mobile-sheet{width:100%;max-height:70vh;display:flex;flex-direction:column;background:var(--bg-card);border-top-left-radius:var(--r-2xl);border-top-right-radius:var(--r-2xl);box-shadow:var(--shadow-pop);padding-bottom:calc(var(--safe-bottom) + 8px);animation:sheet-rise .24s cubic-bezier(.2,.8,.2,1);transition:max-height .32s cubic-bezier(.2,.8,.2,1),border-top-left-radius .22s ease,border-top-right-radius .22s ease}.mobile-sheet.is-expanded{max-height:95vh;border-top-left-radius:var(--r-lg);border-top-right-radius:var(--r-lg)}@keyframes sheet-rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-sheet-grip-wrap{display:flex;justify-content:center;align-items:center;padding:12px 0 6px;touch-action:none;cursor:grab;flex-shrink:0}.mobile-sheet-grip{width:40px;height:4px;border-radius:2px;background:var(--border-strong);pointer-events:none}.mobile-sheet-head{display:flex;align-items:center;gap:12px;padding:10px 18px 14px;border-bottom:1px solid var(--border);background:var(--bg-card);flex-shrink:0}.mobile-sheet.is-expanded .mobile-sheet-head{box-shadow:0 4px 12px -8px #00000040}.mobile-sheet-avatar{width:44px;height:44px;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;font-size:17px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mobile-sheet-name{font-weight:700;font-size:15px}.mobile-sheet-sub{font-size:12.5px;color:var(--text-faint)}.mobile-sheet-theme{width:40px;height:40px;border-radius:999px;border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.mobile-sheet-scroll{overflow-y:auto;padding:8px 12px 4px;-webkit-overflow-scrolling:touch}.mobile-sheet-group{margin-bottom:6px}.mobile-sheet-group-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);padding:10px 12px 4px}.mobile-sheet-item{width:100%;display:flex;align-items:center;gap:14px;padding:12px 14px;background:transparent;border:none;border-radius:var(--r-md);color:var(--text);font-size:15px;font-weight:500;text-align:left;cursor:pointer;min-height:var(--tap-target-min)}.mobile-sheet-item.is-active{background:var(--accent-soft);color:var(--accent);font-weight:600}.mobile-sheet-item-icon{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0}.mobile-sheet-item.is-active .mobile-sheet-item-icon{color:var(--accent)}.mobile-sheet-item-dot{margin-left:auto;width:8px;height:8px;border-radius:999px;background:var(--accent)}.win-frame.is-web .app-body{height:100vh}@media (max-width: 639px){.win-frame.is-web{display:flex;flex-direction:column;height:100dvh}.win-frame.is-web .app-body,.win-frame.is-web .app-body.sidebar-collapsed{grid-template-columns:1fr!important;height:auto;flex:1;min-height:0}.sidebar,.sidebar-collapse-btn{display:none!important}.main{padding:16px 16px calc(var(--bottom-nav-height) + var(--safe-bottom) + 16px)}.main-header{margin-bottom:16px;flex-wrap:wrap;gap:8px}}@media (min-width: 640px) and (max-width: 1023px){.app-body{grid-template-columns:64px 1fr}.sidebar{width:64px}.sidebar-collapse-btn{display:none!important}.sidebar .sidebar-brand-name,.sidebar .sidebar-section-label,.sidebar .nav-item span:not(.nav-icon):not(.nav-badge),.sidebar .sidebar-user-name,.sidebar .sidebar-user-class,.sidebar .sidebar-avatar{display:none}.main{padding:20px 24px 32px}}@media (max-width: 639px){.health-grid,.feynman-grid,.srs-grid{grid-template-columns:1fr!important}}.mindmap-grid{grid-template-columns:1fr 270px}@media (max-width: 1023px){.mindmap-grid{grid-template-columns:1fr}}.palace-grid{grid-template-columns:1fr 1.5fr}@media (max-width: 1023px){.palace-grid{grid-template-columns:1fr}}@media (max-width: 639px){.grid-2{grid-template-columns:1fr 1fr;gap:10px}.grid-3,.grid-4{grid-template-columns:1fr;gap:12px}.dashboard-grid{grid-template-columns:1fr!important;gap:12px}.dash-widget{grid-column:1 / -1!important}.row{flex-wrap:wrap}.card,.panel{padding:16px}input,textarea,select{font-size:16px}.table-wrap,.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal,.dialog{width:calc(100vw - 24px)!important;max-width:none}h1{font-size:22px}h2{font-size:18px}.main-header .page-title{display:none}.main-header{align-items:flex-start}.page-subtitle{display:none}.card-header{flex-direction:column;align-items:stretch;gap:12px}.card-header>*:last-child{flex-shrink:1}.card-header .row{flex-wrap:wrap}.main-header>.row{width:100%}}.m-dash{display:flex;flex-direction:column;gap:28px}.m-dash-welcome h2{font-size:24px;font-weight:700;letter-spacing:-.01em;margin:0 0 4px}.m-dash-welcome p{margin:0;font-size:15px;color:var(--text-muted)}.m-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.m-stat-card{display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:108px;padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);text-align:left;cursor:pointer}.m-stat-card:active{transform:scale(.98)}.m-stat-top{display:flex;align-items:center;justify-content:space-between}.m-stat-label{font-size:14px;font-weight:500;color:var(--text-muted)}.m-stat-bottom{display:flex;align-items:baseline;gap:6px}.m-stat-value{font-size:26px;font-weight:700;letter-spacing:-.02em}.m-stat-unit{font-size:12px;font-weight:600;color:var(--text-faint)}.m-streak-banner{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:16px;border-radius:var(--r-lg);background:var(--accent-2);color:#fff}.m-streak-left{display:flex;align-items:center;gap:12px}.m-streak-icon{width:40px;height:40px;border-radius:999px;background:#ffffff38;display:flex;align-items:center;justify-content:center;color:#fff}.m-streak-label{display:block;font-size:13px;opacity:.9}.m-streak-value{display:block;font-size:16px;font-weight:700}.m-streak-bars{display:flex;gap:4px}.m-streak-bar{width:8px;height:32px;border-radius:999px;background:#fff}.m-next-pomo{padding:20px;border-radius:var(--r-lg);background:var(--accent-soft);border:1px solid var(--border)}.theme-dark .m-next-pomo{background:var(--bg-card)}.m-next-pomo h3{margin:0 0 12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.m-next-pomo-body{display:flex;align-items:center;justify-content:space-between;gap:16px}.m-next-pomo-body h4{margin:0 0 4px;font-size:18px;font-weight:600;color:var(--text)}.m-next-pomo-body p{margin:0;font-size:13px;color:var(--text-muted)}.m-next-pomo-play{flex-shrink:0;width:52px;height:52px;border-radius:999px;border:none;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-card)}.m-next-pomo-play:active{transform:scale(.94)}.m-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.m-section-head h3{margin:0;font-size:18px;font-weight:600}.m-section-head button{background:none;border:none;color:var(--accent);font-size:14px;font-weight:600;cursor:pointer}.m-empty{padding:18px;text-align:center;font-size:13px;color:var(--text-faint);font-style:italic}.m-task-list{display:flex;flex-direction:column;gap:10px}.m-task-row{display:flex;align-items:flex-start;gap:14px;padding:14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer}.m-task-check{flex-shrink:0;width:22px;height:22px;margin-top:1px;border-radius:6px;border:2px solid var(--border-strong);background:transparent;cursor:pointer;padding:0}.m-task-check:active{border-color:var(--accent);background:var(--accent-soft)}.m-task-main{flex:1;min-width:0}.m-task-title{font-size:15px;font-weight:600;margin-bottom:6px}.m-task-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.m-due-chip{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--warning) 16%,transparent);color:var(--warning)}.m-due-chip.is-overdue{background:var(--error-container, color-mix(in srgb, var(--danger) 16%, transparent));color:var(--danger)}.m-task-subject{font-size:12.5px;color:var(--text-faint)}.m-dash{position:relative}.m-dash-corner{position:absolute;top:0;right:0;display:inline-flex;align-items:center;gap:6px;z-index:2}.m-dash-editing{padding-top:46px}.m-corner-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);cursor:pointer;transition:transform .14s ease,background .14s ease,color .14s ease}.m-corner-btn:hover{color:var(--text)}.m-corner-btn:active{transform:scale(.94)}.m-corner-btn.is-primary{background:var(--accent);color:#fff;border-color:transparent}.m-edit-hint{text-align:center;font-size:12.5px;color:var(--text-faint);font-style:italic;padding:4px 0 12px}.m-widget{border-radius:var(--r-lg);position:relative}.m-widget .m-widget-body{display:flex;flex-direction:column;gap:12px}.m-w-size-compact .m-widget-body>*:not(.m-section-head){font-size:12.5px}.m-w-size-large .m-widget-body{gap:16px}.m-w-size-large .m-section-head h3{font-size:20px}.m-w-welcome h2{font-size:24px;font-weight:700;letter-spacing:-.01em;margin:0 0 4px}.m-w-welcome p{margin:0;font-size:15px;color:var(--text-muted)}.m-w-accent-warm>.m-widget-body>.m-next-pomo,.m-w-accent-cool>.m-widget-body>.m-next-pomo,.m-w-accent-success>.m-widget-body>.m-next-pomo{background:var(--bg-card)}.m-widget-edit{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;margin-bottom:8px;border-radius:12px;background:color-mix(in srgb,var(--accent) 8%,var(--bg-card));border:1px dashed color-mix(in srgb,var(--accent) 35%,var(--border))}.m-widget-edit-head{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--text-muted)}.m-widget-edit-actions{display:inline-flex;align-items:center;gap:4px}.m-widget-edit-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);cursor:pointer;padding:0}.m-widget-edit-btn:disabled{opacity:.35;cursor:not-allowed}.m-widget-edit-btn:active:not(:disabled){transform:scale(.94)}.m-widget-edit-btn.is-danger{color:var(--danger)}.m-accent-swatch{width:14px;height:14px;border-radius:999px;border:1px solid var(--border-strong)}.m-accent-swatch.m-w-accent-neutral{background:var(--text-muted)}.m-accent-swatch.m-w-accent-accent{background:var(--accent)}.m-accent-swatch.m-w-accent-warm{background:var(--warning)}.m-accent-swatch.m-w-accent-cool{background:var(--info)}.m-accent-swatch.m-w-accent-success{background:var(--success)}.m-dash-editing .m-widget{outline:1px dashed transparent;outline-offset:2px;animation:m-widget-wiggle .6s ease-in-out}@keyframes m-widget-wiggle{0%{transform:rotate(0)}25%{transform:rotate(-.4deg)}75%{transform:rotate(.4deg)}to{transform:rotate(0)}}.m-add-tray{padding:14px;border-radius:var(--r-lg);background:var(--bg-card);border:1px dashed var(--border-strong)}.m-add-tray-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:10px}.m-add-tray-grid{display:flex;flex-wrap:wrap;gap:8px}.m-add-tray-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:var(--bg-hover);border:1px solid var(--border);color:var(--text);font-size:12.5px;font-weight:600;cursor:pointer}.m-add-tray-chip:active{transform:scale(.96)}.m-event-card{padding:14px;border-radius:var(--r-md);background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--accent)}.m-event-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}.m-event-title{font-size:15px;font-weight:700}.m-event-chip{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 14%,transparent);color:var(--text-muted);flex-shrink:0}.m-event-chip.is-exam{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.m-event-meta{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--text-muted)}.m-event-day{font-weight:600;color:var(--text);text-transform:capitalize}.m-event-time{font-family:var(--font-mono)}.m-due-list{display:flex;flex-direction:column;gap:10px}.m-due-row{display:flex;flex-direction:column;gap:4px}.m-due-row-head{display:flex;justify-content:space-between;font-size:13px}.m-due-subject{font-weight:600}.m-due-count{font-family:var(--font-mono);color:var(--text-faint)}.m-due-bar{height:8px;background:var(--bg-hover);border-radius:999px;overflow:hidden}.m-due-bar-fill{height:100%;border-radius:999px;transition:width .4s ease}.m-activity-bars{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;height:140px}.m-activity-col{display:flex;flex-direction:column;align-items:center;gap:6px;justify-content:flex-end}.m-activity-col-track{width:100%;flex:1;background:var(--bg-hover);border-radius:8px;display:flex;align-items:flex-end;overflow:hidden}.m-activity-col-fill{width:100%;background:var(--accent);border-radius:8px 8px 6px 6px;transition:height .5s cubic-bezier(.2,.8,.2,1)}.m-activity-col.is-today .m-activity-col-fill{background:var(--accent-grad);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 50%,transparent)}.m-activity-col-label{font-size:11px;color:var(--text-faint);font-weight:600}.m-activity-col.is-today .m-activity-col-label{color:var(--text)}.m-water-body{display:flex;align-items:center;gap:16px}.m-progress-ring{position:relative;width:72px;height:72px;flex-shrink:0}.m-progress-ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:14px;font-weight:700}.m-water-stats{flex:1}.m-water-count{display:flex;align-items:baseline;gap:6px;margin-bottom:2px}.m-water-value{font-family:var(--font-mono);font-size:26px;font-weight:700;letter-spacing:-.02em}.m-water-goal{font-size:13px;color:var(--text-muted)}.m-water-msg{font-size:12.5px;color:var(--text-muted)}.m-sleep-body{display:flex;flex-direction:column;gap:8px}.m-sleep-row{display:flex;align-items:center;justify-content:space-between}.m-sleep-stars{display:inline-flex;gap:2px}.m-sleep-star{font-size:16px;color:var(--border-strong)}.m-sleep-star.is-on{color:var(--warning)}.m-sleep-date{font-size:12px;color:var(--text-faint)}.m-sleep-times{display:flex;gap:12px;font-size:12.5px;color:var(--text-muted);font-family:var(--font-mono)}.m-sleep-times-lab{color:var(--text-faint)}.m-mini-list{display:flex;flex-direction:column;gap:8px}.m-mini-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px;border-radius:var(--r-md);background:var(--bg-card);border:1px solid var(--border);cursor:pointer;text-align:left}.m-mini-row:active{transform:scale(.99)}.m-mini-emoji{width:36px;height:36px;border-radius:10px;background:var(--bg-hover);display:inline-flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.m-mini-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.m-mini-title{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-mini-sub{font-size:11.5px;color:var(--text-faint)}.m-feynman-steps{display:inline-flex;gap:3px;flex-shrink:0}.m-feynman-dot{width:14px;height:4px;border-radius:2px;background:var(--bg-active)}.m-feynman-dot.is-on{background:var(--accent-grad)}.m-word-card{padding:16px;border-radius:var(--r-lg);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border))}.theme-dark .m-word-card{background:color-mix(in srgb,var(--accent) 16%,var(--bg-card))}.m-word-head{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:8px}.m-word-text{margin:0;font-size:14px;line-height:1.55;color:var(--text)}.m-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.m-quick-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 8px;border-radius:var(--r-md);background:var(--bg-card);border:1px solid var(--border);color:var(--text);font-size:12px;font-weight:600;cursor:pointer;min-height:72px}.m-quick-tile:active{transform:scale(.96)}.dash-install-slot:empty{display:none}.dash-install-slot{margin-bottom:16px}.install-card{width:100%;display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--r-lg);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));background:var(--accent-soft);color:var(--text);cursor:pointer;text-align:left;transition:transform .16s ease,box-shadow .16s ease}.theme-dark .install-card{background:color-mix(in srgb,var(--accent) 16%,var(--bg-card))}.install-card:active{transform:scale(.99)}.install-card:hover{box-shadow:var(--shadow-card)}.install-card-icon{width:40px;height:40px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff}.install-card-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.install-card-title{font-weight:700;font-size:15px}.install-card-sub{font-size:12.5px;color:var(--text-muted)}.install-card>svg:last-child{color:var(--accent);flex-shrink:0}.install-row{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--r-md);border:1px solid var(--accent);background:transparent;color:var(--accent);font-weight:600;font-size:14px;cursor:pointer}.install-row.is-installed{border-color:var(--border);color:var(--text-muted);cursor:default}.settings-shell{display:grid;grid-template-columns:250px 1fr;gap:20px;max-width:920px;margin:0 auto;align-items:start}.settings-nav{display:flex;flex-direction:column;gap:4px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:8px}.settings-nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border-radius:var(--r-md);background:transparent;border:none;color:var(--text);font-size:14px;font-weight:500;text-align:left;cursor:pointer;transition:background .14s ease}.settings-nav-item:hover{background:var(--bg-hover)}.settings-nav-item.is-active{background:var(--accent-soft);color:var(--accent);font-weight:600}.theme-dark .settings-nav-item.is-active{background:color-mix(in srgb,var(--accent) 16%,transparent)}.settings-nav-icon{display:inline-flex;color:var(--text-muted);flex-shrink:0}.settings-nav-item.is-active .settings-nav-icon{color:var(--accent)}.settings-nav-label{flex:1}.settings-nav-item>svg:last-child{color:var(--text-faint);flex-shrink:0}.settings-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px;min-width:0}.settings-panel-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}.settings-panel-head h2{flex:1;margin:0;font-size:19px;font-weight:700}.settings-save{flex-shrink:0}.settings-back{display:none;width:40px;height:40px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-muted);align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}@media (min-width: 640px){.settings-nav-item>svg:last-child{display:none}}.subjects-editor{display:flex;flex-wrap:wrap;gap:6px;align-items:center;width:100%;min-height:44px;padding:6px 8px;border-radius:var(--r-sm);background:var(--bg-hover);border:1px solid var(--border);cursor:text;transition:border-color .14s ease,box-shadow .14s ease}.subjects-editor:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.subjects-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:4px 4px 4px 10px;font-size:12.5px;font-weight:600;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);color:var(--accent);line-height:1.2}.subjects-chip-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.subjects-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:transparent;border:none;color:var(--accent);cursor:pointer;flex-shrink:0;padding:0;transition:background .14s ease}.subjects-chip-remove:hover{background:color-mix(in srgb,var(--accent) 20%,transparent)}.subjects-input{flex:1 1 140px;min-width:120px;padding:6px 4px;border:none;background:transparent;color:var(--text);font-size:14px;font-family:inherit;outline:none}.subjects-input::placeholder{color:var(--text-faint)}@media (max-width: 639px){.subjects-editor{flex-direction:column;align-items:stretch;gap:8px;padding:0;background:transparent;border:none;min-height:0;cursor:default}.subjects-editor:focus-within{border-color:transparent;box-shadow:none}.subjects-chip{width:100%;max-width:none;justify-content:space-between;gap:10px;padding:12px 10px 12px 16px;border-radius:var(--r-md);font-size:15px;font-weight:600;background:var(--bg-hover);border:1px solid var(--border);color:var(--text);line-height:1.3}.subjects-chip-label{flex:1;min-width:0;max-width:none;text-align:left;white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word}.subjects-chip-remove{width:32px;height:32px;border-radius:var(--r-sm);color:var(--text-muted);background:transparent}.subjects-chip-remove:hover,.subjects-chip-remove:active{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.subjects-input{flex:0 0 auto;width:100%;min-width:0;padding:14px 16px;background:var(--bg-hover);border:1px dashed color-mix(in srgb,var(--border-strong, var(--border)) 80%,transparent);border-radius:var(--r-md);font-size:15px;color:var(--text)}.subjects-input:focus{border-style:solid;border-color:var(--accent);background:var(--bg-card);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}}@media (max-width: 639px){.settings-shell{grid-template-columns:1fr;gap:0}.settings-nav{background:transparent;border:none;padding:0;gap:8px}.settings-nav-item{background:var(--bg-card);border:1px solid var(--border);padding:16px 14px;font-size:15px}.settings-panel{display:none;border:none;background:transparent;padding:0}.settings-shell.show-detail .settings-nav{display:none}.settings-shell.show-detail .settings-panel{display:block}.settings-back{display:inline-flex}}@media (min-width: 640px){.admin-users-table{min-width:800px}.admin-invites-table{min-width:580px}.admin-table th,.admin-table td{white-space:nowrap}}@media (max-width: 639px){.admin-section-head{align-items:stretch!important;gap:10px}.admin-section-head h3,.admin-section-head .btn{width:100%}.admin-table-card{border:0!important;border-radius:0!important;overflow:visible!important}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{display:block;width:100%}.admin-table thead{display:none}.admin-table tbody{display:grid;gap:10px}.admin-table tr{border:1px solid var(--border)!important;border-radius:var(--r-md);background:var(--bg-card);padding:10px 12px}.admin-table td{display:grid;grid-template-columns:minmax(92px,36%) minmax(0,1fr);gap:8px;align-items:center;padding:7px 0!important;overflow-wrap:anywhere}.admin-table td:before{content:attr(data-label);color:var(--text-faint);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.admin-invites-table td:nth-child(1):before{content:"Nom"}.admin-invites-table td:nth-child(2):before{content:"Cle"}.admin-invites-table td:nth-child(3):before{content:"Emise le"}.admin-invites-table td:nth-child(4):before{content:"Actions"}.admin-users-table td:nth-child(1):before{content:"Identifiant"}.admin-users-table td:nth-child(2):before{content:"Email"}.admin-users-table td:nth-child(3):before{content:"Nom"}.admin-users-table td:nth-child(4):before{content:"Role"}.admin-users-table td:nth-child(5):before{content:"Connexion"}.admin-users-table td:nth-child(6):before{content:"Actions"}.admin-table td:last-child{grid-template-columns:1fr;gap:6px;padding-top:10px!important}.admin-table td:last-child:before{margin-bottom:2px}.admin-table select{width:100%;min-width:0}.admin-key{display:inline-block;max-width:100%}.admin-actions{width:100%;align-items:stretch}.admin-actions .btn{flex:1 1 140px}}@media (max-width: 639px){.modal-overlay{align-items:flex-end!important;z-index:320!important;padding:0 12px calc(var(--bottom-nav-height) + var(--safe-bottom) + 10px)!important}.modal-card{width:100%!important;max-width:none!important;max-height:calc(100dvh - var(--bottom-nav-height) - var(--safe-top) - var(--safe-bottom) - 24px)!important;overflow-y:auto;border-top-left-radius:var(--r-2xl)!important;border-top-right-radius:var(--r-2xl)!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important;padding-bottom:24px!important;animation:sheet-rise .28s cubic-bezier(.2,.8,.2,1)}.modal-card>.col:last-child,.modal-card>div:last-child{padding-bottom:2px}.modal-card:before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:var(--border-strong);margin:-8px auto 14px}}.mm-mobile{display:flex;flex-direction:column;gap:16px}.mm-map-strip{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}.mm-map-strip::-webkit-scrollbar{display:none}.mm-map-chip{flex:0 0 auto;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.mm-map-chip.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.mm-center{display:flex;align-items:center;gap:14px;padding:18px;border-radius:var(--r-lg);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border))}.theme-dark .mm-center{background:color-mix(in srgb,var(--accent) 16%,var(--bg-card))}.mm-center-emoji{font-size:34px;line-height:1}.mm-center-name{font-size:19px;font-weight:800;letter-spacing:-.01em}.mm-center-sub{font-size:13px;color:var(--text-muted)}.mm-branches{display:flex;flex-direction:column;gap:12px}.mm-branch{border:1px solid var(--border);border-left:4px solid var(--mm-color);border-radius:var(--r-md);background:var(--bg-card);padding:14px 16px}.mm-branch-head{display:flex;align-items:center;gap:8px}.mm-branch-emoji{font-size:18px}.mm-branch-label{font-size:16px;font-weight:700;color:var(--mm-color)}.mm-children{list-style:none;margin:10px 0 0;padding:0 0 0 6px;display:flex;flex-direction:column;gap:8px}.mm-children>li{position:relative;padding-left:14px}.mm-children>li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:999px;background:var(--mm-color)}.mm-child-label{font-size:14.5px;font-weight:600;color:var(--text)}.mm-grandchildren{list-style:none;margin:6px 0 0;padding:0 0 0 14px;display:flex;flex-direction:column;gap:4px}.mm-grandchildren>li{font-size:13px;color:var(--text-muted);position:relative;padding-left:12px}.mm-grandchildren>li:before{content:"–";position:absolute;left:0;color:var(--text-faint)}.mm-empty{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:60px 24px;color:var(--text-muted)}.mm-empty p{margin:6px 0 0;font-size:16px;font-weight:600;color:var(--text)}.mm-empty span{font-size:13px;color:var(--text-faint);max-width:280px}@media (max-width: 639px){.feynman-steps{justify-content:center!important}.feynman-steps .feynman-step-btn{flex:0 0 auto!important;padding:4px!important}.feynman-steps .feynman-step-text{display:none}}.btn:active:not(:disabled),.m-stat-card:active,.bottom-nav-item:active,.settings-nav-item:active,.install-card:active,.m-event:active,.m-task-row:active{transform:scale(.97)}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 639px){.m-dash>*,.m-stat-grid>*,.m-task-list>*,.m-quadrants>*,.mm-branches>*,.m-agenda-list>*,.settings-nav>*{animation:rise-in .42s cubic-bezier(.2,.8,.2,1) both}.m-dash>*:nth-child(1),.m-stat-grid>*:nth-child(1),.m-task-list>*:nth-child(1),.m-quadrants>*:nth-child(1),.mm-branches>*:nth-child(1),.m-agenda-list>*:nth-child(1),.settings-nav>*:nth-child(1){animation-delay:30ms}.m-dash>*:nth-child(2),.m-stat-grid>*:nth-child(2),.m-task-list>*:nth-child(2),.m-quadrants>*:nth-child(2),.mm-branches>*:nth-child(2),.m-agenda-list>*:nth-child(2),.settings-nav>*:nth-child(2){animation-delay:70ms}.m-dash>*:nth-child(3),.m-stat-grid>*:nth-child(3),.m-task-list>*:nth-child(3),.m-quadrants>*:nth-child(3),.mm-branches>*:nth-child(3),.m-agenda-list>*:nth-child(3),.settings-nav>*:nth-child(3){animation-delay:.11s}.m-dash>*:nth-child(4),.m-stat-grid>*:nth-child(4),.m-task-list>*:nth-child(4),.m-quadrants>*:nth-child(4),.mm-branches>*:nth-child(4),.m-agenda-list>*:nth-child(4),.settings-nav>*:nth-child(4){animation-delay:.15s}.m-dash>*:nth-child(5),.m-task-list>*:nth-child(5),.mm-branches>*:nth-child(5),.settings-nav>*:nth-child(5){animation-delay:.19s}.m-dash>*:nth-child(n+6),.mm-branches>*:nth-child(n+6),.settings-nav>*:nth-child(n+6){animation-delay:.23s}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.m-search{display:flex;align-items:center;gap:10px;padding:0 14px;height:48px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:16px}.m-search input{flex:1;border:none;background:transparent;font-size:16px;color:var(--text);outline:none}.m-fab{position:fixed;right:18px;bottom:calc(var(--bottom-nav-height) + var(--safe-bottom) + 18px);width:56px;height:56px;border-radius:var(--r-lg);border:none;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-pop);cursor:pointer;z-index:90}.m-fab:active{transform:scale(.92)}.m-quadrants{display:flex;flex-direction:column;gap:12px}.m-quadrant{border:1px solid var(--border);border-radius:var(--r-lg);background:color-mix(in srgb,var(--q-color) 6%,var(--bg-card));overflow:hidden}.m-quadrant-head{width:100%;display:flex;align-items:center;gap:10px;padding:16px;background:transparent;border:none;cursor:pointer;text-align:left}.m-quadrant-dot{width:10px;height:10px;border-radius:999px;background:var(--q-color);flex-shrink:0}.m-quadrant-title{flex:1;font-size:16px;font-weight:700;color:var(--text)}.m-quadrant-count{min-width:24px;height:22px;padding:0 7px;border-radius:999px;background:color-mix(in srgb,var(--q-color) 16%,transparent);color:var(--q-color);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.m-quadrant-chevron{display:inline-flex;color:var(--text-faint);transition:transform .2s ease}.m-quadrant-chevron.is-open{transform:rotate(180deg)}.m-quadrant-body{display:flex;flex-direction:column;gap:8px;padding:0 12px 12px}.m-quadrant-body .m-task-row{background:var(--bg-card-solid, var(--bg-card))}@media (max-width: 639px){.pomo-grid{grid-template-columns:1fr!important;gap:18px}.pomo-focus-card{background:transparent!important;border:none!important;box-shadow:none!important;padding:4px 0 0!important}.pomo-focus-card .phase-glow-focus,.pomo-focus-card .phase-glow-short,.pomo-focus-card .phase-glow-long{display:none}.pomo-ring-shadow{max-width:76vw;height:auto}}.m-agenda-monthrow{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.m-agenda-monthrow h2{margin:0;font-size:20px;font-weight:700;text-transform:capitalize}.m-icon-btn{width:40px;height:40px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.m-day-strip{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px;margin-bottom:18px;scrollbar-width:none}.m-day-strip::-webkit-scrollbar{display:none}.m-day-pill{position:relative;flex:1 0 auto;min-width:52px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg-card);cursor:pointer}.m-day-abbr{font-size:11px;font-weight:700;color:var(--text-faint);letter-spacing:.04em}.m-day-num{font-size:18px;font-weight:700;color:var(--text)}.m-day-pill.is-today .m-day-num{color:var(--accent)}.m-day-pill.is-selected{background:var(--accent);border-color:var(--accent)}.m-day-pill.is-selected .m-day-abbr,.m-day-pill.is-selected .m-day-num{color:#fff}.m-day-dot{position:absolute;bottom:5px;width:5px;height:5px;border-radius:999px;background:var(--accent-2)}.m-day-pill.is-selected .m-day-dot{background:#fff}.m-agenda-daylabel{font-size:14px;font-weight:700;color:var(--accent);text-transform:capitalize;margin-bottom:12px}.m-agenda-list{display:flex;flex-direction:column;gap:10px}.m-event{display:flex;gap:14px;width:100%;text-align:left;padding:14px;background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--r-md);cursor:pointer}.m-event-time{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;width:52px;font-variant-numeric:tabular-nums}.m-event-time span{font-size:15px;font-weight:700;color:var(--text)}.m-event-end{font-size:12px!important;font-weight:500!important;color:var(--text-faint)!important}.m-event-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.m-event-type{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:2px}.m-event-label{font-size:15px;font-weight:600;color:var(--text);line-height:1.25;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.m-event-notes{font-size:12.5px;color:var(--text-muted);line-height:1.35;margin-top:2px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media (max-width: 639px){.fc-grid{grid-template-columns:1fr!important;gap:16px!important}.fc-study-grid .fc-why{order:3}.fc-card-wrap{flex:1 1 auto!important;height:auto!important;min-height:0!important;max-height:55vh!important;margin:16px 0!important;aspect-ratio:3/4!important;width:100%!important;max-width:340px!important;align-self:center!important}.win-frame:has(.fc-studying) .bottom-nav,.win-frame:has(.fc-studying) .mobile-top-bar{display:none!important}.win-frame:has(.fc-studying) .main{padding:0!important;height:100dvh!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.fc-study-grid{display:flex!important;flex-direction:column!important;height:100%!important;gap:0!important;padding:0!important;justify-content:space-between!important}.fc-study-main-col{display:flex!important;flex-direction:column!important;height:100%!important;gap:0!important;justify-content:space-between!important;padding:8px 16px calc(12px + var(--safe-bottom))!important}.fc-studying .main-header{display:none}.fc-study-header-card{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;margin:0!important}.fc-study-header-mobile{width:100%;padding:12px 0}.fc-mobile-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.fc-mobile-close-btn,.fc-mobile-more-btn{width:40px;height:40px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:background .2s}.fc-mobile-close-btn:active,.fc-mobile-more-btn:active{background:var(--bg-hover)}.fc-mobile-title-col{flex:1;display:flex;flex-direction:column;gap:4px}.fc-mobile-title-top{display:flex;justify-content:space-between;align-items:center}.fc-mobile-subject{font-size:11px;font-weight:700;color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase}.fc-mobile-progress-text{font-size:11.5px;font-weight:700;color:var(--accent)}.fc-mobile-progress{height:6px!important;background:var(--bg-hover)!important;border-radius:999px!important;overflow:hidden!important;margin:0!important;border:none!important}.fc-mobile-progress .progress-bar{background:var(--accent)!important;height:100%!important;border-radius:999px!important;transition:width .25s cubic-bezier(.4,0,.2,1)!important}.fc-bounce-animation{animation:fc-finger-bounce 1.5s infinite alternate ease-in-out}@keyframes fc-finger-bounce{0%{transform:translateY(0)}to{transform:translateY(-4px)}}.fc-study-main-col>.card:last-of-type{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;margin:0!important}.fc-rate-title{margin-bottom:12px!important;font-size:13px!important}.fc-rate{grid-template-columns:repeat(3,1fr)!important;gap:8px!important}.fc-rate-btn{flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:12px 6px!important;font-size:11.5px!important;height:auto!important;border-radius:12px!important;text-align:center!important;line-height:1.2!important}.fc-rate-face{width:22px!important;height:22px!important;stroke-width:2.2!important}.fc-rate-btn.fc-rate-hard{background:color-mix(in srgb,var(--danger) 8%,var(--bg-card))!important;border-color:color-mix(in srgb,var(--danger) 15%,transparent)!important;color:var(--danger)!important}.fc-rate-btn.fc-rate-hard:active:not(:disabled){background:color-mix(in srgb,var(--danger) 16%,var(--bg-card))!important}.fc-rate-btn.fc-rate-medium{background:color-mix(in srgb,var(--accent-3) 8%,var(--bg-card))!important;border-color:color-mix(in srgb,var(--accent-3) 15%,transparent)!important;color:var(--accent-3)!important}.fc-rate-btn.fc-rate-medium:active:not(:disabled){background:color-mix(in srgb,var(--accent-3) 16%,var(--bg-card))!important}.fc-rate-btn.fc-rate-easy{background:color-mix(in srgb,var(--accent) 8%,var(--bg-card))!important;border-color:color-mix(in srgb,var(--accent) 15%,transparent)!important;color:var(--accent)!important}.fc-rate-btn.fc-rate-easy:active:not(:disabled){background:color-mix(in srgb,var(--accent) 16%,var(--bg-card))!important}.settings-card{padding:16px!important}.settings-tabs{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.settings-tabs::-webkit-scrollbar{display:none}.settings-tabs>button{flex:0 0 auto!important;white-space:nowrap}}.messages-page{display:flex;flex-direction:column;gap:16px;min-height:100%}.messages-header{display:flex;flex-direction:column;gap:4px}.chat-shell{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;flex:1;min-height:540px;max-height:calc(100vh - 200px);box-shadow:0 1px 3px #0000000a}.chat-admin-shell{display:grid;grid-template-columns:280px 1fr;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;flex:1;min-height:540px;max-height:calc(100vh - 200px);box-shadow:0 1px 3px #0000000a}.chat-admin-sidebar{border-right:1px solid var(--border);background:var(--bg);display:flex;flex-direction:column;min-height:0}.chat-admin-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--bg-card);color:var(--text-faint)}.chat-admin-search-input{flex:1;border:none;background:transparent;outline:none;font:inherit;font-size:13px;color:var(--text)}.chat-admin-search-input::placeholder{color:var(--text-faint)}.chat-admin-list{flex:1;overflow-y:auto;padding:4px 0}.chat-admin-main{display:flex;flex-direction:column;min-width:0;background:var(--bg)}.chat-admin-header{padding:10px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;background:var(--bg-card);min-height:56px}.chat-admin-header-name{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-back-btn{display:none;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text);border-radius:50%;cursor:pointer}.chat-back-btn:hover{background:var(--bg-hover)}.chat-avatar{width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--accent) 22%,var(--bg-card));color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12.5px;flex-shrink:0;letter-spacing:.02em}.chat-avatar-msg{width:28px;height:28px;font-size:11px;align-self:flex-end;background:color-mix(in srgb,var(--text-faint) 22%,var(--bg-card));color:var(--text-muted)}.chat-avatar-msg.empty{background:transparent}.chat-thread-row{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:transparent;border:none;text-align:left;cursor:pointer;color:var(--text);font-family:inherit;transition:background .12s;border-radius:0}.chat-thread-row:hover{background:var(--bg-hover)}.chat-thread-row.is-active{background:color-mix(in srgb,var(--accent) 14%,transparent)}.chat-thread-row.has-unread .chat-thread-row-name{font-weight:700}.chat-thread-row.has-unread .chat-thread-row-preview-text{color:var(--text);font-weight:500}.chat-thread-row-avatar{width:38px;height:38px;border-radius:50%;background:color-mix(in srgb,var(--accent) 18%,var(--bg-card));color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;flex-shrink:0}.chat-thread-row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.chat-thread-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.chat-thread-row-name{font-weight:600;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-thread-row-time{font-size:11px;color:var(--text-faint);flex-shrink:0}.chat-thread-row-preview{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-muted)}.chat-thread-row-preview-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.chat-thread-badge{background:var(--accent);color:#fff;font-size:11px;font-weight:700;border-radius:999px;padding:2px 7px;min-width:20px;text-align:center;flex-shrink:0;line-height:1.2}.chat-thread-wrap{flex:1;position:relative;display:flex;min-height:0}.chat-thread{flex:1;overflow-y:auto;padding:18px 18px 12px;display:flex;flex-direction:column;gap:2px;background:radial-gradient(circle at 25% 10%,color-mix(in srgb,var(--accent) 5%,transparent),transparent 60%),var(--bg);scroll-behavior:smooth}.chat-loading{padding:24px;font-size:13px;text-align:center}.chat-day-sep{display:flex;align-items:center;justify-content:center;margin:14px 0 10px;position:relative}.chat-day-sep span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--text-faint);background:var(--bg-card);padding:4px 10px;border-radius:999px;border:1px solid var(--border)}.chat-message{display:flex;align-items:flex-end;gap:8px;width:100%;margin-top:2px;animation:chat-pop .16s ease-out}.chat-message.first{margin-top:10px}.chat-message.is-mine{justify-content:flex-end}.chat-message.is-other{justify-content:flex-start}.chat-message.is-other .chat-avatar-msg{visibility:hidden}.chat-message.is-other.last .chat-avatar-msg{visibility:visible}@keyframes chat-pop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.chat-bubble{max-width:70%;padding:8px 12px 6px;border-radius:18px;display:flex;flex-direction:column;gap:4px;font-size:14px;line-height:1.45;box-shadow:0 1px 1px #0000000a;position:relative}.chat-message.is-mine .chat-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:6px}.chat-message.is-mine:not(.last) .chat-bubble{border-bottom-right-radius:18px;border-top-right-radius:18px}.chat-message.is-mine.first:not(.last) .chat-bubble{border-top-right-radius:18px}.chat-message.is-mine:not(.first) .chat-bubble{border-top-right-radius:6px}.chat-message.is-mine.last .chat-bubble{border-bottom-right-radius:6px}.chat-message.is-other .chat-bubble{background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:6px}.chat-message.is-other:not(.last) .chat-bubble{border-bottom-left-radius:18px}.chat-message.is-other:not(.first) .chat-bubble{border-top-left-radius:6px}.chat-body{white-space:pre-wrap;word-break:break-word}.chat-time{font-size:10.5px;text-align:right;opacity:.65;margin-top:2px}.chat-message.is-mine .chat-time{color:#ffffffd9}.chat-image-link{display:block}.chat-image{max-width:100%;max-height:280px;border-radius:10px;display:block;cursor:zoom-in}.chat-scroll-btn{position:absolute;bottom:12px;right:16px;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--bg-card);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000001f;transition:transform .12s,background .12s}.chat-scroll-btn:hover{background:var(--bg-hover);transform:translateY(-1px)}.chat-scroll-btn.has-new{background:var(--accent);color:#fff;border-color:transparent}.chat-scroll-badge{position:absolute;top:-4px;right:-4px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;border-radius:999px;padding:1px 5px;min-width:16px;text-align:center;border:2px solid var(--bg-card)}.chat-scroll-btn.has-new .chat-scroll-badge{background:#fff;color:var(--accent)}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 20px;text-align:center}.chat-empty-inline{min-height:240px}.chat-empty-icon{width:56px;height:56px;border-radius:50%;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:4px}.chat-empty-title{font-weight:600;font-size:15px;color:var(--text)}.chat-empty-hint{font-size:13px;color:var(--text-muted);max-width:320px}.chat-composer{border-top:1px solid var(--border);padding:10px 14px 12px;background:var(--bg-card)}.chat-composer-row{display:flex;align-items:flex-end;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:22px;padding:4px 4px 4px 8px;transition:border-color .12s,box-shadow .12s}.chat-composer-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.chat-textarea{flex:1;resize:none;min-height:32px;max-height:160px;font-family:inherit;font-size:14px;line-height:1.4;background:transparent;border:none;outline:none;color:var(--text);padding:8px 4px}.chat-textarea::placeholder{color:var(--text-faint)}.chat-attach-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:background .12s,color .12s}.chat-attach-btn:hover{background:var(--bg-hover);color:var(--text)}.chat-attach-btn:disabled{opacity:.4;cursor:not-allowed}.chat-send-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;background:var(--accent);color:#fff;cursor:pointer;flex-shrink:0;transition:transform .12s,opacity .12s,background .12s}.chat-send-btn:hover:not(:disabled){transform:scale(1.05);background:color-mix(in srgb,var(--accent) 92%,black)}.chat-send-btn:disabled{background:var(--bg-hover);color:var(--text-faint);cursor:not-allowed}.chat-attach-row{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:6px 8px 6px 6px;font-size:12.5px;margin-bottom:8px;color:var(--text-muted)}.chat-attach-preview{width:44px;height:44px;border-radius:6px;object-fit:cover;flex-shrink:0}.chat-attach-icon{width:44px;height:44px;border-radius:6px;background:var(--bg-hover);display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-attach-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:500}.chat-attach-remove{width:26px;height:26px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.chat-attach-remove:hover{background:var(--bg-hover);color:var(--text)}.chat-error{color:#c0392b;font-size:12px;margin-bottom:6px;padding:0 4px}@media (max-width: 768px){.chat-bubble{max-width:78%;font-size:14px}.chat-admin-shell{grid-template-columns:1fr;position:relative}.chat-admin-shell .chat-admin-sidebar,.chat-admin-shell .chat-admin-main{grid-column:1;grid-row:1}.chat-admin-shell.mobile-list .chat-admin-main,.chat-admin-shell.mobile-chat .chat-admin-sidebar{display:none}.chat-back-btn{display:inline-flex}}@media (max-width: 639px){.chat-shell,.chat-admin-shell{min-height:calc(100vh - 200px);max-height:none;border-radius:var(--r-sm)}.chat-thread{padding:12px 12px 8px}.chat-bubble{max-width:82%}.messages-header .page-title{font-size:22px}}.lp{min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-ui);overflow-x:hidden}.lp button{font-family:inherit}.lp-nav{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:saturate(140%) blur(12px);backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid transparent;transition:border-color .2s ease,background .2s ease}.lp-nav.is-scrolled{border-bottom-color:var(--border);background:color-mix(in srgb,var(--bg) 90%,transparent)}.lp-nav-inner{max-width:1100px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:20px}.lp-brand{display:inline-flex;align-items:center;gap:9px;background:none;border:none;cursor:pointer;color:var(--text)}.lp-mark{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);background:var(--accent);color:#fff}.theme-dark .lp-mark{color:var(--accent-soft)}.lp-mark svg{width:18px;height:18px}.lp-brand-name{font-size:19px;font-weight:800;letter-spacing:-.02em}.lp-nav-links{display:flex;align-items:center;gap:4px;margin-left:auto}.lp-nav-links button{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:13.5px;font-weight:500;padding:8px 12px;border-radius:var(--r-sm);transition:color .14s ease,background .14s ease}.lp-nav-links button:hover{color:var(--text);background:var(--bg-hover)}.lp-nav-cta{margin-left:4px}.lp-theme-btn{width:38px;height:38px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg-hover);color:var(--text-muted);cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.lp-theme-btn:hover{background:var(--bg-active);color:var(--accent);border-color:var(--border-strong)}.lp-theme-btn svg{width:17px;height:17px}.lp-hero{position:relative;text-align:center;padding:96px 24px 84px;overflow:hidden}.lp-hero-glow{position:absolute;top:-180px;left:50%;transform:translate(-50%);width:760px;max-width:120vw;height:520px;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--accent) 22%,transparent) 0%,transparent 68%);filter:blur(8px);pointer-events:none;z-index:0}.lp-hero-inner{position:relative;z-index:1;max-width:760px;margin:0 auto}.lp-eyebrow{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);padding:6px 14px;border-radius:999px;margin-bottom:26px}.lp-hero-title{font-size:clamp(34px,6vw,58px);line-height:1.06;font-weight:800;letter-spacing:-.03em;margin:0 0 22px}.lp-hero-accent{color:var(--accent)}.lp-hero-sub{font-size:clamp(15px,2.2vw,19px);line-height:1.6;color:var(--text-muted);max-width:600px;margin:0 auto 32px}.lp-hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.lp-btn-lg{padding:14px 26px;font-size:15px;border-radius:var(--r-md)}.lp-hero-note{margin-top:22px;font-size:12.5px;color:var(--text-faint)}.lp-section{max-width:1100px;margin:0 auto;padding:80px 24px}.lp-section-soft{max-width:none;background:var(--bg-subtle);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.lp-section-soft>*{max-width:1100px;margin-left:auto;margin-right:auto}.lp-section-head{max-width:680px;margin:0 auto 48px;text-align:center}.lp-kicker{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.lp-h2{font-size:clamp(26px,4vw,38px);font-weight:800;letter-spacing:-.025em;line-height:1.15;margin:0 0 16px}.lp-lead{font-size:clamp(15px,2vw,17px);line-height:1.6;color:var(--text-muted);margin:0}.lp-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.lp-pillar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:30px 26px;text-align:center;transition:box-shadow .22s ease,transform .22s ease}.lp-pillar:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.lp-pillar-icon{width:56px;height:56px;margin:0 auto 18px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-md);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.lp-pillar-title{font-size:18px;font-weight:700;margin:0 0 10px;letter-spacing:-.01em}.lp-pillar-text{font-size:14px;line-height:1.6;color:var(--text-muted);margin:0}.lp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.lp-feature{display:flex;gap:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px;transition:box-shadow .22s ease,transform .22s ease,border-color .22s ease}.lp-feature:hover{box-shadow:var(--shadow-card);transform:translateY(-2px);border-color:var(--border-strong)}.lp-feature-icon{flex-shrink:0;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-md);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.lp-feature-body{min-width:0}.lp-feature-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.lp-feature-title{font-size:16px;font-weight:700;margin:0;letter-spacing:-.01em}.lp-feature-tag{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);padding:2px 8px;border-radius:999px}.lp-feature-text{font-size:13.5px;line-height:1.55;color:var(--text-muted);margin:0}.lp-banner{background:color-mix(in srgb,var(--accent) 7%,var(--bg));color:var(--text);text-align:center;padding:76px 24px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.lp-banner-inner{max-width:680px;margin:0 auto}.lp-banner-title{color:var(--text)}.lp-banner-text{font-size:clamp(15px,2vw,18px);line-height:1.6;margin:0 0 30px;color:var(--text-muted)}.lp-about{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center}.lp-about-text .lp-h2{text-align:left}.lp-p{font-size:15.5px;line-height:1.7;color:var(--text-muted);margin:0 0 16px}.lp-about-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-xl);padding:40px 34px;position:relative;overflow:hidden}.lp-quote-mark{font-size:90px;line-height:.6;font-weight:800;color:color-mix(in srgb,var(--accent) 28%,transparent);margin-bottom:8px;font-family:Georgia,serif}.lp-quote{font-size:26px;font-weight:800;letter-spacing:-.02em;margin:0 0 12px;color:var(--text)}.lp-quote-sub{font-size:14px;line-height:1.6;color:var(--text-muted);margin:0}.lp-terms{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.lp-term{display:flex;gap:18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px 24px}.lp-term-num{flex-shrink:0;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-weight:800;font-size:15px}.lp-term-title{font-size:16px;font-weight:700;margin:4px 0 6px;letter-spacing:-.01em}.lp-term-text{font-size:14px;line-height:1.6;color:var(--text-muted);margin:0}.lp-term-text strong{color:var(--text)}.lp-final{text-align:center;padding:90px 24px 80px;max-width:680px;margin:0 auto}.lp-final-title{font-size:clamp(26px,4vw,40px);font-weight:800;letter-spacing:-.025em;margin:0 0 14px}.lp-final-sub{font-size:16px;line-height:1.6;color:var(--text-muted);margin:0 0 30px}.lp-footer{border-top:1px solid var(--border);background:var(--bg-subtle);padding:50px 24px}.lp-footer-inner{max-width:1100px;margin:0 auto;text-align:center}.lp-footer-tag{font-size:14px;color:var(--text-muted);margin:14px 0 18px;font-style:italic}.lp-footer .lp-brand{justify-content:center;width:100%}.lp-footer-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}.lp-footer-links button{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:13px;padding:6px 10px;border-radius:var(--r-sm)}.lp-footer-links button:hover{color:var(--text);background:var(--bg-hover)}.lp-footer-copy{font-size:12px;color:var(--text-faint);margin:0}@media (max-width: 900px){.lp-pillars{grid-template-columns:1fr}.lp-grid{grid-template-columns:repeat(2,1fr)}.lp-about{grid-template-columns:1fr;gap:32px}.lp-about-text .lp-h2{text-align:center}}@media (max-width: 640px){.lp-nav-inner{padding:12px 18px;gap:12px}.lp-nav-links{display:none}.lp-theme-btn{margin-left:auto}.lp-hero{padding:56px 20px 48px}.lp-hero-title{font-size:28px}.lp-eyebrow{margin-bottom:18px}.lp-hero-sub{margin-bottom:26px}.lp-hero-actions{flex-direction:column}.lp-hero-actions .btn{width:100%}.lp-hero-note{margin-top:18px}.lp-section{padding:52px 20px}.lp-section-head{margin-bottom:30px}.lp-grid{grid-template-columns:1fr}.lp-banner{padding:52px 20px}.lp-final{padding:60px 20px 56px}.lp-footer{padding:40px 20px}.lp-pillar{padding:24px 20px}.lp-feature{padding:18px;gap:14px}.lp-about-card{padding:28px 24px}.lp-quote-mark{font-size:64px}.lp-quote{font-size:22px}.lp-term{padding:18px;gap:14px}}@media (max-width: 400px){.lp-nav-inner{padding:11px 14px}.lp-hero{padding:48px 16px 40px}.lp-hero-title{font-size:24px}.lp-hero-sub{font-size:14.5px}.lp-eyebrow{font-size:11.5px;letter-spacing:.1em;padding:5px 11px;margin-bottom:16px}.lp-btn-lg{padding:13px 20px;font-size:14.5px}.lp-section,.lp-banner{padding:44px 16px}.lp-final{padding:52px 16px 48px}.lp-footer{padding:36px 16px}.lp-pillar{padding:22px 18px}.lp-feature{padding:16px}.lp-about-card{padding:24px 20px}.lp-term{flex-direction:column;gap:10px;padding:16px}}@media (max-width: 340px){.lp-hero-title{font-size:22px}}.lp-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.lp-reveal.is-visible{opacity:1;transform:none}.lp-fade-in{opacity:0;transform:translateY(18px);animation:lp-fade-up .8s cubic-bezier(.16,1,.3,1) forwards}.lp-d1{animation-delay:.08s}.lp-d2{animation-delay:.18s}.lp-d3{animation-delay:.28s}.lp-d4{animation-delay:.38s}@keyframes lp-fade-up{to{opacity:1;transform:none}}.lp-type-line{display:inline-block;min-height:1.12em;white-space:nowrap}.lp-caret{display:inline-block;width:3px;height:.95em;margin-left:5px;background:currentColor;border-radius:2px;vertical-align:-.08em;animation:lp-blink 1s steps(1,end) infinite}@keyframes lp-blink{50%{opacity:0}}.lp-link{background:none;border:none;padding:0;margin:0;font:inherit;font-weight:600;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.lp-link:hover{color:var(--accent-2)}.lp-consent{margin-top:16px;font-size:12.5px;color:var(--text-faint)}.lp-final .lp-consent{margin-top:18px}@media (prefers-reduced-motion: reduce){.lp-reveal,.lp-fade-in{opacity:1;transform:none;transition:none;animation:none}.lp-caret{animation:none}}.lp-demo-section{padding-top:24px}.lp-demo-wrap{max-width:980px;margin:0 auto}.lp-demo-frame{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-pop);overflow:hidden}.lp-demo-topbar{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-subtle);border-bottom:1px solid var(--border)}.lp-demo-dots{display:flex;gap:7px}.lp-demo-dot{width:11px;height:11px;border-radius:50%;background:var(--border-strong)}.lp-content{position:relative;z-index:10;background:var(--bg)}.lp-vintro-spacer{height:100vh;height:100dvh}.lp-vintro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;overflow:hidden;pointer-events:none;background:var(--bg)}.lp-vintro-inner{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:50% 38%;will-change:transform,opacity;overflow:hidden}.lp-vintro-iframe{display:block;width:100%;height:100%;border:0;background:var(--bg);pointer-events:none}.lp-vintro-sound{position:absolute;bottom:24px;left:24px;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--bg-card);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all .2s ease;box-shadow:var(--shadow-pop);pointer-events:auto}.lp-vintro-sound:hover{transform:scale(1.05);background:var(--bg-active);border-color:var(--accent);color:var(--accent)}.lp-vintro-skip{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:16px;z-index:11;pointer-events:auto;background:transparent;border:none;cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;letter-spacing:.02em;color:var(--text-muted);opacity:.4;padding:6px 11px;border-radius:8px;transition:opacity .2s ease,background .2s ease}.lp-vintro-skip:hover{opacity:1;background:color-mix(in srgb,var(--text) 8%,transparent)}.lp-vintro-end{position:absolute;left:50%;bottom:9%;transform:translate(-50%);z-index:11;display:flex;flex-direction:column;align-items:center;gap:16px;pointer-events:none;animation:lp-vintro-end-in .6s cubic-bezier(.2,.9,.2,1) both}.lp-vintro-cta{pointer-events:auto;cursor:pointer;border:none;font:inherit;font-weight:700;font-size:16px;color:#fff;background:var(--accent);padding:15px 36px;border-radius:999px;animation:lp-vintro-cta-pulse 1.8s ease-in-out infinite}.lp-vintro-cta:hover{filter:brightness(1.07)}.lp-vintro-hint{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--text-muted)}.lp-vintro-chevron{display:inline-flex;color:var(--accent);transform:rotate(90deg);animation:lp-vintro-bounce 1.8s ease-in-out infinite}@keyframes lp-vintro-end-in{0%{opacity:0;transform:translate(-50%,18px)}to{opacity:1;transform:translate(-50%)}}@keyframes lp-vintro-cta-pulse{0%,to{transform:scale(1);box-shadow:0 8px 26px color-mix(in srgb,var(--accent) 42%,transparent),0 0 color-mix(in srgb,var(--accent) 55%,transparent)}50%{transform:scale(1.05);box-shadow:0 10px 32px color-mix(in srgb,var(--accent) 52%,transparent),0 0 0 16px color-mix(in srgb,var(--accent) 0%,transparent)}}@keyframes lp-vintro-bounce{0%,to{transform:rotate(90deg) translate(0)}50%{transform:rotate(90deg) translate(5px)}}@media (prefers-reduced-motion: reduce){.lp-vintro,.lp-vintro-spacer{display:none}.lp-vintro-cta{animation:none}}@media (max-width: 640px){.lp-vintro-sound{bottom:calc(18px + env(safe-area-inset-bottom,0px));left:16px;width:40px;height:40px}.lp-vintro-end{bottom:calc(7% + env(safe-area-inset-bottom,0px));gap:13px;width:max-content}.lp-vintro-cta{font-size:15px;padding:14px 30px}.lp-vintro-hint{font-size:12px}.lp-intro-word{font-size:clamp(64px,19vw,280px)}}.lp-intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:var(--bg);pointer-events:none;transition:opacity .75s ease}.lp-intro.is-morph{opacity:0}.lp-intro-word{font-family:var(--font-ui, inherit);font-size:clamp(96px,22vw,280px);font-weight:900;letter-spacing:-.05em;line-height:1;color:var(--accent);transform-origin:center center;transition:transform .85s cubic-bezier(.4,0,.2,1);animation:lp-intro-word-in .68s cubic-bezier(.2,.9,.2,1) both;will-change:transform,opacity}.lp-intro.is-morph .lp-intro-word{transform:scale(1.12)}@keyframes lp-intro-word-in{0%{opacity:0;transform:scale(.84)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.lp-intro{display:none}}.lp-method-cta{text-align:center;margin-top:36px}.lp-method-cta-note{margin:10px 0 0;font-size:13.5px;color:var(--text-muted)}.guide{display:flex;flex-direction:column;min-height:0}.guide-public{height:100vh;background:var(--bg);color:var(--text)}.guide-app{height:100%}.guide-topbar{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.guide-back{padding:6px 10px}.guide-topbar-title{flex:1;min-width:0;font-weight:700;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guide-scroll{flex:1;min-height:0;overflow-y:auto}.guide-app .guide-scroll{height:100%}.guide-inner{max-width:1100px;margin:0 auto;padding:28px 24px 64px}.guide-hero{max-width:760px;margin:8px 0 30px}.guide-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.guide-h1{font-size:clamp(28px,4vw,40px);line-height:1.1;margin:0 0 14px;font-weight:800}.guide-lead{font-size:16.5px;line-height:1.65;color:var(--text-muted);margin:0}.guide-layout{display:grid;grid-template-columns:232px 1fr;gap:36px;align-items:start}.guide-toc{position:sticky;top:16px;display:flex;flex-direction:column;gap:2px}.guide-public .guide-toc{top:16px}.guide-toc-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);padding:0 10px 8px}.guide-toc-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;border:none;background:transparent;color:var(--text-muted);font-size:13.5px;text-align:left;cursor:pointer;transition:background .15s,color .15s;width:100%}.guide-toc-item:hover{background:var(--bg-hover);color:var(--text)}.guide-toc-item.is-active{background:var(--accent-soft);color:var(--accent);font-weight:600}.guide-toc-icon{display:inline-flex;flex-shrink:0}.guide-sections{display:flex;flex-direction:column;gap:16px;min-width:0}.guide-section{scroll-margin-top:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow-card)}.guide-public .guide-section{scroll-margin-top:80px}.guide-section-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}.guide-section-icon{flex-shrink:0;width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:var(--accent-soft);color:var(--accent)}.guide-section-headtext{flex:1;min-width:0}.guide-h2{font-size:22px;margin:0 0 4px;font-weight:750}.guide-tagline{margin:0;font-size:14px;color:var(--text-muted);line-height:1.45}.guide-open-tool{flex-shrink:0;font-size:12.5px;padding:6px 12px;white-space:nowrap}.guide-blocks{display:flex;flex-direction:column;gap:14px}.guide-para{margin:0;font-size:15px;line-height:1.7;color:var(--text)}.guide-card{border-radius:var(--r-md);padding:14px 16px;border:1px solid var(--border);background:var(--bg-subtle)}.guide-card p{margin:0;font-size:14.5px;line-height:1.6;color:var(--text)}.guide-card-label{font-size:12.5px;font-weight:700;margin-bottom:6px;color:var(--text-muted)}.guide-analogy{background:color-mix(in srgb,var(--accent) 8%,var(--bg-card));border-color:color-mix(in srgb,var(--accent) 22%,transparent)}.guide-example{background:var(--bg-subtle)}.guide-tip{background:color-mix(in srgb,var(--warning) 10%,var(--bg-card));border-color:color-mix(in srgb,var(--warning) 28%,transparent)}.guide-callout-science{background:color-mix(in srgb,var(--success) 10%,var(--bg-card));border-color:color-mix(in srgb,var(--success) 28%,transparent)}.guide-callout-warn{background:color-mix(in srgb,var(--danger) 9%,var(--bg-card));border-color:color-mix(in srgb,var(--danger) 26%,transparent)}.guide-steps{border-left:3px solid var(--accent);padding:4px 0 4px 4px}.guide-steps-title{font-size:13px;font-weight:700;color:var(--text-muted);margin:0 0 6px 16px}.guide-steps ol{margin:0;padding-left:34px;display:flex;flex-direction:column;gap:6px}.guide-steps li{font-size:14.5px;line-height:1.55;color:var(--text)}.guide-sources{margin-top:22px;padding-top:18px;border-top:1px dashed var(--border)}.guide-sources-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.guide-sources-title{margin:0;font-size:14px;font-weight:700;color:var(--text-muted)}.guide-add-source{font-size:12.5px;padding:5px 10px}.guide-sources-empty{margin:0;font-size:13px;color:var(--text-faint)}.guide-source-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.guide-source{border:1px solid var(--border);border-radius:var(--r-md);padding:12px;background:var(--bg-card);display:flex;flex-direction:column;gap:10px}.guide-source-top{display:flex;align-items:flex-start;gap:10px}.guide-source-kind{flex-shrink:0;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent)}.guide-source-meta{flex:1;min-width:0}.guide-source-label{font-size:13.5px;font-weight:600;line-height:1.3}.guide-source-desc{font-size:12.5px;color:var(--text-muted);margin-top:2px;line-height:1.4}.guide-source-sub{font-size:11.5px;color:var(--text-faint);margin-top:2px}.guide-source-del{flex-shrink:0;border:none;background:transparent;color:var(--text-faint);cursor:pointer;padding:4px;border-radius:6px}.guide-source-del:hover{color:var(--danger);background:var(--bg-hover)}.guide-source-media{width:100%;border-radius:8px}.guide-source-media[controls]{display:block}video.guide-source-media{max-height:220px;background:#000}.guide-source-img{width:100%;border-radius:8px;display:block}.guide-source-action{font-size:13px;font-weight:600;color:var(--accent);text-decoration:none}.guide-source-action:hover{text-decoration:underline}.guide-final{text-align:center;margin-top:40px;padding-top:32px;border-top:1px solid var(--border)}.guide-final-title{font-size:22px;margin:0 0 18px;font-weight:750}.guide-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.guide-modal{width:100%;max-width:480px;padding:22px;display:flex;flex-direction:column;gap:12px;max-height:90vh;overflow-y:auto}.guide-modal-title{font-size:16px;font-weight:700}.guide-tabs{display:flex;gap:6px;background:var(--bg-subtle);padding:4px;border-radius:10px}.guide-tab{flex:1;border:none;background:transparent;padding:7px 10px;border-radius:7px;font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer}.guide-tab.is-active{background:var(--bg-card);color:var(--text);box-shadow:var(--shadow-card)}.guide-field{display:flex;flex-direction:column;gap:5px}.guide-field>span{font-size:12px;font-weight:600;color:var(--text-faint)}.guide-modal-error{color:var(--danger);font-size:12.5px}.guide-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}@media (max-width: 860px){.guide-layout{grid-template-columns:1fr;gap:16px}.guide-toc{position:sticky;top:0;flex-direction:row;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;padding:10px 0;margin:0 -2px;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5}.guide-toc::-webkit-scrollbar{display:none}.guide-public .guide-toc{top:0}.guide-toc-label{display:none}.guide-toc-item{flex-shrink:0;width:auto;white-space:nowrap;padding:7px 13px;border:1px solid var(--border);font-size:13px}.guide-toc-item.is-active{border-color:transparent}.guide-inner{padding:18px 16px 56px}.guide-section{padding:18px}}.lp-demo-dot:nth-child(1){background:#e0796b}.lp-demo-dot:nth-child(2){background:#e3b341}.lp-demo-dot:nth-child(3){background:#6fb079}.lp-demo-topbar-title{font-size:12.5px;font-weight:600;color:var(--text-faint);margin-left:4px}.lp-demo-os{display:flex;height:540px}.lp-demo-sidebar{width:212px;flex-shrink:0}.lp-demo-sidebar .sidebar-scroll{padding:16px 10px 10px}.lp-demo-mainpane{flex:1;min-width:0;height:100%;padding:24px 28px 28px}.lp-demo-mainpane .main-header{margin-bottom:20px}.lp-demo-mainpane .page-title{font-size:24px}.lp-demo-avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-weight:700;font-size:14px;color:#fff;background:var(--accent)}.theme-dark .lp-demo-avatar{color:var(--accent-soft)}.lp-demo-mtabs{display:none}.lp-demo-mtab{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;padding:8px 12px;border:1px solid var(--border);background:var(--bg-card);border-radius:999px;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--text-muted);white-space:nowrap}.lp-demo-mtab.active{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:transparent;color:var(--accent)}.lp-demo-live{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--success);margin-right:2px;vertical-align:middle;box-shadow:0 0 color-mix(in srgb,var(--success) 60%,transparent);animation:lp-pulse 2s ease-out infinite}@keyframes lp-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--success) 55%,transparent)}70%{box-shadow:0 0 0 6px transparent}to{box-shadow:0 0 0 0 transparent}}.lp-demo-frame.cur-on,.lp-demo-frame.cur-on *{cursor:none}.lp-cur{position:absolute;left:0;top:0;z-index:30;pointer-events:none;opacity:0;transition:opacity .18s ease}.lp-demo-frame.cur-on .lp-cur{opacity:1}.lp-cur-shape,.lp-cur-dot{position:absolute;left:0;top:0;border-radius:50%}.lp-cur-shape{width:26px;height:26px;border:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);transform:translate(-50%,-50%) scale(1);transition:transform .18s ease,background .18s ease}.lp-cur-dot{width:5px;height:5px;background:var(--accent);transform:translate(-50%,-50%);transition:opacity .18s ease}.lp-demo-frame.cur-active .lp-cur-shape{transform:translate(-50%,-50%) scale(1.65);background:color-mix(in srgb,var(--accent) 22%,transparent)}.lp-demo-frame.cur-active .lp-cur-dot{opacity:0}.lp-demo-hint{position:absolute;left:50%;bottom:18px;transform:translate(-50%);display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:999px;background:var(--accent);color:#fff;font-size:12.5px;font-weight:600;box-shadow:var(--shadow-pop);z-index:25;pointer-events:none;animation:lp-hint-in .5s cubic-bezier(.16,1,.3,1) both,lp-hint-float 2.6s ease-in-out .6s infinite}.theme-dark .lp-demo-hint{color:var(--accent-soft)}@keyframes lp-hint-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1}}@keyframes lp-hint-float{50%{transform:translate(-50%) translateY(-4px)}}.lp-terms-toggle{margin-top:22px}.lp-terms-full{max-width:780px;margin:40px auto 0;animation:lp-expand .5s cubic-bezier(.16,1,.3,1)}@keyframes lp-expand{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.lp-terms-date{font-size:12.5px;color:var(--text-faint);text-align:center;margin:0 0 14px}.lp-terms-intro{font-size:14.5px;line-height:1.65;color:var(--text-muted);text-align:center;max-width:680px;margin:0 auto 30px}.lp-term-text ul{margin:8px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.lp-term-text li{line-height:1.55}.lp-terms-close{margin:24px auto 0;display:flex}@media (max-width: 720px){.lp-demo-os{flex-direction:column;height:auto}.lp-demo-sidebar{display:none}.lp-demo-mtabs{display:flex;gap:6px;overflow-x:auto;padding:10px 12px;background:var(--bg-elev);border-bottom:1px solid var(--border)}.lp-demo-mainpane{height:auto;min-height:440px;max-height:540px;padding:20px 16px 24px}.lp-demo-mainpane .page-title{font-size:21px}.lp-demo-mainpane .grid-4{grid-template-columns:1fr 1fr}}.pillars-banner{position:relative;display:flex;align-items:flex-start;gap:14px;padding:16px 18px;margin-bottom:18px;border-radius:var(--r-lg);background:color-mix(in srgb,var(--accent) 8%,var(--bg-card));border:1px solid color-mix(in srgb,var(--accent) 26%,transparent);box-shadow:var(--shadow-card)}.pillars-banner-icon{flex-shrink:0;width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:var(--accent-soft);color:var(--accent)}.pillars-banner-body{flex:1;min-width:0}.pillars-banner-title{font-size:15px;font-weight:750}.pillars-banner-text{margin:4px 0 12px;font-size:13px;line-height:1.5;color:var(--text-muted);max-width:60ch}.pillars-banner-actions{display:flex;flex-wrap:wrap;gap:8px}.pillars-banner-ignore{color:var(--text-faint)}.pillars-banner-close{position:absolute;top:10px;right:10px;border:none;background:transparent;color:var(--text-faint);cursor:pointer;padding:4px;border-radius:6px;line-height:0}.pillars-banner-close:hover{background:var(--bg-hover);color:var(--text)}@media (max-width: 520px){.guide-topbar{padding:10px 14px;gap:8px}.guide-topbar-title{font-size:14px}.guide-back{padding:6px 8px}.guide-inner{padding:14px 13px 48px}.guide-hero{margin:4px 0 20px}.guide-h1{font-size:25px}.guide-lead{font-size:15px}.guide-section{padding:16px 14px;border-radius:var(--r-md)}.guide-section-head{gap:11px;margin-bottom:14px}.guide-section-icon{width:40px;height:40px;border-radius:11px}.guide-h2{font-size:19px}.guide-open-tool{display:none}.guide-para{font-size:14.5px}.guide-steps ol{padding-left:28px}.guide-sources{margin-top:18px;padding-top:14px}.guide-sources-head{flex-wrap:wrap}.guide-source-list{grid-template-columns:1fr}video.guide-source-media{max-height:200px}.guide-final{margin-top:28px;padding-top:24px}.guide-final-title{font-size:19px}.guide-modal-overlay{padding:12px}.guide-modal{padding:18px}.pillars-banner{flex-direction:column;gap:10px;padding:14px}.pillars-banner-actions{width:100%}.pillars-banner-actions .btn{flex:1}}@media (max-width: 360px){.guide-topbar-title{display:none}.guide-h1{font-size:23px}.guide-h2{font-size:18px}.guide-section{padding:14px 12px}}
