:root{--grey-25:#faf9f6;--grey-50:#f5f4f1;--grey-100:#e5e7eb;--grey-200:#d1d5db;--grey-300:#9ca3af;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--text-xs:.75rem;--leading-xs:1.35;--text-sm:.8125rem;--leading-sm:1.45;--text-base:.875rem;--leading-base:1.5;--text-md:1rem;--leading-md:1.5;--text-lg:1.125rem;--leading-lg:1.4;--text-xl:1.375rem;--leading-xl:1.3;--text-2xl:1.75rem;--leading-2xl:1.2;--text-3xl:2.25rem;--leading-3xl:1.1;--shadow-sm:0 4px 12px #00000005, 0 1px 2px #00000008;--shadow-md:0px 6px 16px #1118270d;--shadow-lg:0px 10px 28px #11182712;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-spring:cubic-bezier(.32, .72, 0, 1);--duration-fast:.12s;--duration-base:.18s;--duration-slow:.26s;--transition:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), opacity var(--duration-fast) var(--ease-out), transform var(--duration-base) var(--ease-out);--z-topbar:50;--z-sidebar:100;--z-dropdown:400;--z-overlay:900;--z-modal:1000;--z-toast:1100;--z-tooltip:1200}:root,[data-theme=light]{--bg:#faf9f5;--card:#fff;--ink:#44403c;--ink-strong:#111827;--muted:#78716c;--border:#e5e7eb;--border-strong:#d1d5db;--border-focus:var(--accent-ink,#4d7c0f);--surface:var(--bg);--surface-low:#f5f4f1;--surface-container:#e5e7eb;--surface-high:#d1d5db;--midnight:#111827;--primary:var(--ink-strong);--on-primary:#fff;--accent:#bef264;--accent-strong:#a3e635;--accent-ink:#365314;--accent-soft:#f7fee7;--accent-border:#d9f99d;--accent-glow:#a3e63559;--shadow-accent:0 8px 24px #a3e63540;--on-accent:var(--ink-strong);--red:#991b1b;--red-bg:#fef2f2;--red-border:#fecaca;--amber:#92400e;--amber-bg:#fef3c7;--amber-border:#fde68a;--blue:#1e40af;--blue-bg:#eff6ff;--blue-border:#bfdbfe;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-display:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--focus-ring:0 0 0 3px var(--accent-glow)}:root{--at-font-display:var(--font-display);--at-font-mono:var(--font-mono);--at-chat-shadow:0px 20px 50px #0000000d;--at-chat-shadow-focus:0px 30px 60px #00000014;--at-card-shadow:0px 20px 50px #0000000d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-base);-webkit-font-smoothing:antialiased;min-height:100dvh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--grey-300);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--muted)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--ink-strong);text-wrap:balance}h1{font-size:var(--text-2xl);line-height:var(--leading-2xl);letter-spacing:-.02em;font-weight:700}h2{font-size:var(--text-xl);line-height:var(--leading-xl);letter-spacing:-.015em;font-weight:700}h3{font-size:var(--text-lg);line-height:var(--leading-lg);letter-spacing:-.01em;font-weight:600}h4,h5,h6{font-size:var(--text-md);line-height:var(--leading-md);font-weight:600}a{color:var(--ink);transition:var(--transition);text-decoration:none}a:hover{opacity:.7}p{color:var(--muted);font-size:var(--text-base);text-wrap:pretty;line-height:1.6}.ui-tabular,table td{font-variant-numeric:tabular-nums}.ui-eyebrow,.at-mono{font-family:var(--font-mono);letter-spacing:.05em;font-weight:500}.ui-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:.68rem;display:inline-block}.at-glass{-webkit-backdrop-filter:blur(20px);background:#ffffffbf}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1}}
:root{--space-7:28px;--radius-full:var(--radius-pill);--danger:#dc2626;--surface-sunken:#f3f4f6}.fc-auth{min-height:100dvh;padding:var(--space-6) var(--space-4);background:radial-gradient(600px 300px at 85% -5%, var(--accent-soft), transparent 70%), var(--bg);justify-content:center;align-items:center;display:flex}.fc-auth-card{width:100%;max-width:400px}.fc-auth-brand{align-items:center;gap:var(--space-2);font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink-strong);margin-bottom:var(--space-8);font-size:1.15rem;font-weight:800;display:flex}.fc-auth-title{font-size:var(--text-2xl);line-height:var(--leading-2xl);letter-spacing:-.03em;margin-bottom:var(--space-2);font-weight:800}.fc-auth-sub{color:var(--muted);margin-bottom:var(--space-6);font-size:var(--text-base)}.fc-auth-field{margin-bottom:var(--space-4)}.fc-auth-label{font-size:var(--text-sm);color:var(--ink-strong);margin-bottom:var(--space-2);font-weight:600;display:block}.fc-auth-input{width:100%;font-family:var(--font-sans);font-size:var(--text-md);color:var(--ink-strong);background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-md);transition:var(--transition);padding:.65rem .9rem}.fc-auth-input:focus{border-color:var(--accent-strong);box-shadow:var(--focus-ring);outline:none}.fc-auth-error{color:var(--red);background:var(--red-bg);border:1px solid var(--red-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);margin-bottom:var(--space-4)}.fc-auth-submit{border-radius:var(--radius-md);background:var(--accent);width:100%;color:var(--on-accent);font-family:var(--font-sans);font-size:var(--text-md);cursor:pointer;transition:var(--transition);border:none;padding:.7rem;font-weight:700}.fc-auth-submit:hover{background:var(--accent-strong);box-shadow:var(--shadow-accent)}.fc-auth-submit:active{transform:scale(.98)}.fc-auth-submit:disabled{opacity:.6;cursor:default}.fc-auth-switch{margin-top:var(--space-5);text-align:center;font-size:var(--text-sm);color:var(--muted)}.fc-auth-switch button{color:var(--accent-ink);cursor:pointer;font-weight:700;font-size:inherit;background:0 0;border:none;font-family:inherit}.fc-auth-switch button:hover{text-decoration:underline}.fc-shell{background:var(--bg);grid-template-columns:272px 1fr;height:100dvh;display:grid;overflow:hidden}.fc-sidebar{background:var(--surface-low);border-right:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.fc-brand{align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-5) var(--space-4);font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink-strong);-webkit-user-select:none;user-select:none;font-size:1.05rem;font-weight:800;display:flex}.fc-brand-tick{border-radius:var(--radius-sm);background:var(--accent);width:26px;height:26px;color:var(--on-accent);flex:none;justify-content:center;align-items:center;display:inline-flex}.fc-brand-beta{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius-pill);margin-left:auto;padding:2px 7px;font-size:.6rem;font-weight:500}.fc-new-chat{align-items:center;gap:var(--space-2);margin:0 var(--space-4) var(--space-3);border-radius:var(--radius-md);background:var(--accent);color:var(--on-accent);font-family:var(--font-sans);font-size:var(--text-base);cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm);border:none;padding:.6rem .9rem;font-weight:700;display:flex}.fc-new-chat:hover{background:var(--accent-strong);box-shadow:var(--shadow-accent)}.fc-new-chat:active{transform:scale(.97)}.fc-sessions{min-height:0;padding:0 var(--space-2) var(--space-3);flex:1;overflow-y:auto}.fc-session-group{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);padding:var(--space-4) var(--space-3) var(--space-2);font-size:.62rem;font-weight:500}.fc-session{align-items:center;gap:var(--space-2);border-radius:var(--radius-md);width:100%;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--ink);text-align:left;cursor:pointer;transition:var(--transition);background:0 0;border:1px solid #0000;padding:.5rem .65rem;display:flex;position:relative}.fc-session:hover{background:var(--card)}.fc-session:active{transform:scale(.98)}.fc-session.fc-session-active{background:var(--card);border-color:var(--accent-border);color:var(--ink-strong);font-weight:600}.fc-session-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.fc-session-del{color:var(--muted);border-radius:var(--radius-sm);flex:none;align-items:center;padding:2px;display:none}.fc-session:hover .fc-session-del{display:inline-flex}.fc-session-del:hover{color:var(--red);background:var(--red-bg)}.fc-sessions-empty{padding:var(--space-4) var(--space-3);font-size:var(--text-sm);color:var(--muted);line-height:1.55}.fc-side-foot{border-top:1px solid var(--border);padding:var(--space-3) var(--space-3) var(--space-4);flex-direction:column;gap:2px;display:flex}.fc-foot-item{align-items:center;gap:var(--space-3);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--muted);cursor:default;text-align:left;background:0 0;border:none;padding:.45rem .65rem;display:flex}.fc-foot-soon{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--surface-container);border-radius:var(--radius-pill);margin-left:auto;padding:2px 7px;font-size:.58rem}.fc-user{align-items:center;gap:var(--space-3);margin-top:var(--space-2);border-radius:var(--radius-md);padding:.5rem .65rem;display:flex}.fc-user-avatar{border-radius:var(--radius-pill);background:var(--midnight);color:#fff;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:.72rem;font-weight:700;display:inline-flex}.fc-user-name{min-width:0;font-size:var(--text-sm);color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.fc-user-logout{color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition);background:0 0;border:none;padding:4px;display:inline-flex}.fc-user-logout:hover{color:var(--ink-strong);background:var(--surface-container)}.fc-main{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.fc-topbar{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--bg);display:none}.fc-topbar-menu{border:1px solid var(--border);background:var(--card);border-radius:var(--radius-md);color:var(--ink);cursor:pointer;padding:6px;display:inline-flex}.fc-topbar-title{color:var(--ink-strong);font-weight:700;font-size:var(--text-md)}.fc-thread{min-height:0;padding:var(--space-8) var(--space-5) var(--space-4);flex:1;overflow-y:auto}.fc-thread-inner{gap:var(--space-6);flex-direction:column;max-width:760px;margin:0 auto;display:flex}.fc-msg-user{background:var(--midnight);color:#fff;border-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-sm);max-width:78%;font-size:var(--text-base);white-space:pre-wrap;word-break:break-word;align-self:flex-end;padding:.65rem 1rem;line-height:1.55}.fc-msg-bot{gap:var(--space-3);align-items:flex-start;display:flex}.fc-msg-bot-avatar{border-radius:var(--radius-sm);background:var(--accent);width:26px;height:26px;color:var(--on-accent);flex:none;justify-content:center;align-items:center;margin-top:2px;display:inline-flex}.fc-msg-bot-body{min-width:0;font-size:var(--text-base);color:var(--ink);flex:1;line-height:1.65}.fc-msg-bot-body p{color:var(--ink);margin:0 0 .6em}.fc-msg-bot-body p:last-child{margin-bottom:0}.fc-msg-bot-body h1,.fc-msg-bot-body h2,.fc-msg-bot-body h3{margin:.9em 0 .4em}.fc-msg-bot-body ul,.fc-msg-bot-body ol{color:var(--ink);margin:.4em 0 .6em;padding-left:1.2em}.fc-msg-bot-body li{margin:.2em 0}.fc-msg-bot-body code{font-family:var(--font-mono);background:var(--surface-low);border:1px solid var(--border);border-radius:5px;padding:.1em .35em;font-size:.82em}.fc-msg-bot-body pre{background:var(--surface-low);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin:.6em 0;overflow-x:auto}.fc-msg-bot-body pre code{background:0 0;border:none;padding:0}.fc-msg-bot-body table{border-collapse:collapse;width:100%;margin:.6em 0}.fc-msg-bot-body th,.fc-msg-bot-body td{border:1px solid var(--border);font-size:var(--text-sm);text-align:left;padding:.4em .7em}.fc-msg-bot-body th{background:var(--surface-low);color:var(--ink-strong)}.fc-msg-enter{animation:fc-enter var(--duration-slow) var(--ease-out)}@keyframes fc-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fc-typing{align-items:center;gap:5px;padding:.4rem 0;display:inline-flex}.fc-typing span{border-radius:var(--radius-pill);background:var(--accent-strong);width:6px;height:6px;animation:fc-dot 1.2s infinite var(--ease-in-out)}.fc-typing span:nth-child(2){animation-delay:.15s}.fc-typing span:nth-child(3){animation-delay:.3s}@keyframes fc-dot{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.fc-composer-wrap{padding:var(--space-3) var(--space-5) var(--space-5);background:linear-gradient(to top, var(--bg) 70%, transparent)}.fc-composer{align-items:flex-end;gap:var(--space-2);background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-xl);max-width:760px;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-5);box-shadow:var(--at-chat-shadow);transition:var(--transition);margin:0 auto;display:flex}.fc-composer:focus-within{border-color:var(--accent-strong);box-shadow:var(--at-chat-shadow-focus), var(--focus-ring)}.fc-composer textarea{resize:none;font-family:var(--font-sans);font-size:var(--text-md);color:var(--ink-strong);background:0 0;border:none;outline:none;flex:1;max-height:180px;padding:.55rem 0;line-height:1.5}.fc-composer textarea::placeholder{color:var(--muted)}.fc-composer textarea{appearance:none}.fc-composer textarea:focus,.fc-composer textarea:focus-visible{box-shadow:none;outline:none}.fc-send{border-radius:var(--radius-pill);background:var(--accent);width:40px;height:40px;color:var(--on-accent);cursor:pointer;transition:var(--transition);border:none;flex:none;justify-content:center;align-items:center;display:inline-flex}.fc-send:hover{background:var(--accent-strong)}.fc-send:active{transform:scale(.94)}.fc-send:disabled{background:var(--surface-container);color:var(--muted);cursor:default}.fc-composer-hint{max-width:760px;margin:var(--space-2) auto 0;text-align:center;font-size:var(--text-xs);color:var(--muted)}.fc-empty{min-height:0;padding:var(--space-6) var(--space-5);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex;overflow-y:auto}.fc-empty-inner{text-align:center;width:100%;max-width:680px}.fc-empty-tick{border-radius:var(--radius-lg);background:var(--accent);width:52px;height:52px;color:var(--on-accent);margin-bottom:var(--space-5);box-shadow:var(--shadow-accent);justify-content:center;align-items:center;display:inline-flex}.fc-empty-greeting{font-size:var(--text-3xl);line-height:var(--leading-3xl);letter-spacing:-.03em;color:var(--ink-strong);margin-bottom:var(--space-2);font-weight:800}.fc-empty-sub{font-size:var(--text-md);color:var(--muted);margin-bottom:var(--space-8)}.fc-chips{gap:var(--space-3);margin-top:var(--space-6);text-align:left;grid-template-columns:1fr 1fr;display:grid}.fc-chip{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;font-family:var(--font-sans);text-align:left;transition:var(--transition);display:flex}.fc-chip:hover{border-color:var(--accent-border);box-shadow:var(--shadow-md);transform:translateY(-1px)}.fc-chip:active{transform:scale(.98)}.fc-chip-icon{color:var(--accent-ink);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius-sm);flex:none;padding:6px;display:inline-flex}.fc-chip-title{font-size:var(--text-base);color:var(--ink-strong);margin-bottom:2px;font-weight:700;display:block}.fc-chip-sub{font-size:var(--text-xs);color:var(--muted);line-height:1.4;display:block}.fc-param-card{margin-top:var(--space-3);background:var(--card);border:1px solid var(--accent-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);animation:fc-enter var(--duration-slow) var(--ease-out)}.fc-param-head{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.fc-param-title{color:var(--ink-strong);font-weight:700;font-size:var(--text-base)}.fc-param-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.fc-param-field{flex-direction:column;gap:4px;display:flex}.fc-param-wide{grid-column:1/-1}.fc-param-field>span{font-size:var(--text-xs);color:var(--ink-strong);font-weight:600}.fc-param-field>span em{color:var(--muted);font-style:normal;font-weight:400}.fc-param-field input,.fc-param-field select{font-family:var(--font-sans);font-size:var(--text-base);color:var(--ink-strong);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);transition:var(--transition);padding:.5rem .7rem}.fc-param-field input:focus,.fc-param-field select:focus{border-color:var(--accent-strong);box-shadow:var(--focus-ring);outline:none}.fc-seg{background:var(--surface-low);border-radius:var(--radius-sm);gap:4px;padding:3px;display:flex}.fc-seg-btn{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:6px;flex:1;padding:.4rem 0;font-weight:600}.fc-seg-btn:active{transform:scale(.97)}.fc-seg-active{background:var(--card);color:var(--ink-strong);box-shadow:var(--shadow-sm)}.fc-param-go{align-items:center;gap:var(--space-2);margin-top:var(--space-4);border-radius:var(--radius-md);background:var(--accent);color:var(--on-accent);font-family:var(--font-sans);font-size:var(--text-base);cursor:pointer;transition:var(--transition);border:none;padding:.6rem 1.1rem;font-weight:700;display:inline-flex}.fc-param-go:hover{background:var(--accent-strong);box-shadow:var(--shadow-accent)}.fc-param-go:active{transform:scale(.97)}.fc-param-go:disabled{background:var(--surface-container);color:var(--muted);cursor:default;box-shadow:none}.fc-param-loading{margin-top:var(--space-3);color:var(--muted);font-size:var(--text-sm)}.fc-progress-card{align-items:center;gap:var(--space-3);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);font-size:var(--text-base);color:var(--ink);display:inline-flex}.fc-spin{color:var(--accent-ink);animation:1s linear infinite fc-rotate}@keyframes fc-rotate{to{transform:rotate(360deg)}}.fc-artifact-card{align-items:center;gap:var(--space-3);width:100%;max-width:380px;margin-top:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;font-family:var(--font-sans);text-align:left;color:var(--muted);transition:var(--transition);display:flex}.fc-artifact-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-md);transform:translateY(-1px)}.fc-artifact-card:active{transform:scale(.98)}.fc-artifact-icon{color:var(--accent-ink);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius-sm);flex:none;padding:7px;display:inline-flex}.fc-artifact-text{flex-direction:column;flex:1;min-width:0;display:flex}.fc-artifact-title{font-size:var(--text-base);color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.fc-artifact-sub{font-size:var(--text-xs);color:var(--muted)}.fc-shell-panel{grid-template-columns:272px 1fr clamp(380px, var(--fc-panel-w,480px), 75vw)}.fc-panel{border-left:1px solid var(--border);background:var(--card);min-height:0;animation:fc-panel-in var(--duration-slow) var(--ease-spring);flex-direction:column;display:flex}@keyframes fc-panel-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.fc-panel-body{flex-direction:column;flex:1;min-height:0;display:flex}.fc-panel-head{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);display:flex}.fc-panel-head-text{flex:1;min-width:0}.fc-panel-title{color:var(--ink-strong);font-weight:700;font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fc-panel-meta{font-size:var(--text-xs);color:var(--muted)}.fc-panel-btn{border:1px solid var(--border);background:var(--card);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;transition:var(--transition);flex:none;padding:6px;display:inline-flex}.fc-panel-btn:hover{background:var(--surface-low);color:var(--ink-strong)}.fc-panel-btn:active{transform:scale(.95)}.fc-panel-scroll{min-height:0;padding:var(--space-5);flex:1;overflow-y:auto}.fc-paper-instructions{background:var(--surface-low);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5)}.fc-paper-instructions p{font-size:var(--text-sm);margin:2px 0;font-style:italic}.fc-paper-section{margin-bottom:var(--space-6)}.fc-paper-section-name{font-size:var(--text-base);color:var(--ink-strong);margin-bottom:2px;font-weight:800}.fc-paper-section-note{font-size:var(--text-xs);margin-bottom:var(--space-3);font-style:italic}.fc-paper-q{margin-bottom:var(--space-4)}.fc-paper-q-head{align-items:baseline;gap:var(--space-2);margin-bottom:2px;display:flex}.fc-paper-q-num{color:var(--ink-strong);font-weight:700;font-size:var(--text-sm)}.fc-paper-q-marks{font-family:var(--font-mono);color:var(--accent-ink);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius-pill);margin-left:auto;padding:1px 8px;font-size:.68rem;font-weight:600}.fc-paper-q-text{font-size:var(--text-sm)}.fc-paper-q-text p{color:var(--ink);font-size:var(--text-sm);margin:0 0 .3em}.fc-key-toggle{align-items:center;gap:var(--space-2);border:1px solid var(--border);background:var(--card);border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--ink);cursor:pointer;margin-bottom:var(--space-4);transition:var(--transition);padding:.4rem .9rem;font-weight:600;display:inline-flex}.fc-key-toggle:hover{border-color:var(--accent-border);color:var(--ink-strong)}.fc-library-overlay{z-index:var(--z-overlay);padding:var(--space-5);animation:fc-fade-any var(--duration-base) var(--ease-out);background:#11182759;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes fc-fade-any{0%{opacity:0}to{opacity:1}}.fc-library{background:var(--card);border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:80dvh;box-shadow:var(--shadow-lg);animation:fc-pop var(--duration-slow) var(--ease-spring);flex-direction:column;display:flex;overflow:hidden}@keyframes fc-pop{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.fc-library-list{min-height:0;padding:var(--space-3);flex:1;overflow-y:auto}.fc-library-item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-sans);text-align:left;transition:var(--transition);background:0 0;border:1px solid #0000;display:flex}.fc-library-item:hover{background:var(--surface-low);border-color:var(--border)}.fc-library-item:active{transform:scale(.99)}@media (max-width:1100px){.fc-shell-panel{grid-template-columns:272px 1fr}.fc-panel{width:min(94vw, var(--fc-panel-w,480px));z-index:var(--z-overlay);box-shadow:var(--shadow-lg);position:fixed;inset:0 0 0 auto}}@media (max-width:860px){.fc-shell,.fc-shell-panel{grid-template-columns:1fr}.fc-panel{width:100vw}.fc-param-grid{grid-template-columns:1fr}.fc-sidebar{width:min(85vw,300px);z-index:var(--z-sidebar);transition:transform var(--duration-slow) var(--ease-spring);box-shadow:none;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.fc-sidebar.fc-sidebar-open{box-shadow:var(--shadow-lg);transform:translate(0)}.fc-scrim{z-index:calc(var(--z-sidebar) - 1);animation:fc-fade var(--duration-base) var(--ease-out);background:#11182759;border:none;position:fixed;inset:0}@keyframes fc-fade{0%{opacity:0}to{opacity:1}}.fc-topbar{display:flex}.fc-thread{padding:var(--space-5) var(--space-4) var(--space-3)}.fc-composer-wrap{padding:var(--space-2) var(--space-4) var(--space-4)}.fc-chips{grid-template-columns:1fr}.fc-empty-greeting{font-size:var(--text-2xl);line-height:var(--leading-2xl)}.fc-msg-user{max-width:88%}.fc-composer-hint{display:none}}.fc-settings{width:min(92vw,640px);max-width:640px}.fc-settings-scroll{max-height:min(72vh,680px);padding:var(--space-2) var(--space-5) var(--space-5);gap:var(--space-5);flex-direction:column;display:flex;overflow-y:auto}.fc-set-section{gap:var(--space-3);flex-direction:column;display:flex}.fc-set-h{font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0;font-weight:700}.fc-set-note{font-size:var(--text-sm);color:var(--muted);margin:0;line-height:1.5}.fc-set-billing-msg{color:var(--accent-ink);font-weight:600}.fc-plan-card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);gap:var(--space-3);background:var(--surface);flex-direction:column;display:flex}.fc-plan-pro{border-color:var(--accent-border);background:var(--accent-soft)}.fc-plan-row{align-items:center;gap:var(--space-3);font-size:var(--text-sm);display:flex}.fc-plan-badge{background:var(--accent);color:var(--on-accent);letter-spacing:.08em;border-radius:var(--radius-full);padding:3px 10px;font-size:11px;font-weight:800}.fc-plan-badge-free{background:var(--surface-sunken,#f3f4f6);color:var(--muted)}.fc-meter{border-radius:var(--radius-full);background:var(--surface-sunken,#f3f4f6);height:6px;overflow:hidden}.fc-meter span{background:var(--accent-strong);border-radius:var(--radius-full);height:100%;transition:width var(--duration-slow) var(--ease-out);display:block}.fc-upgrade-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.fc-upgrade-btn{background:var(--accent);color:var(--on-accent);font-family:inherit;font-weight:700;font-size:var(--text-sm);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), filter var(--duration-fast) var(--ease-out);border:none;align-items:center;gap:6px;padding:9px 14px;display:inline-flex}.fc-upgrade-btn:hover{filter:brightness(.96)}.fc-upgrade-btn:active{transform:scale(.97)}.fc-upgrade-btn:disabled{opacity:.5;cursor:default}.fc-upgrade-year{background:var(--surface);border:1px solid var(--accent-border)}.fc-upgrade-year em{color:var(--accent-ink);opacity:.75;font-size:12px;font-style:normal;font-weight:600}.fc-mem-add{gap:var(--space-2);display:flex}.fc-mem-add input{border:1px solid var(--border);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-sm);background:var(--surface);color:var(--ink);flex:1;padding:9px 12px}.fc-mem-add input:focus{outline:2px solid var(--accent-border);outline-offset:0;border-color:var(--accent-strong)}.fc-mem-add button{border:1px solid var(--accent-border);background:var(--accent-soft);color:var(--accent-ink);border-radius:var(--radius-md);cursor:pointer;width:38px;transition:transform var(--duration-fast) var(--ease-out);place-items:center;display:grid}.fc-mem-add button:active{transform:scale(.95)}.fc-mem-add button:disabled{opacity:.4;cursor:default}.fc-mem-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.fc-mem-item{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);font-size:var(--text-sm);color:var(--ink);padding:9px 4px;display:flex}.fc-mem-item:last-child{border-bottom:none}.fc-mem-item button{color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);opacity:.55;transition:opacity var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:none;place-items:center;padding:4px;display:grid}.fc-mem-item button:hover{opacity:1;color:var(--danger,#dc2626)}.fc-set-save{align-self:flex-start;width:auto}.fc-onboard{width:100%;max-width:560px;margin:0 auto var(--space-4);text-align:left;border:1px solid var(--accent-border);background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-sm);animation:fc-pop var(--duration-slow) var(--ease-spring)}.fc-onboard-lead{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--muted);line-height:1.55}.fc-onboard-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-2);font-size:11px;font-weight:700;display:inline-block}.fc-onboard-title{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.02em;color:var(--ink);font-weight:800}.fc-onboard-boards{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.fc-onboard-board{border-radius:var(--radius-full);border:1.5px solid var(--border);background:var(--surface);color:var(--ink);font-family:inherit;font-size:var(--text-sm);cursor:pointer;transition:transform .14s var(--ease-out), border-color .14s var(--ease-out), background .14s var(--ease-out), color .14s var(--ease-out);align-items:center;gap:6px;padding:9px 18px;font-weight:600;display:inline-flex}.fc-onboard-board:hover{border-color:var(--accent-border)}.fc-onboard-board:active{transform:scale(.96)}.fc-onboard-board.is-on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.fc-onboard-school{margin-bottom:var(--space-3)}.fc-needclass h2{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.02em;color:var(--ink);font-weight:800}.fc-needclass .fc-set-note{margin-bottom:var(--space-4)}.fc-onboard-note{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--muted);line-height:1.55}.fc-onboard-actions{align-items:center;gap:var(--space-3);margin-top:var(--space-3);display:flex}.fc-onboard-actions .fc-param-go{width:auto}.fc-onboard-skip{color:var(--muted);font-family:inherit;font-size:var(--text-sm);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:6px 8px}.fc-onboard-skip:hover{color:var(--ink)}@media (max-width:860px){.fc-settings-scroll{max-height:70vh;padding:var(--space-2) var(--space-4) var(--space-4)}.fc-upgrade-row{flex-direction:column}.fc-upgrade-btn{justify-content:center}}.fc-brand-link{cursor:pointer;text-align:left;background:0 0;border:none}.fc-foot-active{background:var(--accent-soft);color:var(--accent-ink);border-radius:var(--radius-md)}.fc-page{flex-direction:column;min-height:0;display:flex}.fc-page-scroll{flex:1;min-height:0;overflow-y:auto}.fc-page-inner{max-width:760px;padding:var(--space-10) var(--space-6) var(--space-16);gap:var(--space-6);flex-direction:column;margin:0 auto;display:flex}.fc-page-head h1{font-size:var(--text-2xl);line-height:var(--leading-2xl);letter-spacing:-.02em;color:var(--ink);margin:0 0 4px}.fc-page-head p{color:var(--muted);font-size:var(--text-sm);margin:0}.fc-lib-tabs{gap:var(--space-1);border-bottom:1px solid var(--border);padding-bottom:0;display:flex}.fc-lib-tab{font-family:inherit;font-size:var(--text-sm);color:var(--muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:9px 14px 11px;font-weight:600;display:inline-flex}.fc-lib-tab:hover{color:var(--ink)}.fc-lib-tab-active{color:var(--ink);border-bottom-color:var(--accent-strong)}.fc-lib-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.fc-lib-card{align-items:flex-start;gap:var(--space-3);text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);font-family:inherit;display:flex}.fc-lib-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-sm)}.fc-lib-card:active{transform:scale(.99)}.fc-lib-card-body{flex-direction:column;gap:3px;min-width:0;display:flex}.fc-lib-card-title{font-weight:700;font-size:var(--text-sm);color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.fc-lib-card-meta{color:var(--muted);font-size:12.5px}.fc-lib-card-date{color:var(--muted);opacity:.75;font-size:12px}.fc-lib-empty{align-items:center;gap:var(--space-3);text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius-lg);padding:var(--space-7) var(--space-5);flex-direction:column;display:flex}.fc-lib-empty p{font-size:var(--text-sm);max-width:46ch;margin:0;line-height:1.6}@media (max-width:860px){.fc-page-inner{padding:var(--space-4) var(--space-4) var(--space-6)}.fc-lib-grid{grid-template-columns:1fr}.fc-lib-tabs{overflow-x:auto}.fc-lib-tab{white-space:nowrap}}.fc-page-head-row{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.fc-head-cta{flex:none;width:auto}.fc-class-avatar{border-radius:var(--radius-md);background:var(--accent-soft);border:1px solid var(--accent-border);width:42px;height:42px;color:var(--accent-ink);font-weight:800;font-size:var(--text-base);flex:none;place-items:center;display:grid}.fc-class-meter{width:100%;margin-top:6px}.fc-class-card .fc-lib-card-body{flex:1}.fc-class-chip{border-radius:var(--radius-full);background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent-ink);margin-left:8px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-block}.fc-portion-pills{gap:var(--space-2);flex-wrap:wrap;display:flex}.fc-pill{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);align-items:stretch;display:inline-flex;overflow:hidden}.fc-pill-main{color:var(--muted);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;max-width:260px;padding:7px 4px 7px 13px;font-family:inherit;font-size:13px;font-weight:600;overflow:hidden}.fc-pill-del{color:var(--muted);opacity:0;cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out);background:0 0;border:none;place-items:center;padding:0 9px 0 4px;display:grid}.fc-pill:hover .fc-pill-del{opacity:.6}.fc-pill-del:hover{color:var(--danger,#dc2626);opacity:1!important}.fc-pill-teaching{border-color:var(--accent-strong);background:var(--surface)}.fc-pill-teaching .fc-pill-main{color:var(--accent-ink)}.fc-pill-done{border-color:var(--accent-border);background:var(--accent-soft)}.fc-pill-done .fc-pill-main{color:var(--accent-ink);text-decoration:line-through;text-decoration-thickness:1px}.fc-pill-main:active{transform:scale(.97)}.fc-chapter-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.fc-chapter-row{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);font-size:var(--text-sm);padding:7px 4px;display:flex}.fc-chapter-row:last-child{border-bottom:none}.fc-chapter-num{border-radius:var(--radius-full);background:var(--surface-sunken,#f3f4f6);width:24px;height:24px;color:var(--muted);flex:none;place-items:center;font-size:11.5px;font-weight:700;display:grid}.fc-chapter-name{color:var(--ink);flex:1}.fc-chapter-row button{color:var(--muted);cursor:pointer;opacity:.5;background:0 0;border:none;place-items:center;padding:4px;display:grid}.fc-chapter-row button:hover{opacity:1;color:var(--danger,#dc2626)}.fc-portion-rows{gap:var(--space-3);flex-direction:column;display:flex}.fc-portion-row{align-items:center;gap:var(--space-4);border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;text-align:left;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);font-family:inherit;display:flex}.fc-portion-row:hover{border-color:var(--accent-border);box-shadow:var(--shadow-sm)}.fc-portion-row-body{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.fc-portion-row-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.fc-danger-link{color:var(--danger,#dc2626);opacity:.8}.fc-danger-link:hover{color:var(--danger,#dc2626);opacity:1}@media (max-width:860px){.fc-page-head-row{flex-direction:column}.fc-portion-row-head{flex-direction:column;gap:2px}}.fc-usage-rows{gap:var(--space-3);flex-direction:column;display:flex}.fc-usage-row{flex-direction:column;gap:6px;display:flex}.fc-usage-label{font-size:var(--text-sm);color:var(--ink);justify-content:space-between;align-items:center;font-weight:600;display:flex}.fc-usage-count{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:500}.fc-period{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);margin-bottom:var(--space-3);overflow:hidden}.fc-period-done{border-color:var(--accent-border);background:var(--accent-soft)}.fc-period-head{align-items:center;gap:var(--space-3);text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:none;padding:12px 14px;font-family:inherit;display:flex}.fc-period-head:active{transform:scale(.995)}.fc-period-num{border-radius:var(--radius-full);background:var(--surface-sunken,#f3f4f6);width:26px;height:26px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.fc-period-done .fc-period-num{background:var(--accent);color:var(--on-accent)}.fc-period-topic{font-size:var(--text-sm);flex:1;font-weight:650;line-height:1.35}.fc-period-done .fc-period-topic{color:var(--accent-ink)}.fc-period-chev{color:var(--muted);transition:transform var(--duration-base) var(--ease-out);flex:none}.fc-period-chev-open{transform:rotate(180deg)}.fc-period-body{border-top:1px solid var(--border);font-size:var(--text-sm);color:var(--ink);padding:0 14px 14px;line-height:1.6}.fc-period-done .fc-period-body{border-top-color:var(--accent-border)}.fc-period-body h4{margin:var(--space-4) 0 var(--space-1);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.fc-period-body ul,.fc-period-body ol{flex-direction:column;gap:4px;margin:0;padding-left:20px;display:flex}.fc-period-body p{margin:0}.fc-period-flow li{align-items:baseline;gap:var(--space-2);display:flex}.fc-flow-step{flex:1;min-width:0}.fc-flow-min{font-variant-numeric:tabular-nums;color:var(--accent-ink);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius-full);flex:none;padding:1px 8px;font-size:12px;font-weight:700}.fc-boardwork{margin-top:var(--space-1);border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--surface-sunken,#f9fafb);padding:10px 12px}.fc-hw-hint{color:var(--muted);margin-top:var(--space-3)!important}.fc-hw-hint strong{color:var(--ink)}.fc-taught-btn{margin-top:var(--space-4);background:var(--accent);color:var(--on-accent);font-family:inherit;font-weight:700;font-size:var(--text-sm);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), filter var(--duration-fast) var(--ease-out);border:none;align-items:center;gap:6px;padding:8px 14px;display:inline-flex}.fc-taught-btn:hover{filter:brightness(.96)}.fc-taught-btn:active{transform:scale(.97)}.fc-taught-btn:disabled{opacity:.5;cursor:default}.fc-taught-undo{background:var(--surface);border:1px solid var(--border);color:var(--muted);font-weight:600}.fc-period-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.fc-period-actions .fc-taught-btn{margin-top:0}.fc-period-act{border:1px solid var(--border);background:var(--surface);color:var(--ink);font-family:inherit;font-weight:600;font-size:var(--text-sm);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);align-items:center;gap:6px;padding:8px 12px;display:inline-flex}.fc-period-act:hover{border-color:var(--accent-border)}.fc-period-act:active{transform:scale(.97)}.fc-period-act:disabled{opacity:.5;cursor:default}.fc-period-gen{align-items:center;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--text-sm);color:var(--muted);display:flex}.fc-period-gen-err{color:var(--danger)}.fc-hw-meta-row{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.fc-hw-due{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--muted);font-weight:600;display:inline-flex}.fc-hw-due input{border:1px solid var(--border);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-sm);background:var(--surface);color:var(--ink);padding:6px 10px}.fc-hw-print-link{border:1px solid var(--border);background:var(--surface);color:var(--ink);font-family:inherit;font-weight:600;font-size:var(--text-sm);border-radius:var(--radius-full);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out);padding:6px 12px}.fc-hw-print-link:hover{border-color:var(--accent-border)}.fc-note-body{max-width:62ch;padding:var(--space-2) 0 var(--space-8);color:var(--ink);margin:0 auto;font-size:15px;line-height:1.8}.fc-note-body p{margin:0 0 1.1em}.fc-note-body h1{font-size:var(--text-2xl,24px);letter-spacing:-.02em;margin:0 0 var(--space-5);line-height:1.25}.fc-note-body h2{letter-spacing:-.01em;padding-top:var(--space-4);border-top:1px solid var(--border);border-bottom:none;margin:2.2em 0 .7em;font-size:19px;line-height:1.3}.fc-note-body h1:first-child,.fc-note-body h2:first-child,.fc-note-body h3:first-child{margin-top:0}.fc-note-body h3{margin:1.8em 0 .5em;font-size:16px}.fc-note-body h4{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:1.6em 0 .5em;font-size:13px;font-weight:800}.fc-note-body ul,.fc-note-body ol{margin:0 0 1.2em;padding-left:1.4em}.fc-note-body li{margin:.35em 0}.fc-note-body li::marker{color:var(--accent-strong,var(--accent-ink))}.fc-note-body hr{border:none;border-top:1px solid var(--border);margin:var(--space-6) 0}.fc-note-body blockquote{padding:var(--space-2) var(--space-4);border-left:3px solid var(--accent-border);background:var(--accent-soft);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--ink);margin:1.2em 0}.fc-note-body blockquote p{margin:.3em 0}.fc-note-body table{border-collapse:collapse;width:100%;margin:1.4em 0;font-size:13.5px;line-height:1.55}.fc-note-body th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--border-strong);padding:8px 12px;font-size:11px;font-weight:800}.fc-note-body td{border-bottom:1px solid var(--border);vertical-align:top;padding:8px 12px}.fc-note-body tr:last-child td{border-bottom:none}.fc-note-body code{font-family:var(--font-mono,ui-monospace, monospace);background:var(--surface-sunken);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:.86em}.fc-note-body pre{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin:1.2em 0;overflow-x:auto}.fc-note-body pre code{background:0 0;border:none;padding:0}.fc-note-body .katex{font-size:1.04em}.fc-note-body .katex-display{padding:var(--space-3) var(--space-4);background:var(--surface-sunken);border-radius:var(--radius-md);margin:1.3em 0;overflow-x:auto}.fc-note-body mark{background:var(--mark-bg,#fef08a);color:var(--ink);cursor:pointer;box-shadow:0 0 0 1px var(--mark-edge,#fde047) inset;border-radius:3px;padding:0 2px}.fc-note-body mark:hover{filter:brightness(.96)}.fc-sel-toolbar{z-index:90;background:var(--surface-raised,var(--surface));border:1px solid var(--border-strong);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-lg,0 8px 28px #00000024);gap:2px;padding:4px;animation:.14s cubic-bezier(.23,1,.32,1) fc-sel-in;display:flex;position:fixed;transform:translate(-50%,calc(-100% - 10px))}@keyframes fc-sel-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 4px))scale(.96)}to{opacity:1;transform:translate(-50%,calc(-100% - 10px))scale(1)}}.fc-sel-toolbar button{color:var(--ink);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:6px 10px;font-family:inherit;font-size:12.5px;font-weight:700;display:inline-flex}.fc-sel-toolbar button:hover{background:var(--accent-soft);color:var(--accent-ink)}.fc-sel-toolbar button:active{transform:scale(.97)}.fc-sel-mark-dot{background:var(--mark-bg,#fef08a);width:12px;height:12px;box-shadow:0 0 0 1px var(--mark-edge,#fde047) inset;border-radius:3px}.fc-sel-flash{left:50%;bottom:var(--space-5);z-index:91;background:var(--surface-raised,var(--surface));border:1px solid var(--border-strong);border-radius:var(--radius-lg,12px);max-width:min(420px,86%);box-shadow:var(--shadow-lg,0 8px 28px #00000024);color:var(--ink);padding:10px 14px;font-size:12.5px;position:absolute;transform:translate(-50%)}.fc-sel-result{margin:0 var(--space-5) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-lg,12px);background:var(--surface-raised,var(--surface));box-shadow:var(--shadow-lg,0 8px 28px #0000001f);flex-direction:column;flex-shrink:0;max-height:44%;animation:.18s cubic-bezier(.23,1,.32,1) fc-sel-rise;display:flex;overflow:hidden}@keyframes fc-sel-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fc-sel-result-head{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);display:flex}.fc-sel-result-kind{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;margin-right:auto;font-size:11px;font-weight:800;display:inline-flex}.fc-sel-lang{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:var(--radius-md);padding:4px 8px;font-family:inherit;font-size:12px;font-weight:600}.fc-sel-quote{margin:var(--space-2) var(--space-3) 0;border-left:3px solid var(--accent-border);background:var(--accent-soft);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--muted);flex-shrink:0;padding:6px 10px;font-size:12px}.fc-sel-answer{padding:var(--space-2) var(--space-3) var(--space-3);font-size:var(--text-sm);line-height:1.7;overflow-y:auto}.fc-sel-answer p{margin:0 0 .8em}.fc-sel-answer p:last-child{margin-bottom:0}.fc-sel-waiting{color:var(--muted);font-size:var(--text-sm)}.fc-note-edit{gap:var(--space-3);flex-direction:column;display:flex}.fc-note-edit textarea{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;min-height:420px;font-family:var(--font-mono,ui-monospace, monospace);background:var(--surface);color:var(--ink);resize:vertical;padding:12px;font-size:13px;line-height:1.6}.fc-note-edit textarea:focus{outline:2px solid var(--accent-border);outline-offset:0;border-color:var(--accent-strong)}.fc-note-edit-row{align-items:center;gap:var(--space-3);display:flex}.fc-home-classes{width:100%;margin-top:var(--space-5);gap:var(--space-3);text-align:left;flex-direction:column;display:flex}.fc-home-classes-head{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;font-size:11px;font-weight:800;display:flex}.fc-home-new-class{font-family:inherit;font-size:var(--text-sm);letter-spacing:normal;text-transform:none;color:var(--accent-ink);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:2px 4px;font-weight:700}.fc-home-new-class:hover{background:var(--accent-soft)}.fc-home-class-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}@media (max-width:640px){.fc-home-class-grid{grid-template-columns:1fr}}.fc-first-class{width:100%;margin-top:var(--space-5)}.fc-quick-row{gap:var(--space-2);margin:calc(-1 * var(--space-3)) 0 0;flex-wrap:wrap;display:flex}.fc-quick{border:1px solid var(--accent-border);background:var(--accent-soft);color:var(--accent-ink);font-family:inherit;font-weight:700;font-size:var(--text-sm);border-radius:var(--radius-full);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), filter var(--duration-fast) var(--ease-out);align-items:center;gap:7px;padding:9px 15px;display:inline-flex}.fc-quick:hover{filter:brightness(.97)}.fc-quick:active{transform:scale(.97)}.fc-syllabus-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.fc-syllabus-opt{align-items:center;gap:var(--space-3);border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);color:var(--muted);transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);padding:9px 12px;display:flex}.fc-syllabus-opt input{opacity:0;pointer-events:none;position:absolute}.fc-syllabus-opt:hover{border-color:var(--accent-border)}.fc-syllabus-opt:active{transform:scale(.995)}.fc-syllabus-on{border-color:var(--accent-border);background:var(--accent-soft);color:var(--ink)}.fc-syllabus-name{flex:1;line-height:1.4}.fc-syllabus-opt .fc-syllabus-tick{visibility:hidden;color:var(--accent-ink);flex:none}.fc-syllabus-on .fc-syllabus-tick{visibility:visible}.fc-syllabus-on .fc-chapter-num{background:var(--accent);color:var(--on-accent)}.fc-create-overlay{z-index:70;padding:var(--space-10) var(--space-4) var(--space-10);animation:fc-fade var(--duration-fast) var(--ease-out);background:#1c1c1673;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes fc-fade{0%{opacity:0}}.fc-create-dialog{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl,var(--radius-lg));width:100%;max-width:600px;padding:var(--space-5) var(--space-6) var(--space-6);animation:fc-dialog-in var(--duration-slow) var(--ease-out);box-shadow:0 20px 48px #1c1c1638}@keyframes fc-dialog-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}.fc-create-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.fc-create-head h2{color:var(--ink);margin:0;font-size:1.1rem;font-weight:700}.fc-create-close{border:1px solid var(--border);border-radius:var(--radius-full);width:32px;height:32px;color:var(--ink-soft,var(--ink));cursor:pointer;transition:background var(--duration-fast) var(--ease-out);background:0 0;justify-content:center;align-items:center;display:inline-flex}.fc-create-close:hover{background:var(--surface-sunken,#f3f4f6)}.fc-create-dialog .fc-param-card{margin-top:var(--space-4);box-shadow:none;background:0 0;border:none;padding:0;animation:none}.fc-create-progress{margin-top:var(--space-4)}.fc-create-upgrade{margin-top:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.fc-create-upgrade p{color:var(--ink);margin:0}@media (max-width:640px){.fc-create-overlay{padding:var(--space-4) var(--space-3);align-items:flex-end}.fc-create-dialog{padding:var(--space-4)}}.fc-ctx-chip{align-items:center;gap:var(--space-2);margin:0 auto var(--space-2);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius-full);color:var(--ink);animation:fc-enter var(--duration-slow) var(--ease-out);align-self:flex-start;font-size:.82rem;font-weight:600;display:inline-flex}.fc-composer-wrap .fc-ctx-chip{width:fit-content;display:flex}.fc-ctx-chip button{border-radius:var(--radius-full);width:20px;height:20px;color:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.fc-ctx-chip button:hover{background:#1c1c1614}.fc-head-icons{gap:var(--space-2);flex-shrink:0;display:flex}.fc-icon-btn{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--card);width:36px;height:36px;color:var(--ink);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.fc-icon-btn:hover{background:var(--surface-sunken,#f3f4f6)}.fc-icon-btn:active{transform:scale(.95)}.fc-icon-danger:hover{background:var(--red-bg,#fef2f2);border-color:var(--red-border,#fecaca);color:var(--danger)}.fc-class-edit{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.fc-class-edit input{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font:inherit;font-size:1rem}.fc-class-edit input:first-child{width:160px;font-weight:700}.fc-class-edit input:nth-child(2){width:120px}.fc-tab-new{margin-bottom:var(--space-4);padding:var(--space-2) var(--space-4);align-self:flex-start;font-size:.85rem}.fc-chap-pick{gap:var(--space-2);max-height:180px;padding:var(--space-1) 0;flex-wrap:wrap;display:flex;overflow-y:auto}.fc-chap{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--card);color:var(--ink);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);align-items:center;gap:7px;padding:5px 12px;font-size:.8rem;display:inline-flex}.fc-chap:hover{background:var(--surface-sunken,#f3f4f6)}.fc-chap-on{background:var(--accent-soft);border-color:var(--accent-border);font-weight:650}.fc-chap-dot{border-radius:var(--radius-full);background:var(--border-strong,#d1d5db);flex-shrink:0;width:7px;height:7px}.fc-chap-dot-teaching{background:var(--accent-strong)}.fc-chap-dot-done{background:var(--accent-ink)}.fc-portion-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);display:flex}.fc-portion-pct{color:var(--accent-ink);font-size:1.7rem;font-weight:800;line-height:1}.fc-portion-meter{width:100%;height:8px;margin:var(--space-3) 0 var(--space-2);display:block}.fc-por-group{margin-top:var(--space-5);gap:var(--space-2);flex-direction:column;display:flex}.fc-por-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mid,#6b7280);font-size:.72rem;font-weight:750}.fc-por-row{align-items:center;gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:var(--card);display:flex}.fc-por-teaching{border-color:var(--accent-border);background:var(--accent-soft)}.fc-por-done{opacity:.65}.fc-por-name{flex:1;min-width:0;font-size:.9rem;font-weight:600}.fc-por-acts{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.fc-por-btn{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--card);color:var(--ink);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);padding:4px 12px;font-size:.78rem;font-weight:650}.fc-por-btn:hover{background:var(--surface-sunken,#f3f4f6)}.fc-por-btn:active{transform:scale(.96)}.fc-por-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.fc-por-primary:hover{background:var(--accent-strong)}.fc-por-del{border-radius:var(--radius-full);width:26px;height:26px;color:var(--ink-mid,#9ca3af);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.fc-por-del:hover{background:var(--red-bg,#fef2f2);color:var(--danger)}@media (max-width:640px){.fc-por-row{flex-wrap:wrap}.fc-por-acts{margin-left:auto}}.fc-present-go{margin-bottom:var(--space-4)}.fc-slide-prev{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3)}.fc-slide-head{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);font-weight:700;display:flex}.fc-slide-bullets{color:var(--ink);flex-direction:column;gap:4px;margin:0;padding-left:1.2em;font-size:.92rem;display:flex}.fc-slide-bullets li::marker{color:var(--accent-strong,var(--accent))}.fc-slide-bullets p{margin:0;display:inline}.fc-slide-board{margin-top:var(--space-2);border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:.88rem}.fc-slide-board p{margin:.2em 0}.fc-slide-note{margin:var(--space-2) 0 0;color:var(--ink-soft);font-size:.82rem;font-style:italic}.fc-mk-section{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border)}.fc-mk-head{align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.fc-mk-head h3{margin:0;font-size:1rem}.fc-mk-tray{gap:var(--space-2);margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.fc-mk-thumb{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--muted);width:72px;height:92px;position:relative;overflow:hidden}.fc-mk-thumb img{object-fit:cover;width:100%;height:100%;display:block}.fc-mk-thumb button{border-radius:var(--radius-full);color:#fff;cursor:pointer;background:#0000008c;border:none;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex;position:absolute;top:4px;right:4px}.fc-mk-add{border:1.5px dashed var(--border-strong);border-radius:var(--radius-sm);width:72px;height:92px;color:var(--ink-mid);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:.7rem;display:inline-flex}.fc-mk-add:hover:not(:disabled){border-color:var(--accent);color:var(--ink)}.fc-mk-add:disabled{opacity:.5;cursor:default}.fc-mk-run{gap:var(--space-2);margin-bottom:var(--space-3);align-items:center;display:flex}.fc-mk-student{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);min-width:0;color:var(--ink);font:inherit;flex:1;padding:9px 12px;font-size:.9rem}.fc-mk-student:focus{border-color:var(--accent);outline:none}.fc-mk-result{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);padding:var(--space-4);margin-bottom:var(--space-3)}.fc-mk-total{align-items:baseline;gap:var(--space-3);padding-bottom:var(--space-3);margin-bottom:var(--space-3);border-bottom:1px solid var(--border);display:flex}.fc-mk-total-num{font-family:var(--font-display,inherit);color:var(--ink-strong,var(--ink));white-space:nowrap;font-size:2rem;font-weight:800;line-height:1}.fc-mk-total-num em{color:var(--ink-soft);font-size:1.1rem;font-style:normal}.fc-mk-total p{color:var(--ink-mid);margin:0;font-size:.9rem}.fc-mk-q{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border);display:flex}.fc-mk-q:last-of-type{border-bottom:none}.fc-mk-q-body{flex:1;min-width:0;font-size:.9rem}.fc-mk-q-body p{margin:.25em 0}.fc-mk-q-top{align-items:center;gap:var(--space-2);margin-bottom:2px;display:flex}.fc-mk-status{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-pill,var(--radius-full));padding:2px 8px;font-size:.68rem;font-weight:700}.fc-mk-correct{color:#2f6c1f;background:#e8f5e0}.fc-mk-partial{color:#8a6410;background:#fdf3dc}.fc-mk-wrong{background:var(--red-bg,#fef2f2);color:var(--red,#b91c1c)}.fc-mk-missing,.fc-mk-unreadable{background:var(--muted);color:var(--ink-mid)}.fc-mk-patterns{margin-top:var(--space-3);padding:var(--space-3);background:var(--accent-soft);border-radius:var(--radius-sm);font-size:.88rem}.fc-mk-patterns ul{margin:var(--space-1) 0 0;padding-left:1.2em}.fc-mk-list{margin-top:var(--space-4)}.fc-mk-row-wrap{border-bottom:1px solid var(--border)}.fc-mk-row{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) 0;color:var(--ink);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;font-size:.9rem;display:flex}.fc-mk-row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.fc-mk-row-score{white-space:nowrap;font-weight:700}.fc-mk-row-date{color:var(--ink-soft);white-space:nowrap;font-size:.8rem}[data-theme=dark]{--bg:#191814;--card:#221f1a;--ink:#d6d3cd;--ink-strong:#f5f4f0;--muted:#a8a299;--border:#35322b;--border-strong:#48443b;--surface:var(--bg);--surface-low:#1e1c17;--surface-container:#2b2822;--surface-high:#35322b;--midnight:#35322b;--primary:var(--ink-strong);--on-primary:#191814;--accent-ink:#d9f99d;--on-accent:#1a2e05;--accent-soft:#2a3317;--accent-border:#4e5f29;--red:#f87171;--red-bg:#3b1d1d;--red-border:#6e2b2b;--amber:#fbbf24;--amber-bg:#3a2e12;--amber-border:#6e5718;--blue:#93c5fd;--blue-bg:#1a2740;--blue-border:#30487a;--danger:#f87171;--surface-sunken:#26241e;--shadow-sm:0 4px 12px #00000040, 0 1px 2px #0000004d;--shadow-md:0px 6px 16px #00000059;--shadow-lg:0px 10px 28px #00000073;--at-chat-shadow:0px 20px 50px #00000059;--at-chat-shadow-focus:0px 30px 60px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#191814;--card:#221f1a;--ink:#d6d3cd;--ink-strong:#f5f4f0;--muted:#a8a299;--border:#35322b;--border-strong:#48443b;--surface:var(--bg);--surface-low:#1e1c17;--surface-container:#2b2822;--surface-high:#35322b;--midnight:#35322b;--primary:var(--ink-strong);--on-primary:#191814;--accent-ink:#d9f99d;--on-accent:#1a2e05;--accent-soft:#2a3317;--accent-border:#4e5f29;--red:#f87171;--red-bg:#3b1d1d;--red-border:#6e2b2b;--amber:#fbbf24;--amber-bg:#3a2e12;--amber-border:#6e5718;--blue:#93c5fd;--blue-bg:#1a2740;--blue-border:#30487a;--danger:#f87171;--surface-sunken:#26241e;--shadow-sm:0 4px 12px #00000040, 0 1px 2px #0000004d;--shadow-md:0px 6px 16px #00000059;--shadow-lg:0px 10px 28px #00000073;--at-chat-shadow:0px 20px 50px #00000059;--at-chat-shadow-focus:0px 30px 60px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}[data-theme=dark] .fc-mk-correct{color:#bbe57c;background:#26330f}[data-theme=dark] .fc-mk-partial{color:#e8c55e;background:#3a2e12}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .fc-mk-correct{color:#bbe57c;background:#26330f}:root:not([data-theme=light]) .fc-mk-partial{color:#e8c55e;background:#3a2e12}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.fc-spin{animation-duration:1s!important;animation-iteration-count:infinite!important}}.fc-theme-row{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--card);gap:4px;padding:4px;display:inline-flex}.fc-theme-btn{color:var(--muted);font:inherit;font-size:var(--text-sm);border-radius:var(--radius-pill);cursor:pointer;transition:var(--transition);background:0 0;border:none;padding:6px 16px;font-weight:600}.fc-theme-btn:hover{color:var(--ink)}.fc-theme-on{background:var(--accent);color:var(--on-accent)}.fc-pattern{gap:var(--space-2);flex-direction:column;display:flex}.fc-pattern-row{align-items:center;gap:var(--space-2);display:flex}.fc-pattern-row select{flex:1;min-width:0}.fc-pattern-row input[type=number]{flex:none;width:64px}.fc-pattern-x{color:var(--muted);flex:none}.fc-pattern-sum{text-align:right;font-variant-numeric:tabular-nums;min-width:44px;color:var(--ink);flex:none;font-weight:600}.fc-pattern-del{border-radius:var(--radius-full);width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:inline-flex}.fc-pattern-del:hover{background:var(--red-bg);color:var(--danger)}.fc-pattern-foot{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.fc-pattern-add{border:1px dashed var(--border-strong);border-radius:var(--radius-pill);color:var(--muted);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:5px 12px;font-weight:600;display:inline-flex}.fc-pattern-add:hover:not(:disabled){border-color:var(--accent);color:var(--ink)}.fc-pattern-total{color:var(--accent-ink);font-weight:700}[data-theme=dark]{--mark-bg:#4d3f0e;--mark-edge:#6b5a14}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--mark-bg:#4d3f0e;--mark-edge:#6b5a14}}.fc-ctx-pick{border:1px dashed var(--border-strong);width:fit-content;color:var(--muted);margin:0 auto var(--space-2);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:4px 6px 4px 10px;display:inline-flex}.fc-composer-wrap .fc-ctx-pick{margin:0 0 var(--space-2)}.fc-ctx-pick select{color:var(--muted);cursor:pointer;background:0 0;border:none;max-width:240px;font-family:inherit;font-size:12.5px;font-weight:600}.fc-ctx-pick select:focus{color:var(--ink);outline:none}.fc-ctx-pick:hover{border-color:var(--accent-strong,var(--accent-ink));color:var(--ink)}.fc-panel-body{min-height:0;position:relative}.fc-panel-grip{cursor:col-resize;z-index:20;touch-action:none;width:8px;position:absolute;top:0;bottom:0;left:-3px}.fc-panel-grip:after{content:"";background:0 0;width:2px;transition:background .12s;position:absolute;top:0;bottom:0;left:3px}.fc-panel-grip:hover:after,.fc-panel-grip:active:after{background:var(--accent-strong,var(--accent))}@media (max-width:860px){.fc-panel-grip{display:none}}.fc-editor{gap:var(--space-3);flex-direction:column;display:flex}.fc-ed-bar{z-index:5;background:var(--surface-raised,var(--surface));border:1px solid var(--border);border-radius:var(--radius-lg,12px);width:fit-content;box-shadow:var(--shadow-sm,0 1px 3px #00000014);align-items:center;gap:2px;margin:0 auto;padding:4px;display:flex;position:sticky;top:0}.fc-ed-btn{border-radius:var(--radius-md);min-width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0 7px;font-family:inherit;font-size:12.5px;font-weight:800;display:inline-flex}.fc-ed-btn:hover{background:var(--surface-sunken);color:var(--ink)}.fc-ed-btn:active{transform:scale(.95)}.fc-ed-active{background:var(--accent-soft);color:var(--accent-ink)}.fc-ed-sep{background:var(--border);width:1px;height:18px;margin:0 4px}.fc-editor .fc-editor-area{min-height:420px;padding-bottom:var(--space-6);caret-color:var(--accent-strong,var(--accent-ink));outline:none}.fc-editor .ProseMirror:focus{outline:none}.fc-editor .fc-editor-area mark{cursor:text}.fc-por-item{flex-direction:column;display:flex}.fc-por-expandable{cursor:pointer}.fc-por-expandable:hover .fc-por-name{color:var(--accent-ink)}.fc-por-pcount{color:var(--muted);background:var(--surface-sunken);border:1px solid var(--border);vertical-align:1px;border-radius:999px;align-items:center;gap:3px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-flex}.fc-por-pcount svg{transition:transform .16s cubic-bezier(.23,1,.32,1)}.fc-por-chev-open{transform:rotate(180deg)}.fc-por-periods{border-left:2px solid var(--border);flex-direction:column;gap:2px;margin:2px 0 6px 30px;padding-left:12px;display:flex}.fc-por-period{border-radius:var(--radius-md);font-size:var(--text-sm);align-items:center;gap:10px;padding:6px 8px;display:flex}.fc-por-period:hover{background:var(--surface-sunken)}.fc-por-pnum{color:var(--muted);min-width:26px;font-size:11px;font-weight:800}.fc-por-ptopic{min-width:0;color:var(--ink);flex:1}.fc-por-period-done .fc-por-ptopic{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong)}.fc-por-period .fc-por-btn{opacity:0}.fc-por-period:hover .fc-por-btn,.fc-por-period .fc-por-btn:focus-visible{opacity:1}@media (hover:none){.fc-por-period .fc-por-btn{opacity:1}}.fc-bottomnav{display:none}.fc-topbar-act{border:1px solid var(--border);background:var(--card);border-radius:var(--radius-full);width:38px;height:38px;color:var(--ink);cursor:pointer;flex:none;justify-content:center;align-items:center;display:inline-flex}.fc-topbar-act:active{transform:scale(.94)}.fc-topbar .fc-topbar-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.fc-topbar-back{background:0 0;border:none;width:32px;margin-left:-6px}.fc-logout-btn{border:1px solid var(--border-strong);color:var(--danger,#dc2626);font-family:inherit;font-size:var(--text-sm);border-radius:var(--radius-md);cursor:pointer;background:0 0;align-self:flex-start;padding:9px 18px;font-weight:700}.fc-logout-btn:hover{background:var(--red-bg,#fef2f2);border-color:var(--red-border,#fecaca)}.fc-logout-btn:active{transform:scale(.97)}@media (max-width:860px){.fc-bottomnav{left:50%;bottom:calc(14px + env(safe-area-inset-bottom));z-index:60;border:1px solid color-mix(in srgb, var(--border) 70%, transparent);background:color-mix(in srgb, var(--card) 88%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.5);backdrop-filter:blur(20px)saturate(1.5);border-radius:999px;align-items:center;gap:4px;width:auto;padding:5px;display:inline-flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 32px #00000042,0 1px 4px #0000001f}.fc-bnav-tab{letter-spacing:.01em;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;gap:7px;width:44px;height:44px;padding:0;font-family:inherit;font-size:13px;font-weight:700;transition:color .18s cubic-bezier(.23,1,.32,1),background .18s cubic-bezier(.23,1,.32,1);display:inline-flex}.fc-bnav-tab span{display:none}.fc-bnav-tab:active{transform:scale(.92)}.fc-bnav-active{background:var(--accent);color:var(--on-accent);width:auto;padding:0 16px}.fc-bnav-active span{display:inline}.fc-bnav-active svg{color:var(--on-accent)}.fc-main{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.fc-panel{z-index:var(--z-overlay)}.fc-topbar{padding:calc(var(--space-2) + env(safe-area-inset-top)) var(--space-4) var(--space-2);min-height:54px}.fc-shell input:not([type=checkbox]):not([type=radio]),.fc-shell select,.fc-shell textarea,.fc-create-dialog input,.fc-create-dialog select,.fc-create-dialog textarea{font-size:16px!important}.fc-lib-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.fc-lib-tabs::-webkit-scrollbar{display:none}.fc-lib-tab{white-space:nowrap;flex:none}.fc-por-row{flex-wrap:wrap;row-gap:6px}.fc-por-acts{margin-left:auto}.fc-por-btn{padding:7px 12px}.fc-panel-btn{width:38px;height:38px}.fc-session{min-height:44px}.fc-sel-result{margin:0 var(--space-3) var(--space-3);max-height:50%}}.fc-composer textarea::placeholder{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (max-width:860px){.fc-side-foot .fc-foot-item{display:none}}.fc-chap-locked{opacity:.45;cursor:not-allowed;text-decoration:line-through;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong)}.fc-lib-card{position:relative}.fc-lib-card-del{position:absolute;top:10px;right:10px}.fc-note-title-edit{margin-bottom:var(--space-3);flex-direction:column;gap:6px;display:flex}.fc-note-title-edit span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.fc-note-title-edit input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-family:inherit;font-size:var(--text-md,16px);padding:10px 12px;font-weight:700}.fc-note-title-edit input:focus{outline:2px solid var(--accent-border);outline-offset:0;border-color:var(--accent-strong)}.fc-auth-notice{background:color-mix(in srgb, var(--accent) 18%, var(--card));border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));color:var(--ink-strong);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);margin-bottom:var(--space-4)}.fc-auth-otp{letter-spacing:.45em;text-align:center;font-variant-numeric:tabular-nums;font-weight:700;font-size:1.6rem!important}.fc-auth-pwchecks{gap:var(--space-2) var(--space-3);margin:calc(-1 * var(--space-2)) 0 var(--space-4);font-size:var(--text-xs);flex-wrap:wrap;font-weight:600;display:flex}.fc-pw-ok{color:var(--ink-strong)}.fc-pw-no{color:var(--muted)}.fc-auth-accept{align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-5);cursor:pointer;line-height:1.5;display:flex}.fc-auth-accept input{width:15px;height:15px;accent-color:var(--accent);flex:none;margin-top:3px}.fc-auth-accept a{color:var(--ink-strong);font-weight:600}.fc-cookie{left:50%;bottom:calc(14px + env(safe-area-inset-bottom));z-index:950;align-items:center;gap:var(--space-4);max-width:min(92vw,560px);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);background:color-mix(in srgb, var(--card) 94%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.4);backdrop-filter:blur(16px)saturate(1.4);display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 32px #0000002e}.fc-cookie-text{font-size:var(--text-xs);color:var(--muted);margin:0;line-height:1.5}.fc-cookie-text a{color:var(--ink-strong);font-weight:600}.fc-cookie-btn{border-radius:var(--radius-full);background:var(--accent);color:var(--on-accent);font-family:var(--font-display);font-weight:700;font-size:var(--text-xs);cursor:pointer;border:none;flex:none;padding:8px 16px}.fc-w{--w-ease:cubic-bezier(.23, 1, .32, 1);margin-top:var(--space-3);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:560px;padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-sm);gap:var(--space-3);animation:fc-enter var(--duration-slow) var(--ease-out);flex-direction:column;display:flex}.fc-w-head{align-items:center;gap:var(--space-3);display:flex}.fc-w-head .fc-class-avatar{width:38px;height:38px}.fc-w-head-text{text-align:left;flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.fc-w-title{color:var(--ink-strong);font-weight:700;font-size:var(--text-base);line-height:1.35}.fc-w-sub{font-size:var(--text-sm);color:var(--muted);overflow-wrap:anywhere;line-height:1.45}.fc-w-eyebrow{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700;line-height:1.4}.fc-w-empty{font-size:var(--text-sm);color:var(--muted);margin:0}.fc-w-error{font-size:var(--text-sm);color:var(--danger);margin:0}.fc-w-ok{font-size:var(--text-sm);color:var(--accent-ink);align-items:center;gap:6px;font-weight:600;display:inline-flex}.fc-w-link{font:inherit;font-size:var(--text-sm);color:var(--accent-ink);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex:none;align-items:center;gap:4px;margin:-4px -6px;padding:4px 6px;font-weight:600;display:inline-flex}.fc-w-link:hover{background:var(--accent-soft)}.fc-w-btns{gap:var(--space-2);flex-wrap:wrap;display:flex}.fc-w-btns-tight{flex-wrap:nowrap;flex:none;gap:6px}.fc-w-btn{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:transform .14s var(--w-ease), border-color .14s var(--w-ease), background .14s var(--w-ease);align-items:center;gap:6px;padding:7px 12px;font-weight:600;text-decoration:none;display:inline-flex}.fc-w-btn:hover:not(:disabled){border-color:var(--accent-border)}.fc-w-btn:active:not(:disabled){transform:scale(.97)}.fc-w-btn:disabled{opacity:.55;cursor:default}.fc-w-btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.fc-w-btn-primary:hover:not(:disabled){border-color:var(--accent-strong)}.fc-w-mini{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);min-width:52px;color:var(--ink);font:inherit;white-space:nowrap;cursor:pointer;transition:transform .14s var(--w-ease), border-color .14s var(--w-ease);justify-content:center;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.fc-w-mini:hover:not(:disabled){border-color:var(--accent-border)}.fc-w-mini:active:not(:disabled){transform:scale(.96)}.fc-w-mini:disabled{opacity:.55;cursor:default}.fc-w-mini-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.fc-w-progress{flex-direction:column;gap:6px;display:flex}.fc-w-progress-text{font-size:var(--text-sm);color:var(--muted)}.fc-w-next{padding:var(--space-3);border-radius:var(--radius-md);background:var(--accent-soft);border:1px solid var(--accent-border);flex-direction:column;gap:4px;display:flex}.fc-w-next-topic{color:var(--ink-strong);font-weight:700;line-height:1.4}.fc-w-next .fc-w-btns{margin-top:var(--space-2)}.fc-w-group{flex-direction:column;gap:2px;display:flex}.fc-w-group>.fc-w-eyebrow{margin-bottom:4px}.fc-w-details>summary{cursor:pointer;list-style:none}.fc-w-details>summary::-webkit-details-marker{display:none}.fc-w-details>summary:after{content:" ▾"}.fc-w-details[open]>summary:after{content:" ▴"}.fc-w-row{align-items:center;gap:var(--space-2);padding:5px 0;display:flex}.fc-w-row-name{min-width:0;font-size:var(--text-sm);color:var(--ink);flex:1;line-height:1.4}.fc-w-actions{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.fc-w-foot{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.fc-w-list{flex-direction:column;display:flex}.fc-w-list>*+*{border-top:1px solid var(--border)}.fc-w-classrow,.fc-w-today{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;display:flex}.fc-w-classrow .fc-class-avatar{width:34px;height:34px;font-size:var(--text-sm)}.fc-w-item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) 6px;border-radius:var(--radius-sm);width:calc(100% + 12px);font:inherit;color:var(--muted);text-align:left;cursor:pointer;transition:background .14s var(--w-ease);background:0 0;border:none;margin:0 -6px;display:flex}.fc-w-item:hover{background:var(--surface-low)}.fc-w-item-icon{color:var(--accent-ink);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius-sm);flex:none;padding:6px;display:inline-flex}.fc-w-item-title{font-size:var(--text-sm);color:var(--ink-strong);font-weight:600;line-height:1.4}.fc-w-emptybox{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.fc-w-usage{align-items:center;gap:var(--space-3);grid-template-columns:minmax(110px,1fr) 2fr auto;padding:7px 0;display:grid}.fc-w-usage .fc-meter{background:var(--surface-low)}.fc-w-usage-count{font-size:var(--text-sm);color:var(--muted);font-variant-numeric:tabular-nums}.fc-w-receipt{border-color:var(--accent-border)}.fc-w-receipt-undone{border-color:var(--border)}.fc-w-receipt-undone .fc-w-icon-ok{color:var(--muted);background:var(--surface-low);border-color:var(--border)}.fc-w-change{align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:6px 0;display:flex}.fc-w-fromto{align-items:center;gap:6px;display:inline-flex}.fc-w-arrow{color:var(--muted);font-size:var(--text-sm)}.fc-w-pill{border-radius:var(--radius-full);white-space:nowrap;border:1px solid var(--border);color:var(--muted);background:var(--surface);align-items:center;gap:5px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-flex}.fc-w-pill-teaching{color:var(--ink-strong);border-color:var(--accent-border);background:var(--accent-soft)}.fc-w-pill-done{color:var(--on-accent);border-color:var(--accent);background:var(--accent)}.fc-w-pill-done .fc-chap-dot{background:var(--on-accent)}.fc-w-memory{margin-top:var(--space-2);flex-direction:column;gap:6px;display:flex}.fc-w-memory-item{border-radius:var(--radius-full);background:var(--surface-low);border:1px dashed var(--border-strong);max-width:100%;color:var(--muted);align-self:flex-start;align-items:center;gap:6px;padding:4px 6px 4px 10px;font-size:12px;display:inline-flex}.fc-w-memory-item>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fc-w-memory-item button{border-radius:var(--radius-full);font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:none;flex:none;padding:2px 6px;font-size:12px;font-weight:600}.fc-w-memory-item button:hover{background:var(--surface)}.fc-w-ask{margin-top:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.fc-w-ask-opts{gap:var(--space-2);flex-wrap:wrap;display:flex}.fc-w-opt{border-radius:var(--radius-full);border:1.5px solid var(--accent-border);background:var(--card);color:var(--ink-strong);font:inherit;font-size:var(--text-sm);cursor:pointer;padding:8px 14px;font-weight:600;transition:transform .14s cubic-bezier(.23,1,.32,1),background .14s cubic-bezier(.23,1,.32,1)}.fc-w-opt:hover:not(:disabled){background:var(--accent-soft)}.fc-w-opt:active:not(:disabled){transform:scale(.96)}.fc-w-opt:disabled{opacity:.5;cursor:default}.fc-w-opt-on,.fc-w-opt-on:disabled{opacity:1;background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.fc-w-chapters{font-size:var(--text-sm);color:var(--ink);margin:0;padding-left:1.3em;line-height:1.7}.fc-w-more{margin-left:-1.3em;list-style:none}.fc-w-more button{font:inherit;color:var(--accent-ink);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.fc-w-upgrade{border-color:var(--accent-border)}.fc-w-upgrade p{color:var(--ink);margin:0}.fc-w-artifact{border-color:var(--accent-border)}.fc-w-artifact-main{align-items:center;gap:var(--space-3);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;display:flex}.fc-w-artifact-main:hover .fc-w-title{text-decoration:underline;-webkit-text-decoration-color:var(--accent-border);text-decoration-color:var(--accent-border);text-underline-offset:3px}.fc-w-facts{flex-wrap:wrap;gap:6px;display:flex}.fc-w-fact{border-radius:var(--radius-full);background:var(--surface-low);border:1px solid var(--border);color:var(--muted);padding:2px 9px;font-size:12px;font-weight:600}.fc-w-preview{padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-low);border:1px solid var(--border);font:inherit;text-align:left;cursor:pointer;flex-direction:column;gap:5px;transition:border-color .14s cubic-bezier(.23,1,.32,1);display:flex}.fc-w-preview:hover{border-color:var(--accent-border)}.fc-w-preview-line{font-size:var(--text-sm);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;line-height:1.45;overflow:hidden}.fc-w-preview-more{color:var(--muted);font-size:12px;font-weight:600}.fc-w-suggest{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.fc-w-suggestion{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--card);color:var(--ink);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;align-items:center;gap:6px;padding:7px 13px;transition:transform .14s cubic-bezier(.23,1,.32,1),border-color .14s cubic-bezier(.23,1,.32,1);display:inline-flex}.fc-w-suggestion svg{color:var(--accent-ink);flex:none}.fc-w-suggestion:hover:not(:disabled){border-color:var(--accent-border)}.fc-w-suggestion:active:not(:disabled){transform:scale(.97)}.fc-w-suggestion:disabled{opacity:.55;cursor:default}.fc-composer:has(.fc-tools){padding-left:var(--space-2)}.fc-tools{flex:none;align-self:flex-end;position:relative}.fc-tools-btn{border-radius:var(--radius-full);width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:transform .16s cubic-bezier(.23,1,.32,1),background .14s,color .14s;display:inline-flex}.fc-tools-btn:hover:not(:disabled){background:var(--surface-low);color:var(--ink-strong)}.fc-tools-btn:active:not(:disabled){transform:scale(.94)}.fc-tools-btn-on{background:var(--accent-soft);color:var(--accent-ink);transform:rotate(45deg)}.fc-tools-btn:disabled{opacity:.5;cursor:default}.fc-tools-menu{z-index:var(--z-dropdown,40);width:min(320px,100vw - 32px);max-height:min(520px,72vh);padding:var(--space-2);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transform-origin:0 100%;animation:.18s cubic-bezier(.23,1,.32,1) fc-tools-in;position:absolute;bottom:calc(100% + 10px);left:0;overflow-y:auto}@keyframes fc-tools-in{0%{opacity:0;transform:translateY(4px)scale(.97)}}.fc-tools-group{padding:var(--space-2) var(--space-2) 4px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700;display:block}.fc-tools-item{align-items:center;gap:var(--space-3);width:100%;padding:6px var(--space-2);border-radius:var(--radius-md);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;transition:background .12s;display:flex}.fc-tools-item:hover,.fc-tools-item:focus-visible{background:var(--surface-low);outline:none}.fc-tools-icon{color:var(--accent-ink);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius-sm);flex:none;padding:6px;display:inline-flex}.fc-tools-text{flex-direction:column;min-width:0;display:flex}.fc-tools-label{font-size:var(--text-sm);color:var(--ink-strong);font-weight:700}.fc-tools-sub{color:var(--muted);font-size:12px}.fc-qpills{max-width:760px;margin:var(--space-3) auto 0;flex-wrap:nowrap;justify-content:center;gap:6px;display:flex}.fc-qpill{border-radius:var(--radius-full);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;flex:none;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;transition:color .14s,background .14s,border-color .14s,transform .14s cubic-bezier(.23,1,.32,1);display:inline-flex}.fc-qpill svg{color:var(--muted);transition:color .14s}.fc-qpill:hover:not(:disabled){color:var(--ink-strong);background:var(--card);border-color:var(--border)}.fc-qpill:hover:not(:disabled) svg{color:var(--accent-ink)}.fc-qpill:active:not(:disabled){transform:scale(.97)}.fc-qpill:disabled{opacity:.55}.fc-qpill-more{border-color:var(--border);border-style:dashed}@media (max-width:860px){.fc-qpill:not(.fc-qpill-more):nth-child(n+3){display:none}.fc-w{padding:var(--space-3)}.fc-w-classrow,.fc-w-today{flex-wrap:wrap}.fc-w-btns-tight{margin-left:auto}.fc-w-usage{grid-template-columns:1fr auto}.fc-w-usage .fc-meter{grid-area:2/1/auto/-1}}@media (prefers-reduced-motion:reduce){.fc-w,.fc-tools-menu{animation:none}.fc-tools-btn-on{transform:none}}.fc-w-form{max-width:600px}.fc-w-field{gap:var(--space-2);flex-direction:column;display:flex}.fc-w-field .fc-onboard-boards{margin-bottom:0}.fc-w-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.fc-w-grid .fc-param-wide{grid-column:1/-1}.fc-w-inline{gap:var(--space-2);align-items:center;display:flex}.fc-w-inline input{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--ink);font:inherit;font-size:var(--text-sm);flex:1;padding:8px 12px}.fc-w-inline input:focus{border-color:var(--accent-strong);box-shadow:var(--focus-ring);outline:none}.fc-w-addch{align-self:flex-start}.fc-w-checks{max-height:240px;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-low);flex-direction:column;gap:2px;display:flex;overflow-y:auto}.fc-w-check{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink);cursor:pointer;padding:4px 2px;display:flex}.fc-w-check input{accent-color:var(--accent);flex:none;width:15px;height:15px}.fc-w-confirm{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--red-bg,#fef2f2);border:1px solid var(--red-border,#fecaca);flex-direction:column;display:flex}.fc-w-confirm p{font-size:var(--text-sm);color:var(--ink);margin:0}.fc-w-btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.fc-w-help{gap:2px var(--space-2);grid-template-columns:1fr 1fr;display:grid}@media (max-width:860px){.fc-w-grid,.fc-w-help{grid-template-columns:1fr}}.fc-cpick{width:fit-content;margin:0 auto var(--space-2);position:relative}.fc-composer-wrap .fc-cpick{margin:0 0 var(--space-2)}.fc-cpick-btn{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);align-items:center;gap:7px;padding:6px 10px 6px 12px;font-size:13px;font-weight:600;transition:border-color .14s,transform .14s cubic-bezier(.23,1,.32,1),background .14s;display:inline-flex}.fc-cpick-btn svg:first-child{color:var(--accent-ink)}.fc-cpick-btn:hover{border-color:var(--accent-border)}.fc-cpick-btn:active{transform:scale(.97)}.fc-cpick-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.fc-cpick-btn-on{border-color:var(--accent-border);background:var(--accent-soft)}.fc-cpick-chev{color:var(--muted);transition:transform .18s cubic-bezier(.23,1,.32,1)}.fc-cpick-btn-on .fc-cpick-chev,.fc-cpick-up .fc-cpick-btn .fc-cpick-chev{transform:rotate(180deg)}.fc-cpick-up .fc-cpick-btn-on .fc-cpick-chev{transform:rotate(0)}.fc-cpick-menu{z-index:var(--z-dropdown,40);width:min(340px,100vw - 32px);max-height:min(360px,60vh);padding:var(--space-2);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:left;transform-origin:top;outline:none;margin:0;list-style:none;animation:.18s cubic-bezier(.23,1,.32,1) fc-cpick-in;position:absolute;top:calc(100% + 8px);left:50%;overflow-y:auto;transform:translate(-50%)}.fc-composer-wrap .fc-cpick-menu{transform-origin:0 100%;left:0;transform:none}.fc-cpick-up .fc-cpick-menu{top:auto;bottom:calc(100% + 8px)}@keyframes fc-cpick-in{0%{opacity:0;scale:.97}}.fc-cpick-head{padding:4px var(--space-2) 6px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.fc-cpick-item{align-items:center;gap:var(--space-3);padding:7px var(--space-2);border-radius:var(--radius-md);cursor:pointer;transition:background .12s;display:flex}.fc-cpick-item-on{background:var(--surface-low)}.fc-cpick-avatar{border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid var(--accent-border);width:32px;height:32px;color:var(--accent-ink);flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.fc-cpick-text{flex-direction:column;flex:1;min-width:0;display:flex}.fc-cpick-name{font-size:var(--text-sm);color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.fc-cpick-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.fc-cpick-pct{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:12px;font-weight:600}@media (prefers-reduced-motion:reduce){.fc-cpick-menu{animation:none}}.fc-tools-menu{text-align:left}.fc-tools-col{flex-direction:column;display:flex}.fc-tools-down .fc-tools-menu{transform-origin:0 0;top:calc(100% + 10px);bottom:auto}@media (min-width:861px){.fc-tools-down .fc-tools-menu{column-gap:var(--space-2);grid-template-columns:1fr 1fr;width:min(620px,100vw - 48px);max-height:none;display:grid;overflow:visible}}:root{--fc-logo-symbol:#1a2e05;--fc-logo-word:#1a2e05}[data-theme=dark]{--fc-logo-symbol:#bef264;--fc-logo-word:#faf9f5}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--fc-logo-symbol:#bef264;--fc-logo-word:#faf9f5}}.fc-logo{flex:none;display:block}.fc-logo-symbol{fill:var(--fc-logo-symbol)}.fc-logo-word{fill:var(--fc-logo-word)}.fc-brand .fc-logo,.fc-auth-brand .fc-logo{margin-right:2px}.fc-msg-bot-avatar,.fc-empty-tick,.fc-land-spot-avatar{color:#1a2e05}.fc-msg-bot-avatar svg,.fc-empty-tick svg,.fc-land-spot-avatar svg{transform:translate(5%,5%)}
