:root{font-family:Hiragino Maru Gothic ProN,Avenir Next,SF Pro Rounded,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;--bg: #f5f5f7;--surface: rgba(255, 255, 255, .85);--surface-alt: #ffffff;--surface-soft: rgba(245, 245, 247, .7);--text: #1d1d1f;--muted: #86868b;--line: rgba(0, 0, 0, .08);--line-soft: rgba(0, 0, 0, .04);--green: #28cd41;--green-press: #24b83a;--blue: #0071e3;--blue-press: #0077ed;--gold: #f5bc00;--subject-accent: #007aff;--subject-accent-press: #0071e3;--subject-soft: #f0f7ff;--subject-line: #d1e5ff;--subject-shadow: #c7dfff;--subject-contrast: #007aff;--shadow-card: 0 8px 24px rgba(0, 0, 0, .12);--color-success: #1d7a33;--color-success-bg: rgba(40, 205, 65, .08);--color-success-border: rgba(40, 205, 65, .35);--color-error: #d70015;--color-error-strong: #ff3b30;--color-error-bg: rgba(255, 59, 48, .06);--color-error-border: rgba(255, 59, 48, .3);--color-warning: #8a6400;--color-warning-bg: rgba(245, 188, 0, .08);--color-warning-border: rgba(245, 188, 0, .4);--radius-xs: 4px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 999px;--text-2xs: .72rem;--text-xs: .78rem;--text-sm: .82rem;--text-md: .9rem;--text-base: 1rem;--text-lg: 1.15rem;--text-xl: 1.35rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-display: 3.4rem;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .05);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12)}[data-theme=dark]{--bg: #1d1d1f;--surface: rgba(29, 29, 31, .85);--surface-alt: #000000;--surface-soft: rgba(45, 45, 47, .7);--text: #f5f5f7;--muted: #86868b;--line: rgba(255, 255, 255, .1);--line-soft: rgba(255, 255, 255, .05);--green: #32d74b;--green-press: #2dbd43;--blue: #0a84ff;--blue-press: #0077ed;--gold: #ffd60a}[data-robot-theme=jp]{--subject-accent: #ff7a45;--subject-accent-press: #d45c2f;--subject-soft: #fff1ea;--subject-line: #ffd6c2;--subject-shadow: #f7c3a9;--subject-contrast: #a8431d}[data-robot-theme=math]{--subject-accent: #1cb0f6;--subject-accent-press: #1899d6;--subject-soft: #eaf6fe;--subject-line: #bfe5fb;--subject-shadow: #a5d8f5;--subject-contrast: #0a6ea6}[data-robot-theme=soc]{--subject-accent: #f4a340;--subject-accent-press: #cc7d1f;--subject-soft: #fef4e6;--subject-line: #f8ddb4;--subject-shadow: #f0d09e;--subject-contrast: #92590f}[data-robot-theme=sci]{--subject-accent: #58cc02;--subject-accent-press: #58a700;--subject-soft: #f0fae6;--subject-line: #cfecaf;--subject-shadow: #bce293;--subject-contrast: #38790a}[data-robot-theme=eng]{--subject-accent: #12b5b0;--subject-accent-press: #0f9591;--subject-soft: #e9f8f8;--subject-line: #b9e7e5;--subject-shadow: #a3dedb;--subject-contrast: #0b6f6b}[data-robot-theme=comm]{--subject-accent: #ff6fa8;--subject-accent-press: #d24f82;--subject-soft: #fff0f6;--subject-line: #fed0e2;--subject-shadow: #f9bdd5;--subject-contrast: #b13a6a}[data-robot-theme=care]{--subject-accent: #8ea4ff;--subject-accent-press: #6e82d6;--subject-soft: #f0f3ff;--subject-line: #d4ddff;--subject-shadow: #c3cffa;--subject-contrast: #4a5c9e}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--text);background-color:var(--bg);background-attachment:fixed}main{margin:0;min-height:100vh;padding:20px 16px 28px}main:not(.chat-shell){max-width:1040px;margin:0 auto;display:grid;gap:16px;align-content:start}.app-page{padding-top:18px}.page-head{display:grid;gap:16px;padding:18px 0 12px}.page-title{font-size:clamp(1.75rem,3vw,2.6rem);line-height:1.14;letter-spacing:.01em;color:var(--text);font-weight:700}.page-eyebrow{font-size:var(--text-2xs);letter-spacing:.09em;color:var(--muted);font-weight:700;text-transform:uppercase}.page-copy{max-width:54ch;color:var(--muted);font-size:var(--text-base);line-height:1.6}h1,h2,h3,p{margin:0}a{color:var(--blue)}input,select,button,textarea{width:100%;font-family:inherit;font-size:var(--text-base);color:var(--text);background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-md);padding:12px 14px;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,opacity .14s ease,background .14s ease}button{cursor:pointer;font-weight:600;background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 1px 2px #00000014;border-radius:var(--radius-md)}button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}button:not(:disabled):hover{opacity:.95}button:not(:disabled):active{transform:scale(.98);opacity:.9}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}textarea{resize:vertical}.section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000000d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:16px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.panel-title{font-size:var(--text-base);font-weight:700}.panel-copy{font-size:var(--text-md);color:var(--muted)}.form-stack{display:grid;gap:10px}.stack{display:grid;gap:12px}.button-stack{display:grid;gap:8px}.role-select-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.role-select-card{text-align:left;display:grid;gap:8px;align-content:start;min-height:196px;padding:18px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-alt);box-shadow:0 4px 12px #0000000d}.role-select-card:not(:disabled):active{box-shadow:0 1px 4px #00000014}.role-select-title{font-size:var(--text-lg);font-weight:700;color:var(--text)}.role-select-copy{font-size:var(--text-md);line-height:1.5;color:var(--muted)}.role-select-hint{margin-top:auto;font-size:var(--text-sm);color:var(--blue);font-weight:700}.ghost-btn{background:var(--surface-alt);border-color:var(--line);box-shadow:0 1px 2px #0000000a;color:var(--text)}.ghost-btn:not(:disabled):active{box-shadow:none}.ghost-btn.is-active{background:var(--subject-soft);border-color:var(--subject-line);color:var(--text)}.danger-btn{background:var(--color-error-bg);border-color:var(--color-error-border);box-shadow:none;color:var(--color-error)}.danger-btn:not(:disabled):active{box-shadow:none}.home-shortcut-btn{position:fixed;top:12px;right:12px;z-index:60;width:auto;min-width:132px;border-radius:var(--radius-full);padding:12px 16px;font-size:var(--text-sm);background:linear-gradient(180deg,var(--subject-accent),var(--subject-accent-press));border-color:var(--subject-accent-press);box-shadow:0 4px 16px #00000029}.home-shortcut-btn:not(:disabled):active{box-shadow:0 2px 8px #0000001f}@media(max-width:720px){.role-select-grid{grid-template-columns:1fr}}.login-page{gap:14px}.role-select-card-parent{background:radial-gradient(circle at 100% 0%,rgba(255,208,120,.12) 0%,transparent 30%),var(--surface-alt)}.role-select-card-student{background:radial-gradient(circle at 100% 0%,rgba(0,113,227,.08) 0%,transparent 30%),var(--surface-alt)}.role-select-badge{display:inline-flex;width:fit-content;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);background:#0000000a;border:1px solid var(--line);color:var(--muted);font-size:var(--text-xs);font-weight:700}.role-select-card-student .role-select-badge{color:var(--blue)}.field-label{font-size:var(--text-sm);color:var(--muted);font-weight:700}.notice-warning{border:1px solid var(--color-warning-border);border-radius:var(--radius-md);background:var(--color-warning-bg);color:var(--color-warning);padding:12px;font-weight:700}.notice-success{border:1px solid var(--color-success-border);border-radius:var(--radius-md);background:var(--color-success-bg);color:var(--color-success);padding:12px;font-weight:700}.empty-state{border:1px dashed var(--line-soft);border-radius:var(--radius-md);padding:12px;color:var(--muted);text-align:center}.loading-state{padding:12px;color:var(--muted);text-align:center}.section-list{display:grid;gap:10px}.sessions-toolbar{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:start}.sessions-toolbar-field{display:grid;gap:6px}.sessions-toolbar-toggle{display:inline-flex;align-items:center;gap:8px;align-self:start;min-height:48px;padding:11px 12px;border-radius:var(--radius-md);border:2px solid var(--line);background:var(--surface-alt);font-size:var(--text-md);font-weight:700;color:var(--text)}.sessions-toolbar-toggle input{width:18px;height:18px;padding:0;accent-color:var(--subject-accent)}.sessions-view-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:start;align-self:start}.sessions-quick-actions{display:grid;align-self:start;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.parent-chat-new-btn{width:auto;min-width:160px}.parent-chat-session-list{display:grid;gap:8px}.parent-chat-session-item{border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-alt);box-shadow:0 1px 2px #0000000a;color:var(--text);text-align:left;padding:10px 12px;display:grid;gap:4px}.parent-chat-session-item.active{border-color:var(--subject-line);background:linear-gradient(180deg,var(--subject-soft),var(--surface-alt));box-shadow:0 1px 3px #0000000f}.parent-chat-session-title{font-size:var(--text-md);font-weight:700}.parent-chat-session-meta{font-size:var(--text-xs);color:var(--muted)}.session-item{display:block;text-decoration:none}.session-row{border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-alt);box-shadow:0 1px 2px #0000000a;padding:12px;display:grid;gap:6px}.session-row:hover{transform:translateY(-1px);border-color:var(--line)}.session-card{gap:10px}.session-card-link{display:grid;gap:6px}.session-card-actions{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.upload-drop-zone{border:1px dashed var(--line);border-radius:var(--radius-md);padding:14px;background:var(--surface-soft);display:grid;gap:6px;text-align:center}.upload-drop-zone.is-dragging{border-color:var(--subject-accent);background:var(--subject-soft)}.sessions-bulk-bar{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:start;padding:10px;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:#ffffff08}.session-card-head{display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr);align-items:center}.session-select-box{display:inline-flex;gap:6px;align-items:center}.session-search-bar{display:grid;gap:8px;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-alt);padding:10px 12px}.session-summary-panel{display:grid;gap:10px;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--surface-alt),var(--surface-soft));padding:12px}.session-summary-head{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.session-summary-actions{display:flex;gap:8px;flex-wrap:wrap}.session-summary-actions .ghost-btn{width:auto}.session-summary-body{display:grid;gap:10px}.session-summary-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.session-summary-grid article{border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-soft);padding:10px;display:grid;gap:6px}.session-summary-grid h3{margin:0;font-size:var(--text-md);color:var(--muted)}.session-summary-grid ul{margin:0;padding-left:18px;display:grid;gap:6px}.session-summary-grid li{color:var(--text);line-height:1.45}.session-summary-next-item{display:grid;gap:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center}.session-summary-next-item .ghost-btn{width:auto;min-width:98px}.session-summary-share{border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:10px;background:var(--surface-soft);display:grid;gap:6px}.session-search-actions{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.session-plan-panel{display:grid;gap:10px;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-alt);padding:12px}.session-plan-item{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-soft);padding:8px 10px}.session-plan-item input{margin-top:2px}.home-plan-panel{background:var(--surface)}.home-plan-create{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.home-plan-create .ghost-btn{width:auto}.home-goal-panel{order:-93;border-color:var(--subject-line);background:linear-gradient(180deg,var(--subject-soft),var(--surface))}.home-page>.page-head{order:-100}.home-page>.notice-warning{order:-99}.home-page>.pilot-feedback-shell{order:-98}.home-recent-panel{order:-95}.home-coach-panel{order:-94}.home-hero{order:-97;display:grid;gap:14px;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:stretch;background:radial-gradient(circle at 100% 0%,rgba(245,188,0,.06) 0%,transparent 28%),radial-gradient(circle at 0% 100%,rgba(0,113,227,.05) 0%,transparent 30%),var(--surface-alt)}.home-hero-content,.home-hero-actions{display:grid;gap:12px;align-content:start}.home-hero-kicker{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}.home-hero-title{font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.25}.home-hero-copy{color:var(--muted);line-height:1.65}.home-mission-list{display:flex;gap:8px;flex-wrap:wrap}.home-mission-chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:var(--radius-full);background:#0000000a;border:1px solid var(--line);color:var(--text);font-size:var(--text-sm);font-weight:700}.home-hero-compact{grid-template-columns:minmax(0,.95fr) minmax(260px,1.05fr)}.home-hero-compact .home-hero-content{gap:10px}.home-hero-compact .home-hero-copy{margin-bottom:2px}.home-recommended-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.home-recommended-item{display:grid;gap:5px;text-align:left;min-height:78px;padding:12px;border-radius:var(--radius-lg);background:var(--surface-soft);border:1px solid var(--line);box-shadow:none}.home-recommended-label{font-size:var(--text-md);font-weight:700}.home-recommended-detail{font-size:var(--text-sm);color:var(--muted);line-height:1.45}.child-accordion{display:grid;gap:12px}.child-accordion-summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.child-accordion-summary::-webkit-details-marker{display:none}.child-accordion-body{display:grid;gap:12px}.home-inline-details,.home-support-menu .child-accordion{border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:12px;background:var(--surface-soft)}.home-support-menu>.child-accordion-summary{min-height:52px}.child-accordion-marker{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--muted);font-weight:700;white-space:nowrap}.child-accordion-marker:before{content:"▾";font-size:var(--text-md);transition:transform .18s ease}.child-accordion[open] .child-accordion-marker:before{transform:rotate(180deg)}.chat-mode-grid{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.chat-search-panel{display:grid;gap:8px;border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:10px;background:var(--surface-soft)}.chat-search-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.chat-bubble-match{border-color:#0071e366}.chat-bubble-match-active{border-color:var(--blue);box-shadow:0 0 0 3px #0071e31f}.chat-message-actions{display:flex;gap:12px;flex-wrap:wrap}.chat-message-actions .ghost-btn{width:auto;min-width:112px;min-height:44px;padding:12px 14px;box-shadow:none}.chat-message-actions-kids{margin-top:12px}.chat-message-actions-kids>.ghost-btn{min-width:128px;min-height:48px;font-size:var(--text-base);font-weight:700}.chat-bubble-tools-advanced{width:100%;margin-top:4px}.chat-bubble-tools-advanced summary{color:var(--muted);font-weight:700}.session-filter-preset-row{display:grid;align-self:start;gap:8px;grid-template-columns:minmax(0,1fr) auto}.session-filter-preset-row .ghost-btn{width:auto}.session-filter-preset-list{display:grid;align-self:start;gap:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.session-filter-preset-item{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.session-filter-preset-item .ghost-btn{width:auto}.upload-queue-list{border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:8px 10px;background:var(--surface-soft);display:grid;gap:4px}.session-title{color:var(--text);font-weight:700;font-size:var(--text-base)}.session-meta{color:var(--muted);font-size:var(--text-sm);letter-spacing:.02em}main.parent-dashboard-page{max-width:1240px;gap:12px}.parent-dashboard-head{gap:10px}.parent-flow-strip{display:flex;flex-wrap:wrap;gap:8px}.parent-flow-chip{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-full);border:1px solid var(--line);background:var(--surface-alt);color:var(--muted);font-size:var(--text-xs);font-weight:700;padding:8px 12px}.parent-dashboard-overview{overflow:hidden}.parent-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.parent-kpi-card{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-alt);padding:12px;display:grid;gap:2px;min-height:100px;align-content:start}.parent-kpi-label{font-size:var(--text-xs);color:var(--muted);letter-spacing:.04em;font-weight:700;text-transform:uppercase}.parent-kpi-value{font-size:var(--text-2xl);font-weight:700;color:var(--text);line-height:1.1}.parent-kpi-name{font-size:var(--text-lg)}.parent-kpi-unit{font-size:var(--text-sm);color:var(--muted)}.parent-dashboard-layout{display:grid;grid-template-columns:minmax(290px,340px) minmax(0,1fr);gap:12px;align-items:start}.parent-dashboard-sidebar{display:grid;gap:12px}.parent-student-panel{display:grid;gap:10px}.parent-student-list{display:grid;gap:8px}.parent-student-item{text-align:left;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-alt);box-shadow:0 1px 2px #0000000a;display:grid;gap:2px;padding:12px}.parent-student-item.active{border-color:var(--subject-line);background:var(--subject-soft);box-shadow:0 1px 3px #0000000f}.parent-student-item-name{font-size:var(--text-base);font-weight:700;color:var(--text)}.parent-student-item-meta{font-size:var(--text-sm);color:var(--muted)}.parent-student-item-status{margin-top:2px;font-size:var(--text-2xs);color:var(--muted)}.parent-student-actions{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:10px}.parent-pin-note{color:var(--text);font-weight:700}.parent-access-card{display:grid;gap:10px}.parent-access-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.parent-access-grid>div{display:grid;gap:4px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-soft);padding:10px}.parent-access-label{font-size:var(--text-2xs);color:var(--muted);letter-spacing:.05em;text-transform:uppercase}.pilot-feedback-shell{display:grid;gap:10px}.pilot-feedback-rating-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.pilot-feedback-rating{min-width:0}.pilot-feedback-link,.pilot-feedback-link-inline{color:var(--blue);text-decoration:none;font-weight:700}.pilot-feedback-link{display:inline-flex;align-items:center;justify-content:center}.parent-add-panel{display:grid;gap:10px}.parent-add-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:10px}.parent-dashboard-links{position:sticky;top:12px}.parent-settings-panel{display:grid;gap:12px}.parent-settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.parent-settings-title{font-size:var(--text-xl);line-height:1.2}.parent-settings-meta{margin-top:4px;font-size:var(--text-md);color:var(--muted)}.parent-settings-badges{display:flex;gap:8px;flex-wrap:wrap}.parent-setting-badge{display:inline-flex;border-radius:var(--radius-full);border:1px solid var(--line);background:var(--surface-alt);color:var(--muted);font-size:var(--text-xs);font-weight:700;padding:6px 10px}.parent-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.parent-settings-card{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-alt);padding:12px;display:grid;gap:10px}.parent-learning-overview-card{grid-column:1 / -1}.parent-learning-kpi-grid{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.parent-learning-kpi{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-soft);padding:8px 10px;display:grid;gap:4px}.parent-learning-kpi span{font-size:var(--text-2xs);color:var(--muted);font-weight:700}.parent-learning-kpi strong{font-size:var(--text-base);color:var(--text)}.parent-learning-robots{display:flex;gap:8px;flex-wrap:wrap}.parent-learning-robot-chip{border-radius:var(--radius-full);border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);font-size:var(--text-xs);font-weight:700;padding:6px 10px}.parent-learning-latest{display:grid;gap:8px}.parent-learning-next-action{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-soft);color:var(--text);padding:10px;display:grid;gap:6px;line-height:1.45}.parent-recommended-strip{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-soft);color:var(--text);font-size:var(--text-sm);font-weight:700;padding:8px 10px}.quick-toggle-toolbar{display:flex;gap:8px;flex-wrap:wrap}.quick-toggle-mini{width:auto;min-width:110px;padding:8px 12px;border-radius:var(--radius-full)}.quick-toggle-list{display:grid;gap:8px}.parent-quick-toggle-list{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-toggle-item{display:grid;gap:8px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-alt);padding:8px}.quick-toggle-label{font-size:var(--text-md);font-weight:700;color:var(--text);line-height:1.45}.quick-toggle-btn{justify-self:start;width:auto;min-width:70px;border-radius:var(--radius-full);font-size:var(--text-sm);padding:8px 12px;box-shadow:none}.quick-toggle-btn.on{background:linear-gradient(180deg,var(--green),var(--green-press));border-color:var(--green-press)}.quick-toggle-btn.off{background:#0000000d;border-color:var(--line);color:var(--muted)}.parent-settings-footer{display:grid;gap:8px;align-content:start}.quick-toggle-save{width:auto}.parent-save-btn{min-height:50px}.quick-toggle-note{font-size:var(--text-sm);color:var(--muted);line-height:1.45}.message-item{display:grid;gap:8px;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-alt);padding:10px 12px}.message-item div{white-space:pre-wrap}.message-item mark{background:#f9de74;color:var(--text);padding:0 2px;border-radius:var(--radius-xs)}.message-item-match-active{border-color:var(--blue);box-shadow:0 0 0 3px #0071e31f}.message-role{text-transform:capitalize}.message-date{color:var(--muted)}.grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.app-card-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.app-card{text-align:left;display:grid;gap:8px;min-height:94px;align-content:center;padding:14px}.app-card-panel{min-height:188px;align-content:start;gap:12px}.app-card-title{font-size:var(--text-lg);font-weight:700;color:var(--text)}.app-card-sub{font-size:var(--text-sm);color:var(--muted)}.app-card-actions{display:grid;gap:9px;margin-top:4px}.app-card-button{min-height:50px;font-size:var(--text-base);border-radius:var(--radius-lg)}.subject-card{border-color:var(--subject-line)!important;background:linear-gradient(180deg,var(--subject-soft),var(--surface))!important;box-shadow:0 1px 3px #0000000f!important}.subject-pill{display:inline-flex;width:fit-content;font-size:var(--text-2xs);font-weight:700;border-radius:var(--radius-full);padding:4px 10px;background:var(--subject-soft);color:var(--subject-contrast);border:1px solid var(--subject-line)}.subject-card .app-card-sub{color:var(--subject-contrast)}.subject-card .app-card-button:not(.ghost-btn){background:linear-gradient(180deg,var(--subject-accent),var(--subject-accent-press));border-color:var(--subject-accent-press);box-shadow:0 1px 3px #0000001f}.subject-card .app-card-button:not(.ghost-btn):not(:disabled):active{box-shadow:none}.grid .card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:0 1px 2px #0000000a;color:var(--text)}.subject-row{border-color:var(--subject-line);background:linear-gradient(180deg,var(--subject-soft),var(--surface-alt));box-shadow:0 1px 3px #0000000f}.subject-row .session-meta{color:var(--subject-contrast)}.practice-shell>.page-head{order:-100}.practice-shell>.notice-warning{order:-99}.practice-current-panel{order:-98}.practice-daily-panel{order:-97}.practice-progress-panel{order:-96}.practice-mastery-panel{order:-95}.practice-footer-actions{order:20}.practice-progress-track{height:14px;border-radius:var(--radius-full);overflow:hidden;border:1px solid var(--subject-line);background:var(--subject-soft)}.practice-progress-track i{display:block;height:100%;width:var(--progress, 0%);border-radius:var(--radius-full);background:linear-gradient(90deg,var(--subject-accent),var(--subject-accent-press))}.practice-question{font-size:var(--text-lg);line-height:1.45;font-weight:700;color:var(--text)}.practice-action-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.practice-hint{border-radius:var(--radius-md);border:1px solid var(--subject-line);background:var(--subject-soft);color:var(--subject-contrast);padding:10px;font-weight:700}.practice-result{border-radius:var(--radius-md);border:2px solid;padding:12px;display:grid;gap:5px}.practice-result.correct{border-color:var(--color-success-border);background:var(--color-success-bg);color:var(--color-success)}.practice-result.wrong{border-color:var(--color-error-border);background:var(--color-error-bg);color:var(--color-error)}.practice-support-card{border:1px solid var(--subject-line);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--subject-soft),var(--surface-alt));color:var(--subject-contrast);padding:12px;display:grid;gap:8px}.practice-support-list{margin:0;padding-left:18px;display:grid;gap:6px}.practice-support-list li{line-height:1.5}.practice-support-challenge{border:1px solid var(--line);border-radius:var(--radius-md);padding:8px 10px;background:var(--surface-soft)}.chat-shell{max-width:1540px;margin:0 auto}.chat-focus-shell{max-width:980px;color:var(--text);background:var(--bg);border-radius:var(--radius-xl)}.chat-focus-shell .section{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-md)}.chat-focus-shell .page-eyebrow{color:var(--subject-accent-press)}.chat-focus-shell .ghost-btn.is-active,.chat-focus-shell .chat-send-btn{color:#fff;border-color:var(--subject-accent-press);background:linear-gradient(180deg,var(--subject-accent),var(--subject-accent-press));box-shadow:var(--shadow-sm)}.chat-focus-shell .chat-top-menu-body,.chat-focus-shell .chat-composer-box{background:var(--surface-alt);border-color:var(--line)}.chat-focus-shell .chat-answer-style,.chat-focus-shell .child-accordion{background:var(--surface-soft)}.chat-focus-shell .chat-assistant{border-color:var(--line);background:var(--surface-alt);color:var(--text)}.chat-focus-shell .chat-user{border-color:var(--subject-accent-press);border-bottom-color:var(--subject-accent-press);background:linear-gradient(180deg,var(--subject-accent),var(--subject-accent-press));color:#fff}.chat-focus-main{display:grid;gap:12px;align-content:start}.chat-focus-header{display:grid;gap:12px;padding:16px}.chat-focus-title{display:grid;gap:5px}.chat-focus-nav{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.chat-focus-nav-simple{grid-template-columns:minmax(0,1fr) auto;align-items:start}.chat-top-menu{position:relative}.chat-top-menu summary{list-style:none;cursor:pointer}.chat-top-menu summary::-webkit-details-marker{display:none}.chat-top-menu-body{position:absolute;right:0;z-index:10;margin-top:8px;min-width:180px;padding:10px;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface-alt);box-shadow:var(--shadow-card);display:grid;gap:8px}.chat-top-menu-body .ghost-btn{width:100%}.chat-focus-nav.has-quiz{grid-template-columns:repeat(5,minmax(0,1fr))}.chat-focus-nav .ghost-btn{min-height:44px}.quiz-start-card,.quiz-stage-card,.quiz-feedback-card,.quiz-summary-card{display:grid;gap:14px}.quiz-start-hero,.quiz-summary-hero{display:grid;gap:8px;justify-items:start}.quiz-start-badge,.quiz-difficulty-pill,.quiz-feedback-streak,.quiz-summary-badge{display:inline-flex;width:fit-content;align-items:center;justify-content:center;border-radius:var(--radius-full);font-weight:700}.quiz-start-badge{padding:6px 12px;background:var(--subject-soft);border:1px solid var(--subject-line);color:var(--subject-contrast);font-size:var(--text-sm)}.quiz-stage-title{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.15;letter-spacing:.01em}.quiz-stat-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-collection-grid,.quiz-level-grid,.quiz-mode-grid{display:grid;gap:10px}.quiz-collection-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.quiz-level-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.quiz-mode-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.quiz-collection-card,.quiz-level-card,.quiz-mode-card{display:grid;gap:8px;width:100%;text-align:left;align-content:start;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface-alt);box-shadow:none}.quiz-collection-card strong,.quiz-level-card strong,.quiz-mode-card strong{font-size:var(--text-base)}.quiz-collection-card span,.quiz-level-card span,.quiz-mode-card span,.quiz-collection-card small,.quiz-level-card small{color:var(--muted)}.quiz-collection-card.is-active,.quiz-level-card.is-active,.quiz-mode-card.is-active{border-color:var(--subject-accent);box-shadow:0 4px 16px #00000014;transform:translateY(-1px)}.quiz-level-meta{display:grid;gap:4px}.quiz-stat-grid article{display:grid;gap:6px;padding:14px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface-soft)}.quiz-stat-grid h3{font-size:var(--text-sm);color:var(--subject-contrast)}.quiz-stat-grid p{font-size:var(--text-xl);font-weight:700}.quiz-start-meta{display:grid;gap:4px;color:var(--muted);font-size:var(--text-md)}.quiz-stage-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.quiz-stage-count{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-base);color:var(--subject-contrast)}.quiz-stage-count span{font-size:var(--text-xl);font-weight:700;color:var(--text)}.quiz-timer-ring{position:relative;width:64px;height:64px;flex-shrink:0}.quiz-timer-svg{width:64px;height:64px;transform:rotate(-90deg)}.quiz-timer-track,.quiz-timer-progress{fill:none;stroke-width:2.5}.quiz-timer-track{stroke:#00000014}.quiz-timer-progress{stroke:var(--subject-accent);stroke-linecap:round;transition:stroke-dashoffset 1s linear,stroke .14s ease}.quiz-timer-progress.is-urgent{stroke:var(--color-error-strong)}.quiz-timer-ring span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:var(--text-base);font-weight:700}.quiz-timer-ring span.is-urgent{color:var(--color-error-strong);animation:quizTimerPulse .7s ease infinite alternate}.quiz-stage-metrics{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--subject-contrast);font-size:var(--text-base)}.quiz-stage-metrics strong{color:var(--text)}.quiz-word-card{display:grid;gap:12px;justify-items:center;text-align:center;padding:22px 18px;border-radius:var(--radius-lg);background:var(--subject-soft);border:1px solid var(--subject-line)}.quiz-question-prompt{margin:0;font-size:var(--text-base);color:var(--muted)}.quiz-question-hint{margin:0;font-size:var(--text-md);color:var(--muted)}.quiz-word-card h2{font-size:clamp(2rem,5vw,3.2rem);line-height:1.05;letter-spacing:.02em}.quiz-difficulty-pill{padding:4px 10px;background:#0000000a;border:1px solid var(--line);color:var(--subject-contrast);text-transform:uppercase;font-size:var(--text-2xs);letter-spacing:.08em}.quiz-choice-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-choice-btn{min-height:72px;border-color:var(--subject-line);background:var(--surface-alt);color:var(--text);box-shadow:0 1px 2px #0000000f;font-size:var(--text-base);font-weight:700}.quiz-choice-btn:not(:disabled):active{box-shadow:none}.quiz-feedback-card{justify-items:center;text-align:center;cursor:pointer}.quiz-feedback-card.is-correct{border-color:var(--color-success-border);background:var(--color-success-bg)}.quiz-feedback-card.is-wrong{border-color:var(--color-error-border);background:var(--color-error-bg)}.quiz-feedback-icon{font-size:var(--text-display);line-height:1}.quiz-feedback-word{font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.05}.quiz-feedback-answer{font-size:var(--text-lg);color:var(--subject-contrast)}.quiz-feedback-note{color:var(--muted);font-size:var(--text-base)}.quiz-feedback-meta{display:grid;gap:4px;justify-items:center;color:var(--subject-contrast);font-size:var(--text-base)}.quiz-feedback-meta strong{color:var(--text)}.quiz-feedback-example{display:grid;gap:6px;max-width:34rem;padding:14px 16px;border-radius:var(--radius-lg);background:var(--surface-soft);border:1px solid var(--line)}.quiz-feedback-example strong{font-size:var(--text-base)}.quiz-feedback-example p,.quiz-feedback-example small{color:var(--muted)}.quiz-feedback-streak{gap:10px;padding:8px 14px;background:var(--surface-soft);border:1px solid var(--line);color:var(--subject-contrast)}.quiz-feedback-streak strong{font-size:var(--text-lg);color:var(--text)}.quiz-speak-btn{width:auto;min-width:0;justify-self:center;padding-inline:18px}.quiz-summary-list{display:grid;gap:10px}.quiz-summary-tags{display:flex;flex-wrap:wrap;gap:8px}.quiz-summary-tag{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:6px 12px;border-radius:var(--radius-full);background:var(--subject-soft);border:1px solid var(--subject-line);color:var(--subject-contrast);font-size:var(--text-sm);font-weight:700}.quiz-summary-row{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:14px 16px;border-radius:var(--radius-lg);background:var(--surface-soft);border:1px solid var(--line-soft)}.quiz-summary-wording{display:grid;gap:4px}.quiz-summary-wording strong{font-size:var(--text-base)}.quiz-summary-wording span,.quiz-summary-wording small{color:var(--muted)}.quiz-summary-badge{padding:8px 12px;font-size:var(--text-sm)}.quiz-summary-badge.is-correct{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.quiz-summary-badge.is-wrong{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border)}@keyframes quizTimerPulse{0%{transform:scale(1)}to{transform:scale(1.06)}}.duo-frame{display:grid;gap:24px;grid-template-columns:256px minmax(580px,1fr) 368px}.duo-sidebar{position:sticky;top:16px;height:calc(100vh - 32px);display:grid;grid-template-rows:auto 1fr auto;gap:16px;padding:12px;background:transparent;border:none;box-shadow:none;animation:none}.duo-brand{display:flex;align-items:center;gap:10px;padding:8px 10px}.duo-brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:radial-gradient(circle at 26% 24%,rgba(255,255,255,.24),var(--subject-accent) 68%);border:2px solid var(--subject-accent-press);box-shadow:none;font-size:var(--text-sm);font-weight:700;color:#fff}.duo-brand-eyebrow{font-size:var(--text-2xs);letter-spacing:.07em;color:var(--muted);font-weight:700}.duo-brand-name{margin-top:3px;font-size:var(--text-base);font-weight:700;color:var(--text)}.duo-brand-subject{margin-top:2px;font-size:var(--text-xs);color:var(--muted);font-weight:700}.duo-brand-model{margin-top:4px;font-size:var(--text-2xs);font-weight:700;color:var(--subject-contrast)}.duo-nav{display:grid;gap:8px;align-content:start}.duo-nav-item{height:52px;border-radius:var(--radius-md);border:1px solid transparent;box-shadow:none;background:transparent;color:var(--muted);display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;font-size:var(--text-base)}.duo-nav-item:hover{border-color:var(--line);background:#0000000a;transform:none}.duo-nav-item.active{border-color:var(--subject-line);background:var(--subject-soft);color:var(--text)}.duo-nav-icon{width:20px;height:20px;flex:none}.duo-action-icon{width:18px;height:18px;flex:none}.duo-upload-btn{min-height:52px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,var(--subject-accent),var(--subject-accent-press));border-color:var(--subject-accent-press);box-shadow:0 1px 3px #0000001f}.duo-upload-btn:not(:disabled):active{box-shadow:none}.duo-main{min-width:0;display:grid;gap:12px;align-content:start}.duo-stage{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 12px}.duo-stage-chip{font-size:var(--text-xs);font-weight:700;letter-spacing:.07em;color:var(--muted)}.duo-stage-track{height:14px;border-radius:var(--radius-full);overflow:hidden;border:1px solid var(--line);background:#0000000f}.duo-stage-track i{display:block;height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--subject-accent),var(--subject-accent-press))}.duo-stage-xp{font-size:var(--text-sm);color:var(--subject-contrast);font-weight:700}.duo-quest{display:grid;gap:8px;padding:18px}.duo-quest-top{display:flex;align-items:center;gap:8px}.duo-quest-icon{width:20px;height:20px;color:var(--subject-contrast)}.duo-quest-title{font-size:var(--text-xl);letter-spacing:.01em}.duo-quest-copy{color:var(--muted);font-size:var(--text-base);line-height:1.6}.duo-path{display:grid;gap:12px}.duo-path-title{font-size:var(--text-sm);font-weight:700;color:var(--muted)}.duo-path-row{display:flex;justify-content:space-between;gap:10px}.duo-node{position:relative;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:var(--muted);border:1px solid var(--line);background:var(--surface-alt);box-shadow:0 1px 3px #00000014;transition:transform .15s ease}.duo-node.done{border-color:var(--subject-accent-press);background:linear-gradient(180deg,var(--subject-accent),var(--subject-accent-press));color:#fff;box-shadow:0 2px 8px #0000001f}.duo-node.now{border-color:var(--subject-line);color:var(--text);animation:nodePulse 1.6s ease-in-out infinite}.duo-node-check{width:22px;height:22px}.chat-log{min-height:clamp(340px,52vh,640px);max-height:clamp(380px,66vh,760px);overflow:auto;display:flex;flex-direction:column;gap:10px;padding:14px}.chat-bubble{width:min(86%,720px);border-radius:var(--radius-lg);border:1px solid;padding:10px 12px;animation:bubbleIn .22s ease}.chat-role{font-size:var(--text-2xs);font-weight:700;margin-bottom:5px}.chat-content{white-space:pre-wrap;word-break:break-word;line-height:1.55;min-height:18px}.chat-time{margin-top:8px;font-size:var(--text-2xs);text-align:right;opacity:.85}.chat-assistant{align-self:flex-start;background:var(--surface-alt);border:1px solid var(--line);color:var(--text);border-radius:12px 12px 12px 2px}.chat-user{align-self:flex-end;background:var(--blue);border:1px solid var(--blue);color:#fff;border-radius:12px 12px 2px}.chat-user .chat-role,.chat-user .chat-time{color:#ffffffeb}.chat-bubble.is-typing{border-color:var(--line)}.typing-dots{display:inline-flex;align-items:center;gap:6px;height:18px}.typing-dots i{width:8px;height:8px;border-radius:50%;background:var(--muted);animation:typingDot 1.05s infinite}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}.chat-composer{display:grid;gap:10px;padding:14px;position:sticky;bottom:10px;z-index:8;overflow:hidden;border-color:var(--line);box-shadow:0 8px 24px #0000001f}.chat-composer-box{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:8px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-alt)}.chat-session-toolbar{display:grid;gap:8px}.chat-session-select{display:grid;gap:6px}.chat-session-actions{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.duo-input-label{font-size:var(--text-md);font-weight:700;color:var(--text)}.chat-composer-intro{display:grid;gap:8px}.chat-composer-lead{color:var(--text);font-size:var(--text-base);line-height:1.65}.chat-composer-tip{font-size:var(--text-sm);color:var(--muted)}.chat-composer-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.chat-upload-inline{width:auto;min-width:180px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.chat-textarea{min-height:96px;max-width:100%;resize:vertical;border:0;background:transparent;box-shadow:none}.chat-textarea:focus{outline:none;box-shadow:none}.chat-action-grid{display:flex;align-items:center;gap:8px;flex-wrap:wrap;overflow:visible;padding-bottom:0}.chat-quick-toggle{width:auto;justify-self:start;min-height:40px;border-radius:var(--radius-full);padding:8px 14px}.duo-chip{width:auto;min-width:0;max-width:100%;min-height:38px;padding:8px 12px;background:var(--surface-alt);border-color:var(--line);box-shadow:none;color:var(--text);font-size:var(--text-sm);border-radius:var(--radius-full);white-space:normal;text-align:left}.duo-chip:not(:disabled):active{box-shadow:none}.chat-send-btn{min-width:58px;min-height:58px;padding:0 14px;font-size:var(--text-base);border-color:var(--subject-accent-press);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--subject-accent),var(--subject-accent-press));box-shadow:0 1px 3px #0000001f;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.chat-send-btn:not(:disabled):active{box-shadow:none}.chat-answer-style{background:var(--surface-soft)}.chat-recovery-tools{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.chat-bubble-tools{margin-top:6px;border-top:1px solid var(--line-soft);padding-top:8px}.chat-bubble-tools summary{list-style:none;cursor:pointer;font-size:var(--text-xs);font-weight:700;color:inherit;opacity:.92}.chat-bubble-tools summary::-webkit-details-marker{display:none}.chat-bubble-tools[open] summary{margin-bottom:8px}.duo-rail{display:grid;gap:12px;align-content:start}.duo-rail-card{display:grid;gap:10px;position:sticky;top:16px}.duo-rail-card+.duo-rail-card{top:206px}.duo-rail-head{display:flex;align-items:center;gap:8px}.duo-rail-icon{width:18px;height:18px}.duo-rail-icon.flame{color:#ffaf26}.duo-rail-icon.xp{color:#7bd4ff}.duo-rail-title{font-size:var(--text-base);font-weight:700}.duo-rail-value{font-size:var(--text-3xl);font-weight:700;color:var(--gold);line-height:1.1}.duo-rail-sub{font-size:var(--text-md);color:var(--muted);line-height:1.5}.duo-goals{margin:0;padding-left:18px;display:grid;gap:8px;color:var(--muted)}.duo-goals li{font-size:var(--text-md)}.duo-goals li.done{color:var(--subject-accent)}.chat-log::-webkit-scrollbar{width:8px}.chat-log::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#0003}.chat-log::-webkit-scrollbar-track{background:transparent}@keyframes bubbleIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes typingDot{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@keyframes nodePulse{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes cardRise{0%{opacity:.9;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*{animation-duration:0s!important;transition-duration:0s!important}}@media(max-width:1280px){.parent-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.duo-frame{grid-template-columns:232px minmax(0,1fr)}.duo-rail{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}.duo-rail-card,.duo-rail-card+.duo-rail-card{position:static}}@media(max-width:980px){main.parent-dashboard-page{max-width:100%}.parent-dashboard-layout{grid-template-columns:1fr}.parent-dashboard-links{position:static}.parent-settings-grid{grid-template-columns:1fr}.parent-learning-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-quick-toggle-list{grid-template-columns:1fr}.chat-focus-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero{grid-template-columns:1fr}.chat-upload-inline{width:100%}.duo-frame{grid-template-columns:1fr;gap:12px}.duo-sidebar{position:static;height:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 1px 2px #0000000a;animation:cardRise .28s ease}.duo-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.duo-nav-item{justify-content:center;text-align:center;font-size:var(--text-md);padding:8px;gap:6px}.duo-nav-item span{white-space:nowrap}.duo-upload-btn{width:100%}.duo-path-row{flex-wrap:wrap;justify-content:flex-start}.duo-node{width:58px;height:58px}.duo-rail{grid-template-columns:1fr}}.chat-focus-timer{display:grid;gap:8px;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-soft);padding:10px}.chat-focus-timer-row{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto auto}.upload-queue-item{display:grid;gap:8px;border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:8px 10px;background:var(--surface-soft)}.upload-queue-actions{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.home-countdown-panel{border:1px solid var(--line-soft);background:#0071e30f}.home-countdown-days{font-size:var(--text-3xl);font-weight:700;line-height:1;margin:0}.home-heatmap-grid{display:grid;gap:8px;grid-template-columns:repeat(7,minmax(0,1fr))}.home-heatmap-cell{border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:8px;display:grid;gap:4px;background:var(--surface-soft)}.home-heatmap-cell span{font-size:var(--text-xs);color:var(--muted)}.home-heatmap-cell strong{font-size:var(--text-sm)}.home-heatmap-cell.is-done{background:#5ac8fa24;border-color:#5ac8fa6b}.home-badge-grid{display:flex;flex-wrap:wrap;gap:8px}.home-achievement-badge{padding:8px 10px;border-radius:var(--radius-full);border:1px solid rgba(255,188,93,.55);background:#ffbc5d29;font-size:var(--text-sm);font-weight:700}.home-achievement-badge.is-pending{border-color:#a0b0b98c;background:#9fb0b926;color:var(--muted)}.plan-priority-item{grid-template-columns:auto minmax(0,1fr);align-items:start}.chat-kpi-grid article p{font-size:var(--text-base);font-weight:700}@media(max-width:640px){.sessions-toolbar,.sessions-bulk-bar,.session-card-actions,.parent-kpi-grid,.parent-learning-kpi-grid,.parent-add-grid,.parent-access-grid,.pilot-feedback-rating-row,.chat-focus-nav{grid-template-columns:1fr}.chat-focus-nav-simple{grid-template-columns:minmax(0,1fr) auto}.chat-top-menu-body{min-width:170px}main{padding:10px}.home-shortcut-btn{top:auto;bottom:calc(10px + env(safe-area-inset-bottom));right:8px;min-width:0;padding:8px 12px;font-size:var(--text-sm)}.home-shortcut-btn.chat-page{top:8px;bottom:auto}main:not(.chat-shell){max-width:100%}.duo-stage{grid-template-columns:1fr;gap:8px}.duo-stage-xp{text-align:right}.chat-log{max-height:48vh}.chat-composer{padding:10px;bottom:calc(8px + env(safe-area-inset-bottom))}.chat-composer-box{grid-template-columns:minmax(0,1fr) 52px;gap:8px;padding:8px;border-radius:var(--radius-lg)}.chat-textarea{min-height:82px}.chat-send-btn{min-width:52px;min-height:52px;padding:0;border-radius:var(--radius-lg)}.chat-send-btn span{display:none}.chat-composer-row{display:grid;grid-template-columns:1fr;align-items:stretch}.chat-composer-row .chat-message-actions{display:grid;grid-template-columns:1fr;width:100%}.chat-upload-inline,.chat-composer-row .ghost-btn{min-width:0;width:100%}.chat-bubble{width:100%}.chat-action-grid{gap:7px}.chat-session-actions,.chat-recovery-tools{grid-template-columns:1fr}.session-summary-actions,.session-summary-actions .ghost-btn{width:100%}.session-summary-next-item{grid-template-columns:1fr}.session-summary-next-item .ghost-btn{width:100%}.home-hero,.home-hero-compact,.home-recommended-grid,.app-card-grid,.home-plan-create,.practice-action-grid,.quiz-choice-grid,.quiz-collection-grid,.quiz-level-grid,.quiz-mode-grid,.quiz-summary-row,.quiz-stat-grid{grid-template-columns:1fr}.quiz-stage-top,.quiz-stage-metrics{align-items:flex-start;flex-direction:column}.chat-focus-timer-row,.upload-queue-actions{grid-template-columns:1fr}.home-heatmap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
