@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.0rx81dn62y51_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_d7b50fc5-module__qeW00a__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_d7b50fc5-module__qeW00a__variable{--font-space-grotesk:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.08hd0g.321csk.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.0x08jh8vondwt.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.0~wrfy7sm-h4g.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.0k_.i63k_i_qa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.16-z~2sp29ex6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.0m9hhkgdlzukj.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.0juuwbcf7uz~t.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.0qg7j5o.yrclm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0hkrq11n-dhos.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.07ig5l8azj~hy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.0_n_qwbzcushi.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.07r2ragk8ph~z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.0787d67~10694.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.0dgq8lqrj3gc_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.0o14nraug8u5s.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_69b0a650-module__YpXl3W__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_69b0a650-module__YpXl3W__variable{--font-ibm-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--bg:#edf3ff;--bg-deep:#d5e2ff;--panel:#ffffffc7;--panel-strong:#ffffffe6;--line:#4e6fad24;--border:#4a669b2e;--text:#17305b;--text-soft:#45608e;--accent:#4c84f4;--accent-deep:#1f5bd2;--accent-warm:#ffd27a;--shadow:0 20px 60px #3c589129}html{min-height:100%}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at top left, #6195ff47, transparent 28%), radial-gradient(circle at bottom right, #ffd27a3d, transparent 24%), linear-gradient(180deg, #f8fbff 0%, var(--bg) 48%, var(--bg-deep) 100%);font-family:var(--font-space-grotesk), sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}button,input,textarea,select{font:inherit}button{cursor:pointer}textarea,select{border:1px solid var(--border);width:100%;color:var(--text);background:#ffffffe0;border-radius:16px}textarea{resize:vertical;min-height:112px;padding:1rem 1.1rem;line-height:1.55}select{padding:.9rem 1rem}.app-shell{grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:1.5rem;min-height:100vh;padding:1.5rem;display:grid}.coach-rail,.workspace{min-width:0}.coach-rail{flex-direction:column;gap:1rem;display:flex}.brand-lockup,.coach-card,.rail-panel,.prompt-card,.board,.analysis-card,.history-panel,.composer{border:1px solid var(--border);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow);border-radius:28px}.brand-lockup{align-items:center;gap:1rem;padding:1.25rem;display:flex}.brand-mark{background:linear-gradient(145deg, var(--accent), #8cb1ff);color:#fff;width:54px;height:54px;font-family:var(--font-ibm-plex-mono), monospace;border-radius:18px;place-items:center;font-size:1.15rem;display:grid;box-shadow:inset 0 1px 1px #ffffff59}.eyebrow{color:var(--text-soft);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem}.brand-lockup h1,.workspace-header h2,.coach-card h2{font-size:1.3rem;line-height:1.05}.coach-card{background:linear-gradient(180deg, #6d9cfff2, #5080ece6), var(--panel);color:#fff;padding:1.25rem}.coach-header{align-items:center;gap:.9rem;display:flex}.coach-avatar{width:72px;height:72px;color:var(--accent-deep);background:#ffffffeb;border-radius:22px;place-items:center;font-size:2rem;display:grid}.coach-label{text-transform:uppercase;letter-spacing:.16em;opacity:.78;font-size:.72rem}.coach-message{margin-top:1.2rem;font-size:1.35rem;line-height:1.4}.coach-meta{flex-wrap:wrap;gap:.6rem;margin-top:1.2rem;display:flex}.mastery-pill,.model-pill{background:#ffffff2e;border:1px solid #ffffff42;border-radius:999px;padding:.48rem .78rem;font-size:.8rem}.mastery-strong{background:#c3ffda38}.mastery-stabilizing{background:#ffe39c3d}.rail-panel,.prompt-card,.board,.analysis-card,.history-panel,.composer{padding:1.15rem}.rail-panel{flex-direction:column;gap:.85rem;display:flex}.rail-panel h3,.section-header h3{font-size:1rem}.preset-list{flex-direction:column;gap:.7rem;display:flex}.preset-button{text-align:left;width:100%;color:var(--text);background:#ffffff8f;border:1px solid #0000;border-radius:18px;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.9rem 1rem;display:flex}.preset-button small,.microcopy,.section-header p,.empty-board small,.history-turn header span,.prompt-meta,.field span{color:var(--text-soft)}.preset-button.active{background:#4c84f41f;border-color:#4c84f480}.field{gap:.45rem;display:grid}.field span{font-size:.85rem}.toggle-row{align-items:center;gap:.7rem;font-size:.95rem;display:flex}.workspace{flex-direction:column;gap:1rem;display:flex}.workspace-header{justify-content:space-between;align-items:center;gap:1rem;padding:.3rem .2rem 0;display:flex}.ghost-button,.token-button,.secondary-button,.primary-button,.preset-button{transition:transform .16s,background-color .16s,border-color .16s}.ghost-button,.secondary-button,.token-button{border:1px solid var(--border);color:var(--text);background:#ffffffb8}.ghost-button{border-radius:999px;padding:.7rem .95rem}.prompt-card{gap:.9rem;display:grid}.prompt-meta{font-family:var(--font-ibm-plex-mono), monospace;flex-wrap:wrap;gap:.65rem;font-size:.78rem;display:flex}.prompt-meta span{background:#4c84f414;border-radius:999px;padding:.42rem .72rem}.workspace-grid{grid-template-columns:minmax(0,1.4fr) minmax(260px,.72fr);gap:1rem;display:grid}.section-header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.section-header p{max-width:28rem;font-size:.88rem;line-height:1.45}.board{flex-direction:column;gap:1rem;display:flex}.board-surface{background:linear-gradient(transparent 31px, var(--line) 32px), #ffffffdb;background-size:100% 32px;border-radius:22px;min-height:420px;padding:1rem}.empty-board{text-align:center;align-content:center;place-items:center;gap:.5rem;min-height:320px;display:grid}.workline{grid-template-columns:46px minmax(0,1fr);align-items:start;gap:.75rem;min-height:32px;margin-bottom:.55rem;display:grid}.workline span{font-family:var(--font-ibm-plex-mono), monospace;color:var(--accent);padding-top:.08rem;font-size:.88rem}.workline p,.history-turn p,.analysis-card li{line-height:1.55}.analysis-stack{flex-direction:column;gap:1rem;display:flex}.analysis-card ul{flex-direction:column;gap:.8rem;margin-top:1rem;list-style:none;display:flex}.analysis-card li{background:#ffffffb8;border-radius:18px;padding:.8rem .9rem}.history-panel{flex-direction:column;gap:1rem;display:flex}.history-list{gap:.8rem;display:grid}.history-turn{border:1px solid var(--border);border-radius:22px;padding:1rem}.history-turn header{justify-content:space-between;gap:1rem;margin-bottom:.55rem;display:flex}.history-turn.coach{background:#6195ff1a}.history-turn.student{background:#ffffff9e}.composer{background:var(--panel-strong);flex-direction:column;gap:1rem;display:flex;position:sticky;bottom:1rem}.token-row,.composer-actions{flex-wrap:wrap;gap:.65rem;display:flex}.token-button{font-family:var(--font-ibm-plex-mono), monospace;border-radius:999px;padding:.48rem .78rem}.primary-button,.secondary-button{border-radius:16px;padding:.9rem 1.15rem}.primary-button{background:linear-gradient(145deg, var(--accent), var(--accent-deep));color:#fff;border:1px solid #0000}.error-banner{color:#a62846;background:#bd26441a;border-radius:16px;padding:.8rem 1rem}.ghost-button:hover,.secondary-button:hover,.token-button:hover,.preset-button:hover,.primary-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled{cursor:wait;opacity:.7}@media (max-width:1080px){.app-shell,.workspace-grid{grid-template-columns:1fr}.composer{position:static}}@media (max-width:720px){.app-shell{padding:1rem}.workspace-header,.section-header{flex-direction:column;align-items:flex-start}.coach-message{font-size:1.15rem}}
