@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(data:font/woff2;base64,d09GMgABAAAAAAcwABUAAAAADVQAAAbBAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGkQbgR4cLj9IVkFSYD9NVkFSRgZgP1NUQVSBECcqAFwvZBEICoMkgnELFAAwhH4BNgIkAyIEIAWGEAdnDAcboAsonoWxMy2MW9VSU/H2d24ggnj6P7/qdF8kHtj4XCsDah+E/KT39YIFcHcr5mdFZwLNDw9CeW4KlnBLVwQRet6nWJGSNRWvjZZM5AF9/V+YzdmiNbWZhBUUSOGWSLhW2RoXvEtYlxCEfCMrFAA6BuFam7oKRUZVCFWhRR/qJMlMiCgVZ/4ca0sETSHYgDJIJKezg6AEeH4/UIDkWQgqQABAB41AABe1VKK6dOsdhehnpalC9DfR1iEaDRCEADJ7qqmDPyCAYODEgeBAUIADRQ2tgB4qkWgAgOBp5BnH2tUEgA3ErCKtimIziMYx+tZRkDo+B2CcYroAUAMQQMOC/DExNOyf1AIEqIEEKgEKoAEFyK2JYdUjqxX9gAAwZpyto8zKVlMAICtmCHZvvscvU9uhetlltjPXxFCpcgAT1C41AqC3NxEZR3GGgPFsQPEn9Dv9AAEV1gUdEnSDES/lADn+6DGoZioeqIBCEBwIUIQ/UAa5fLpoEwZQQLIclVoNmiUiAMTkNhAAsaQOgAYUSg6A+hsQAHFIasTfqUaMdhH93bqCn0dv0Y1Mxwz/rMEkngeFGyecLPOg2jTgjVHHlnFn1ePPoBCvIU0PgI97z1hU0OQ8V6Iq/BwEUU8EQ4OB4FQdyadBEOByAhRAIhThj4OXDnAXcgDG2hAxxIQMtyzUgY0DcCA1wwnPy+biZg5xg64AiKelqxEkCD8ATgAKAdzAdMBJoAx4e5naGUU9jSAGahwNjTq+8W7DtfwYMsuPz6g1XPyMe4OHcM9wzZ544OVL2fjTo1fDhz95JRtfunY9r+B6JRd3737xgg3f338+ZMjD5wE2vLjmvqrsfi7KpklBNhwDNs4hLtfZB1nVo/LtXbteDo7bGL+x9LnOu7gSi0s45CJc/mquZ+53Had/3dvtr8Ybttd9ifzjnXq4Zb+pTblf584tP9A9sdAIX89W9cqWOy8urXS6243Og4UTLSdNOtqi74T6Wi+zp5Xr6RpTqLOrX2Wp2FTquoyMtjObjK4jpZMt84p3bd218fcnDp+IoMbXTl0+vgP56caMH6fVqeP+OKNQ34WDI8PmIJDVIAAbW7oRW9vBIzQAYINeo695N38DAQQF1BAAQB1AaXV6TEEMP0RLzQ5ctUHhwY/gB6cDpZRWWNvhvV7xtTdCTx62RTr+t9EROf52+4hqwKoHM4/P3FgXpe6yLMD76VNExDcBX1jIH3Yp7lSX+fKlzCapUmWPbtYsN7eRA47ZYTVbbEp/xcTqp40a3d8kgcC2lmDn2kCI59VnWx1NAZbGgyDNV1vAFJu5FO3miyhkCFmswIrSVn+m4cGofr9T0gtXmTw09dO1a16PkZUSH/IBkrx9G5qSFfLgxvTvUt01arz+FBpnGCEhx00R2RZKkZ2alp0fzE1LDbpKNhShcYSQv0hQG1qZDr/fmZca/ghYVGJxlLKSkix/drZ/c6tCgVkxImp4WHxugc/XJo8s3HRlyqfYLHfRckwVJGlsXycqqOGwidPXFPr25z/Nmxau/p9Rr57aFGS1RW4u7iIFAw1tFS5Mxb/8VkR5k5cXVEauSXY2pXVWSkRkklGk1rBYI0tr8nLTSpb8G+5yhXMADzyTaevXgL1Zp6VZlh0QM3fsx6LChf9nUFEe5Rfxel+//BCekJby74034cm1Sj0pKdGfMTg6JQXHolu80R26VNVeFRGjTGrML/a3KLdYsfRSwdIdF/wS97oFBJCflu4t3XhyfFibNIfWkQCf9r4tAJ9v5YH5D/L/t64YRwELBYDAz9xlvaUoc/8UQJDdHboro2Mz9jFInPDh9H5qASpKQgBOzmMzgG87VkOtVdB9GjGcwLdyIEJCoawjhU8WkKZZWpFBpZQgk2Guk0Ul58N9NCPHEwMP48ikiG6ycNGBbHyygBx4aEJOCsggFw7KkJtCAo/uwQV0olqyQtFmHZtpSTNMxXktRyAaKYo+cK9zaHpJBCK7ld6ZnAkoolP/ZzYvSzUPD8sKk8TLZmFYJCoGZhJ4DGjXa4xuGebQcRBOoWGIwKFaYhqHmCwSTJeiCKMCq0gNAc+GYSrLDBajCqNYJQYHcZXJJ0A4xapUqMKZ6z2NlL69lfVr0u8Nccx9YwPV6tkC81rPZI+nqPdmFSuWYpQISRkjH5QNMRmyUjejicO9FXMknCLnOWQIJNp0jmWMFZiWYyRwhQrhmdU9JWEPp+eCXCSYbnA0cgpOoIp7UWjRYogpltVxkolc5Ld0nsQ2aGrgvbG4QXMT38TJjo3+3UW3hhd38NKijMZseaj+FQn2vbEXAA==) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/maths-higher/assets/unbounded-cyrillic-wght-normal-C627f1f8.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/maths-higher/assets/unbounded-vietnamese-wght-normal-rat7GD3o.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/maths-higher/assets/unbounded-latin-ext-wght-normal-D6H-S6MW.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/maths-higher/assets/unbounded-latin-wght-normal-D5afBTBx.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/maths-higher/assets/atkinson-hyperlegible-next-latin-ext-wght-normal-C6vrW8VD.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/maths-higher/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/maths-higher/assets/atkinson-hyperlegible-next-latin-ext-wght-italic-Cigfgs4r.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Atkinson Hyperlegible Next Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/maths-higher/assets/atkinson-hyperlegible-next-latin-wght-italic-DC5MiAaX.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Mono Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/maths-higher/assets/atkinson-hyperlegible-mono-latin-ext-wght-normal-CXgNM06D.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Atkinson Hyperlegible Mono Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/maths-higher/assets/atkinson-hyperlegible-mono-latin-wght-normal-CoA7y8X5.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/maths-higher/assets/literata-cyrillic-ext-wght-normal-CGKlZYBf.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/maths-higher/assets/literata-cyrillic-wght-normal-DLqwHbi6.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/maths-higher/assets/literata-greek-ext-wght-normal-e3e57Shi.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/maths-higher/assets/literata-greek-wght-normal-CO1l-giJ.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/maths-higher/assets/literata-vietnamese-wght-normal-LcSrhZ7T.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/maths-higher/assets/literata-latin-ext-wght-normal-BnEbWgdZ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/maths-higher/assets/literata-latin-wght-normal-DLxlUchJ.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/maths-higher/assets/literata-cyrillic-ext-wght-italic-DrMGjC4f.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/maths-higher/assets/literata-cyrillic-wght-italic-C2hF6zFe.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/maths-higher/assets/literata-greek-ext-wght-italic-f6xT_0ee.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/maths-higher/assets/literata-greek-wght-italic-9BAkQpca.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/maths-higher/assets/literata-vietnamese-wght-italic-LyOFdRXZ.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/maths-higher/assets/literata-latin-ext-wght-italic-CC1SwlwQ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/maths-higher/assets/literata-latin-wght-italic-Bm_GJfSc.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Kalam;font-style:normal;font-display:swap;font-weight:400;src:url(/maths-higher/assets/kalam-latin-400-normal-BthBl_aR.woff2) format("woff2"),url(/maths-higher/assets/kalam-latin-400-normal-Bl-H2BUA.woff) format("woff")}@font-face{font-family:Kalam;font-style:normal;font-display:swap;font-weight:700;src:url(/maths-higher/assets/kalam-latin-700-normal-D2H-9ISU.woff2) format("woff2"),url(/maths-higher/assets/kalam-latin-700-normal-7TSuSrjP.woff) format("woff")}:root{--bg: #0b0e14;--bg2: #0f131d;--panel: #141926;--panel2: #1a2131;--border: rgba(255, 255, 255, .08);--text: #e8ecf4;--muted: #98a1b3;--accent: #7c5cff;--accent2: #ff5c8a;--green: #2ad4a8;--amber: #ffb020;--red: #ff5c5c;--blue: #35a7ff;--radius: 16px;font-size:16px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);background-image:radial-gradient(1200px 600px at 80% -10%,rgba(124,92,255,.14),transparent),radial-gradient(900px 500px at -10% 110%,rgba(255,92,138,.1),transparent);background-attachment:fixed;color:var(--text);font-family:var(--font-ui);line-height:1.5;-webkit-font-smoothing:antialiased}.page{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;gap:20px}h1{font-size:26px;letter-spacing:-.4px;font-weight:800}h2{font-size:17px;font-weight:700;margin-bottom:6px}.sub{color:var(--muted);font-size:14px}.head-chip{background:var(--panel);border:1px solid var(--border);padding:8px 14px;border-radius:999px;font-size:13px;color:var(--muted)}.dot-live{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:6px;box-shadow:0 0 8px var(--green)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.stat-num{font-size:30px;font-weight:800;letter-spacing:-.5px}.stat-label{font-size:12.5px;color:var(--muted)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.paper-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}.paper-card{text-align:left;border-radius:var(--radius);border:1px solid var(--border);padding:20px;cursor:pointer;color:var(--text);font-family:inherit;background:var(--panel2);transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column;gap:8px}.paper-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px #0006}.paper-card.full{background:linear-gradient(135deg,#7c5cff2e,#7c5cff0d)}.paper-card.short{background:linear-gradient(135deg,#ff5c8a29,#ff5c8a0a)}.paper-type{font-weight:800;letter-spacing:1.4px;font-size:13px}.paper-meta{font-weight:700;font-size:19px}.paper-desc{color:var(--muted);font-size:13.5px;flex:1}.paper-go{font-weight:700;color:var(--accent)}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.papers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:14px}.paper-card.pick{cursor:default}.paper-card.pick.noncalc{background:linear-gradient(135deg,#ffb0201f,#ffb02008)}.paper-card.pick.calc{background:linear-gradient(135deg,#2ad4a81f,#2ad4a808)}.paper-card.pick:hover{transform:none;box-shadow:none}.calc-badge{font-size:11.5px;font-weight:800;padding:4px 10px;border-radius:999px;white-space:nowrap}.calc-badge.yes{background:#2ad4a824;border:1px solid rgba(42,212,168,.45);color:var(--green)}.calc-badge.no{background:#ffb02024;border:1px solid rgba(255,176,32,.45);color:var(--amber)}.strand-chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:3px 9px}.strand-chip i{width:7px;height:7px;border-radius:50%;display:inline-block}.adhoc-cta{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding:16px 18px;background:linear-gradient(135deg,#35a7ff1f,#7c5cff14);border:1px solid rgba(53,167,255,.3);border-radius:14px;flex-wrap:wrap}.adhoc-cta-title{font-weight:800;font-size:15px}.adhoc-controls{display:flex;flex-direction:column;gap:12px;margin-top:12px}.adhoc-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.adhoc-label{font-size:13px;color:var(--muted);font-weight:700;min-width:100px}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.suggest-chip.source.on{color:#fff;border-color:var(--accent);background:#7c5cff33}.exam-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.exam-paper{font-weight:800;font-size:15px}.how-list{margin-top:10px;display:flex;flex-direction:column;gap:10px;color:var(--muted);font-size:14px;padding-left:2px}.how-list b{color:var(--text)}.btn{display:inline-block;background:var(--panel2);border:1px solid var(--border);color:var(--text);padding:10px 18px;border-radius:12px;font-weight:700;font-size:14px;cursor:pointer;text-decoration:none;font-family:inherit;transition:all .15s}.btn:hover:not(:disabled){background:#212a3d}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(90deg,var(--accent),#9d5cff);border:none;color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(1.12);background:linear-gradient(90deg,var(--accent),#9d5cff)}.btn-finish{background:linear-gradient(90deg,var(--green),#1fb88c);border:none;color:#04251b}.btn-submit{background:#ff5c5c26;border:1px solid rgba(255,92,92,.4);color:#ff9b9b}.btn-quit{background:transparent;color:var(--muted)}.btn-quit:hover:not(:disabled){background:var(--panel2);color:var(--text)}.btn.small{padding:6px 12px;font-size:12.5px}.link{color:var(--accent);cursor:pointer;font-weight:600;padding:3px 5px;margin:-3px -5px;border-radius:6px;display:inline-block}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.skeleton{background:var(--panel2);border:1px solid var(--border);border-radius:var(--radius);min-height:180px;animation:skel-pulse 1.4s ease-in-out infinite}@keyframes skel-pulse{50%{opacity:.5}}.mastery-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--border)}.mastery-row:last-of-type{border-bottom:none}.mastery-name{width:168px;flex-shrink:0;font-size:13.5px;font-weight:700}.mastery-bar{flex:1;height:8px;background:#ffffff12;border-radius:4px;overflow:hidden}.mastery-fill{height:100%;border-radius:4px;transition:width .5s}.mastery-pct{width:56px;text-align:right;font-size:12.5px;color:var(--muted);font-weight:700}.mastery-none{font-size:13px;color:var(--muted);padding:6px 0}.back-link{color:var(--muted);text-decoration:none;font-size:13.5px;padding:4px 6px;margin:-4px -6px;border-radius:6px}.back-link:hover{color:var(--text)}.exam{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;gap:14px;height:100%}.exam-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:12px 18px;position:sticky;top:0;z-index:10}.exam-timers{display:flex;gap:26px}.exam-bar-actions{display:flex;align-items:center;gap:8px}.timer{display:flex;flex-direction:column}.timer-label{font-size:10.5px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}.timer-value{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}.timer.big.low .timer-value{color:var(--red);animation:pulse 1s infinite}.timer.ahead .timer-value{color:var(--green)}.timer.behind .timer-value{color:var(--amber)}.pace-badge{font-size:12px;font-weight:700}@keyframes pulse{50%{opacity:.6}}.exam-body{display:flex;gap:16px;flex:1;min-height:0}.q-nav{width:190px;flex-shrink:0;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-content:start;max-height:calc(100vh - 140px);overflow-y:auto;position:sticky;top:88px}.q-dot{border:1px solid var(--border);background:var(--panel2);border-radius:10px;padding:6px 4px;cursor:pointer;color:var(--muted);font-family:inherit;display:flex;flex-direction:column;align-items:center;gap:1px;transition:all .12s}.q-dot:hover{border-color:var(--accent)}.q-dot.current{border-color:var(--accent);background:#7c5cff33;color:#fff;box-shadow:0 0 0 2px #7c5cff59}.q-dot.done{background:#2ad4a824;border-color:#2ad4a880;color:var(--green)}.q-num{font-weight:800;font-size:13px}.q-marks{font-size:10px;opacity:.8}.q-stretch{font-size:10px}.q-nav-legend{grid-column:1 / -1;display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted);margin-top:6px}.dot{display:inline-block;width:8px;height:8px;border-radius:3px;border:1px solid var(--border);background:var(--panel2);margin-right:5px;font-style:normal}.dot.done{background:#2ad4a880;border-color:var(--green)}.q-main{flex:1;display:flex;flex-direction:column;gap:14px;min-width:0}.q-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:24px 26px}.q-meta{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.q-tag{font-size:11.5px;font-weight:700;letter-spacing:.4px;padding:4px 10px;border-radius:999px;background:var(--panel2);border:1px solid var(--border);color:var(--muted)}.q-tag.marks{color:var(--amber);border-color:#ffb02059}.q-tag.stretch{color:#ffb0c8;border-color:#ff5c8a66;background:#ff5c8a1f}.q-text{font-size:16.5px;font-weight:500}.q-text p{margin-bottom:8px}.q-text p:last-child{margin-bottom:0}.choices{display:flex;flex-direction:column;gap:10px;margin-top:18px}.choice{display:flex;align-items:center;gap:12px;text-align:left;background:var(--panel2);border:1px solid var(--border);border-radius:12px;padding:12px 16px;color:var(--text);font-size:15px;cursor:pointer;font-family:inherit;transition:all .12s}.choice:hover{border-color:var(--accent)}.choice.selected{border-color:var(--accent);background:#7c5cff2e;box-shadow:0 0 0 2px #7c5cff4d}.choice-letter{width:26px;height:26px;border-radius:8px;background:#ffffff12;display:flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0}.answer-input{margin-top:18px;width:260px;max-width:100%;background:var(--panel2);border:1px solid var(--border);border-radius:12px;color:var(--text);font-size:17px;font-weight:600;padding:12px 16px;font-family:inherit;outline:none}.answer-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7c5cff40}.q-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.q-pos{color:var(--muted);font-size:13px}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:26px;max-width:420px;display:flex;flex-direction:column;gap:12px}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.error-banner{background:#ff5c5c1f;border:1px solid rgba(255,92,92,.4);color:#ffb3b3;padding:12px 16px;border-radius:12px;font-size:14px}.result-hero{display:flex;gap:26px;align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:26px;flex-wrap:wrap}.grade-badge{width:130px;height:130px;border-radius:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.grade-badge.great{background:linear-gradient(135deg,#2ad4a840,#2ad4a814);border:1px solid rgba(42,212,168,.5);color:var(--green)}.grade-badge.ok{background:linear-gradient(135deg,#ffb02038,#ffb0200f);border:1px solid rgba(255,176,32,.5);color:var(--amber)}.grade-badge.bad,.grade-badge.u{background:linear-gradient(135deg,#ff5c5c38,#ff5c5c0f);border:1px solid rgba(255,92,92,.5);color:var(--red)}.grade-num{font-size:56px;font-weight:900;line-height:1}.grade-label{font-size:11px;letter-spacing:1px;text-transform:uppercase;margin-top:6px}.score-block{flex:1;min-width:220px}.score-num{font-size:38px;font-weight:900}.score-total{color:var(--muted);font-size:22px;font-weight:700}.score-pct{color:var(--green);font-weight:800;font-size:18px}.score-note{color:var(--muted);font-size:13.5px;margin-top:6px}.actions-col{display:flex;flex-direction:column;gap:10px}.bound-table{width:100%;border-collapse:collapse;font-size:14px}.bound-table th,.bound-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}.bound-table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.6px}.bound-table tr.me td{background:#7c5cff2e;font-weight:800}.bar-row{margin-bottom:12px}.bar-head{display:flex;justify-content:space-between;font-size:13px;margin-bottom:4px}.bar{height:8px;background:#ffffff12;border-radius:4px;overflow:hidden}.bar-fill{height:100%;border-radius:4px;transition:width .5s}.weak-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-top:12px}.weak-card{background:var(--panel2);border:1px solid var(--border);border-radius:14px;padding:16px}.weak-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.weak-pct{color:var(--red);font-weight:800}.weak-links{display:flex;flex-direction:column;gap:8px}.weak-link{font-size:13px;color:var(--muted);text-decoration:none;display:block}.weak-link:hover{color:var(--text)}.weak-link.internal{color:var(--accent);font-weight:700}.review{border:1px solid var(--border);border-radius:12px;margin-bottom:10px;overflow:hidden}.review.right{border-left:3px solid var(--green)}.review.wrong{border-left:3px solid var(--red)}.review-head{width:100%;display:flex;align-items:center;gap:10px;background:none;border:none;color:var(--text);font-family:inherit;font-size:14px;padding:12px 16px;cursor:pointer;text-align:left}.review-head:hover{background:#ffffff08}.review-status{font-weight:900;width:20px}.review.right .review-status{color:var(--green)}.review.wrong .review-status{color:var(--red)}.review-title{flex:1;font-weight:700}.review-result{font-weight:800}.chev{color:var(--muted)}.review-body{padding:0 16px 16px 46px;display:flex;flex-direction:column;gap:10px}.review-q{color:var(--muted);font-size:14px}.review-you{color:var(--red);font-size:14px}.review-answer{color:var(--green);font-size:14px}.review-sol{background:#7c5cff14;border:1px solid rgba(124,92,255,.25);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.review-sol-title{font-weight:800;font-size:12.5px;color:var(--accent)}.sol-step{font-size:13.5px}.strand-panel{padding:0;overflow:hidden}.strand-head{width:100%;display:flex;align-items:center;gap:12px;background:none;border:none;color:var(--text);font-family:inherit;padding:18px 22px;cursor:pointer;text-align:left}.strand-head h2{margin:0}.strand-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.strand-blurb{color:var(--muted);font-size:13px;flex:1}.strand-weight{font-size:12px;color:var(--muted);border:1px solid var(--border);padding:3px 10px;border-radius:999px}.topic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;padding:0 22px 20px}.topic-card{background:var(--panel2);border:1px solid var(--border);border-radius:14px;padding:16px;text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:6px;transition:all .15s}.topic-card:hover{border-color:var(--accent);transform:translateY(-2px)}.topic-name{font-weight:800;font-size:15px}.topic-blurb{color:var(--muted);font-size:12.5px;flex:1}.topic-foot{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.acc-pill{font-size:11.5px;font-weight:800;padding:3px 10px;border-radius:999px}.acc-pill.good{background:#2ad4a826;color:var(--green)}.acc-pill.mid{background:#ffb02026;color:var(--amber)}.acc-pill.low{background:#ff5c5c26;color:var(--red)}.acc-pill.new{background:#ffffff0f;color:var(--muted)}.topic-go{color:var(--accent);font-weight:700;font-size:13px}.topic-page .notes{display:flex;flex-direction:column;gap:12px}.note-p{font-size:15px}.note-bullets{padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:14.5px}.formula-card{background:linear-gradient(135deg,#7c5cff29,#7c5cff0a);border:1px solid rgba(124,92,255,.4);border-radius:12px;padding:14px 16px}.formula-title{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--accent);font-weight:800;margin-bottom:4px}.formula-body{font-size:15px;font-weight:600}.example-card{background:#2ad4a812;border:1px solid rgba(42,212,168,.3);border-radius:12px;padding:14px 16px}.example-q{font-weight:700;font-size:14.5px}.example-a{color:var(--green);font-size:14px;margin-top:4px}.quiz-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}.quiz{display:flex;flex-direction:column;gap:16px}.quiz-q{background:var(--panel2);border:1px solid var(--border);border-radius:14px;padding:16px 18px}.quiz-q.right{border-color:#2ad4a880}.quiz-q.wrong{border-color:#ff5c5c80}.quiz-q-meta{display:flex;gap:10px;font-size:12px;color:var(--muted);font-weight:700;margin-bottom:6px}.quiz-q-text{font-size:15px;font-weight:500}.quiz-actions{display:flex;align-items:center;gap:14px;margin-top:12px;flex-wrap:wrap}.hint-inline{color:var(--amber);font-size:12.5px}.quiz-fb{margin-top:12px;display:flex;flex-direction:column;gap:8px}.quiz-fb-line{font-size:14px}.quiz-done{background:#2ad4a81a;border:1px solid rgba(42,212,168,.35);border-radius:14px;padding:18px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:10px}.res-card{background:var(--panel2);border:1px solid var(--border);border-radius:12px;padding:14px;text-decoration:none;color:var(--text);transition:all .15s}.res-card:hover{border-color:var(--accent)}.res-name{font-weight:800;font-size:14px}.res-why{color:var(--muted);font-size:12.5px;margin-top:4px}.chat-box{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;height:calc(100vh - 200px);min-height:420px;overflow:hidden}.chat-scroll{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}.msg{display:flex;gap:10px;max-width:85%}.msg.user{align-self:flex-end;flex-direction:row-reverse}.msg-avatar{width:34px;height:34px;border-radius:10px;background:var(--panel2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:17px}.msg-body{background:var(--panel2);border:1px solid var(--border);border-radius:14px;padding:12px 16px;font-size:14.5px}.msg.user .msg-body{background:#7c5cff33;border-color:#7c5cff66}.msg-text p{margin-bottom:6px}.msg-text p:last-child{margin-bottom:0}.markdown-message{line-height:1.55}.markdown-message p,.markdown-message h1,.markdown-message h2,.markdown-message h3,.markdown-message h4,.markdown-message h5,.markdown-message h6,.markdown-message ul,.markdown-message ol,.markdown-message blockquote,.markdown-message pre{margin:0 0 9px}.markdown-message>:last-child{margin-bottom:0}.markdown-message h1,.markdown-message h2,.markdown-message h3,.markdown-message h4,.markdown-message h5,.markdown-message h6{color:var(--text);line-height:1.25}.markdown-message h1{font-size:1.3em}.markdown-message h2{font-size:1.2em}.markdown-message h3{font-size:1.1em}.markdown-message ul,.markdown-message ol{padding-left:24px}.markdown-message li+li{margin-top:4px}.markdown-message blockquote{border-left:3px solid var(--accent);color:var(--muted);padding-left:12px}.markdown-message code{background:#7c5cff24;border:1px solid rgba(124,92,255,.25);border-radius:4px;padding:1px 4px;font-family:var(--font-mono);font-size:.92em}.markdown-message pre{background:var(--ink);border:1px solid var(--border);border-radius:8px;overflow-x:auto;padding:10px 12px}.markdown-message pre code{background:transparent;border:0;padding:0}.markdown-message a{color:var(--accent);text-decoration:underline}.msg-model{font-size:10.5px;color:var(--muted);margin-top:6px}.model-chip{background:#7c5cff2e;border:1px solid rgba(124,92,255,.4);border-radius:6px;padding:1px 7px;font-size:12.5px;font-family:var(--font-mono)}.typing{display:flex;gap:5px;align-items:center;padding:16px 18px}.typing .dot{width:7px;height:7px;background:var(--muted);border:none;border-radius:50%;animation:blink 1.2s infinite}.typing .dot:nth-child(2){animation-delay:.2s}.typing .dot:nth-child(3){animation-delay:.4s}@keyframes blink{50%{opacity:.25}}.chat-suggest{display:flex;gap:8px;padding:0 16px 10px;flex-wrap:wrap}.suggest-chip{background:var(--panel2);border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:12.5px;padding:6px 13px;cursor:pointer;font-family:inherit;transition:all .12s}.suggest-chip:hover{color:var(--text);border-color:var(--accent)}.chat-input-row{display:flex;gap:10px;padding:14px 16px 18px;border-top:1px solid var(--border)}.chat-input{flex:1;background:var(--panel2);border:1px solid var(--border);border-radius:12px;color:var(--text);padding:12px 16px;font-size:15px;font-family:inherit;outline:none}.chat-input:focus{border-color:var(--accent)}.loading,.empty{color:var(--muted);font-size:14px;padding:20px 0}.loading{display:flex;align-items:center;gap:10px}.loading:before{content:"";width:15px;height:15px;flex-shrink:0;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:skel-spin .8s linear infinite}@keyframes skel-spin{to{transform:rotate(360deg)}}.chart{display:flex;align-items:flex-end;gap:12px;height:140px;margin-top:12px}.chart-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end}.chart-bar-wrap{width:100%;max-width:40px;height:100px;display:flex;align-items:flex-end}.chart-bar{width:100%;border-radius:6px 6px 0 0;min-height:6px}.chart-bar.ok{background:linear-gradient(180deg,var(--green),rgba(42,212,168,.4))}.chart-bar.bad{background:linear-gradient(180deg,var(--red),rgba(255,92,92,.4))}.chart-pct{font-size:11px;color:var(--muted);font-weight:700}.strand-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px}.strand-row:last-of-type{border-bottom:none}.strand-hint{margin-left:auto;color:var(--muted);font-size:11.5px}@media (max-width: 900px){.stat-row,.two-col,.paper-cards,.setup-grid,.papers-grid{grid-template-columns:1fr}.exam-body{flex-direction:column}.q-nav{width:100%;grid-template-columns:repeat(8,1fr);position:static;max-height:none;order:2}.q-nav-legend{display:none}.exam-bar{flex-direction:column;align-items:stretch}.exam-bar-actions{display:grid;grid-template-columns:1fr 1fr}}.source-panel{background:#12100d;border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:14px;max-height:300px;overflow-y:auto}.source-panel.tall{max-height:480px}.adhoc-source-panel{border:1px solid var(--source-line);border-radius:12px;background:var(--source-bg);padding:14px 16px 0;margin-bottom:18px}.adhoc-source-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.adhoc-source-heading h3{margin:8px 0 0;color:var(--subject-ink);font-family:var(--font-read);font-size:20px}.adhoc-source-count{color:var(--quiet);font-size:12px;font-weight:700;white-space:nowrap}.adhoc-source-tabs{overflow-x:auto;padding-bottom:2px}.adhoc-source-panel>.source-panel{max-height:320px;border:0;padding:0 2px 14px;margin-bottom:0}.source-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:8px}.source-title{font-weight:800;font-size:14px}.source-byline{color:var(--muted);font-size:12px}.source-flag{font-size:10.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.source-text{font-family:var(--font-read);font-size:14.5px;line-height:1.65;color:#d8d2c8}.source-text p{margin-bottom:10px;white-space:pre-wrap}.source-tabs{display:flex;gap:8px;margin-bottom:10px}.source-tab{background:var(--panel2);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:6px 14px;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit}.source-tab.on{color:#fff;border-color:var(--accent);background:#e8b44c26}.tf-grid{display:flex;flex-direction:column;gap:8px;margin-top:16px}.tf-row{display:flex;align-items:center;gap:12px;background:var(--panel2);border:1px solid var(--border);border-radius:12px;padding:10px 14px}.tf-text{flex:1;font-size:14.5px}.tf-buttons{display:flex;gap:6px}.tf-btn{border:1px solid var(--border);background:none;color:var(--muted);font-family:inherit;font-weight:800;font-size:12px;padding:6px 12px;border-radius:8px;cursor:pointer}.tf-btn.on-true{background:#4ade8029;border-color:var(--green);color:var(--green)}.tf-btn.on-false{background:#ff6b6b29;border-color:var(--red);color:var(--red)}.option-cards{display:flex;flex-direction:column;gap:10px;margin:14px 0}.option-card{text-align:left;background:var(--panel2);border:1px solid var(--border);border-radius:12px;padding:14px 16px;cursor:pointer;color:var(--text);font-family:inherit;transition:all .12s}.option-card:hover{border-color:var(--accent)}.option-card.selected{border-color:var(--accent);background:#e8b44c1f;box-shadow:0 0 0 2px #e8b44c40}.option-label{font-weight:800;font-size:12px;letter-spacing:.8px;text-transform:uppercase;color:var(--accent);margin-bottom:4px}.answer-area{margin-top:14px;width:100%;min-height:140px;background:var(--panel2);border:1px solid var(--border);border-radius:12px;color:var(--text);font-size:15px;line-height:1.6;padding:14px 16px;font-family:inherit;resize:vertical;outline:none}.answer-area:focus{border-color:var(--accent);box-shadow:0 0 0 3px #e8b44c2e}.answer-area.essay{min-height:260px}.answer-area.list{min-height:110px}.input-hint{color:var(--muted);font-size:12.5px;margin-top:8px}.word-watch{font-size:12px;color:var(--muted);margin-top:6px}.mark-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;padding:3px 10px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.mark-chip.auto{border-color:#4ade8066;color:var(--green)}.mark-chip.ai{border-color:#60a5fa66;color:var(--blue)}.mark-chip.off{border-color:#e8b44c66;color:var(--amber)}.fb-box{margin-top:12px;border-radius:12px;border:1px solid var(--border);background:var(--panel2);padding:14px 16px;display:flex;flex-direction:column;gap:8px}.fb-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fb-marks{font-size:20px;font-weight:900;color:var(--green)}.fb-marks .outof{color:var(--muted);font-size:14px;font-weight:700}.fb-level{font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px;background:#e8b44c26;color:var(--amber)}.fb-model{font-weight:800;font-size:13px;color:var(--accent);margin-bottom:2px}.fb-col{display:flex;flex-direction:column;gap:4px}.fb-label{font-size:11.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}.fb-text{font-size:14px;line-height:1.55}.model-answer{font-family:var(--font-read);font-size:14px;line-height:1.6;color:#d8d2c8;background:#8b5cf614;border:1px solid rgba(139,92,246,.25);border-radius:10px;padding:12px 14px}.model-answer p{margin-bottom:8px;white-space:pre-wrap}.rubric-bands{display:flex;flex-direction:column;gap:6px}.rubric-band{display:flex;gap:10px;font-size:12.5px;color:var(--muted)}.rubric-band .lvl{flex-shrink:0;width:64px;font-weight:800;color:var(--text)}.rubric-band.me .lvl{color:var(--accent)}.texts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;margin-top:14px}.text-card{background:var(--panel2);border:1px solid var(--border);border-radius:14px;padding:16px;text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:8px;transition:all .15s}.text-card:hover{border-color:var(--accent);transform:translateY(-2px)}.text-card-title{font-weight:800;font-size:15px}.text-card-author{color:var(--muted);font-size:12.5px}.text-card-paper{font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--accent)}.text-card-excerpt{color:var(--muted);font-size:12.5px;font-family:var(--font-read);line-height:1.5}.text-detail-source{font-family:var(--font-read);font-size:15px;line-height:1.7;color:#d8d2c8;white-space:pre-wrap}.text-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.marking-note{display:flex;flex-direction:column;gap:6px;background:#8b5cf614;border:1px solid rgba(139,92,246,.25);border-radius:10px;padding:10px 14px;font-size:13px;color:var(--muted)}.exam-with-source{display:grid;grid-template-columns:1fr 320px;gap:16px;align-items:start}.exam-source-col{position:sticky;top:80px;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 110px);overflow-y:auto}@media (max-width: 1100px){.exam-with-source{grid-template-columns:1fr}.exam-source-col{position:static;max-height:none}}.pace-track{height:6px;background:#ffffff14;border-radius:3px;margin-top:6px;overflow:hidden}.pace-target{position:relative;height:100%;border-radius:3px;transition:width .4s}.kind-chip.on{color:#fff;border-color:var(--accent);background:#e8b44c2e}:root{color-scheme:light;--paper: #f3f0e8;--paper-raised: #fbfaf6;--paper-muted: #e9e6dc;--ink: #161713;--quiet: #65675f;--line: #cbc8bd;--line-strong: #8d8e85;--positive: #237b55;--positive-wash: #dcebe3;--warning: #98670f;--warning-wash: #f0e5c5;--negative: #a33d3d;--negative-wash: #f1dddd;--info: #38678c;--info-wash: #dfe9f1;--bg: var(--paper);--bg2: var(--paper-muted);--panel: var(--paper-raised);--panel2: var(--paper-muted);--border: var(--line);--text: var(--ink);--muted: var(--quiet);--green: var(--positive);--amber: var(--warning);--red: var(--negative);--blue: var(--info);--radius: 2px;--sidebar-bg: rgba(243, 240, 232, .94);--input-bg: #fffefa;--chat-scroll-bg: rgba(251, 250, 246, .72);--overlay: rgba(22, 23, 19, .48);--hover-wash: rgba(22, 23, 19, .035);--on-accent: #ffffff;--on-positive: #ffffff;--status-glow: rgba(35, 123, 85, .12);--desk-pattern: linear-gradient(rgba(22, 23, 19, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(22, 23, 19, .035) 1px, transparent 1px)}:root[data-theme=dark]{color-scheme:dark;--paper: #16140f;--paper-raised: #1d1a14;--paper-muted: #262119;--ink: #ece6df;--quiet: #a79e8e;--line: #2e2921;--line-strong: #5f574c;--positive: #55c193;--positive-wash: rgba(85, 193, 147, .16);--warning: #d9a441;--warning-wash: rgba(217, 164, 65, .16);--negative: #e2685f;--negative-wash: rgba(226, 104, 95, .16);--info: #6fa8d8;--info-wash: rgba(111, 168, 216, .16);--bg: var(--paper);--bg2: var(--paper-muted);--panel: var(--paper-raised);--panel2: var(--paper-muted);--border: var(--line);--text: var(--ink);--muted: var(--quiet);--green: var(--positive);--amber: var(--warning);--red: var(--negative);--blue: var(--info);--sidebar-bg: rgba(22, 20, 15, .94);--input-bg: #221e18;--chat-scroll-bg: rgba(29, 26, 20, .6);--overlay: rgba(0, 0, 0, .55);--hover-wash: rgba(236, 230, 223, .05);--on-accent: #0c0d0a;--on-positive: #0c0d0a;--status-glow: rgba(85, 193, 147, .18);--desk-pattern: linear-gradient(rgba(236, 230, 223, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(236, 230, 223, .04) 1px, transparent 1px)}body{color:var(--ink);background-color:var(--paper);background-image:var(--desk-pattern);background-size:24px 24px;background-attachment:scroll}::selection{color:var(--subject-ink);background:var(--subject-tint)}.paper-type,.paper-meta,.stat-label,.head-chip,.calc-badge,.q-tag,.timer-label,.grade-label,.formula-title,.quiz-q-meta,.source-flag,.text-card-paper,.mark-chip,.fb-label,.option-label,.strand-weight{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.07em}.login-screen{display:grid;place-items:center;min-height:100dvh;padding:24px}.login-card{width:min(440px,100%);border:1px solid var(--line-strong);border-radius:0;background:var(--paper-raised);padding:36px 32px}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.login-letter{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--ink);color:var(--on-accent);background:var(--accent);font-family:var(--font-display);font-size:26px;line-height:1}.login-brand-name{color:var(--ink);font-family:var(--font-display);font-size:20px;font-weight:400;letter-spacing:-.03em}.login-brand-tag{color:var(--quiet);font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.login-card h1{color:var(--ink);font-family:var(--font-display);font-size:36px;font-weight:400;letter-spacing:-.04em}.login-sub{margin:4px 0 0;color:var(--quiet);font-size:13px;line-height:1.55}.login-error{margin-top:16px;padding:12px 14px;border:1px solid var(--negative);border-radius:0;color:var(--negative);background:var(--negative-wash);font-size:13px}.login-field{display:block;margin-top:18px}.login-field span{display:block;margin-bottom:6px;color:var(--quiet);font-family:var(--font-mono);font-size:10px;letter-spacing:.07em;text-transform:uppercase}.login-field input{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:0;color:var(--ink);background:var(--input-bg);font-size:15px}.login-field input:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-color:var(--accent)}.login-submit{width:100%;min-height:46px;margin-top:22px;border:1px solid var(--subject-ink);border-radius:0;color:var(--on-accent);background:var(--accent);font-size:14px;font-weight:800}.login-submit:hover:not(:disabled){border-color:var(--subject-ink);background:var(--accent);transform:translateY(-1px)}.login-submit:disabled{opacity:.55}.login-oauth{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;margin-top:14px;border:1px solid var(--line-strong);border-radius:0;color:var(--ink);background:var(--paper-raised);font-size:13px;font-weight:700;text-decoration:none}.login-oauth:hover{border-color:var(--ink);background:var(--paper-muted)}.login-switch{display:block;margin:16px auto 0;padding:6px 12px;border:0;background:transparent;color:var(--accent-strong);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.login-switch:hover{color:var(--accent)}.login-switch:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.login-local{margin-top:14px;color:var(--quiet);font-family:var(--font-mono);font-size:9px;letter-spacing:.05em;text-align:center;text-transform:uppercase}.login-loading{display:grid;place-items:center;min-height:100dvh;padding:24px}.loading-mark{display:grid;place-items:center;width:54px;height:54px;border:1px solid var(--ink);color:var(--on-accent);background:var(--accent);font-family:var(--font-display);font-size:30px}.login-loading-text{margin-top:14px;color:var(--quiet);font-size:13px}.page{max-width:1260px}.page-head{align-items:end;padding-bottom:26px;border-bottom:1px solid var(--ink)}h1,.page-head h1{color:var(--ink);font-family:var(--font-display);font-size:clamp(42px,5vw,70px);font-weight:400;line-height:.98;letter-spacing:-.05em}h2,.panel h2,.strand-head h2{color:var(--ink);font-family:var(--font-display);font-weight:400;letter-spacing:-.025em}.sub{color:var(--quiet)}.head-chip{min-height:34px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:0;color:var(--ink);background:var(--paper-raised);font-size:9px}.dot-live{background:var(--positive);box-shadow:0 0 0 3px var(--status-glow)}.panel,.stat-card,.paper-card,.weak-card,.topic-card,.res-card,.quiz-q,.q-card,.chat-box,.strand-panel,.text-card,.fb-box,.source-panel,.option-card,.formula-card,.example-card,.review,.modal{border-color:var(--line-strong);border-radius:0;background:var(--paper-raised);box-shadow:none}.panel{padding:28px}.panel>h2:first-child{font-size:27px}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(176px,1fr));gap:10px}.stat-card{display:flex;flex-direction:column;gap:12px;min-height:112px;padding:18px 20px;border:1px solid var(--line-strong);border-radius:0;background:var(--panel);box-shadow:none}.stat-num{color:var(--subject-ink);font-family:var(--font-display);font-size:38px;font-weight:400;line-height:.9;font-variant-numeric:tabular-nums}.stat-label{color:var(--quiet);font-size:9px;line-height:1.6}.stat-card.good{background:var(--positive-wash)}.stat-card.good .stat-num,.stat-card.good .stat-label{color:var(--positive)}.stat-card.warn{background:var(--negative-wash)}.stat-card.warn .stat-num,.stat-card.warn .stat-label{color:var(--negative)}.paper-card{position:relative;overflow:hidden}.paper-card:hover,.topic-card:hover,.res-card:hover,.text-card:hover,.option-card:hover{border-color:var(--ink);box-shadow:none;transform:translateY(-2px)}.paper-card.pick,.paper-card.full,.paper-card.short{border-color:var(--line-strong);background:var(--paper-raised)}.paper-card.pick:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--accent)}.paper-card.pick.noncalc:before{background:var(--negative)}.paper-desc{color:var(--quiet)}.paper-type{color:var(--subject-ink);font-size:10px}.calc-badge,.q-tag,.acc-pill,.mark-chip,.model-chip,.pace-badge{border-radius:999px;font-weight:800}.calc-badge.yes,.calc-badge.no{color:var(--subject-ink);background:var(--accent-wash)}.btn{min-height:42px;border-color:var(--line-strong);border-radius:0;color:var(--ink);background:var(--paper-raised);box-shadow:none}.btn:hover:not(:disabled){border-color:var(--ink);color:var(--ink);background:var(--paper-muted);box-shadow:none;transform:translateY(-1px)}.btn-primary,.btn-primary:hover:not(:disabled){border-color:var(--subject-ink);color:var(--on-accent);background:var(--accent)}.btn-finish{border-color:var(--positive);color:var(--on-positive);background:var(--positive)}.btn-submit{border-color:var(--negative);color:var(--negative);background:var(--negative-wash)}.btn:disabled{opacity:.48}.link{color:var(--accent-strong)}.link-button{border:0;background:transparent;font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:3px solid var(--accent);outline-offset:3px;box-shadow:none}.adhoc-cta{border-color:var(--subject-ink);border-radius:0;background:var(--subject-tint)}.adhoc-cta-title{color:var(--subject-ink);font-family:var(--font-display);font-size:21px;font-weight:400}.suggest-chip,.strand-chip,.kind-chip{border-color:var(--line-strong);border-radius:999px;color:var(--ink);background:var(--paper-raised)}.suggest-chip:hover,.strand-chip:hover,.kind-chip:hover{border-color:var(--accent);background:var(--accent-wash)}.suggest-chip.source.on,.kind-chip.on{border-color:var(--subject-ink);color:var(--subject-ink);background:var(--subject-tint)}.mastery-bar,.bar,.chart-bar-wrap{background-color:var(--paper-muted)}.chart-bar.ok{background:var(--positive)}.chart-bar.bad{background:var(--negative)}.chart-pct,.mastery-pct{color:var(--quiet)}.empty{border-left:3px solid var(--line-strong);color:var(--quiet)}.loading{color:var(--quiet)}.loading:before{border-color:var(--line);border-top-color:var(--accent)}.skeleton{background:linear-gradient(90deg,var(--paper-muted) 25%,var(--paper-raised) 50%,var(--paper-muted) 75%)}.error-banner{border-color:var(--negative);border-radius:0;color:var(--negative);background:var(--negative-wash)}.exam{color:var(--ink);background:var(--paper)}.exam-bar{border-color:var(--ink);background:var(--sidebar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.exam-title{color:var(--ink)}.exam-paper{color:var(--quiet)}.timer{border-color:var(--line-strong);border-radius:0;background:var(--paper-raised)}.timer-label{color:var(--quiet);font-size:8px}.timer-value{color:var(--ink)}.timer.ahead .timer-value{color:var(--positive)}.timer.behind .timer-value,.timer.big.low .timer-value{color:var(--negative)}.q-nav{border-color:var(--line-strong);background:var(--paper-raised)}.q-dot{border-color:var(--line-strong);border-radius:0;color:var(--quiet);background:transparent}.q-dot:hover{border-color:var(--ink);background:var(--paper-muted)}.q-dot.current{border-color:var(--subject-ink);color:var(--on-accent);background:var(--accent);box-shadow:none}.q-dot.done{border-color:var(--positive);color:var(--positive);background:var(--positive-wash)}.dot.done{background:var(--positive)}.q-card{border-top:4px solid var(--accent)}.q-tag{color:var(--quiet);background:var(--paper-muted)}.q-tag.marks{color:var(--positive);background:var(--positive-wash)}.q-tag.stretch{color:var(--negative);background:var(--negative-wash)}.q-text{color:var(--ink)}.choice,.answer-input,.chat-input,.answer-area,.tf-btn{border-color:var(--line-strong);border-radius:0;color:var(--ink);background:var(--input-bg)}.choice:hover{border-color:var(--accent);background:var(--accent-wash)}.choice.selected{border-color:var(--subject-ink);background:var(--subject-tint);box-shadow:none}.choice-letter{color:var(--quiet);background:var(--paper-muted)}.choice.selected .choice-letter{color:var(--on-accent);background:var(--accent)}.answer-input:focus,.chat-input:focus,.answer-area:focus{border-color:var(--accent);box-shadow:none}.modal-back{background:var(--overlay)}.modal{color:var(--ink)}.result-hero{border-color:var(--ink);background:var(--paper-raised)}.grade-badge{border:1px solid currentColor;border-radius:0}.grade-badge.great{color:var(--positive);background:var(--positive-wash)}.grade-badge.ok{color:var(--warning);background:var(--warning-wash)}.grade-badge.bad,.grade-badge.u{color:var(--negative);background:var(--negative-wash)}.grade-num,.score-num{font-family:var(--font-display);font-weight:400}.score-pct{color:var(--positive)}.bound-table th{color:var(--quiet)}.bound-table th,.bound-table td{border-color:var(--line)}.bound-table tr.me td{color:var(--subject-ink);background:var(--subject-tint)}.bar-fill{background:var(--accent)}.weak-card{border-left:4px solid var(--negative)}.weak-pct{color:var(--negative)}.weak-link{color:var(--accent-strong)}.review.right{border-color:var(--positive);background:var(--positive-wash)}.review.wrong{border-color:var(--negative);background:var(--negative-wash)}.review.pending{border-color:var(--warning);background:var(--warning-wash)}.review-head:hover{background:var(--hover-wash)}.review-you{color:var(--quiet)}.review-answer{color:var(--ink)}.review-sol{border-color:var(--line-strong);background:var(--paper-muted)}.strand-panel{overflow:hidden}.strand-head{color:var(--ink);background:var(--paper-raised)}.strand-head:hover{background:var(--paper-muted)}.strand-blurb,.topic-blurb,.res-why{color:var(--quiet)}.strand-weight{color:var(--subject-ink);background:var(--accent-wash)}.topic-card{border-top:3px solid var(--accent)}.topic-name,.res-name{color:var(--ink)}.topic-go{color:var(--accent-strong)}.acc-pill.good{color:var(--positive);background:var(--positive-wash)}.acc-pill.mid{color:var(--warning);background:var(--warning-wash)}.acc-pill.low{color:var(--negative);background:var(--negative-wash)}.acc-pill.new{color:var(--quiet);background:var(--paper-muted)}.back-link{color:var(--quiet)}.back-link:hover{color:var(--ink)}.topic-page .notes{border-color:var(--line-strong);background:var(--paper-raised)}.note-p,.note-bullets{color:var(--ink)}.formula-card{border-left:4px solid var(--accent);background:var(--accent-wash)}.formula-title{color:var(--subject-ink)}.formula-body{color:var(--ink)}.example-card{border-left:4px solid var(--positive);background:var(--positive-wash)}.example-a{color:var(--positive)}.quiz-q.right,.quiz-done{border-color:var(--positive);background:var(--positive-wash)}.quiz-q.wrong{border-color:var(--negative);background:var(--negative-wash)}.hint-inline{border-color:var(--warning);color:var(--warning);background:var(--warning-wash)}.study-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.mission-card{border-left:6px solid var(--accent)}.readiness-number{margin:8px 0;color:var(--subject-ink);font-family:var(--font-display);font-size:clamp(30px,5vw,48px)}.study-actions,.plan-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.plan-head input{min-height:42px;padding:8px;border:1px solid var(--line-strong);color:var(--ink);background:var(--input-bg)}.pass-toggle{display:flex;align-items:center;gap:10px;margin:14px 0;padding:12px;border:1px solid var(--subject-ink);background:var(--subject-tint)}.pass-toggle span,.pass-toggle small{display:block}.pass-toggle small{margin-top:3px;color:var(--quiet)}.week-plan{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line-strong)}.week-plan a{min-width:0;padding:10px;border-right:1px solid var(--line);color:var(--ink);text-decoration:none}.week-plan a:last-child{border:0}.week-plan b,.week-plan span{display:block;overflow:hidden;text-overflow:ellipsis}.week-plan b{margin-bottom:5px;color:var(--subject-ink);font-size:10px;text-transform:uppercase}.week-plan span{font-size:11px}.week-plan small{display:block;margin-top:4px;color:var(--positive);font-size:10px;font-weight:800}.week-plan a.done{background:var(--positive-wash)}.week-plan a.done b{color:var(--positive)}.week-plan .locked{display:block;min-width:0;padding:10px;border-right:1px solid var(--line);color:var(--quiet)}.week-plan .locked:last-child{border:0}.week-plan .locked b{color:var(--quiet)}.week-plan .locked small{color:var(--quiet);font-weight:600}.week-plan .past{display:block;min-width:0;padding:10px;border-right:1px solid var(--line);color:var(--quiet);opacity:.62}.week-plan .past:last-child{border:0}.week-plan .past b{color:var(--quiet)}.week-plan .past span{text-decoration:line-through;text-decoration-color:var(--line-strong)}.week-plan .past small{color:var(--quiet);font-weight:600}.week-track{display:flex;gap:4px;margin-top:10px}.week-track i{flex:1;height:6px;border-radius:999px;background:var(--line)}.week-track i.done{background:var(--positive)}.week-track i.today{background:var(--subject-ink)}.mission-card.mission-done{border-left-color:var(--positive)}.plan-note{margin-top:10px;color:var(--quiet);font-size:11px}.notebook-list{margin-top:22px}.notebook-row{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.notebook-row:last-child{border:0}.notebook-row h3{margin:8px 0 4px}.notebook-row p{max-width:760px}.due-chip{padding:3px 6px;border:1px solid var(--line-strong);color:var(--quiet);font-size:9px;text-transform:uppercase}.due-chip.due{border-color:var(--negative);color:var(--negative);background:var(--negative-wash)}.progressive-hints{display:grid;gap:8px;margin-top:12px}.progressive-hints .hint-inline{width:fit-content;padding:9px 11px}.resubmit-box{margin-top:12px;padding-top:12px;border-top:1px solid var(--line-strong)}.mark-delta{color:var(--positive);font-weight:800}.expertise-path{position:relative;display:grid;gap:22px;overflow:hidden;border-left:6px solid var(--accent)}.expertise-path:after{position:absolute;top:-48px;right:-42px;width:180px;height:180px;border:1px solid var(--line);border-radius:50%;content:"";pointer-events:none}.expertise-head,.expertise-progress-copy,.expertise-actions,.reward-summary>div:first-child,.reward-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.expertise-head{position:relative;z-index:1;align-items:start}.eyebrow,.reward-summary-label,.lesson-stamp{color:var(--quiet);font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.expertise-head h2{margin:4px 0 3px;font-size:clamp(30px,4vw,46px)}.expertise-seal,.reward-stamp{display:grid;flex:0 0 auto;place-items:center;width:82px;height:82px;border:2px solid var(--accent);border-radius:50%;color:var(--subject-ink);background:var(--accent-wash);outline:1px dashed var(--accent);outline-offset:-7px}.expertise-seal span,.reward-stamp span{font-size:8px;font-weight:800;letter-spacing:.14em}.expertise-seal strong,.reward-stamp strong{font-family:var(--font-display);font-size:32px;font-weight:400;line-height:.9}.expertise-progress{display:grid;gap:8px}.expertise-progress-copy{color:var(--quiet);font-size:11px}.expertise-progress-copy span:first-child{color:var(--ink);font-weight:700}.expertise-track{height:10px;overflow:hidden;border:1px solid var(--line-strong);background:var(--paper-muted)}.expertise-track span{display:block;height:100%;background:var(--accent);transition:width .5s ease}.expertise-actions{justify-content:flex-start}.badge-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid var(--line-strong);background:var(--line-strong)}.expertise-badge{display:flex;align-items:center;min-width:0;min-height:72px;gap:12px;padding:12px;background:var(--paper-raised)}.expertise-badge.locked{color:var(--quiet);background:var(--paper-muted)}.expertise-badge.unlocked{color:var(--ink)}.expertise-badge-number{display:grid;flex:0 0 auto;place-items:center;width:42px;height:42px;border:1px solid var(--line-strong);color:var(--quiet);font-family:var(--font-display);font-size:19px}.expertise-badge.unlocked .expertise-badge-number{border-color:var(--accent);color:var(--subject-ink);background:var(--accent-wash)}.expertise-badge strong,.expertise-badge small{display:block}.expertise-badge strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.expertise-badge small{margin-top:3px;color:var(--quiet);font-size:9px}.lesson-stamp{display:inline-flex;align-items:center;width:fit-content;margin-top:9px;padding:5px 7px;border:1px solid var(--positive);color:var(--positive);background:var(--positive-wash)}.topic-card .lesson-stamp{margin-top:12px}.reward-summary{display:grid;gap:5px;padding:14px 16px;border:1px solid var(--positive);color:var(--ink);background:var(--positive-wash)}.reward-xp{color:var(--positive);font-family:var(--font-display);font-size:25px;font-weight:400}.reward-summary-detail,.reward-summary-rank{color:var(--quiet);font-size:10px}.reward-summary-rank{color:var(--ink);font-weight:700}.quiz-done .reward-summary{flex:1 1 280px}.reward-backdrop{position:fixed;z-index:220;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow-y:auto;padding:24px;background:var(--overlay)}.reward-dialog{position:relative;display:grid;width:min(100%,540px);max-height:calc(100dvh - 48px);overflow-y:auto;gap:16px;padding:34px;border:1px solid var(--ink);color:var(--ink);background:var(--paper-raised);animation:reward-rise .22s ease-out}.reward-dialog h2{margin:-8px 0 0;font-size:clamp(32px,7vw,48px)}.reward-dialog>p{margin:0;color:var(--quiet);line-height:1.65}.reward-dialog .reward-stamp{margin-bottom:5px;animation:reward-stamp-in .42s ease-out}.reward-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line-strong);color:var(--ink);background:var(--paper-raised);cursor:pointer;font:inherit}.reward-close:hover{border-color:var(--ink);background:var(--paper-muted)}.reward-dialog-actions{justify-content:flex-start;flex-wrap:wrap}@keyframes reward-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes reward-stamp-in{0%{opacity:0;transform:rotate(-8deg) scale(.82)}to{opacity:1;transform:rotate(0) scale(1)}}.chat-box{border-color:var(--ink)}.chat-scroll{background:var(--chat-scroll-bg)}.msg-avatar{border:1px solid var(--line-strong);background:var(--paper-muted)}.msg-body{border-color:var(--line-strong);border-radius:0;color:var(--ink);background:var(--paper-raised)}.msg.user .msg-body{border-color:var(--subject-ink);color:var(--subject-ink);background:var(--subject-tint)}.msg-model{color:var(--quiet)}.model-chip{color:var(--subject-ink);background:var(--accent-wash)}.typing .dot{background:var(--quiet)}.chat-suggest,.chat-input-row{border-color:var(--line-strong);background:var(--paper-raised)}@media (max-width: 760px){html,body,#root{min-height:100%;height:auto}.page-head{align-items:start;gap:14px}h1,.page-head h1{font-size:clamp(30px,8.5vw,40px)}.panel{padding:20px 16px}.chat-box{height:calc(100dvh - 252px);min-height:420px}.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.papers-grid.two{grid-template-columns:1fr}.paper-actions,.q-actions,.adhoc-cta,.adhoc-row{align-items:stretch}.paper-actions .btn,.q-actions .btn{flex:1}.topic-grid,.weak-grid,.texts-grid,.res-grid{grid-template-columns:minmax(0,1fr)}.q-nav{grid-template-columns:repeat(auto-fit,minmax(42px,1fr))}.exam-timers,.source-tabs,.tf-row{flex-wrap:wrap}.chat-box{height:calc(100dvh - 190px);min-height:500px}.review-body{padding-left:18px}.expertise-path{gap:18px}.expertise-path:after{display:none}.expertise-head{align-items:center}.expertise-seal{width:68px;height:68px}.expertise-seal strong{font-size:27px}.expertise-actions,.reward-dialog-actions{align-items:stretch;flex-direction:column}.expertise-actions .btn,.reward-dialog-actions .btn{width:100%}.badge-collection{grid-template-columns:minmax(0,1fr)}.reward-backdrop{align-items:end;padding:12px}.reward-dialog{max-height:calc(100dvh - 24px);padding:28px 20px 20px}.study-grid{grid-template-columns:1fr}.study-grid .plan-card{grid-column:auto}.week-plan{grid-template-columns:1fr}.week-plan a{border-right:0;border-bottom:1px solid var(--line)}.notebook-row{align-items:stretch;flex-direction:column}}@media print{.no-print{display:none!important}.page{max-width:none}.weekly-summary{color:#000}.weekly-summary .panel,.weekly-summary .stat-card{background:#fff}}@media (max-width: 420px){.stat-num{font-size:32px}.stat-card{min-height:104px;padding:14px 16px}.head-chip{align-self:stretch;justify-content:center}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto!important}*,*:before,*:after{transition:none!important;animation-duration:.01ms!important}}.evidence-strip{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.evidence-chip{flex:1 1 160px;display:flex;align-items:baseline;gap:10px;border:1px solid var(--line);background:var(--panel);padding:12px 14px;text-decoration:none;color:var(--ink);min-width:0}.evidence-chip b{font-size:22px}.evidence-chip span{font-size:11px;color:var(--muted)}.evidence-chip.due{border-color:var(--negative);background:var(--negative-wash)}.evidence-chip.due b,.evidence-chip.due span{color:var(--negative)}.evidence-chip.mastered{border-color:var(--positive)}.evidence-chip:hover{border-color:var(--line-strong)}.notebook-main{display:flex;align-items:flex-start;gap:14px;width:100%;background:none;border:0;padding:0;margin:0;text-align:left;color:inherit;font:inherit;cursor:pointer}.notebook-main .chev{margin-left:auto;color:var(--muted)}.notebook-title{min-width:0}.notebook-title h3{margin:0 0 4px}.notebook-title p{margin:0 0 4px;max-width:720px}.notebook-row.open{border-bottom:0}.notebook-row.mastered{opacity:.72}.notebook-row.mastered .notebook-main{cursor:default}.notebook-insight{margin-top:-6px}.notebook-body{padding:14px 0 18px;border-bottom:1px solid var(--line)}.notebook-row.open{padding-bottom:0}.mistake-detail{display:grid;gap:12px}.mistake-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.mistake-facts div{border:1px solid var(--line);padding:8px 10px;background:var(--panel2)}.mistake-facts small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.mistake-facts span{font-size:13px}.mistake-answer,.mistake-solution{border:1px solid var(--line);border-left:3px solid var(--subject-ink, var(--ink));padding:10px 12px;background:var(--panel2)}.mistake-answer small,.mistake-solution small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.mistake-answer p{margin:0}.mistake-solution .sol-step{font-size:13px}.classify-row{display:grid;gap:6px}.classify-row>small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.classify-row .chip-row{flex-wrap:wrap}.classify-row .suggest-chip{font-size:10px}.triage-panel .bar-fill.lost{background:var(--negative)}.triage-lost{display:grid;gap:8px;margin:10px 0 14px}.attempts-table small,.evidence-table td small{display:block;color:var(--muted)}.attempts-table td,.evidence-table td{vertical-align:top}.onboarding-card{border-left:3px solid var(--subject-ink, var(--accent))}.onboarding-control{margin:12px 0}.onboarding-control input[type=date]{max-width:220px}.editorial-note{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;border:1px solid var(--line);border-left:3px solid var(--line-strong);background:var(--panel2);color:var(--muted);font-size:11px;padding:8px 12px;margin-bottom:16px}.editorial-note a{color:var(--info)}.evidence-signature{border-top:1px dashed var(--line-strong);margin-top:14px;padding-top:10px;color:var(--muted);font-size:12px}@media (max-width: 760px){.evidence-chip{flex:1 1 100%}.mistake-facts{grid-template-columns:1fr 1fr}}:root{--focus-ring: var(--subject-ink, var(--accent, #6849e8));--touch-min: 44px}.skip-link{position:absolute;left:16px;top:-56px;z-index:200;padding:10px 16px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;transition:top .16s ease}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.btn,.suggest-chip{min-height:var(--touch-min)}.nextstep-card{border-left:5px solid var(--subject-ink, var(--accent, #6849e8));margin-bottom:12px}.nextstep-main{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(200px,.6fr);gap:24px;align-items:start}.nextstep-main h2{margin:6px 0 8px}.nextstep-facts{display:grid;gap:0;margin:0;border:1px solid var(--line);background:var(--panel2)}.nextstep-facts div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 12px}.nextstep-facts div+div{border-top:1px solid var(--line)}.nextstep-facts dt{font-family:var(--font-mono);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.nextstep-facts dd{margin:0;font-weight:750;font-size:14px}.nextstep-weak{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.nextstep-weak ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.nextstep-weak-link{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 12px;border:1px solid var(--line);background:var(--panel2);text-decoration:none;color:var(--ink)}.nextstep-weak-link:hover{border-color:var(--ink)}.nextstep-weak-name{font-weight:650}.strength{flex:0 0 auto;font-family:var(--font-mono);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border:1px solid var(--line-strong);border-radius:999px}.strength-good{color:var(--positive);border-color:var(--positive);background:var(--positive-wash)}.strength-mid{color:var(--warning);border-color:var(--warning);background:var(--warning-wash)}.strength-low{color:var(--negative);border-color:var(--negative);background:var(--negative-wash)}.strength-quiet{color:var(--muted)}.palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:var(--overlay);display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px}.palette{width:min(560px,100%);border:1px solid var(--ink);background:var(--panel)}.palette-head{display:flex;gap:8px;padding:10px;border-bottom:1px solid var(--line-strong)}.palette-head input{flex:1;min-height:var(--touch-min);border:1px solid var(--line-strong);background:var(--input-bg);color:var(--ink);padding:0 12px;font-size:15px}.palette-esc{flex:0 0 auto;min-height:var(--touch-min);padding:0 12px;border:1px solid var(--line-strong);background:var(--panel2);color:var(--muted);font-family:var(--font-mono);font-size:10px;font-weight:800;cursor:pointer}.palette-count{margin:0;padding:8px 14px;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line)}.palette-list{list-style:none;margin:0;padding:8px;display:grid;gap:4px;max-height:320px;overflow:auto}.palette-item{display:flex;justify-content:space-between;align-items:baseline;gap:12px;width:100%;min-height:var(--touch-min);padding:8px 10px;border:1px solid transparent;background:transparent;color:var(--ink);text-align:left;cursor:pointer;font-size:14px}.palette-item:hover{border-color:var(--line-strong)}.palette-item.active{border-color:var(--subject-ink, var(--ink));background:var(--subject-tint, var(--panel2))}.palette-item-label{font-weight:650}.palette-item-meta{color:var(--muted);font-size:12px}@media (max-width: 760px){.nextstep-main{grid-template-columns:1fr}.nextstep-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.nextstep-facts div{flex-direction:column;align-items:flex-start;gap:2px}.nextstep-facts div+div{border-top:0;border-left:1px solid var(--line)}}@media (max-width: 420px){.nextstep-facts{grid-template-columns:1fr}.nextstep-facts div+div{border-left:0;border-top:1px solid var(--line)}}@media (prefers-reduced-motion: reduce){.skip-link{transition:none}.palette-backdrop{padding-top:8vh}}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-10: 42px;--space-12: 48px;--dur-fast: .12s;--dur-med: .18s;--dur-slow: .32s;--ease-out: cubic-bezier(.2, .7, .2, 1);--z-tabs: 100;--z-modal: 220;--z-palette: 300}*,*:before,*:after{box-sizing:border-box}body{margin:0;line-height:1.5;-webkit-font-smoothing:antialiased}.page{max-width:1260px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px}.sub{color:var(--muted, var(--quiet));font-size:14px}.sub.small{font-size:12.5px;margin-top:10px}.section-label{display:flex;align-items:baseline;gap:10px;margin:8px 0 0;color:var(--quiet);font-family:var(--font-mono);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.section-label:after{content:"";flex:1;border-top:1px solid var(--line);transform:translateY(-3px)}.section-label .section-num{color:var(--subject-ink, var(--ink))}.page-head .exam-countdown{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:6px 10px;border:1px solid var(--line-strong);background:var(--panel);font-family:var(--font-mono);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.exam-countdown.urgent{border-color:var(--negative);color:var(--negative);background:var(--negative-wash)}.exam-countdown.soon{border-color:var(--warning);color:var(--warning);background:var(--warning-wash)}.exam-countdown.settled{border-color:var(--positive);color:var(--positive);background:var(--positive-wash)}.stat-card .stat-cap{color:var(--quiet);font-size:11px;line-height:1.5}.stat-card .stat-trend{font-family:var(--font-mono);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.stat-card .stat-trend.up{color:var(--positive)}.stat-card .stat-trend.down{color:var(--negative)}.stat-card .stat-trend.flat{color:var(--quiet)}.skeleton-block{border:1px solid var(--line);background:var(--panel2);min-height:120px;position:relative;overflow:hidden}.skeleton-block:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 20%,var(--paper-raised) 50%,transparent 80%);animation:desk-shimmer 1.4s var(--ease-out) infinite}@keyframes desk-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.empty-state{display:grid;gap:8px;justify-items:start;padding:22px;border:1px dashed var(--line-strong);background:var(--panel)}.empty-state:before{content:"";width:44px;height:34px;border:1px solid var(--line-strong);background-image:repeating-linear-gradient(to bottom,transparent 0 7px,var(--line) 7px 8px);background-color:var(--panel2)}.empty-state h3{margin:0;font-family:var(--font-display);font-weight:400;font-size:19px;letter-spacing:-.02em}.empty-state p{margin:0;color:var(--quiet);font-size:13px;max-width:60ch}.mastery-leader{display:grid;gap:0;border:1px solid var(--line);background:var(--panel2)}.mastery-leader-row{display:grid;grid-template-columns:minmax(140px,200px) 1fr auto auto;gap:12px;align-items:center;padding:12px 14px}.mastery-leader-row+.mastery-leader-row{border-top:1px solid var(--line)}.mastery-leader-row:hover{background:var(--hover-wash)}.mastery-leader-name{font-size:13.5px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mastery-leader-bar{height:8px;background:var(--paper-muted);border:1px solid var(--line);overflow:hidden}.mastery-leader-bar>i{display:block;height:100%;background:var(--accent);transition:width var(--dur-slow) var(--ease-out)}.mastery-leader-pct{min-width:52px;text-align:right;font-variant-numeric:tabular-nums;font-weight:800;font-size:13px}.mastery-leader-cta{font-size:12px;font-weight:800;color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.paper-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.paper-actions{display:flex;gap:10px;margin-top:auto;flex-wrap:wrap}.paper-meta-line{color:var(--quiet);font-size:12px;margin-top:6px}.autosave-note{color:var(--quiet);font-size:11px;font-family:var(--font-mono);letter-spacing:.04em}.exam-progress-line{display:flex;gap:10px;align-items:baseline;color:var(--quiet);font-size:12px}.exam-progress-line strong{color:var(--ink);font-variant-numeric:tabular-nums}.nextstep-top{display:flex;gap:16px;align-items:flex-start}.nextstep-facts{margin-top:16px}.nextstep-ring{flex:0 0 auto;width:64px;height:64px}.nextstep-ring svg{display:block;width:100%;height:100%}.nextstep-ring .ring-bg{stroke:var(--paper-muted)}.nextstep-ring .ring-fg{stroke:var(--accent);transition:stroke-dashoffset var(--dur-slow) var(--ease-out)}.nextstep-cta-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.nextstep-kbd{font-family:var(--font-mono);font-size:10px;border:1px solid var(--line-strong);padding:2px 6px;color:var(--quiet)}.nextstep-card.tone-urgent{border-left-color:var(--negative)}.nextstep-card.tone-focus{border-left-color:var(--warning)}.nextstep-card.tone-start{border-left-color:var(--accent)}.nextstep-card.tone-steady{border-left-color:var(--positive)}.palette-group{margin:0;padding:6px 14px 2px;color:var(--muted);font-family:var(--font-mono);font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.palette-foot{display:flex;gap:12px;padding:8px 14px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.palette-foot kbd{border:1px solid var(--line-strong);padding:0 5px;font-family:var(--font-mono);font-size:10px}.login-passwrap{position:relative}.login-passwrap input{width:100%;padding-right:64px}.login-show{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:36px;padding:0 10px;border:1px solid var(--line-strong);background:var(--panel2);color:var(--quiet);font-family:var(--font-mono);font-size:10px;font-weight:800;cursor:pointer}.login-trust{display:flex;gap:8px;align-items:center;margin-top:16px;color:var(--quiet);font-size:12px}.login-trust:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--positive);box-shadow:0 0 0 3px var(--status-glow);flex:0 0 auto}.continue-strip{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--subject-ink, var(--line-strong));background:var(--subject-tint, var(--panel2));color:var(--subject-ink, var(--ink))}.continue-strip strong{font-size:14px}.continue-strip span{display:block;font-size:12px;opacity:.85}@media print{.nextstep-card,.continue-strip{break-inside:avoid}}@media (max-width: 900px) and (min-width: 761px){.mastery-leader-row{grid-template-columns:minmax(120px,1fr) 1fr auto}.mastery-leader-cta{display:none}}@media (max-width: 760px){.mastery-leader-row{grid-template-columns:1fr auto}.mastery-leader-bar{grid-column:1 / -1;order:3}.mastery-leader-cta{display:none}.nextstep-top{flex-direction:column}.nextstep-ring{width:52px;height:52px}}@media (prefers-reduced-motion: reduce){.skeleton-block:after{animation:none}.mastery-leader-bar>i,.nextstep-ring .ring-fg{transition:none}}.fixup-row{margin-bottom:14px}.memri-card{border-left:5px solid var(--positive)}.classify-row{margin-top:12px}.correction-row{display:grid;gap:6px;margin-top:12px}.correction-row small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.correction-input{width:100%;min-height:64px;resize:vertical}.plan-flex{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-end;margin:14px 0;padding:12px 14px;border:1px solid var(--line);background:var(--panel2)}.plan-rest{display:grid;gap:6px}.plan-rest .chip-row{display:flex;gap:6px}.plan-rest .suggest-chip{min-width:40px;min-height:40px;padding:0 8px}.plan-minutes{display:grid;gap:6px}.minutes-stepper strong{font-variant-numeric:tabular-nums;font-size:15px;min-width:64px;text-align:center}.week-plan .rest-day{display:block;min-width:0;padding:10px;border-right:1px solid var(--line);color:var(--quiet);background:var(--panel2)}.week-plan .rest-day:last-child{border-right:0}.week-plan .rest-day b{display:block;margin-bottom:5px;font-size:10px;text-transform:uppercase}.week-plan .rest-day span{font-size:11px;font-style:italic}.week-plan .rest-day small{display:block;margin-top:4px;font-size:10px;font-weight:600}.move-target{min-width:0;padding:10px;border:1px dashed var(--subject-ink, var(--ink));border-right:1px solid var(--line);background:var(--subject-tint, var(--panel2));color:inherit;font:inherit;text-align:left;cursor:pointer}.move-target b,.move-target span{display:block;overflow:hidden;text-overflow:ellipsis}.move-target b{margin-bottom:5px;font-size:10px;text-transform:uppercase}.move-target span{font-size:11px}.move-target small{display:block;margin-top:4px;font-size:10px;font-weight:800}.share-card{text-align:left}.share-card h3{margin:14px 0 4px;font-family:var(--font-display);font-weight:400;font-size:30px;letter-spacing:-.03em}.share-proof{font-weight:700;font-size:14px}.read-aloud.on{border-color:var(--subject-ink);color:var(--subject-ink);background:var(--subject-tint)}.freeze-note{color:var(--positive);font-weight:700}@media (max-width: 760px){.plan-flex{flex-direction:column;align-items:stretch}.week-plan .rest-day{border-right:0;border-bottom:1px solid var(--line)}.week-plan .rest-day:last-child{border-bottom:0}}.formula-body,.answer-input,.timer-value,.q-num,.score-num{font-variant-numeric:tabular-nums}.paper-card.pick.calc:before{background:var(--accent)}.q-card{position:relative}.q-card:after{content:none}.graph-stimulus{margin:18px 0;padding:14px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--c-surface-2)}.graph-stimulus figcaption{margin-bottom:8px;color:var(--quiet);font-family:var(--font-mono);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.graph-stimulus svg{display:block;width:100%;height:auto;max-height:430px}.graph-paper{fill:var(--paper);stroke:var(--line-strong)}.graph-grid{stroke:var(--line);stroke-width:1}.graph-axis{stroke:var(--ink);stroke-width:1.7}.graph-label,.graph-axis-title{fill:var(--quiet);font-size:11px;font-family:var(--font-mono)}.graph-axis-title{fill:var(--ink);font-weight:700}.graph-series{fill:none;stroke:var(--accent);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.histogram-bar{fill:var(--accent-wash);stroke:var(--accent);stroke-width:2}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.maths-visual{width:min(100%,650px);margin:18px 0 4px;overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);transition:width .2s,box-shadow .2s}.maths-visual.expanded{width:100%;box-shadow:0 16px 42px #16171329}:root[data-theme=dark] .maths-visual.expanded{box-shadow:0 16px 42px #00000057}.maths-visual.compact{width:min(100%,520px)}.visual-stage{min-height:230px;display:grid;place-items:center;overflow-x:auto;padding:10px 14px 2px;background-color:var(--paper-muted);background-image:var(--desk-pattern);background-size:24px 24px}.maths-visual svg{display:block;width:100%;max-height:300px;overflow:visible}.maths-visual figcaption{min-height:43px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:7px 10px 7px 14px;background:var(--paper-raised)}.visual-readout{margin-right:auto;color:var(--positive);font-size:12px;font-weight:750}.visual-controls{display:flex;gap:6px}.visual-control{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-muted);color:var(--quiet);font:700 11px/1 inherit;padding:7px 10px;cursor:pointer}.visual-control:hover,.visual-control.on{color:var(--ink);border-color:var(--accent);background:var(--accent-wash)}.visual-grid{stroke:var(--line);stroke-width:1}.visual-axis,.number-axis{stroke:var(--line-strong);stroke-width:1.6}.visual-axis.emphasis{stroke:var(--warning);stroke-width:3}.visual-tick{fill:var(--quiet);font-size:10px;text-anchor:middle}.visual-line,.visual-vector{stroke:var(--positive);stroke-width:3;fill:none}.visual-line.best-fit{stroke:var(--accent2)}.visual-query{stroke:var(--warning);stroke-width:2;stroke-dasharray:5 5}.visual-vector{stroke:var(--info);stroke-dasharray:7 4}.visual-vector-head{fill:var(--info)}.visual-point{cursor:pointer;outline:none}.visual-point circle{fill:var(--accent);stroke:var(--paper-raised);stroke-width:2;transition:r .12s,fill .12s}.visual-point:hover circle,.visual-point:focus circle,.visual-point.active circle{r:9px;fill:var(--warning)}.visual-point text,.visual-operation,.visual-axis-label,.tree-label{fill:var(--ink);font-size:11px;font-weight:700}.visual-operation,.visual-axis-label{fill:var(--quiet);text-anchor:end;font-size:10px;text-transform:uppercase}.visual-axis-label.y{text-anchor:start}.visual-shape text{fill:var(--ink)}.visual-shape-lines>:not(text),.pie-base{fill:var(--positive-wash);stroke:var(--line-strong);stroke-width:2.2;stroke-linejoin:round;transition:stroke .18s,fill .18s}.visual-shape.highlighted .visual-shape-lines>:not(text),.highlighted .pie-base{stroke:var(--positive);fill:var(--positive-wash)}.visual-helper,.visual-shape-lines .visual-helper{fill:none;stroke:var(--line-strong);stroke-width:1.5;stroke-dasharray:5 4}.visual-helper.strong,.visual-shape-lines .visual-helper.strong{stroke:var(--warning);stroke-width:2.3;stroke-dasharray:none}.visual-shape-lines .visual-inner{fill:var(--accent-wash);stroke:var(--accent)}.visual-shape-lines .visual-mark,.visual-shape-lines .visual-tick-mark,.visual-shape-lines .visual-arrow-mark,.visual-shape-lines .visual-door,.visual-shape-lines .visual-arc{fill:none;stroke:var(--warning);stroke-width:2}.visual-shape-lines .visual-ladder,.visual-shape-lines .visual-bearing{fill:none;stroke:var(--accent2);stroke-width:5}.visual-shape-lines .visual-map{fill:none;stroke:var(--line-strong);stroke-width:7}.visual-node{fill:var(--accent);stroke:var(--paper-raised);stroke-width:2}.visual-measure{fill:var(--ink);font-size:13px;font-weight:800;text-anchor:middle;paint-order:stroke;stroke:var(--paper-muted);stroke-width:5px;stroke-linejoin:round}.visual-measure.secondary{fill:var(--quiet);font-size:11px}.visual-notscale{fill:var(--quiet);font-size:9px;text-anchor:end;font-style:italic}.pie-sector{fill:var(--accent-wash);stroke:var(--accent);stroke-width:2}.data-bars{width:min(100%,390px);height:220px;display:flex;align-items:flex-end;justify-content:center;gap:clamp(18px,8%,48px);padding:28px 22px 20px;border-bottom:2px solid var(--line-strong)}.data-bar-column{height:100%;min-width:70px;border:0;background:none;color:var(--ink);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;font:700 11px inherit;cursor:pointer}.data-bar{width:52px;border-radius:var(--radius) var(--radius) 0 0;background:var(--line-strong);transition:background .15s}.data-bars.highlighted .data-bar,.data-bar-column:hover .data-bar,.data-bar-column:focus-visible .data-bar{background:var(--accent)}.data-bar-value{color:var(--quiet);font-variant-numeric:tabular-nums}.visual-table{width:min(100%,430px);border-collapse:collapse;color:var(--ink);font-size:14px}.visual-table th,.visual-table td{border:1px solid var(--line-strong);padding:13px 16px;text-align:center}.visual-table th{background:var(--accent-wash)}.tally-group line{stroke:var(--ink);stroke-width:5;stroke-linecap:round}.highlighted .tally-group line:nth-child(5){stroke:var(--accent2)}.pictogram{width:min(100%,420px);display:flex;flex-direction:column;gap:18px;color:var(--quiet);font-size:13px}.pictogram div{display:flex;flex-wrap:wrap;gap:10px;color:var(--line-strong);font-size:29px}.pictogram.highlighted div{color:var(--warning)}.number-tick{stroke:var(--line-strong);stroke-width:1.5}.number-range{stroke:var(--accent);stroke-width:7;stroke-linecap:round}.number-end{fill:var(--paper-muted);stroke:var(--accent);stroke-width:4}.number-end.closed,.number-arrow{fill:var(--accent)}.counter-bag{width:min(100%,430px);min-height:200px;border:2px solid var(--line-strong);border-top:0;border-radius:var(--radius) var(--radius) 90px 90px;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:35px 28px 25px}.counter-group{border:0;background:transparent;color:var(--quiet);font:700 12px inherit;cursor:pointer}.counter-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-bottom:10px}.counter-dots i{width:18px;height:18px;border:2px solid var(--paper-raised);border-radius:50%}.dice-row{display:grid;grid-template-columns:repeat(3,58px);gap:14px}.dice-row span{aspect-ratio:1;border:2px solid var(--line-strong);border-radius:var(--radius);display:grid;place-items:center;color:var(--ink);font-size:20px;font-weight:900}.probability-scale{width:min(100%,430px)}.probability-track{height:12px;border-radius:8px;background:linear-gradient(90deg,var(--negative),var(--warning),var(--positive));position:relative}.probability-track i{position:absolute;left:50%;top:-6px;width:2px;height:24px;background:var(--ink)}.probability-scale>div:last-child{display:flex;justify-content:space-between;margin-top:12px;color:var(--quiet);text-align:center;font-size:11px;font-weight:700}.venn-circle{fill:var(--info-wash);stroke:var(--line-strong);stroke-width:2}.highlighted .venn-circle{fill:var(--info-wash);stroke:var(--info)}.tree-line{stroke:var(--line-strong);stroke-width:2}.highlighted .tree-line{stroke:var(--accent)}.tree-line.second{stroke-dasharray:5 3}.sample-space{display:grid;grid-template-columns:repeat(6,minmax(34px,54px));border:1px solid var(--line-strong)}.sample-space button{aspect-ratio:1.35;border:1px solid var(--line-strong);background:transparent;color:var(--quiet);font:650 11px inherit;cursor:pointer}.sample-space.highlighted button:hover,.sample-space button:focus-visible{color:var(--ink);background:var(--accent-wash)}.dot-pattern circle{fill:var(--line-strong);stroke:var(--quiet);stroke-width:1.5}.highlighted .dot-pattern circle{fill:var(--accent);stroke:var(--paper-raised)}.dot-pattern text{fill:var(--quiet);font-size:11px;font-weight:750;text-anchor:middle}.lesson-visual{display:grid;grid-template-columns:minmax(170px,.65fr) minmax(300px,1.35fr);gap:22px;align-items:center;margin:14px 0 18px;padding:16px;border:1px solid var(--info);border-radius:var(--radius);background:var(--info-wash)}.lesson-visual .maths-visual{margin:0}.lesson-visual-copy>span{color:var(--info);font-size:10px;font-weight:850;letter-spacing:1px;text-transform:uppercase}.lesson-visual-copy h3{margin:4px 0 6px;font-size:17px}.lesson-visual-copy p{color:var(--quiet);font-size:13px}@media (max-width: 900px){.lesson-visual{grid-template-columns:1fr}}@media (max-width: 560px){.visual-stage{min-height:200px;padding-inline:4px}.maths-visual figcaption{align-items:flex-start;flex-direction:column}.visual-controls{width:100%}.visual-control{flex:1}.sample-space{width:100%;grid-template-columns:repeat(6,1fr)}.sample-space button{min-width:0;font-size:9px}.counter-bag{padding-inline:14px}}:root{color-scheme:light;--font-display: "Unbounded Variable", "Unbounded", "Arial Rounded MT Bold", "Trebuchet MS", sans-serif;--font-ui: "Atkinson Hyperlegible Next Variable", "Atkinson Hyperlegible Next", "Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;--font-mono: "Atkinson Hyperlegible Mono Variable", "Atkinson Hyperlegible Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--font-read: "Literata Variable", "Literata", Georgia, "Times New Roman", serif;--font-hand: "Kalam", "Segoe Print", "Bradley Hand", cursive;--font-num: var(--font-ui);--t-hero: clamp(2.3rem, 1.5rem + 3.2vw, 4rem);--t-h1: clamp(1.75rem, 1.3rem + 1.5vw, 2.5rem);--t-h2: clamp(1.2rem, 1.1rem + .4vw, 1.45rem);--t-h3: 1.08rem;--t-body: 1rem;--t-small: .875rem;--t-micro: .75rem;--c-bg: #f2f3fa;--c-bg-2: #e8eaf7;--c-surface: #ffffff;--c-surface-2: #f6f7fd;--c-surface-3: #eceefa;--c-ink: #15172b;--c-ink-2: #2d3050;--c-muted: #565b7c;--c-faint: #8a8fae;--c-line: #dfe2f2;--c-line-strong: #b5bad7;--c-night: #191b30;--c-night-2: #24273f;--c-night-3: #30344f;--c-night-ink: #f2f3ff;--c-night-muted: #aeb3d6;--c-primary: #15172b;--c-primary-hover: #2d3050;--c-on-primary: #ffffff;--c-focus: #3d6bff;--hue-blue: #3d6bff;--hue-cyan: #10b5c9;--hue-purple: #9b4dff;--hue-amber: #f5a300;--hue-green: #10b777;--hue-coral: #ff5566;--hue-tangerine: #ff7a2e;--hue-rose: #f0468a;--hue-volt: #c3f53c;--hue-slate: #8b90b3;--volt-ink: #1f2600;--c-good: #07845a;--c-good-bright: #16c784;--c-good-wash: #ddf7eb;--c-bad: #cc2f45;--c-bad-bright: #ff5566;--c-bad-wash: #fde5e8;--c-warn: #9a5c00;--c-warn-wash: #fff1d4;--c-info: #2f5bff;--c-info-wash: #e5ebff;--subject: var(--hue-blue);--subject-alt: var(--hue-cyan);--emblem-line: #15172b;--tile-shade: #15172b;--tile-new-top: #dcdff1;--tile-inset: #ffffff;--tile-medal: #ffffff;--tile-shadow: rgba(21, 23, 43, .14);--pip-body: var(--hue-volt);--pip-ink: #15172b;--ring-track: rgba(21, 23, 43, .1);--scene-ground: #dfe3f8;--scene-ground-inset: rgba(255, 255, 255, .55);--scene-paper: #ffffff;--scene-paper-2: #eff1fb;--scene-metal: #b8bdd9;--scene-machine: #2d3050;--scene-belt: #15172b;--scene-grid: #c6cbe6;--scene-glass: rgba(111, 147, 255, .22);--scene-trace: #8a8fae;--rank-egg: var(--c-line-strong);--rank-bronze: #dd8f55;--rank-silver: #bcc3dd;--rank-gold: #ffc629;--rank-legend: var(--hue-volt);--r-xs: 8px;--r-sm: 12px;--r-md: 18px;--r-lg: 26px;--r-xl: 34px;--r-pill: 999px;--sh-1: 0 1px 2px rgba(21, 23, 43, .06), 0 2px 10px rgba(21, 23, 43, .04);--sh-2: 0 14px 34px -16px rgba(21, 23, 43, .28), 0 2px 6px rgba(21, 23, 43, .05);--sh-3: 0 34px 70px -24px rgba(21, 23, 43, .42);--sh-inset: inset 0 0 0 1px var(--c-line);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--s-16: 64px;--page-max: 1120px;--read-max: 760px;--rail-w: 252px;--touch: 44px;--ease-out: cubic-bezier(.22, .8, .28, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--d-1: .14s;--d-2: .24s;--d-3: .42s;--d-4: .7s}:root[data-theme=dark]{color-scheme:dark;--c-bg: #0e0f1d;--c-bg-2: #090a15;--c-surface: #161a2e;--c-surface-2: #1c2038;--c-surface-3: #242944;--c-ink: #eef0ff;--c-ink-2: #d2d6f3;--c-muted: #a4a9cb;--c-faint: #717698;--c-line: #292e4c;--c-line-strong: #454b73;--c-night: #090a15;--c-night-2: #151829;--c-night-3: #20243c;--c-primary: #eef0ff;--c-primary-hover: #ffffff;--c-on-primary: #15172b;--c-focus: #8aa6ff;--hue-blue: #6f93ff;--hue-cyan: #4fd8e6;--hue-purple: #bd8cff;--hue-amber: #ffc443;--hue-green: #3fdb9c;--hue-coral: #ff8591;--hue-tangerine: #ff9d61;--hue-rose: #ff7fb0;--hue-volt: #d4ff5c;--hue-slate: #6d7299;--c-good: #4fe0a4;--c-good-bright: #4fe0a4;--c-good-wash: rgba(79, 224, 164, .14);--c-bad: #ff8591;--c-bad-bright: #ff8591;--c-bad-wash: rgba(255, 133, 145, .14);--c-warn: #ffc443;--c-warn-wash: rgba(255, 196, 67, .14);--c-info: #8aa6ff;--c-info-wash: rgba(138, 166, 255, .14);--emblem-line: #080914;--tile-shade: #04050c;--tile-new-top: #3a3f63;--tile-inset: #ffffff;--tile-medal: #eef0ff;--tile-shadow: rgba(0, 0, 0, .5);--pip-ink: #0b0c18;--ring-track: rgba(238, 240, 255, .12);--scene-ground: #2a2f50;--scene-ground-inset: rgba(255, 255, 255, .05);--scene-paper: #e3e6fa;--scene-paper-2: #cfd3ef;--scene-metal: #6d7299;--scene-machine: #10121f;--scene-belt: #080914;--scene-grid: #9ba1c9;--scene-glass: rgba(111, 147, 255, .3);--scene-trace: #6d7299;--rank-bronze: #eea574;--rank-silver: #d3d9f1;--rank-gold: #ffd54f;--sh-1: 0 1px 2px rgba(0, 0, 0, .4), 0 2px 10px rgba(0, 0, 0, .25);--sh-2: 0 16px 38px -16px rgba(0, 0, 0, .7), 0 2px 6px rgba(0, 0, 0, .3);--sh-3: 0 34px 70px -24px rgba(0, 0, 0, .8)}:root[data-subject=maths],.app.foundation-tier{--subject: var(--hue-blue);--subject-alt: var(--hue-cyan)}:root[data-subject=maths-higher],.app.higher-tier{--subject: var(--hue-purple);--subject-alt: var(--hue-blue)}:root[data-subject=english],.app.english-tier{--subject: var(--hue-tangerine);--subject-alt: var(--hue-rose)}:root,.app,.login-screen{--subject-strong: color-mix(in srgb, var(--subject) 70%, var(--c-ink));--subject-wash: color-mix(in srgb, var(--subject) 12%, var(--c-surface));--subject-wash-2: color-mix(in srgb, var(--subject) 24%, var(--c-surface));--emblem-ghost: color-mix(in srgb, var(--subject) 10%, transparent)}:root[data-theme=dark],:root[data-theme=dark] .app,:root[data-theme=dark] .login-screen{--subject-strong: color-mix(in srgb, var(--subject) 76%, #ffffff);--subject-wash: color-mix(in srgb, var(--subject) 14%, var(--c-surface));--subject-wash-2: color-mix(in srgb, var(--subject) 26%, var(--c-surface))}:root,:root[data-theme=dark],.app.foundation-tier,.app.higher-tier,.app.english-tier{--paper: var(--c-bg);--paper-raised: var(--c-surface);--paper-muted: var(--c-surface-2);--ink: var(--c-ink);--quiet: var(--c-muted);--line: var(--c-line);--line-strong: var(--c-line-strong);--positive: var(--c-good);--positive-wash: var(--c-good-wash);--warning: var(--c-warn);--warning-wash: var(--c-warn-wash);--negative: var(--c-bad);--negative-wash: var(--c-bad-wash);--info: var(--c-info);--info-wash: var(--c-info-wash);--bg: var(--c-bg);--bg2: var(--c-surface-2);--panel: var(--c-surface);--panel2: var(--c-surface-2);--border: var(--c-line);--text: var(--c-ink);--muted: var(--c-muted);--green: var(--c-good);--amber: var(--c-warn);--red: var(--c-bad);--blue: var(--c-info);--radius: var(--r-md);--sidebar-bg: var(--c-night);--input-bg: var(--c-surface);--chat-scroll-bg: var(--c-surface-2);--overlay: rgba(9, 10, 21, .62);--hover-wash: color-mix(in srgb, var(--c-ink) 5%, transparent);--on-accent: #ffffff;--on-positive: #ffffff;--status-glow: color-mix(in srgb, var(--c-good) 18%, transparent);--desk-pattern: none;--focus-ring: var(--c-focus);--touch-min: var(--touch);--accent: var(--subject);--accent-strong: var(--subject-strong);--accent2: var(--subject-alt);--accent-wash: var(--subject-wash);--subject-tint: var(--subject-wash);--subject-ink: var(--subject-strong)}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--c-bg);background-image:none;color:var(--c-ink);font-family:var(--font-ui);font-size:var(--t-body);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01" on}h1,h2,h3,h4{margin:0;color:var(--c-ink);font-family:var(--font-ui);font-weight:800;letter-spacing:-.01em;line-height:1.15;text-wrap:balance}h1{font-family:var(--font-display);font-size:var(--t-h1);font-weight:700;letter-spacing:-.025em;line-height:1.08}h2{font-size:var(--t-h2)}h3{font-size:var(--t-h3)}p{text-wrap:pretty}a{color:var(--subject-strong);text-underline-offset:3px}::selection{background:color-mix(in srgb,var(--hue-volt) 70%,transparent);color:var(--volt-ink)}.sub,.stat-cap,.panel .sub{color:var(--c-muted);font-size:var(--t-small);line-height:1.5}.small{font-size:var(--t-small)}.eyebrow,.section-label,.nav-group-label{margin:0;color:var(--c-muted);font-family:var(--font-mono);font-size:var(--t-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.stat-num,.timer-value,.score-num,.q-num{font-family:var(--font-num);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}code,kbd,.mono{font-family:var(--font-mono)}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:3px solid var(--c-focus);outline-offset:3px;border-radius:6px}.skip-link{position:absolute;top:-60px;left:16px;z-index:400;padding:10px 16px;border-radius:var(--r-pill);background:var(--c-primary);color:var(--c-on-primary);font-weight:800;text-decoration:none;transition:top var(--d-1) var(--ease-out)}.skip-link:focus-visible{top:12px}.btn,button.btn,a.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--touch);padding:10px 20px;border:2px solid var(--c-line-strong);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-ink);box-shadow:none;font-family:var(--font-ui);font-size:.95rem;font-weight:800;line-height:1.1;letter-spacing:0;text-decoration:none;text-transform:none;cursor:pointer;transition:transform var(--d-1) var(--ease-out),background var(--d-1),border-color var(--d-1),box-shadow var(--d-1),color var(--d-1)}.btn:hover{border-color:var(--c-ink);background:var(--c-surface);transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.btn-primary,button.btn-primary,a.btn-primary{border-color:var(--c-primary);background:var(--c-primary);color:var(--c-on-primary)}.btn-primary:hover{border-color:var(--c-primary-hover);background:var(--c-primary-hover);color:var(--c-on-primary)}.btn-go,button.btn-go,a.btn-go{border:2px solid var(--emblem-line);background:var(--hue-volt);color:var(--volt-ink);box-shadow:0 4px 0 var(--emblem-line);transform:translateY(-2px)}.btn-go:hover{background:color-mix(in srgb,var(--hue-volt) 88%,#ffffff);border-color:var(--emblem-line);transform:translateY(-3px);box-shadow:0 5px 0 var(--emblem-line)}.btn-go:active{transform:translateY(2px);box-shadow:0 0 0 var(--emblem-line)}.btn.small,.btn-small{min-height:36px;padding:6px 14px;font-size:.85rem}.link-button{padding:0;border:0;background:none;color:var(--subject-strong);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.back-link{display:inline-flex;align-items:center;gap:6px;min-height:36px;color:var(--c-muted);font-weight:700;text-decoration:none}.back-link:hover{color:var(--c-ink)}input,select,textarea,.answer-input{border:2px solid var(--c-line-strong);border-radius:var(--r-sm);background:var(--c-surface);color:var(--c-ink);font-family:var(--font-ui);font-size:1rem}input:focus,select:focus,textarea:focus,.answer-input:focus{border-color:var(--subject);outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--subject) 22%,transparent)}.answer-input{font-family:var(--font-mono);font-weight:700}.panel{position:relative;margin:0 0 var(--s-5);padding:clamp(18px,2.2vw,28px);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--sh-1)}.panel>h2:first-child,.panel h2{margin-bottom:6px}.chip,.calc-badge,.paper-type{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:3px 10px;border:1px solid var(--c-line-strong);border-radius:var(--r-pill);background:var(--c-surface-2);color:var(--c-ink-2);font-family:var(--font-mono);font-size:var(--t-micro);font-weight:700;letter-spacing:.02em}.error-banner{margin:12px 0;padding:12px 16px;border:1px solid color-mix(in srgb,var(--c-bad) 40%,transparent);border-radius:var(--r-sm);background:var(--c-bad-wash);color:var(--c-bad);font-weight:700}.loading{display:flex;align-items:center;gap:12px;padding:40px 0;color:var(--c-muted);font-weight:700}.loading:before{content:"";width:22px;height:22px;border:3px solid var(--c-line);border-top-color:var(--subject);border-radius:50%;animation:c-spin .8s linear infinite}.skeleton-block{min-height:120px;border-radius:var(--r-md);background:linear-gradient(90deg,var(--c-surface-2),var(--c-surface-3),var(--c-surface-2));background-size:200% 100%;animation:c-shimmer 1.4s linear infinite}.empty-state{display:grid;justify-items:start;gap:8px;padding:24px;border:2px dashed var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface-2)}.c-icon{flex:none;display:inline-block;vertical-align:middle}.c-icon .i-accent{fill:var(--icon-accent, currentColor);stroke:currentColor}.emblem{display:block;flex:none;overflow:visible}.emblem .emblem-ring{transform-origin:0 0;animation:c-spin 18s linear infinite}.emblem-tier{transform-origin:0 0;animation:c-tier-in var(--d-3) var(--ease-spring) both;animation-delay:calc(var(--tier, 0) * 90ms)}.emblem-spin{transform-origin:50% 50%;animation:c-wobble 3.6s var(--ease-in-out) infinite}.iso-tile{display:block;overflow:visible}.iso-tile .iso-beam{animation:c-beam 2.4s var(--ease-in-out) infinite;transform-origin:60px 44px}.iso-tile .iso-shadow{transition:transform var(--d-2) var(--ease-out),opacity var(--d-2);transform-origin:60px 92px}.pip{display:block;flex:none;overflow:visible}.pip-bob{animation:c-bob 2.8s var(--ease-in-out) infinite}.pip .pip-star{transform-origin:50px 8px;animation:c-twinkle 3.2s var(--ease-in-out) infinite}.c-scene{display:block;width:100%;height:auto;overflow:visible}.c-scene .scene-belt{animation:c-belt 1.2s linear infinite}.c-scene .scene-trace{animation:c-belt 2.4s linear infinite}.c-scene .scene-float{animation:c-float 4s var(--ease-in-out) infinite;animation-delay:calc(var(--i, 0) * -1.3s)}.c-scene .scene-light{animation:c-pulse 1.8s var(--ease-in-out) infinite}.c-scene .scene-rider{animation:c-ride 3.6s linear infinite;animation-delay:calc(var(--i, 0) * -1.2s)}.c-scene .scene-ball{animation:c-ball 3.2s var(--ease-in-out) infinite alternate}.c-scene .hero-tile{animation:c-rise .9s var(--ease-spring) both;animation-delay:calc(var(--i, 0) * .12s)}.c-stars{display:inline-flex;gap:2px;vertical-align:middle}.c-stars .star path{fill:var(--c-surface-3);stroke:var(--c-line-strong);stroke-width:1.5}.c-stars .star.on path{fill:var(--hue-amber);stroke:var(--emblem-line)}.hud-chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:4px 10px 4px 8px;border-radius:var(--r-pill);background:var(--c-night-2);color:var(--c-night-ink);font-family:var(--font-num);font-size:.9rem;font-weight:800;line-height:1;white-space:nowrap}.hud-chip small{color:var(--c-night-muted);font-family:var(--font-mono);font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.hud-chip.flame{--icon-accent: var(--hue-amber);color:#ffb35c}.hud-chip.flame b{color:var(--c-night-ink)}.hud-chip.gem{--icon-accent: var(--hue-cyan);color:var(--hue-cyan)}.hud-chip.gem b{color:var(--c-night-ink)}.hud-chip.bolt{color:var(--hue-volt)}.hud-chip.bolt b{color:var(--c-night-ink)}.c-ring{position:relative;display:inline-grid;place-items:center;flex:none}.c-ring svg{position:absolute;top:0;right:0;bottom:0;left:0}.c-ring .c-ring-fg{transition:stroke-dashoffset var(--d-4) var(--ease-out)}.c-ring-label{position:relative;font-family:var(--font-num);font-size:1.1rem;font-weight:800}.c-segments{display:flex;gap:4px;width:100%}.c-segments .seg{flex:1;height:8px;border-radius:var(--r-pill);background:var(--c-surface-3);transition:background var(--d-2)}.c-segments .seg.done{background:var(--c-good-bright)}.c-segments .seg.current{background:color-mix(in srgb,var(--subject) 55%,var(--c-surface-3))}.c-confetti{position:absolute;inset:50% auto auto 50%;width:0;height:0;pointer-events:none}.c-confetti .piece{position:absolute;top:-9px;left:-9px;opacity:0;animation:c-burst 1.1s var(--ease-out) var(--delay, 0ms) forwards}.c-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}.c-day{display:grid;justify-items:center;gap:4px}.c-day-dot{display:grid;place-items:center;width:34px;height:34px;border:2px dashed var(--c-line-strong);border-radius:50%;color:#fff}.c-day.done .c-day-dot{border:2px solid var(--emblem-line);background:var(--hue-amber);--icon-accent: #fff3c4;color:var(--emblem-line)}.c-day.rest .c-day-dot{border-style:solid;background:var(--c-surface-3)}.c-day.today .c-day-dot{outline:3px solid color-mix(in srgb,var(--subject) 45%,transparent);outline-offset:2px}.c-day-name{color:var(--c-muted);font-family:var(--font-mono);font-size:.7rem;font-weight:700}@keyframes c-spin{to{transform:rotate(360deg)}}@keyframes c-shimmer{to{background-position:-200% 0}}@keyframes c-tier-in{0%{transform:scale(.2) rotate(-40deg);opacity:0}to{transform:none;opacity:1}}@keyframes c-wobble{0%,to{transform:rotate(0)}50%{transform:rotate(8deg)}}@keyframes c-beam{0%,to{opacity:.55}50%{opacity:1}}@keyframes c-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes c-twinkle{0%,80%,to{transform:rotate(0) scale(1)}90%{transform:rotate(30deg) scale(1.25)}}@keyframes c-belt{to{stroke-dashoffset:-1.4}}@keyframes c-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes c-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes c-ride{0%{transform:translate(-1.2px)}to{transform:translate(1.2px)}}@keyframes c-ball{0%{transform:translate(0)}to{transform:translate(3.2px,1.2px)}}@keyframes c-rise{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}@keyframes c-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.06);opacity:1}to{transform:scale(1)}}@keyframes c-slide-up{0%{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}@keyframes c-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}@keyframes c-burst{0%{opacity:1;transform:rotate(var(--angle)) translateY(0) rotate(0)}70%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateY(calc(-1 * var(--distance))) rotate(var(--spin))}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.c-confetti{display:none}}@media (prefers-contrast: more){:root{--c-line: var(--c-line-strong);--c-muted: var(--c-ink-2)}}.lab-grid{display:grid;gap:10px}.lab-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.lab-row>strong{width:96px;font-family:var(--font-mono);font-size:.8rem}.lab-tiles{display:flex;flex-wrap:wrap;gap:18px}.lab-tiles figure{margin:0;text-align:center;font-family:var(--font-mono);font-size:.8rem}.lab-scenes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:16px}.lab-scenes.small{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.lab-icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:12px}.lab-icons span{display:grid;justify-items:center;gap:6px;padding:12px 6px;border-radius:var(--r-sm);background:var(--c-surface-2);--icon-accent: var(--subject)}.lab-icons small{color:var(--c-muted);font-family:var(--font-mono);font-size:.7rem}.lab-night{display:inline-flex;gap:6px;padding:8px;border-radius:var(--r-md);background:var(--c-night)}.lab-bits>*+*{margin-top:16px}.lab-video{margin-bottom:24px}.lab-video h2{margin-bottom:10px}.lab-pick{display:inline-flex;gap:8px;align-items:center;margin-bottom:12px;font-weight:700}.lab-pick select{min-height:40px;padding:4px 10px}.empty-state:before{content:none;display:none}.empty-state h3{font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.empty-state p{margin:0;color:var(--c-muted);font-size:.92rem}.empty{padding:8px 0;border:0;color:var(--c-muted)}.c-mark{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:4px;border-radius:50%;vertical-align:-4px;color:#fff}.c-mark.ok{background:var(--c-good-bright)}.c-mark.no{background:var(--c-bad-bright)}.hint-inline .c-icon,.marking-note .c-icon,.q-tag .c-icon{vertical-align:-2px;--icon-accent: currentColor}html,body,#root{height:100%}.app{display:flex;height:100%;min-height:100dvh;background:var(--c-bg)}.content{flex:1;min-width:0;height:100%;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;outline:none}.page{width:100%;max-width:var(--page-max);margin:0 auto;padding:clamp(20px,3vw,40px) clamp(16px,3.6vw,48px) 80px;animation:c-slide-up var(--d-3) var(--ease-out) both}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 var(--s-6);padding:0;border:0}.page-head h1{margin:0 0 8px}.page-head .sub{max-width:62ch;margin:0;font-size:1.02rem}.sidebar{position:relative;z-index:20;display:flex;flex-direction:column;flex-shrink:0;gap:14px;width:var(--rail-w);height:100%;padding:18px 14px 16px;overflow-y:auto;overscroll-behavior:contain;border:0;background:var(--c-night);color:var(--c-night-ink);scrollbar-width:thin;scrollbar-color:var(--c-night-3) transparent}.sidebar:after{content:"";position:absolute;top:0;right:0;bottom:0;width:2px;background:linear-gradient(var(--subject),transparent 30%,transparent 70%,var(--hue-volt));opacity:.55;pointer-events:none}.logo{display:flex;align-items:center;gap:12px;padding:4px 6px}.logo-icon{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:14px;background:var(--subject);box-shadow:inset 0 -4px #0000002e,0 0 0 2px #ffffff14;color:#fff;font-size:0}.logo-text{min-width:0}.logo-name{color:var(--c-night-ink);font-family:var(--font-display);font-size:1.02rem;font-weight:700;letter-spacing:-.01em;line-height:1.15}.logo-sub{margin-top:3px;color:var(--c-night-muted);font-size:.82rem;font-weight:700}.subject-switch{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;margin:0;padding:8px 12px 8px 14px;border:1px solid var(--c-night-3);border-radius:16px;background:var(--c-night-2);color:var(--c-night-ink);font-family:var(--font-ui);text-align:left;cursor:pointer;transition:border-color var(--d-1),background var(--d-1)}.subject-switch:hover{border-color:var(--c-night-muted);background:var(--c-night-3)}.subject-switch-copy{display:grid;flex:1;min-width:0}.subject-switch-name{overflow:hidden;font-size:.95rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.subject-switch-label{color:var(--c-night-muted);font-size:.78rem;font-weight:700}.sidebar nav{display:flex;flex-direction:column;gap:3px}.nav-item{position:relative;display:flex;align-items:center;gap:12px;min-height:48px;padding:7px 12px;border:0;border-radius:14px;background:transparent;color:var(--c-night-muted);font-size:1rem;font-weight:800;text-decoration:none;transition:background var(--d-1),color var(--d-1)}@media (hover: hover){.nav-item:hover{background:var(--c-night-2);color:var(--c-night-ink)}}.nav-icon{display:grid;place-items:center;flex:none;width:36px;height:34px;border-radius:11px;background:transparent;color:inherit;font-size:0;--icon-accent: currentColor;transition:background var(--d-1),color var(--d-1),transform var(--d-2) var(--ease-spring)}.nav-label{min-width:0}.nav-item.active{background:var(--c-night-3);color:var(--c-night-ink)}.nav-item.active:before{content:"";position:absolute;top:10px;bottom:10px;left:-14px;width:5px;border-radius:0 6px 6px 0;background:var(--hue-volt)}.nav-item.active .nav-icon{background:var(--subject);color:#fff;--icon-accent: var(--hue-volt)}.nav-badge{margin-left:auto;min-width:24px;padding:2px 7px;border-radius:var(--r-pill);background:var(--c-bad);color:#fff;font-size:.75rem;font-weight:800;line-height:1.3;text-align:center}.sidebar-foot{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:8px}.palette-slot .palette-trigger,.palette-slot>button{width:100%}.rail-partner{display:flex;align-items:center;gap:10px;padding:8px 12px 10px 6px;border:1px solid var(--c-night-3);border-radius:18px;background:var(--c-night-2);color:var(--c-night-ink);text-decoration:none;transition:border-color var(--d-1),background var(--d-1)}.rail-partner:hover{border-color:var(--c-night-muted);background:var(--c-night-3)}.rail-partner-art{display:grid;flex:none;place-items:center;width:58px;height:58px}.rail-partner-copy{display:grid;flex:1;gap:2px;min-width:0}.rail-partner-copy strong{overflow:hidden;font-size:.95rem;text-overflow:ellipsis;white-space:nowrap}.rail-partner-copy small{color:var(--c-night-muted);font-size:.78rem;font-weight:700}.rail-partner .growth-meter-track{margin-top:4px;background:var(--c-night-3)}.shell-foot-links{display:flex;gap:14px;padding:0 6px 4px}.shell-foot-links a{color:var(--c-night-muted);font-size:.82rem;font-weight:700;text-decoration:none}.shell-foot-links a:hover{color:var(--c-night-ink);text-decoration:underline}.sidebar :focus-visible{outline-color:var(--hue-volt)}.app.focus-mode .sidebar{display:none}@media (max-width: 1100px) and (min-width: 761px){:root{--rail-w: 92px}.sidebar{align-items:center;padding:16px 10px}.logo{justify-content:center;padding:0}.logo-text,.subject-switch-copy,.nav-label,.rail-partner-copy,.shell-foot-links,.palette-trigger-label,.palette-trigger kbd{display:none}.subject-switch{justify-content:center;width:56px;min-height:48px;padding:0}.sidebar nav{width:100%;align-items:stretch}.nav-item{justify-content:center;padding:6px}.nav-item.active:before{left:-10px}.nav-badge{position:absolute;top:2px;right:6px;min-width:20px;padding:1px 5px}.rail-partner{justify-content:center;width:64px;padding:4px}.palette-slot{width:100%}}@media (max-width: 760px){.app{display:block;height:auto;min-height:100dvh}.content{height:auto;overflow:visible;padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}.app.focus-mode .content{padding-bottom:0}.page{padding:calc(10px + env(safe-area-inset-top,0px)) 16px 28px}.sidebar{position:fixed;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));left:10px;z-index:70;width:auto;height:auto;padding:0;overflow:visible;background:transparent}.sidebar:after,.logo,.subject-switch,.sidebar-foot{display:none}.sidebar nav{flex-direction:row;gap:2px;padding:6px;border:1px solid var(--c-night-3);border-radius:24px;background:color-mix(in srgb,var(--c-night) 96%,transparent);box-shadow:var(--sh-3)}.nav-item{flex:1 1 0;flex-direction:column;justify-content:center;gap:3px;min-width:0;min-height:56px;padding:4px 2px;border-radius:18px;font-size:.75rem;text-align:center}.nav-item.active:before{display:none}.nav-icon{width:40px;height:28px;border-radius:10px}.nav-label{max-width:100%;overflow:hidden;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.nav-badge{position:absolute;top:2px;left:calc(50% + 8px);min-width:20px;margin:0;padding:1px 5px;border:2px solid var(--c-night);font-size:.7rem}}@media print{.sidebar{display:none!important}.app,.content{display:block;height:auto;overflow:visible}}.palette-trigger{display:flex;align-items:center;gap:10px;width:100%;min-height:var(--touch);padding:8px 12px;border:1px solid var(--c-night-3);border-radius:14px;background:var(--c-night-2);color:var(--c-night-muted);font-family:var(--font-ui);font-size:.88rem;font-weight:800;letter-spacing:0;text-transform:none;cursor:pointer}.palette-trigger:hover{color:var(--c-night-ink);border-color:var(--c-night-muted)}.palette-trigger kbd{margin-left:auto;padding:2px 6px;border-radius:6px;background:var(--c-night-3);color:var(--c-night-muted);font-family:var(--font-mono);font-size:.7rem}.palette-backdrop,.modal-back,.reward-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:grid;place-items:start center;padding:10vh 16px 16px;background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:c-fade var(--d-2) var(--ease-out) both}.modal-back,.reward-backdrop{place-items:center;padding:16px}.palette{width:min(640px,100%);overflow:hidden;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--sh-3);animation:c-pop var(--d-3) var(--ease-spring) both}.palette-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--c-line)}.palette-head input{flex:1;min-height:44px;padding:8px 12px;border:0;background:transparent;font-size:1.1rem;box-shadow:none}.palette-head input:focus{box-shadow:none}.palette-esc{min-height:34px;padding:4px 10px;border:1px solid var(--c-line-strong);border-radius:var(--r-pill);background:var(--c-surface-2);color:var(--c-muted);font-family:var(--font-mono);font-size:.72rem;cursor:pointer}.palette-count{margin:0;padding:8px 18px 0;color:var(--c-muted);font-family:var(--font-mono);font-size:.72rem}.palette-list{max-height:min(56vh,460px);margin:0;padding:6px 8px 10px;overflow-y:auto;list-style:none}.palette-group{margin:10px 10px 4px;color:var(--c-faint);font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.palette-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:8px 12px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--c-ink);font:inherit;font-weight:700;text-align:left;cursor:pointer}.palette-item.active,.palette-item:hover{background:var(--subject-wash)}.palette-item-meta{color:var(--c-muted);font-family:var(--font-mono);font-size:.72rem;font-weight:600}.palette-foot{display:flex;gap:16px;padding:10px 16px;border-top:1px solid var(--c-line);color:var(--c-muted);font-size:.78rem}.palette-foot kbd{margin-right:3px;padding:1px 6px;border:1px solid var(--c-line-strong);border-radius:6px;font-family:var(--font-mono);font-size:.7rem}.modal{width:min(520px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;padding:28px;border:1px solid var(--c-line);border-radius:var(--r-xl);background:var(--c-surface);box-shadow:var(--sh-3);animation:c-pop var(--d-3) var(--ease-spring) both}.modal h3{margin-bottom:8px;font-family:var(--font-display);font-size:1.35rem;font-weight:700}.modal p{color:var(--c-muted)}.modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.share-card{text-align:center}.share-card .modal-actions{justify-content:center}.share-badge{margin:0 auto}.share-card h3{margin:12px 0 4px;font-family:var(--font-display);font-size:1.5rem;font-weight:700}.share-proof{color:var(--c-ink);font-family:var(--font-mono);font-weight:700}.reward-dialog{position:relative;width:min(460px,100%);padding:34px 28px 26px;overflow:visible;border:0;border-radius:var(--r-xl);background:var(--c-night);color:var(--c-night-ink);box-shadow:var(--sh-3);text-align:center;animation:c-pop var(--d-3) var(--ease-spring) both}.reward-dialog h2{margin:6px 0 10px;color:var(--c-night-ink);font-family:var(--font-display);font-size:1.55rem;font-weight:700}.reward-dialog p{color:var(--c-night-muted)}.reward-dialog .eyebrow{color:var(--hue-volt)}.reward-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--c-night-3);border-radius:50%;background:var(--c-night-2);color:var(--c-night-ink);font-size:0;cursor:pointer}.reward-close:before{content:"×";font-size:22px;line-height:1}.reward-stamp{position:relative;display:grid;place-items:center;width:120px;height:120px;margin:-84px auto 10px;border:4px solid var(--emblem-line);border-radius:34px;background:var(--hue-volt);color:var(--volt-ink);box-shadow:0 8px 0 var(--emblem-line),0 0 0 10px color-mix(in srgb,var(--hue-volt) 22%,transparent);transform:rotate(-6deg);animation:c-stamp .7s var(--ease-spring) both .12s}.reward-stamp span{font-family:var(--font-mono);font-size:.7rem;font-weight:800;letter-spacing:.1em}.reward-stamp strong{font-family:var(--font-display);font-size:2.3rem;font-weight:800;line-height:1}.reward-dialog .reward-summary{margin:16px 0;border-color:var(--c-night-3);background:var(--c-night-2);color:var(--c-night-ink)}.reward-dialog .reward-summary-detail,.reward-dialog .reward-summary-rank,.reward-dialog .reward-summary-label{color:var(--c-night-muted)}.reward-dialog-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.reward-dialog .btn:not(.btn-primary):not(.btn-go){border-color:var(--c-night-3);background:transparent;color:var(--c-night-ink)}.reward-dialog .btn-primary{border-color:var(--hue-volt);background:var(--hue-volt);color:var(--volt-ink);box-shadow:0 4px color-mix(in srgb,var(--hue-volt) 45%,#000)}.reward-dialog .c-confetti{top:0}.reward-summary{display:grid;gap:4px;padding:14px 16px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface-2);text-align:left}.reward-summary>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.reward-summary-label{color:var(--c-muted);font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.reward-xp{color:var(--c-good);font-family:var(--font-display);font-size:1.5rem;font-weight:800}.reward-dialog .reward-xp{color:var(--hue-volt)}.reward-summary-detail,.reward-summary-rank{color:var(--c-muted);font-size:.85rem}@keyframes c-fade{0%{opacity:0}to{opacity:1}}@keyframes c-stamp{0%{transform:scale(.3) rotate(-30deg);opacity:0}70%{transform:scale(1.1) rotate(-3deg);opacity:1}to{transform:scale(1) rotate(-6deg)}}.xp-player{--b-bg: #14162a;--b-ink: #f2f3ff;--b-muted: #a9aed0;--b-panel: #1f2341;--b-line: #0a0b16;--b-grid: rgba(242, 243, 255, .08);--b-good: #4fe0a4;--b-bad: #ff8591;position:relative;overflow:hidden;margin:0 0 var(--s-6);border-radius:var(--r-lg);background:var(--c-night);color:var(--c-night-ink);box-shadow:var(--sh-2);isolation:isolate}.xp-player.board-paper{--b-bg: #fbfbff;--b-ink: #15172b;--b-muted: #5a5f7d;--b-panel: #ffffff;--b-line: #15172b;--b-grid: rgba(21, 23, 43, .09);--b-good: #07845a;--b-bad: #cc2f45}:root[data-theme=dark] .xp-player.board-paper{--b-bg: #e8eaf7}.xp-player:fullscreen{display:flex;flex-direction:column;justify-content:center;border-radius:0}.xp-player:fullscreen .xp-stage-wrap{max-height:calc(100vh - 140px);aspect-ratio:auto;flex:1}.xp-stage-wrap{position:relative;aspect-ratio:16 / 9;background:var(--b-bg)}.xp-stage{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.xp-caption{display:-webkit-box;min-height:calc(3em + 20px);margin:0;padding:10px 18px;overflow:hidden;border-top:1px solid var(--c-night-2);background:var(--c-night);color:#fff;font-size:clamp(.88rem,.8rem + .3vw,1.02rem);font-weight:700;line-height:1.5;text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical}.xp-poster{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:grid;place-items:center;padding:16px;background:radial-gradient(120% 90% at 50% 40%,color-mix(in srgb,var(--xp-hue) 30%,transparent),transparent 70%),color-mix(in srgb,var(--c-night) 72%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.xp-poster-card{display:grid;justify-items:center;gap:8px;max-width:460px;text-align:center}.xp-poster-card h3{color:#fff;font-family:var(--font-display);font-size:clamp(1.1rem,.8rem + 1.4vw,1.8rem);font-weight:700;line-height:1.15}.xp-kicker{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--hue-volt);font-family:var(--font-mono);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.xp-summary{margin:0;color:#d7daf3;font-size:clamp(.85rem,.75rem + .3vw,1rem)}.xp-meta{margin:0;color:#aeb3d6;font-family:var(--font-mono);font-size:.75rem}.xp-play-big{margin-top:6px;min-height:52px;padding:12px 26px;font-size:1.05rem}.xp-end-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px}.xp-end .btn:not(.btn-go){border-color:#ffffff4d;background:transparent;color:#fff}.xp-check-layer{position:absolute;right:3%;bottom:4%;left:3%;z-index:5;display:flex;justify-content:center;animation:c-slide-up var(--d-3) var(--ease-spring) both}.xp-check-layer.kind-tap{position:relative;inset:auto;max-width:none;padding:12px 12px 4px;background:var(--c-night)}.xp-check-layer.kind-tap .xp-check{box-shadow:0 5px #000}.xp-check{display:grid;gap:10px;width:min(620px,100%);padding:14px 16px;border:2px solid var(--emblem-line);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-ink);box-shadow:0 6px 0 var(--emblem-line),var(--sh-3)}.xp-check.is-wrong{animation:c-shake .42s var(--ease-out)}.xp-check.is-right{border-color:var(--c-good);box-shadow:0 6px 0 var(--c-good),var(--sh-3)}.xp-check-head{display:flex;align-items:center;gap:12px}.xp-check-kicker{margin:0;color:var(--subject-strong);font-family:var(--font-mono);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.xp-check-prompt{margin:0;font-size:1.05rem;font-weight:800;line-height:1.3}.xp-check-hint{margin:0;color:var(--c-muted);font-size:.85rem}.xp-check-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.xp-option{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 12px;border:2px solid var(--c-line-strong);border-radius:var(--r-sm);background:var(--c-surface);color:var(--c-ink);box-shadow:0 3px 0 var(--c-line-strong);font:inherit;font-weight:800;text-align:left;cursor:pointer;transition:transform var(--d-1),border-color var(--d-1)}.xp-option:hover{border-color:var(--subject);transform:translateY(-1px)}.xp-option:active{transform:translateY(2px);box-shadow:none}.xp-option.tried{border-color:var(--c-bad);background:var(--c-bad-wash);color:var(--c-bad);box-shadow:none;opacity:.8}.xp-option-key{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:8px;background:var(--c-surface-3);font-family:var(--font-mono);font-size:.75rem}.xp-check-input{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.xp-check-input .answer-input{flex:1 1 140px;min-height:48px;padding:8px 12px}.xp-check-input.slider input[type=range]{flex:1 1 200px;accent-color:var(--subject)}.xp-slider-value,.xp-unit{font-family:var(--font-mono);font-weight:800}.xp-slider-value{min-width:56px;padding:6px 10px;border-radius:var(--r-xs);background:var(--c-surface-3);text-align:center}.xp-check-feedback:empty{display:none}.xp-fb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:8px 12px;border-radius:var(--r-sm);font-size:.92rem}.xp-fb.right{background:var(--c-good-wash);color:var(--c-good)}.xp-fb.wrong{background:var(--c-bad-wash);color:var(--c-bad)}.xp-fb.reveal{background:var(--c-info-wash);color:var(--c-ink)}.xp-check-actions{display:flex;justify-content:flex-end}.xp-tap{cursor:pointer}.xp-tap .xp-tap-box{fill:color-mix(in srgb,var(--hue-volt) 14%,transparent);stroke:var(--hue-volt);stroke-width:2.5;stroke-dasharray:6 5;animation:xp-march 1s linear infinite}.xp-tap:hover .xp-tap-box,.xp-tap:focus-visible .xp-tap-box{fill:color-mix(in srgb,var(--hue-volt) 32%,transparent);stroke-dasharray:none}.xp-tap:focus-visible{outline:none}.xp-tap.is-wrong .xp-tap-box{fill:color-mix(in srgb,var(--hue-coral) 30%,transparent);stroke:var(--hue-coral)}.xp-tap.is-right .xp-tap-box{fill:color-mix(in srgb,var(--hue-green) 36%,transparent);stroke:var(--hue-green);stroke-dasharray:none}@keyframes xp-march{to{stroke-dashoffset:-22}}.xp-controls{display:flex;align-items:center;gap:8px;padding:10px 12px 6px;background:var(--c-night)}.xp-btn{display:inline-grid;place-items:center;flex:none;min-width:40px;height:40px;padding:0 8px;border:0;border-radius:12px;background:transparent;color:var(--c-night-muted);font-family:var(--font-mono);font-size:.8rem;font-weight:800;cursor:pointer;transition:background var(--d-1),color var(--d-1)}.xp-btn:hover{background:var(--c-night-2);color:var(--c-night-ink)}.xp-btn.on{color:var(--hue-volt)}.xp-btn:disabled{opacity:.4;cursor:not-allowed}.xp-btn-main{width:46px;height:46px;border-radius:50%;background:var(--hue-volt);color:var(--volt-ink)}.xp-btn-main:hover{background:color-mix(in srgb,var(--hue-volt) 85%,#fff);color:var(--volt-ink)}.xp-time{flex:none;min-width:86px;color:var(--c-night-muted);font-family:var(--font-mono);font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}.xp-tools{display:flex;align-items:center;gap:2px}.xp-scrub{position:relative;flex:1;min-width:120px;height:40px}.xp-track{position:absolute;top:50%;right:0;left:0;height:8px;transform:translateY(-50%);pointer-events:none}.xp-seg{position:absolute;top:0;height:100%;overflow:hidden;border-radius:99px;background:var(--c-night-3)}.xp-seg-fill{display:block;height:100%;background:var(--xp-hue)}.xp-range{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;border:0;background:transparent;opacity:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.xp-range:focus{box-shadow:none}.xp-range::-webkit-slider-runnable-track{height:40px;background:transparent}.xp-range::-moz-range-track{height:40px;background:transparent}.xp-range::-webkit-slider-thumb{width:18px;height:18px;margin-top:11px;border:3px solid var(--c-night);border-radius:50%;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none}.xp-range::-moz-range-thumb{width:14px;height:14px;border:3px solid var(--c-night);border-radius:50%;background:#fff}.xp-range:focus-visible{outline:2px solid var(--hue-volt);outline-offset:2px}.xp-diamond{position:absolute;top:50%;z-index:2;width:16px;height:16px;margin-left:-8px;padding:0;border:2.5px solid var(--hue-volt);border-radius:3px;background:var(--c-night);transform:translateY(-50%) rotate(45deg);cursor:pointer}.xp-diamond.right{background:var(--hue-volt)}.xp-diamond.seen{background:var(--c-night-muted);border-color:var(--c-night-muted)}.xp-diamond:hover{transform:translateY(-50%) rotate(45deg) scale(1.25)}.xp-chapters{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 12px 12px;background:var(--c-night)}.xp-chapter{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:4px 12px 4px 5px;border:1px solid var(--c-night-3);border-radius:var(--r-pill);background:transparent;color:var(--c-night-muted);font:inherit;font-size:.8rem;font-weight:800;cursor:pointer}.xp-chapter-n{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--c-night-2);font-family:var(--font-mono);font-size:.7rem}.xp-chapter.current{border-color:var(--xp-hue);color:var(--c-night-ink)}.xp-chapter.current .xp-chapter-n{background:var(--xp-hue);color:#fff}.xp-chapter.done .xp-chapter-n{background:var(--hue-volt);color:var(--volt-ink)}.xp-score{flex:1 1 100px;max-width:180px;margin-left:auto}.xp-score .c-segments .seg{background:var(--c-night-3)}.xp-score .c-segments .seg.done{background:var(--hue-volt)}.xp-sandbox{display:grid;gap:8px;padding:12px 16px 14px;border-top:1px solid var(--c-night-3);background:var(--c-night-2)}.xp-sandbox-title{display:flex;align-items:center;gap:6px;margin:0;color:var(--hue-volt);font-size:.85rem;font-weight:800}.xp-sandbox-row{display:grid;grid-template-columns:minmax(90px,160px) 1fr 64px;align-items:center;gap:12px;color:var(--c-night-ink);font-size:.88rem;font-weight:700}.xp-sandbox-row input{accent-color:var(--hue-volt);border:0;background:transparent}.xp-sandbox-row output{font-family:var(--font-mono);text-align:right}.xp-transcript{max-height:280px;margin:0;padding:8px 12px 14px;overflow-y:auto;border-top:1px solid var(--c-night-3);background:var(--c-night-2);list-style:none}.xp-transcript button{display:grid;grid-template-columns:48px 1fr;gap:10px;width:100%;padding:8px;border:0;border-radius:var(--r-xs);background:transparent;color:var(--c-night-muted);font:inherit;font-size:.9rem;text-align:left;cursor:pointer}.xp-transcript button:hover,.xp-transcript li.current button{background:var(--c-night-3);color:var(--c-night-ink)}.xp-ts{color:var(--hue-volt);font-family:var(--font-mono);font-size:.75rem;font-weight:700}@media (max-width: 720px){.xp-check-layer,.xp-check-layer.kind-tap{position:relative;inset:auto;max-width:none;padding:10px;background:var(--c-night)}.xp-stage-wrap{aspect-ratio:auto}.xp-stage{position:relative;aspect-ratio:16 / 9;height:auto}.xp-poster{position:absolute}.xp-controls{flex-wrap:wrap}.xp-scrub{order:-1;flex-basis:100%}.xp-time{margin-right:auto}.xp-full{display:none}.xp-sandbox-row{grid-template-columns:1fr;gap:4px}.xp-poster-card{gap:4px}.xp-poster-card .pip{width:40px;height:40px}.xp-summary,.xp-meta{display:none}}.panel,.stat-card,.paper-card,.weak-card,.res-card,.quiz-q,.q-card,.chat-box,.text-card,.fb-box,.source-panel,.option-card,.review,.modal{border-color:var(--c-line);border-radius:var(--r-lg);background:var(--c-surface)}.learn-page{max-width:980px}.map-head{align-items:flex-end}.map-summary{display:flex;gap:6px;padding:6px;border-radius:var(--r-md);background:var(--c-night);color:var(--c-night-ink)}.map-summary>div{display:grid;min-width:92px;padding:10px 14px;border-radius:12px;background:var(--c-night-2)}.map-summary b{font-family:var(--font-num);font-size:1.6rem;font-weight:800;line-height:1.1}.map-summary span{color:var(--c-night-muted);font-size:.75rem;font-weight:700}.world-jump{display:flex;gap:8px;margin:0 0 14px;padding:2px 2px 8px;overflow-x:auto;scrollbar-width:none}.world-chip{display:inline-flex;align-items:center;flex:none;gap:8px;min-height:44px;padding:6px 14px 6px 8px;border:2px solid var(--c-line);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-ink);font-weight:800;text-decoration:none;transition:border-color var(--d-1),transform var(--d-1)}.world-chip:hover{border-color:var(--strand);transform:translateY(-1px)}.map-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 22px;color:var(--c-muted);font-size:.8rem;font-weight:700}.map-legend span{display:inline-flex;align-items:center;gap:6px}.map-legend .lg{width:14px;height:14px;border:2px solid var(--emblem-line);border-radius:4px;transform:rotate(45deg) scale(.85)}.lg-new{border-style:dashed!important;background:var(--tile-new-top)}.lg-started{background:var(--subject)}.lg-done{background:var(--c-good-bright)}.lg-mastered{background:var(--hue-volt)}.strand-panel.world{padding:0;overflow:hidden;border:1px solid var(--c-line);border-radius:var(--r-xl);background:var(--c-surface)}.world-head{display:grid;grid-template-columns:minmax(150px,230px) 1fr;align-items:center;gap:18px;padding:18px 24px;background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--strand) 24%,transparent),transparent 60%),color-mix(in srgb,var(--strand) 9%,var(--c-surface));border-bottom:1px solid var(--c-line)}.world-art{margin:-8px 0}.world-copy h2{margin:4px 0 6px;font-family:var(--font-display);font-size:clamp(1.3rem,1.1rem + .8vw,1.8rem);font-weight:700}.world-copy .sub{margin:0 0 10px}.world-stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.world-stat{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-ink);font-size:.8rem;font-weight:800;--icon-accent: var(--hue-amber)}.world-meter{height:10px;overflow:hidden;border-radius:var(--r-pill);background:color-mix(in srgb,var(--strand) 18%,var(--c-surface-3))}.world-meter span{display:block;height:100%;border-radius:inherit;background:var(--strand);transition:width var(--d-4) var(--ease-out)}.map-path-wrap{position:relative;margin:30px auto 10px;max-width:680px}.map-trace{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.map-trace .trace-base{fill:none;stroke:color-mix(in srgb,var(--strand) 26%,var(--c-line));stroke-width:10;stroke-linecap:round;stroke-linejoin:round}.map-trace .trace-live{fill:none;stroke:var(--strand);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:8 10;animation:map-belt 1.1s linear infinite}@keyframes map-belt{to{stroke-dashoffset:-18}}.map-path{position:relative;margin:0;padding:0;list-style:none}.map-node{position:absolute;left:var(--x);width:180px;margin-left:-90px}.map-tile.topic-card{position:relative;display:grid;justify-items:center;gap:2px;padding:0;border:0;border-radius:var(--r-md);background:transparent;box-shadow:none;color:var(--c-ink);text-decoration:none}.map-tile .iso-tile{transition:transform var(--d-2) var(--ease-spring)}.map-tile:hover .iso-tile{transform:translateY(-6px)}.map-tile:hover .iso-shadow{transform:scale(.85);opacity:.7}.map-tile:active .iso-tile{transform:translateY(2px)}.map-tile:focus-visible{outline-offset:6px}.map-label{position:relative;display:grid;justify-items:center;gap:3px;max-width:180px;margin-top:-8px;padding:4px 10px 6px;border-radius:12px;background:var(--c-surface);text-align:center}.map-label .topic-name{color:var(--c-ink);font-size:.92rem;font-weight:800;line-height:1.2}.map-meta{display:inline-flex;align-items:center;gap:6px}.map-acc{padding:1px 7px;border-radius:var(--r-pill);background:var(--c-surface-3);color:var(--c-ink-2);font-family:var(--font-mono);font-size:.7rem;font-weight:800}.map-acc.new{color:var(--c-muted)}.map-bubble{position:absolute;top:-26px;left:50%;z-index:2;padding:5px 12px;border:2px solid var(--emblem-line);border-radius:10px;background:var(--hue-volt);color:var(--volt-ink);box-shadow:0 3px 0 var(--emblem-line);font-family:var(--font-display);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;transform:translate(-50%);animation:c-bob 2s var(--ease-in-out) infinite}.map-bubble:after{content:"";position:absolute;bottom:-8px;left:50%;width:10px;height:10px;border-right:2px solid var(--emblem-line);border-bottom:2px solid var(--emblem-line);background:var(--hue-volt);transform:translate(-50%) rotate(45deg)}.boss-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;margin-top:8px;padding:20px 28px;overflow:hidden;border-radius:var(--r-xl);background:var(--c-night);color:var(--c-night-ink)}.boss-card h2{color:var(--c-night-ink);font-family:var(--font-display);font-weight:700}.boss-card .sub{color:var(--c-night-muted)}.boss-card .eyebrow{color:var(--hue-volt)}.boss-pip{position:absolute;right:-8px;bottom:-14px;opacity:.18;transform:rotate(-12deg) scale(1.6);pointer-events:none}@media (max-width: 640px){.world-head{grid-template-columns:1fr;padding:14px 16px}.world-art{max-width:200px;margin:-4px auto -10px}.map-node{width:132px;margin-left:-66px}.map-node:nth-child(4n+2){left:68%!important}.map-node:nth-child(4n){left:32%!important}.map-label .topic-name{font-size:.82rem}.map-summary{width:100%}.map-summary>div{flex:1;min-width:0}.boss-card{grid-template-columns:1fr;justify-items:start}}.lesson-page{max-width:900px}.lesson-hud{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;margin:calc(-1*clamp(20px,3.4vw,44px)) calc(-1*clamp(16px,3.6vw,48px)) 18px;padding:10px clamp(16px,3.6vw,48px);border-bottom:1px solid var(--c-line);background:color-mix(in srgb,var(--c-bg) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lesson-back{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;color:var(--c-ink)}.lesson-back:hover{background:var(--c-surface-3)}.lesson-hud-title{display:grid;min-width:0;line-height:1.15}.lesson-hud-eyebrow{color:var(--strand);font-family:var(--font-mono);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;filter:saturate(1.1)}.lesson-hud-name{overflow:hidden;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.lesson-hud-progress{flex:1;min-width:60px;height:12px;overflow:hidden;border-radius:var(--r-pill);background:var(--c-surface-3)}.lesson-hud-progress span{display:block;height:100%;border-radius:inherit;background:var(--c-good-bright);transition:width var(--d-4) var(--ease-spring)}.lesson-head{align-items:center;gap:24px;margin-bottom:18px}.lesson-head-copy{flex:1 1 360px}.lesson-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--c-ink-2)}.strand-pip{width:12px;height:12px;border:2px solid var(--emblem-line);border-radius:3px;background:var(--strand);transform:rotate(45deg)}.lesson-head h1{font-size:clamp(2rem,1.4rem + 2.2vw,3.2rem)}.lesson-head-emblem{display:grid;justify-items:center;gap:8px;padding:14px;border-radius:var(--r-lg);background:radial-gradient(circle,color-mix(in srgb,var(--strand) 20%,transparent),transparent 70%)}.stage-rail{display:flex;gap:8px;margin:0 0 26px;padding:0;overflow-x:auto;scrollbar-width:none}.stage-chip{display:inline-flex;align-items:center;flex:1 0 auto;gap:8px;min-height:46px;padding:6px 16px 6px 6px;border:2px solid var(--c-line);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-ink);font-weight:800;text-decoration:none}.stage-chip:hover{border-color:var(--c-ink)}.stage-chip-n{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--c-surface-3);font-family:var(--font-mono);font-size:.75rem}.stage-chip.done{border-color:var(--c-good-bright)}.stage-chip.done .stage-chip-n{background:var(--c-good-bright);color:#fff}.lesson-stage{margin:0 0 40px;scroll-margin-top:80px}.lesson-stage-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px}.lesson-stage-head h2{font-family:var(--font-display);font-size:clamp(1.25rem,1.1rem + .6vw,1.6rem);font-weight:700}.lesson-stage-head .sub{margin:4px 0 0}.lesson-stage-n{display:grid;place-items:center;flex:none;width:44px;height:44px;border:2px solid var(--emblem-line);border-radius:14px;background:var(--subject);color:#fff;box-shadow:0 3px 0 var(--emblem-line);font-family:var(--font-display);font-weight:800}.stage-learn .lesson-stage-n{background:var(--hue-amber);color:var(--emblem-line)}.stage-practise .lesson-stage-n{background:var(--hue-green)}.stage-master .lesson-stage-n{background:var(--hue-volt);color:var(--volt-ink)}.lesson-stamp{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:4px 12px;border:2px solid var(--c-good);border-radius:var(--r-pill);background:var(--c-good-wash);color:var(--c-good);font-family:var(--font-mono);font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;transform:rotate(-2deg)}.lesson-stamp:before{content:"✓"}.editorial-note{display:flex;flex-wrap:wrap;gap:6px 8px;margin:0 0 26px;padding:10px 14px;border:0;border-radius:var(--r-sm);background:var(--c-surface-2);color:var(--c-muted);font-family:var(--font-mono);font-size:.72rem}.editorial-note a{color:var(--subject-strong)}.topic-page .notes,.notes.notes-deck{display:grid;gap:14px;padding:0;border:0;background:transparent}.note-card{position:relative;padding:22px 24px 22px 70px;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--sh-1)}.note-step{position:absolute;top:20px;left:20px;display:grid;place-items:center;width:34px;height:34px;border:2px solid var(--emblem-line);border-radius:10px;background:var(--subject-wash-2);color:var(--c-ink);font-family:var(--font-display);font-size:.85rem;font-weight:800}.note-p{margin:0;color:var(--c-ink);font-size:1.12rem;line-height:1.65}.notes-deck.english .note-p{font-family:var(--font-read);font-size:1.1rem}.note-bullets{display:grid;gap:10px;margin:0;padding:0;list-style:none;color:var(--c-ink)}.note-bullets li{position:relative;padding-left:30px;font-size:1.02rem;line-height:1.55}.note-bullets li:before{content:"";position:absolute;top:6px;left:0;width:14px;height:14px;border:2px solid var(--emblem-line);border-radius:0 14px 0 0;background:var(--subject)}.note-bullets li:nth-child(2n):before{border-radius:14px 0 0;background:var(--subject-alt)}.formula-card{padding:20px 24px;border:0;border-radius:var(--r-lg);background:var(--c-night);box-shadow:var(--sh-2)}.formula-title{margin-bottom:8px;color:var(--hue-volt);font-family:var(--font-mono);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.formula-body{color:var(--c-night-ink);font-family:var(--font-mono);font-size:1.08rem;font-weight:700;line-height:1.7;white-space:pre-wrap}.example-card{display:grid;gap:12px;padding:20px 24px;border:2px dashed color-mix(in srgb,var(--subject) 55%,var(--c-line));border-radius:var(--r-lg);background:var(--subject-wash)}.example-card.open{border-style:solid}.note-card-tag{display:inline-flex;align-items:center;gap:6px;color:var(--subject-strong);font-family:var(--font-mono);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.example-q{color:var(--c-ink);font-size:1.08rem;font-weight:800;line-height:1.5}.example-a{padding:14px 16px;border-radius:var(--r-md);background:var(--c-surface);color:var(--c-ink);font-family:var(--font-hand);font-size:1.2rem;line-height:1.55;animation:c-slide-up var(--d-3) var(--ease-out) both}.example-a[hidden]{display:none}.example-try{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--c-muted);font-weight:700}.example-try .btn{margin-left:auto}.lesson-visual{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px;align-items:center;margin:0;padding:18px;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface)}.lesson-visual-copy span{color:var(--subject-strong);font-family:var(--font-mono);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.lesson-visual-copy h3{margin:6px 0;font-family:var(--font-display);font-size:1.15rem;font-weight:700}.lesson-visual-copy p{margin:0;color:var(--c-muted)}@media (max-width: 720px){.lesson-visual{grid-template-columns:1fr}}.quiz-panel{padding:clamp(18px,2.4vw,28px)}.quiz-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.quiz{display:grid;gap:14px;margin-top:18px}.quiz-q{padding:20px;border:2px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);animation:c-slide-up var(--d-3) var(--ease-out) both}.quiz-q.right{border-color:var(--c-good-bright);background:color-mix(in srgb,var(--c-good-bright) 8%,var(--c-surface))}.quiz-q.wrong{border-color:var(--c-bad-bright);background:color-mix(in srgb,var(--c-bad-bright) 7%,var(--c-surface))}.quiz-q-meta{display:flex;justify-content:space-between;color:var(--c-muted);font-family:var(--font-mono);font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.quiz-q-text{margin:10px 0 14px;color:var(--c-ink);font-size:1.1rem;font-weight:700;line-height:1.5}.quiz-q-text p{margin:0 0 6px}.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.choice{display:flex;align-items:center;gap:12px;min-height:54px;padding:10px 14px;border:2px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-ink);box-shadow:0 4px 0 var(--c-line-strong);font:inherit;font-weight:700;text-align:left;cursor:pointer;transition:transform var(--d-1),border-color var(--d-1),background var(--d-1),box-shadow var(--d-1)}.choice:hover:not(:disabled){border-color:var(--subject);background:var(--subject-wash);transform:translateY(-1px)}.choice:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--c-line-strong)}.choice.selected{border-color:var(--subject);background:var(--subject-wash);box-shadow:0 4px 0 var(--subject)}.choice:disabled{cursor:default}.choice-letter{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:9px;background:var(--c-surface-3);color:var(--c-ink-2);font-family:var(--font-mono);font-size:.8rem;font-weight:800}.choice.selected .choice-letter{background:var(--subject);color:#fff}.quiz-q .answer-input{width:100%;max-width:360px;min-height:52px;padding:10px 14px;font-size:1.1rem}.quiz-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.hint-inline{display:inline-flex;padding:6px 12px;border:0;border-radius:var(--r-pill);background:var(--c-warn-wash);color:var(--c-warn);font-size:.85rem;font-weight:700}.quiz-fb{margin-top:14px;padding:14px 16px;border:0;border-radius:var(--r-md);background:var(--c-surface-2)}.quiz-fb-line{font-weight:800}.quiz-q.right .quiz-fb{background:var(--c-good-wash)}.quiz-q.wrong .quiz-fb{background:var(--c-bad-wash)}.review-sol{display:grid;gap:4px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--c-line-strong)}.sol-step{font-family:var(--font-mono);font-size:.92rem}.quiz-done{display:grid;justify-items:start;gap:14px;padding:22px;border:0;border-radius:var(--r-lg);background:var(--c-night);color:var(--c-night-ink)}.quiz-done h3{color:var(--c-night-ink);font-family:var(--font-display);font-size:1.5rem;font-weight:700}.quiz-done .reward-summary{width:100%;border-color:var(--c-night-3);background:var(--c-night-2)}.quiz-done .reward-summary-label,.quiz-done .reward-summary-detail,.quiz-done .reward-summary-rank{color:var(--c-night-muted)}.quiz-done .reward-xp{color:var(--hue-volt)}.quiz-done .btn-primary{border-color:var(--hue-volt);background:var(--hue-volt);color:var(--volt-ink)}.btn-finish,button.btn-finish{justify-self:start;min-height:52px;padding:12px 26px;border:2px solid var(--emblem-line);border-radius:var(--r-pill);background:var(--hue-volt);color:var(--volt-ink);box-shadow:0 4px 0 var(--emblem-line);font-weight:800}.btn-finish:disabled{border-color:var(--c-line-strong);background:var(--c-surface-3);color:var(--c-muted);box-shadow:none}.combo-meter{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 10px;border:2px solid var(--emblem-line);border-radius:var(--r-pill);background:var(--hue-amber);color:var(--emblem-line);box-shadow:0 3px 0 var(--emblem-line);font-size:.85rem;animation:c-pop var(--d-3) var(--ease-spring) both;--icon-accent: #fff3c4}.combo-meter span{font-family:var(--font-mono);font-size:.72rem;font-weight:800;text-transform:uppercase}.mastery-card{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;margin-bottom:20px;padding:24px;border-radius:var(--r-xl);background:radial-gradient(90% 120% at 0% 50%,color-mix(in srgb,var(--subject) 32%,transparent),transparent 60%),var(--c-night);color:var(--c-night-ink)}.mastery-card h3{margin:4px 0 8px;color:var(--c-night-ink);font-family:var(--font-display);font-size:1.25rem;font-weight:700}.mastery-card .eyebrow{color:var(--hue-volt)}.mastery-card .sub{margin:8px 0 0;color:var(--c-night-muted)}.mastery-card-emblem{display:grid;place-items:center;width:150px;height:150px;border-radius:50%;background:var(--c-night-2)}.star-targets{display:grid;gap:6px;margin:12px 0 0;padding:0;list-style:none;color:var(--c-night-muted);font-size:.85rem}.star-targets li{display:flex;align-items:center;gap:10px}.star-targets li.met{color:var(--c-night-ink);font-weight:700}.mastery-card .c-stars .star path{fill:var(--c-night-3);stroke:var(--c-night-3)}.mastery-card .c-stars .star.on path{fill:var(--hue-amber);stroke:var(--emblem-line)}.next-topic{grid-column:1 / -1;display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:var(--r-md);background:var(--c-night-2);color:var(--c-night-ink);text-decoration:none}.next-topic .eyebrow{color:var(--c-night-muted)}.next-topic strong{flex:1;font-size:1.05rem}.next-topic:hover{background:var(--c-night-3)}.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:14px}.res-card{display:grid;gap:4px;padding:16px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface-2);color:var(--c-ink);text-decoration:none;transition:transform var(--d-1),border-color var(--d-1)}.res-card:hover{border-color:var(--subject);transform:translateY(-2px)}.res-icon{display:grid;place-items:center;width:36px;height:36px;margin-bottom:4px;border-radius:10px;background:var(--subject-wash-2);color:var(--subject-strong);--icon-accent: var(--subject)}.res-name{font-weight:800}.res-why{color:var(--c-muted);font-size:.88rem}.tutor-promo{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding:20px 24px;border:2px solid var(--emblem-line);border-radius:var(--r-xl);background:color-mix(in srgb,var(--hue-volt) 22%,var(--c-surface));box-shadow:0 5px 0 var(--emblem-line)}.tutor-promo>div{flex:1 1 240px}.tutor-promo h3{font-family:var(--font-display);font-weight:700}.tutor-promo .sub{margin:4px 0 0;color:var(--c-ink-2)}@media (max-width: 640px){.note-card{padding:18px 18px 18px 62px}.note-step{left:16px}.mastery-card{grid-template-columns:1fr;justify-items:start}.lesson-hud .c-stars,.lesson-head-emblem{display:none}}.critter,.critter-badge{--cr-light: color-mix(in srgb, var(--cr-main) 34%, var(--tile-inset));--cr-deep: color-mix(in srgb, var(--cr-main) 74%, var(--tile-shade));--cr-side: color-mix(in srgb, var(--cr-main) 54%, var(--tile-shade));--cr-wash: color-mix(in srgb, var(--cr-main) 20%, var(--c-surface));--rank-shine: color-mix(in srgb, var(--rank, var(--rank-silver)) 45%, var(--tile-inset));display:block;flex:none;overflow:visible}.critter-badge.rank-legend{--cr-wash: color-mix(in srgb, var(--hue-volt) 24%, var(--c-surface))}.critter .cr-body,.critter-badge .cr-body{transform-box:fill-box;transform-origin:50% 100%;animation:cr-breathe 3.2s var(--ease-in-out) infinite;animation-delay:calc(var(--i, 0) * -.7s)}.cr-eyes{transform-box:fill-box;transform-origin:50% 50%;animation:cr-blink 5s infinite;animation-delay:calc(var(--i, 0) * -1.3s)}.cr-wag{transform-box:fill-box;transform-origin:30% 100%;animation:cr-wag 2.4s var(--ease-in-out) infinite}.cr-flap{transform-box:fill-box;transform-origin:50% 70%;animation:cr-flap 1.8s var(--ease-in-out) infinite}.cr-trunk{transform-box:fill-box;transform-origin:50% 0%;animation:cr-wag 3s var(--ease-in-out) infinite}.cr-clock-hand{transform-box:view-box;transform-origin:60px 86px;animation:c-spin 6s steps(12) infinite}.cr-quills{transform-box:fill-box;transform-origin:50% 100%;animation:cr-bristle 3.2s var(--ease-in-out) infinite}.cr-flag{transform-box:fill-box;transform-origin:0 50%;animation:cr-flag 1.4s var(--ease-in-out) infinite}.cr-trail{animation:cr-march .9s linear infinite}.cr-orbit{transform-box:fill-box;transform-origin:50% 50%;animation:cr-orbit 4s linear infinite}.cr-spin-slow{transform-box:view-box;transform-origin:60px 56px;animation:c-spin 16s linear infinite}.cr-sparkle{transform-box:fill-box;transform-origin:50% 50%;animation:cr-sparkle 2.4s var(--ease-in-out) infinite;animation-delay:calc(var(--i, 0) * -.6s)}.cr-peek{animation:cr-peek 3s infinite}.cr-egg{transform-box:fill-box;transform-origin:50% 100%;animation:cr-egg 4.2s var(--ease-in-out) infinite}.cr-egg.is-close{animation-duration:2s}.critter.is-silhouette .cr-art *{fill:var(--cr-mystery, color-mix(in srgb, var(--c-ink) 42%, var(--c-surface)))!important;stroke:var(--cr-mystery, color-mix(in srgb, var(--c-ink) 42%, var(--c-surface)))!important;opacity:1!important}.critter.is-silhouette .cr-eyes,.critter.is-silhouette .cr-cheeks,.critter.is-silhouette .cr-legend-sparkles{display:none}.critter.is-silhouette .cr-body{animation:none}.critter-badge .badge-halo{transform-box:fill-box;transform-origin:50% 50%;animation:c-spin 20s linear infinite}.critter-badge .badge-hatch{transition:stroke-dasharray var(--d-4) var(--ease-out)}.critter-badge.rank-legend .badge-wings{animation:c-pulse 2.6s var(--ease-in-out) infinite}@keyframes cr-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.025,.97)}}@keyframes cr-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes cr-wag{0%,to{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}@keyframes cr-flap{0%,to{transform:rotate(0)}50%{transform:translateY(-2px) scale(1.03)}}@keyframes cr-bristle{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes cr-flag{0%,to{transform:skewY(0)}50%{transform:skewY(-8deg)}}@keyframes cr-orbit{to{stroke-dashoffset:-26}}@keyframes cr-march{to{stroke-dashoffset:-16}}@keyframes cr-sparkle{0%,to{transform:scale(.6) rotate(0);opacity:.6}50%{transform:scale(1.1) rotate(45deg);opacity:1}}@keyframes cr-peek{0%,60%,to{opacity:1}70%,80%{opacity:0}}@keyframes cr-egg{0%,70%,to{transform:rotate(0)}76%{transform:rotate(-7deg)}82%{transform:rotate(6deg)}88%{transform:rotate(-4deg)}94%{transform:rotate(2deg)}}@media (prefers-reduced-motion: reduce){.critter *,.critter-badge *{animation:none!important}}.home-page{max-width:1180px}.dash-head{margin-bottom:var(--s-6)}.dash-head h1{font-size:clamp(2rem,1.3rem + 2.4vw,3.2rem)}.dash-head .eyebrow{margin-bottom:8px;color:var(--subject-strong)}.dash-head-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.dash-head-meta .exam-countdown,.dash-head-meta .head-chip{box-sizing:border-box;min-height:36px;margin:0;padding:0 14px}.exam-countdown{display:inline-flex;align-items:center;gap:8px;margin:0;padding:6px 14px;border:1px solid var(--c-line-strong);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-ink-2);font-size:.85rem;font-weight:700}.exam-countdown.soon{border-color:var(--c-warn);background:var(--c-warn-wash);color:var(--c-warn)}.exam-countdown.urgent{border-color:var(--c-bad);background:var(--c-bad-wash);color:var(--c-bad)}.head-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:var(--r-pill);background:var(--c-night);color:var(--c-night-ink);font-family:var(--font-mono);font-size:.75rem;font-weight:700}.dot-live{width:8px;height:8px;border-radius:50%;background:var(--hue-volt);box-shadow:0 0 0 4px color-mix(in srgb,var(--hue-volt) 25%,transparent);animation:c-pulse 1.6s infinite}.continue-strip{display:flex;align-items:center;gap:14px;margin:0 0 var(--s-5);padding:12px 14px 12px 12px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface);box-shadow:var(--sh-1)}.continue-strip>div{display:grid;flex:1;min-width:0}.continue-strip strong{font-weight:800}.continue-strip>div>span{overflow:hidden;color:var(--c-muted);font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.continue-strip>.continue-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:var(--subject-wash-2);color:var(--subject-strong);opacity:1;--icon-accent: var(--subject)}.continue-icon .c-icon{width:100%;height:100%}.home-hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;margin-bottom:18px}.nextstep-card.panel{position:relative;margin:0;padding:clamp(22px,2.6vw,34px);overflow:hidden;border:0;border-radius:var(--r-xl);background:radial-gradient(90% 120% at 100% 0%,color-mix(in srgb,var(--subject) 40%,transparent),transparent 60%),radial-gradient(60% 80% at 0% 100%,color-mix(in srgb,var(--hue-volt) 10%,transparent),transparent 70%),var(--c-night);color:var(--c-night-ink);box-shadow:var(--sh-2)}.nextstep-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(160px,.8fr);align-items:center;gap:12px}.nextstep-copy .eyebrow{color:var(--hue-volt)}.nextstep-copy h2{margin:10px 0;color:#fff;font-family:var(--font-display);font-size:clamp(1.6rem,1.1rem + 1.8vw,2.5rem);font-weight:700;line-height:1.08}.nextstep-copy .sub{max-width:46ch;color:var(--c-night-muted);font-size:1rem}.nextstep-cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.nextstep-go{min-height:52px;padding:12px 24px;font-size:1.02rem}.nextstep-due{border-color:var(--c-night-3);background:transparent;color:var(--c-night-ink);--icon-accent: var(--hue-coral)}.nextstep-due:hover{border-color:var(--c-night-muted);background:var(--c-night-2);color:#fff}.nextstep-art{display:grid;place-items:center;min-height:180px}.nextstep-art .c-scene{max-width:320px}.nextstep-art .iso-tile{width:min(220px,100%);height:auto;animation:c-bob 3.4s var(--ease-in-out) infinite}.nextstep-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:22px 0 0;padding:0;border:0;background:transparent}.nextstep-facts>div{display:grid;gap:4px;padding:10px 14px;border:0;border-radius:14px;background:color-mix(in srgb,var(--c-night-2) 88%,transparent)}.nextstep-facts dt{display:inline-flex;align-items:center;gap:6px;color:var(--c-night-muted);font-family:var(--font-mono);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.nextstep-facts dd{display:flex;align-items:center;gap:8px;margin:0;color:#fff;font-family:var(--font-num);font-size:1.15rem;font-weight:800}.fact-streak{--icon-accent: var(--hue-amber)}.fact-streak dt{color:#ffb35c}.fact-ready dt{--icon-accent: var(--hue-volt)}.fact-exam dt{--icon-accent: var(--hue-cyan)}.nextstep-facts .c-ring-label{display:none}.nextstep-weak{margin-top:18px}.nextstep-weak .eyebrow{color:var(--c-night-muted)}.nextstep-weak ul{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none}.nextstep-card .nextstep-weak-link{background:transparent}.nextstep-weak-link{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 8px 6px 14px;border:1px solid var(--c-night-3);border-radius:var(--r-pill);color:var(--c-night-ink);font-weight:700;text-decoration:none}.nextstep-card .nextstep-weak-link:hover{background:var(--c-night-2)}.nextstep-weak-name{color:var(--c-night-ink)}.strength{padding:2px 10px;border-radius:var(--r-pill);font-family:var(--font-mono);font-size:.72rem;font-weight:800}.strength-good{background:color-mix(in srgb,var(--c-good-bright) 25%,transparent);color:#7ff0c3}.strength-mid{background:color-mix(in srgb,var(--hue-amber) 25%,transparent);color:#ffd27a}.strength-low{background:color-mix(in srgb,var(--hue-coral) 25%,transparent);color:#ffb3bb}.strength-quiet{background:var(--c-night-3);color:var(--c-night-muted)}.home-side{display:grid;gap:14px;align-content:start}.streak-card,.level-ring-card{padding:18px;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--sh-1)}.streak-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}.streak-top b{display:block;font-family:var(--font-num);font-size:2.2rem;font-weight:800;line-height:1}.streak-top span{color:var(--c-muted);font-size:.82rem;font-weight:700}.streak-flame{display:grid;place-items:center;width:52px;height:52px;border:2px solid var(--emblem-line);border-radius:16px;background:var(--hue-amber);color:var(--emblem-line);box-shadow:0 3px 0 var(--emblem-line);--icon-accent: #fff3c4}.freeze-chip{margin-left:auto;padding:4px 10px;border-radius:var(--r-pill);background:var(--c-info-wash);color:var(--c-info)!important;font-family:var(--font-mono);font-size:.75rem!important;font-weight:800!important}.streak-note{margin:12px 0 0;color:var(--c-muted);font-size:.8rem}.level-ring-card{display:flex;align-items:center;gap:14px}.level-ring-card strong{display:block;font-weight:800;line-height:1.2}.level-ring-card .sub{display:block;margin-top:2px;font-size:.8rem}.ring-level{display:grid;justify-items:center;font-family:var(--font-num);font-size:1.6rem;font-weight:800;line-height:1}.ring-level small{color:var(--c-muted);font-family:var(--font-mono);font-size:.55rem;letter-spacing:.1em}.stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 var(--s-8)}.stat-card{position:relative;display:grid;gap:2px;padding:16px 18px;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--sh-1)}.stat-card .stat-num{color:var(--c-ink);font-size:2.1rem;font-weight:800;line-height:1.1}.stat-card .stat-label{color:var(--c-ink);font-weight:800}.stat-card .stat-cap{font-size:.78rem}.stat-icon{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--c-surface-3);color:var(--c-ink-2)}.stat-card.tone-0 .stat-icon{background:color-mix(in srgb,var(--hue-blue) 16%,var(--c-surface));color:var(--hue-blue)}.stat-card.tone-1 .stat-icon{background:color-mix(in srgb,var(--hue-purple) 16%,var(--c-surface));color:var(--hue-purple)}.stat-card.tone-2 .stat-icon{background:color-mix(in srgb,var(--hue-green) 16%,var(--c-surface));color:var(--hue-green)}.stat-card.tone-3 .stat-icon{background:color-mix(in srgb,var(--hue-amber) 20%,var(--c-surface));color:#c47d00}.stat-card.warn{border-color:var(--c-warn)}.stat-card.good{border-color:var(--c-good)}.home-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:var(--s-8) 0 var(--s-3)}.section-label{display:inline-flex;align-items:center;gap:10px;color:var(--c-ink);font-size:.8rem}.section-num{display:grid;place-items:center;width:30px;height:30px;border:2px solid var(--emblem-line);border-radius:9px;background:var(--hue-volt);color:var(--volt-ink);font-family:var(--font-display);font-size:.72rem;font-weight:800;letter-spacing:0}.path-panel{padding:18px 18px 12px;overflow:hidden;background:linear-gradient(180deg,var(--c-surface),var(--subject-wash))}.path-preview{display:flex;align-items:flex-end;gap:6px;margin:0;padding:0;overflow-x:auto;list-style:none;scrollbar-width:thin}.path-step{position:relative;flex:1 0 128px}.path-step+.path-step:before{content:"";position:absolute;top:45%;left:-22px;width:36px;height:6px;border-radius:6px;background:color-mix(in srgb,var(--subject) 35%,var(--c-line))}.path-step a{display:grid;justify-items:center;gap:4px;padding:6px;border-radius:var(--r-md);color:var(--c-ink);text-align:center;text-decoration:none}.path-step a:hover .iso-tile{transform:translateY(-5px)}.path-step .iso-tile{transition:transform var(--d-2) var(--ease-spring)}.path-step-name{max-width:150px;font-size:.85rem;font-weight:800;line-height:1.2}.study-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:14px}.study-grid .panel{margin:0}.study-grid .plan-card{grid-column:1 / -1}.mission-card{border:2px solid var(--emblem-line)!important;background:color-mix(in srgb,var(--hue-volt) 16%,var(--c-surface))!important;box-shadow:0 5px 0 var(--emblem-line)!important}.mission-card h2{margin:6px 0 8px;font-family:var(--font-display);font-size:1.35rem;font-weight:700}.mission-card.mission-done{background:var(--c-good-wash)!important}.study-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.readiness-card .readiness-number{margin:8px 0;color:var(--subject-strong);font-family:var(--font-num);font-weight:800;font-size:clamp(1.6rem,1.2rem + 1.5vw,2.4rem);font-weight:700;line-height:1.1}.plan-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.plan-head h2{margin-top:6px;font-family:var(--font-display);font-size:1.2rem;font-weight:700}.plan-head input[type=date]{min-height:44px;padding:6px 12px}.pass-toggle{display:flex;align-items:center;gap:12px;margin:14px 0 0;padding:12px 14px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface-2)}.pass-toggle span{display:grid}.pass-toggle small{color:var(--c-muted)}.plan-flex{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;margin:14px 0;padding:0;border:0;background:transparent}.adhoc-label{display:block;margin-bottom:6px;color:var(--c-muted);font-family:var(--font-mono);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.suggest-chip{min-height:38px;padding:6px 12px;border:2px solid var(--c-line);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-ink-2);font:inherit;font-size:.85rem;font-weight:800;cursor:pointer}.suggest-chip:hover{border-color:var(--c-ink)}.suggest-chip.on{border-color:var(--subject);background:var(--subject);color:#fff}.minutes-stepper{display:inline-flex;align-items:center;gap:10px}.minutes-stepper strong{min-width:64px;font-family:var(--font-mono);text-align:center}.week-plan{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:8px;padding:0;border:0;background:transparent}.week-plan .link-button{justify-self:start;margin-top:2px;font-size:.72rem}.week-plan>*{display:grid;align-content:start;gap:4px;min-height:108px;padding:10px;border:2px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-ink);font:inherit;text-align:left;text-decoration:none}.week-plan b{font-family:var(--font-mono);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.week-plan span{font-size:.82rem;font-weight:700;line-height:1.25}.week-plan small{margin-top:auto;color:var(--c-muted);font-family:var(--font-mono);font-size:.68rem;font-weight:700}.week-plan a:hover{border-color:var(--subject)}.week-plan a.done{border-color:var(--c-good-bright);background:var(--c-good-wash)}.week-plan a.done b{color:var(--c-good)}.week-plan [title="Today's mission"]{border-color:var(--emblem-line);background:var(--hue-volt);color:var(--volt-ink);box-shadow:0 4px 0 var(--emblem-line)}.week-plan [title="Today's mission"] small{color:var(--volt-ink)}.week-plan .locked{border-style:dashed;color:var(--c-muted)}.week-plan .past{opacity:.6}.week-plan .rest-day{background:var(--c-surface-2)}.week-plan .move-target{border-color:var(--subject);background:var(--subject-wash);cursor:pointer}.week-track{display:flex;gap:6px;margin-top:12px}.week-track i{flex:1;height:8px;border-radius:8px;background:var(--c-surface-3)}.week-track i.done{background:var(--c-good-bright)}.week-track i.today{background:var(--hue-volt);box-shadow:inset 0 0 0 2px var(--emblem-line)}.plan-note{margin:10px 0 0;color:var(--c-muted);font-size:.85rem}.plan-note.error{color:var(--c-bad);font-weight:700}.evidence-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.evidence-chip{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-ink);text-decoration:none;box-shadow:var(--sh-1)}.evidence-chip b{font-family:var(--font-num);font-size:1.6rem;font-weight:800}.evidence-chip span{color:var(--c-muted);font-size:.85rem;font-weight:700}.evidence-chip:hover{border-color:var(--subject)}.evidence-chip.due{border-color:var(--hue-coral);background:color-mix(in srgb,var(--hue-coral) 10%,var(--c-surface))}.evidence-chip.mastered b{color:var(--c-good)}.onboarding-card{border:2px solid var(--emblem-line)!important;background:var(--c-surface)!important;box-shadow:0 5px 0 var(--emblem-line)!important}.onboarding-card h2{margin:6px 0 8px;font-family:var(--font-display);font-weight:700}.mastery-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.strand-bars{display:grid;gap:8px;margin-top:12px}.strand-bar{display:grid;grid-template-columns:auto minmax(120px,1fr) auto minmax(120px,1.4fr) 110px;align-items:center;gap:12px;padding:8px 12px;border-radius:var(--r-md);color:var(--c-ink);text-decoration:none}.strand-bar:hover{background:var(--c-surface-2)}.strand-bar-name{font-weight:800}.strand-bar-track{height:12px;overflow:hidden;border-radius:12px;background:var(--c-surface-3)}.strand-bar-track span{display:block;height:100%;border-radius:inherit;background:var(--strand)}.strand-bar-meta{color:var(--c-muted);font-family:var(--font-mono);font-size:.75rem;font-weight:700;text-align:right}.v3-stage{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--r-pill);background:var(--c-surface-3);color:var(--c-ink-2);font-family:var(--font-mono);font-size:.7rem;font-weight:800;letter-spacing:.04em;white-space:nowrap}.v3-stage.learning,.v3-stage.revision{background:color-mix(in srgb,var(--hue-coral) 18%,var(--c-surface));color:var(--c-bad)}.v3-stage.developing{background:color-mix(in srgb,var(--hue-amber) 22%,var(--c-surface));color:var(--c-warn)}.v3-stage.secure{background:color-mix(in srgb,var(--hue-green) 18%,var(--c-surface));color:var(--c-good)}.v3-stage.mastered{background:var(--hue-volt);color:var(--volt-ink)}.boss-panel h2{font-family:var(--font-display);font-weight:700}.papers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.papers-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.paper-card.pick{position:relative;display:grid;align-content:start;gap:10px;padding:18px;overflow:hidden;border:2px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface)}.paper-card.pick:before{content:none}.paper-card.pick:hover{border-color:var(--c-ink)}.paper-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.paper-type{background:var(--c-night);color:var(--c-night-ink);border-color:var(--c-night)}.calc-badge.yes{border-color:color-mix(in srgb,var(--hue-green) 50%,transparent);background:color-mix(in srgb,var(--hue-green) 12%,var(--c-surface));color:var(--c-good)}.calc-badge.no{border-color:color-mix(in srgb,var(--hue-coral) 50%,transparent);background:color-mix(in srgb,var(--hue-coral) 10%,var(--c-surface));color:var(--c-bad)}.paper-boss{display:flex;align-items:center;gap:10px}.paper-level{font-family:var(--font-display);font-size:1.1rem;font-weight:700}.paper-desc{color:var(--c-ink-2);font-size:.9rem}.paper-meta-line{display:inline-flex;align-items:center;gap:6px;color:var(--c-muted);font-family:var(--font-mono);font-size:.75rem;font-weight:700}.paper-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.adhoc-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:16px;padding:16px 18px;border-radius:var(--r-md);background:var(--c-night);color:var(--c-night-ink);--icon-accent: var(--hue-volt)}.adhoc-cta>div{flex:1 1 220px}.adhoc-cta .sub{color:var(--c-night-muted)}.adhoc-cta-title{font-family:var(--font-display);font-weight:700}.proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.proof-grid>.panel{margin:0}.expertise-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.expertise-head h2{margin:6px 0 4px;font-family:var(--font-display);font-weight:700}.expertise-seal{display:grid;place-items:center;flex:none;width:76px;height:76px;border:3px solid var(--emblem-line);border-radius:22px;background:var(--subject);color:#fff;box-shadow:0 5px 0 var(--emblem-line);transform:rotate(-4deg)}.expertise-seal span{font-family:var(--font-mono);font-size:.58rem;font-weight:800;letter-spacing:.1em}.expertise-seal strong{font-family:var(--font-display);font-size:1.8rem;line-height:1}.expertise-progress{margin-top:16px}.expertise-progress-copy{display:flex;justify-content:space-between;gap:8px;color:var(--c-muted);font-size:.82rem;font-weight:700}.expertise-track{height:14px;margin-top:8px;overflow:hidden;border-radius:14px;background:var(--c-surface-3)}.expertise-track>span{display:block;height:100%;border-radius:inherit;background:repeating-linear-gradient(135deg,var(--hue-volt) 0 12px,color-mix(in srgb,var(--hue-volt) 75%,#fff) 12px 24px);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--emblem-line) 40%,transparent)}.expertise-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.badge-collection{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin-top:16px}.expertise-badge{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface-2)}.expertise-badge span:last-child{display:grid}.expertise-badge small{color:var(--c-muted);font-size:.72rem}.expertise-badge-number{display:grid;place-items:center;flex:none;width:38px;height:38px;border:2px dashed var(--c-line-strong);border-radius:12px;font-family:var(--font-display);font-weight:800;transform:rotate(45deg)}.expertise-badge-number{transform:none}.expertise-badge.unlocked .expertise-badge-number{border:2px solid var(--emblem-line);background:var(--hue-amber);color:var(--emblem-line);box-shadow:0 3px 0 var(--emblem-line)}.expertise-badge.locked{opacity:.7}.memri-card h2{font-family:var(--font-display);font-weight:700}.critter-shelf{padding:clamp(18px,2.4vw,28px);background:linear-gradient(180deg,var(--c-surface),var(--subject-wash))}.critter-shelf-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}.critter-shelf-head>div:first-child{flex:1 1 320px}.critter-shelf h2{margin:6px 0;font-family:var(--font-display);font-weight:700}.critter-shelf-head .sub{max-width:60ch;margin:0}.collector{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 12px;flex:0 1 300px;padding:12px 14px;border:2px solid var(--emblem-line);border-radius:var(--r-md);background:var(--c-night);color:var(--c-night-ink);box-shadow:0 4px 0 var(--emblem-line)}.collector-count{grid-row:span 2;color:var(--c-night-muted);font-family:var(--font-num);font-size:.9rem;font-weight:800}.collector-count b{color:var(--hue-volt);font-size:2rem;line-height:1}.collector-copy{display:grid;min-width:0}.collector-copy strong{font-family:var(--font-display);font-size:.95rem;font-weight:700}.collector-copy small{color:var(--c-night-muted);font-size:.78rem}.collector .critter-meter{grid-column:1 / -1;margin-top:6px;background:var(--c-night-3)}.critter-meter{display:block;width:100%;height:8px;overflow:hidden;border-radius:var(--r-pill);background:var(--c-surface-3)}.critter-meter>i{display:block;height:100%;min-width:4px;border-radius:inherit;background:var(--hue-volt);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--emblem-line) 35%,transparent);transition:width var(--d-4) var(--ease-out)}.critter-closest{display:flex;align-items:center;gap:12px;width:100%;min-height:var(--touch);margin:16px 0 0;padding:8px 14px 8px 8px;border:1px dashed var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-ink);font:inherit;text-align:left;cursor:pointer;--icon-accent: var(--subject)}.critter-closest>span{display:grid;flex:1;min-width:0}.critter-closest strong{font-weight:800}.critter-closest small{color:var(--c-muted);font-size:.82rem}.critter-closest:hover{border-color:var(--subject)}.critter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 0;padding:0;list-style:none}.critter-card{position:relative;display:grid;justify-items:center;align-content:start;gap:4px;width:100%;height:100%;padding:14px 10px 12px;border:2px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);color:var(--c-ink);font:inherit;text-align:center;cursor:pointer;box-shadow:0 4px 0 var(--c-line);transition:transform var(--d-2) var(--ease-spring),border-color var(--d-1),box-shadow var(--d-2)}.critter-card:hover{border-color:var(--emblem-line);transform:translateY(-3px);box-shadow:0 7px 0 var(--emblem-line)}.critter-card:active{transform:translateY(2px);box-shadow:0 2px 0 var(--emblem-line)}.critter-card:focus-visible{outline:3px solid var(--c-focus);outline-offset:3px}.critter-card.rank-egg{border-style:dashed;background:var(--c-surface-2);box-shadow:none}.critter-card.rank-egg:hover{box-shadow:none}.critter-card.rank-gold{border-color:color-mix(in srgb,var(--rank-gold) 60%,var(--c-line))}.critter-card.rank-legend{border-color:var(--emblem-line);background:color-mix(in srgb,var(--hue-volt) 12%,var(--c-surface));box-shadow:0 4px 0 var(--emblem-line),0 0 0 4px color-mix(in srgb,var(--hue-volt) 30%,transparent)}.critter-card .critter-badge{width:min(104px,100%);height:auto;margin-bottom:4px}.critter-card:hover .cr-body{animation:cr-hop .62s var(--ease-spring) both}.critter-card:hover .cr-egg{animation-duration:1.1s}.critter-card-name{font-family:var(--font-display);font-size:.92rem;font-weight:700;line-height:1.15}.critter-card-rank{color:var(--c-muted);font-family:var(--font-mono);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.critter-card .critter-meter{margin-top:6px}.critter-card-next{color:var(--c-muted);font-size:.76rem;font-weight:700;line-height:1.25}.critter-new{position:absolute;top:8px;right:8px;z-index:1;padding:3px 9px;border:2px solid var(--emblem-line);border-radius:var(--r-pill);background:var(--hue-volt);color:var(--volt-ink);font-family:var(--font-mono);font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;animation:c-pop var(--d-3) var(--ease-spring) both,c-wobble 1.8s var(--ease-in-out) .6s infinite}.critter-card.is-new{border-color:var(--emblem-line)}.critter-dialog{position:relative;width:min(560px,100%);max-width:560px;gap:0;text-align:center}.critter-dialog h3{margin:4px 0 6px;font-size:1.6rem}.critter-dialog .eyebrow{margin-top:4px;color:var(--c-muted)}.critter-dialog.rank-legend .eyebrow{color:var(--c-ink)}.critter-lore{max-width:44ch;margin:0 auto}.critter-close{position:absolute;top:12px;right:12px;z-index:2;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--c-line-strong);border-radius:50%;background:var(--c-surface-2);color:var(--c-ink);cursor:pointer}.critter-stage{position:relative;display:grid;justify-items:center;margin:-6px -10px 0;padding:44px 10px 6px;border-radius:var(--r-lg);background:radial-gradient(60% 60% at 50% 60%,color-mix(in srgb,var(--subject) 18%,transparent),transparent 70%),var(--c-surface-2)}.critter-dialog.rank-legend .critter-stage{background:radial-gradient(60% 60% at 50% 60%,color-mix(in srgb,var(--hue-volt) 38%,transparent),transparent 72%),var(--c-surface-2)}.critter-speech{position:absolute;top:10px;left:50%;z-index:1;max-width:min(320px,86%);margin:0;padding:7px 14px;border:2px solid var(--emblem-line);border-radius:16px;background:var(--c-surface);color:var(--c-ink);font-size:.86rem;font-weight:700;line-height:1.3;transform:translate(-50%);box-shadow:0 3px 0 var(--emblem-line)}.critter-pet{position:relative;display:grid;place-items:center;margin-top:8px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.critter-pet:focus-visible{outline:3px solid var(--c-focus);outline-offset:4px}.critter-pet:hover .cr-body{animation:cr-hop .62s var(--ease-spring) both}.critter-pet-anim{display:block;animation:cr-jump .68s var(--ease-spring) both}.critter-hearts{position:absolute;inset:20% 0 auto;display:flex;justify-content:center;pointer-events:none}.critter-hearts svg{position:absolute;opacity:0;animation:cr-float-up 1.1s var(--ease-out) forwards;animation-delay:calc(var(--i) * 70ms);--x: calc((var(--i) - 2) * 26px)}.critter-progress{display:grid;gap:8px;margin:16px 0 0;padding:14px 16px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface-2);text-align:left}.critter-progress-copy{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px}.critter-progress-copy strong{font-family:var(--font-num);font-size:1.05rem;font-weight:800}.critter-progress-copy span{color:var(--c-muted);font-family:var(--font-mono);font-size:.74rem;font-weight:800}.critter-progress .critter-meter{height:12px}.critter-remaining{margin:0;color:var(--c-ink-2)!important;font-size:.88rem}.evo-chain{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 0;padding:0;list-style:none;counter-reset:evo}.evo-step{position:relative}.evo-step+.evo-step:before{content:"";position:absolute;top:34px;left:-9px;width:10px;height:10px;border-top:3px solid var(--c-line-strong);border-right:3px solid var(--c-line-strong);transform:rotate(45deg)}.evo-step button{display:grid;justify-items:center;gap:2px;width:100%;min-height:100%;padding:8px 4px;border:2px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-ink);font:inherit;cursor:pointer}.evo-step.locked button{border-style:dashed;background:var(--c-surface-2);cursor:default}.evo-step.viewing button{border-color:var(--emblem-line);box-shadow:0 3px 0 var(--emblem-line)}.evo-name{max-width:100%;overflow:hidden;font-size:.72rem;font-weight:800;line-height:1.2;text-overflow:ellipsis}.evo-rank{padding:1px 7px;border-radius:var(--r-pill);background:var(--rank, var(--c-surface-3));color:var(--emblem-line);font-family:var(--font-mono);font-size:.6rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.evo-rank.rank-bronze{--rank: var(--rank-bronze)}.evo-rank.rank-silver{--rank: var(--rank-silver)}.evo-rank.rank-gold{--rank: var(--rank-gold)}.evo-rank.rank-legend{--rank: var(--rank-legend)}.evo-goal{color:var(--c-muted);font-family:var(--font-mono);font-size:.68rem;font-weight:800}.critter-dialog .modal-actions{justify-content:center}.critter-evolve{padding-top:26px}.evolve-stage{position:relative;display:grid;place-items:center;height:190px;margin:0 auto 6px}.evolve-stage>span{grid-area:1 / 1;display:grid;place-items:center}.evolve-old{animation:cr-evolve-out 1.7s var(--ease-in-out) both}.evolve-new{animation:cr-evolve-in .9s var(--ease-spring) 1.45s both}.evolve-glow{width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--hue-volt) 70%,transparent),transparent 68%);animation:cr-evolve-glow 1.9s var(--ease-out) .3s both}@keyframes cr-hop{0%{transform:translateY(0)}40%{transform:translateY(-9px) scale(1.04,.97)}70%{transform:translateY(0) scale(1.05,.93)}to{transform:none}}@keyframes cr-jump{0%{transform:translateY(0) scale(1)}30%{transform:translateY(-22px) scale(.96,1.06) rotate(-4deg)}60%{transform:translateY(0) scale(1.08,.9) rotate(3deg)}to{transform:none}}@keyframes cr-float-up{0%{opacity:0;transform:translateY(10px) scale(.4)}20%{opacity:1}to{opacity:0;transform:translate(var(--x),-70px) scale(1.1) rotate(20deg)}}@keyframes cr-evolve-out{0%{opacity:1;filter:none;transform:scale(1)}20%,40%,60%{filter:brightness(0) invert(1)}30%,50%{filter:none}70%{opacity:1;filter:brightness(0) invert(1);transform:scale(1.08)}to{opacity:0;filter:brightness(0) invert(1);transform:scale(1.3)}}@keyframes cr-evolve-in{0%{opacity:0;filter:brightness(0) invert(1);transform:scale(.4)}45%{opacity:1;filter:brightness(0) invert(1)}to{opacity:1;filter:none;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.evolve-stage>span{animation:none!important}.evolve-old,.evolve-glow,.critter-hearts{display:none!important}}@keyframes cr-evolve-glow{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.15)}to{opacity:.35;transform:scale(1)}}@media (max-width: 1100px){.home-hero{grid-template-columns:1fr}.home-side{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 960px){.critter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 860px){.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.study-grid{grid-template-columns:1fr}.week-plan{grid-template-columns:repeat(4,minmax(0,1fr))}.papers-grid,.papers-grid.two,.proof-grid{grid-template-columns:1fr}.strand-bar{grid-template-columns:auto 1fr auto}.strand-bar-track{grid-column:2 / -1}.strand-bar-meta{grid-column:2 / -1;text-align:left}}@media (max-width: 640px){.home-side,.nextstep-hero{grid-template-columns:1fr}.nextstep-art{order:-1;min-height:0}.nextstep-art .c-scene{max-width:220px}.nextstep-art .iso-tile{width:140px}.nextstep-facts{grid-template-columns:1fr}.nextstep-facts>div{display:flex;justify-content:space-between;align-items:center}.week-plan{grid-template-columns:repeat(2,minmax(0,1fr))}.evidence-strip{grid-template-columns:1fr}.continue-strip{flex-wrap:wrap}.stat-card .stat-num{font-size:1.5rem}.critter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.critter-card{padding:12px 8px 10px}.collector{flex-basis:100%}.critter-dialog{padding:20px 16px}.evo-chain{gap:6px}.evo-step+.evo-step:before{display:none}}.login-loading{display:grid;place-content:center;justify-items:center;gap:14px;min-height:100dvh;background:var(--c-night);color:var(--c-night-muted)}.login-loading-text{margin:0;font-family:var(--font-mono);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.login-screen{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);place-items:stretch;min-height:100dvh;padding:0;background:var(--c-bg)}.login-stage{position:relative;display:flex;flex-direction:column;gap:18px;padding:clamp(24px,4vw,56px);overflow:hidden;background:radial-gradient(80% 60% at 70% 30%,color-mix(in srgb,var(--subject) 45%,transparent),transparent 70%),radial-gradient(60% 50% at 10% 100%,color-mix(in srgb,var(--hue-volt) 14%,transparent),transparent 70%),var(--c-night);color:var(--c-night-ink)}.login-stage-brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700}.login-stage-art{flex:1;display:grid;place-items:center;min-height:240px}.login-stage-art .c-scene{max-width:520px;filter:drop-shadow(0 30px 40px rgba(0,0,0,.35))}.login-stage-line{max-width:18ch;margin:0;font-family:var(--font-display);font-size:clamp(1.8rem,1.2rem + 2vw,3rem);font-weight:700;line-height:1.05;letter-spacing:-.02em}.login-stage-line em{color:var(--hue-volt);font-style:normal}.login-stage-points{display:grid;gap:8px;margin:0;padding:0;list-style:none;color:var(--c-night-muted);font-weight:700;--icon-accent: var(--hue-volt)}.login-stage-points li{display:flex;align-items:center;gap:10px}.login-stage-points .c-icon{color:var(--c-night-ink)}.login-pip{position:absolute;right:28px;bottom:24px}.login-card{align-self:center;justify-self:center;width:min(440px,calc(100% - 32px));margin:32px auto;padding:clamp(24px,3vw,36px);border:1px solid var(--c-line);border-radius:var(--r-xl);background:var(--c-surface);box-shadow:var(--sh-3)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.login-letter{display:grid;place-items:center;flex:none;width:44px;height:44px;border:2px solid var(--emblem-line);border-radius:14px;background:var(--subject);color:#fff;box-shadow:0 3px 0 var(--emblem-line);font-family:var(--font-display);font-size:1.2rem;font-weight:800}.login-brand-name{font-family:var(--font-display);font-weight:700}.login-brand-tag{color:var(--c-muted);font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.login-card h1{margin:0 0 8px;font-size:clamp(1.8rem,1.4rem + 1.2vw,2.4rem)}.login-sub{margin:0 0 18px;color:var(--c-muted)}.login-card form{display:grid;gap:14px}.login-field{display:grid;gap:6px;color:var(--c-ink);font-size:.85rem;font-weight:800}.login-field input{width:100%;min-height:50px;padding:10px 14px;border-radius:var(--r-sm);font-size:1rem;font-weight:600}.login-passwrap{position:relative;display:block}.login-field .login-passwrap{margin:0}.login-passwrap input{padding-right:76px}.login-show{position:absolute;top:50%;right:8px;min-height:34px;padding:4px 12px;border:0;border-radius:var(--r-pill);background:var(--c-surface-3);color:var(--c-ink-2);font:inherit;font-size:.78rem;font-weight:800;transform:translateY(-50%);cursor:pointer}.login-submit{min-height:54px;margin-top:4px;border:0;border-radius:var(--r-pill);background:var(--c-primary);color:var(--c-on-primary);font:inherit;font-size:1.02rem;font-weight:800;cursor:pointer;transition:transform var(--d-1),background var(--d-1)}.login-submit:hover{background:var(--c-primary-hover);transform:translateY(-1px)}.login-submit:disabled{opacity:.6;cursor:wait}.login-oauth{display:flex;align-items:center;justify-content:center;min-height:50px;margin-top:10px;border:2px solid var(--c-line-strong);border-radius:var(--r-pill);color:var(--c-ink);font-weight:800;text-decoration:none}.login-switch{display:block;width:100%;min-height:44px;margin-top:10px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--subject-strong);font:inherit;font-weight:800;cursor:pointer}.login-switch:hover{background:var(--subject-wash)}.login-error{margin:0 0 14px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--c-bad) 40%,transparent);border-radius:var(--r-sm);background:var(--c-bad-wash);color:var(--c-bad);font-weight:700;animation:c-shake .38s var(--ease-out)}.login-local,.login-trust{margin:10px 0 0;color:var(--c-muted);font-size:.78rem;text-align:center}.login-local{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}@media (max-width: 860px){.login-screen{grid-template-columns:1fr;grid-template-rows:1fr auto;background:var(--c-night)}.login-stage{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;min-height:0;padding:max(14px,env(safe-area-inset-top)) 16px 38px}.login-stage-brand{font-size:.95rem}.login-stage-brand .emblem{width:26px;height:26px}.login-stage-art{position:relative;min-height:0;container-type:size}.login-stage-art .c-scene{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;filter:drop-shadow(0 18px 24px rgba(0,0,0,.35))}@container (max-height: 80px){.login-stage-art .c-scene{display:none}}.login-stage-points,.login-pip{display:none}.login-stage-line{max-width:22ch;font-size:clamp(1.25rem,1rem + 1.6vw,1.6rem)}.login-card{position:relative;z-index:1;align-self:end;width:100%;margin:-24px 0 0;padding:20px max(16px,calc((100% - 440px)/2)) max(14px,env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:0 -18px 40px -24px #0009}.login-brand{gap:8px;margin-bottom:8px}.login-letter{width:26px;height:26px;border-radius:9px;box-shadow:0 2px 0 var(--emblem-line);font-size:.85rem}.login-brand-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.login-card h1{margin:0 0 2px;font-size:1.6rem}.login-sub{margin:0 0 12px;font-size:.88rem;line-height:1.4}.login-error{margin:0 0 10px;padding:8px 12px}.login-card form{gap:10px}.login-field{margin:0;gap:4px}.login-field>span:first-child{margin:0}.login-field input{min-height:46px}.login-submit{min-height:50px;margin-top:4px}.login-oauth{min-height:46px;margin-top:8px}.login-switch{min-height:40px;margin-top:4px}.login-local,.login-trust{margin-top:2px}.login-trust{justify-content:center}}@media (max-width: 860px) and (max-height: 700px){.login-trust{display:none}.login-stage{gap:8px;padding-bottom:34px}.login-sub{display:none}}@media (max-width: 860px) and (max-height: 560px){.login-stage-line{display:none}}.adhoc-controls,.adhoc-row{display:grid;gap:10px}.strand-chips{display:flex;flex-wrap:wrap;gap:6px}.strand-chip{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:6px 12px;border:2px solid var(--c-line);border-radius:var(--r-pill);background:var(--c-surface);font-weight:800;cursor:pointer}.strand-chip.on,.strand-chip[aria-pressed=true]{border-color:var(--subject);background:var(--subject-wash)}.autosave-note{color:var(--c-muted);font-family:var(--font-mono);font-size:.72rem}.exam{display:grid;gap:16px;max-width:1280px;margin:0 auto;padding:clamp(12px,2vw,24px) clamp(12px,2.4vw,32px) 60px}.exam-bar{position:sticky;top:0;z-index:25;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 0 4px;padding:12px 16px;border:0;border-radius:var(--r-lg);background:var(--c-night);color:var(--c-night-ink);box-shadow:var(--sh-2)}.exam-title{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.exam-paper{color:#fff;font-family:var(--font-display);font-weight:700}.exam-bar .btn{min-height:44px}.exam-bar .calc-badge{border-color:var(--c-night-3);background:var(--c-night-2);color:var(--c-night-ink)}.exam-timers{display:flex;flex-wrap:wrap;gap:8px}.timer{display:grid;gap:2px;min-width:104px;padding:6px 12px;border:0;border-radius:12px;background:var(--c-night-2)}.timer-label{color:var(--c-night-muted);font-family:var(--font-mono);font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.timer-value{color:#fff;font-size:1.05rem}.timer.big .timer-value{color:var(--hue-volt);font-size:1.35rem}.timer.big.low .timer-value{color:var(--hue-coral);animation:c-pulse 1s infinite}.timer.behind .pace-badge{color:#ffb3bb}.timer.ahead .pace-badge{color:#7ff0c3}.pace-badge{font-family:var(--font-mono);font-size:.7rem}.exam-bar-actions{display:flex;gap:8px}.exam-bar .btn-quit{border-color:var(--c-night-3);background:transparent;color:var(--c-night-ink)}.btn-quit:hover{border-color:var(--hue-coral);background:transparent;color:#ffb3bb}.btn-submit,button.btn-submit{border:2px solid var(--emblem-line);background:var(--hue-volt);color:var(--volt-ink);box-shadow:0 3px #000}.exam-body{display:grid;grid-template-columns:196px minmax(0,1fr);gap:16px;align-items:start}.q-nav{position:sticky;top:96px;display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px;max-height:calc(100dvh - 120px);padding:12px;overflow-y:auto;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface)}.q-dot{position:relative;display:grid;place-items:center;gap:0;min-height:52px;padding:4px;border:2px solid var(--c-line);border-radius:12px;background:var(--c-surface);color:var(--c-ink);font:inherit;cursor:pointer}.q-dot .q-num{font-size:1rem;line-height:1}.q-dot .q-marks{color:var(--c-muted);font-family:var(--font-mono);font-size:.62rem;font-weight:700}.q-dot .q-stretch{position:absolute;top:2px;right:4px;color:var(--hue-amber);font-size:.7rem}.q-dot.done{border-color:var(--c-good-bright);background:var(--c-good-wash)}.q-dot.current{border-color:var(--emblem-line);background:var(--hue-volt);color:var(--volt-ink);box-shadow:0 3px 0 var(--emblem-line)}.q-dot.current .q-marks{color:var(--volt-ink)}.q-nav-legend{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;color:var(--c-muted);font-size:.7rem;font-weight:700}.q-nav-legend .dot{display:inline-block;width:10px;height:10px;border:2px solid var(--c-line-strong);border-radius:3px;vertical-align:-1px}.q-nav-legend .dot.done{border-color:var(--c-good-bright);background:var(--c-good-wash)}.q-card{padding:clamp(20px,2.6vw,32px);border:1px solid var(--c-line);border-radius:var(--r-xl);background:var(--c-surface);box-shadow:var(--sh-1)}.q-card.correct{border-color:var(--c-good-bright)}.q-card.wrong{border-color:var(--c-bad-bright)}.q-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.q-tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--r-pill);background:var(--c-surface-3);color:var(--c-ink-2);font-family:var(--font-mono);font-size:.72rem;font-weight:800}.q-tag:first-child{background:var(--c-night);color:var(--c-night-ink)}.q-tag.marks{background:var(--subject-wash-2);color:var(--subject-strong)}.q-tag.stretch{background:color-mix(in srgb,var(--hue-amber) 22%,var(--c-surface));color:var(--c-warn)}.q-text{color:var(--c-ink);font-size:1.15rem;font-weight:600;line-height:1.6}.q-text p{margin:0 0 8px}.q-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:20px}.q-pos{color:var(--c-muted);font-family:var(--font-mono);font-size:.78rem;font-weight:700}.progressive-hints{margin-top:14px}@media (max-width: 860px){.exam-body{grid-template-columns:1fr}.q-nav{position:static;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));max-height:none}.exam-bar{position:relative;top:auto}}.result-hero{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:24px;margin-bottom:20px;padding:clamp(20px,3vw,34px);border:0;border-radius:var(--r-xl);background:radial-gradient(90% 120% at 100% 0%,color-mix(in srgb,var(--subject) 40%,transparent),transparent 60%),var(--c-night);color:var(--c-night-ink)}.result-hero h1,.result-hero h2{color:#fff}.result-hero .sub,.result-hero .score-note{color:var(--c-night-muted)}.score-block{display:grid;justify-items:center;gap:2px;padding:18px 22px;border-radius:var(--r-lg);background:var(--c-night-2)}.score-num{color:var(--hue-volt);font-size:clamp(2.6rem,2rem + 2vw,3.6rem);line-height:1}.score-total,.score-pct{color:var(--c-night-muted);font-family:var(--font-mono);font-weight:700}.grade-badge{display:inline-grid;place-items:center;min-width:88px;padding:10px 16px;border:3px solid var(--emblem-line);border-radius:20px;background:var(--hue-volt);color:var(--volt-ink);box-shadow:0 4px 0 var(--emblem-line)}.grade-num{font-family:var(--font-num);font-size:2.2rem;font-weight:800;line-height:1}.grade-label{font-family:var(--font-mono);font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.weak-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.weak-card{padding:16px;border:1px solid var(--c-line);border-radius:var(--r-md)}.weak-name{font-weight:800}.weak-pct{font-family:var(--font-num);font-weight:800}.weak-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.weak-link{color:var(--subject-strong);font-weight:800}.review{margin-bottom:10px;padding:16px 18px;border:1px solid var(--c-line);border-left-width:6px;border-radius:var(--r-md);background:var(--c-surface)}.review.right{border-left-color:var(--c-good-bright)}.review.wrong{border-left-color:var(--c-bad-bright)}.review-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.review-status{font-family:var(--font-mono);font-size:.75rem;font-weight:800}.review-answer,.review-you{margin-top:8px;padding:10px 12px;border-radius:var(--r-sm);background:var(--c-surface-2)}.bar-row{display:grid;grid-template-columns:minmax(120px,200px) 1fr auto;align-items:center;gap:10px}.bar{height:12px;overflow:hidden;border-radius:12px;background:var(--c-surface-3)}.bar-fill{height:100%;border-radius:inherit;background:var(--subject)}.bar-fill.lost{background:var(--hue-coral)}.bound-table{width:100%;border-collapse:collapse;font-size:.9rem}.bound-table th,.bound-table td{padding:8px 10px;border-bottom:1px solid var(--c-line);text-align:left}.bound-table th{color:var(--c-muted);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}@media (max-width: 640px){.result-hero{grid-template-columns:1fr}}.notebook-list{padding:clamp(18px,2.2vw,28px)}.notebook-list>h2{margin-bottom:12px;font-family:var(--font-display);font-weight:700}.notebook-row{margin:0 0 8px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface);overflow:hidden}.notebook-row.open{border-color:var(--subject);box-shadow:var(--sh-1)}.notebook-row.mastered{background:color-mix(in srgb,var(--hue-volt) 10%,var(--c-surface))}.notebook-main{padding:14px 16px}.notebook-title{font-weight:800}.due-chip{padding:2px 10px;border-radius:var(--r-pill);background:var(--c-surface-3);font-family:var(--font-mono);font-size:.7rem;font-weight:800}.due-chip.due{background:color-mix(in srgb,var(--hue-coral) 20%,var(--c-surface));color:var(--c-bad)}.due-chip.done{background:var(--c-good-wash);color:var(--c-good)}.mistake-answer,.mistake-solution{padding:10px 12px;border:1px solid var(--c-line);border-left:4px solid var(--subject);border-radius:var(--r-sm);background:var(--c-surface-2)}.classify-row,.correction-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.triage-panel{border:2px solid var(--emblem-line)!important;box-shadow:0 5px 0 var(--emblem-line)!important}.weekly-summary .stat-row{margin-bottom:20px}.chat-box{display:flex;flex-direction:column;min-height:60vh;overflow:hidden;border:1px solid var(--c-line);border-radius:var(--r-xl);background:var(--c-surface);box-shadow:var(--sh-1)}.chat-scroll{background:linear-gradient(180deg,var(--c-surface),var(--c-surface-2))}.msg{gap:10px;max-width:min(760px,88%);animation:c-slide-up var(--d-2) var(--ease-out) both}.msg-avatar{display:grid;place-items:center;flex:none;width:42px;height:42px;padding:0;border:0;border-radius:14px;background:color-mix(in srgb,var(--hue-volt) 30%,var(--c-surface));overflow:visible}.msg.user .msg-avatar{background:var(--subject);color:#fff;--icon-accent: var(--hue-volt)}.msg-body{padding:12px 16px;border:1px solid var(--c-line);border-radius:6px 20px 20px;background:var(--c-surface);color:var(--c-ink);font-size:.98rem;line-height:1.6;box-shadow:var(--sh-1)}.msg-text{padding:0;border:0;background:transparent}.msg.user .msg-body{border-color:var(--c-primary);border-radius:20px 6px 20px 20px;background:var(--c-primary);color:var(--c-on-primary)}.msg.user .msg-body a,.msg.user .msg-body code{color:inherit}.msg-body.typing{color:var(--c-muted);font-style:italic}.msg-model,.model-chip{margin-top:6px;color:var(--c-muted);font-family:var(--font-mono);font-size:.68rem}.markdown-message code{padding:1px 6px;border-radius:6px;background:var(--c-surface-3);font-family:var(--font-mono);font-size:.9em}.markdown-message h3{font-family:var(--font-display);font-size:1.02rem;font-weight:700}.text-card{display:grid;gap:8px;padding:18px;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);color:var(--c-ink);text-decoration:none;transition:transform var(--d-1),border-color var(--d-1)}.text-card:hover{border-color:var(--subject);transform:translateY(-2px)}.text-card-title{font-size:1.15rem}.text-card-excerpt{font-size:.95rem}.source-flag{display:inline-flex;padding:3px 10px;border-radius:var(--r-pill);background:var(--subject-wash-2);color:var(--subject-strong);font-family:var(--font-mono);font-size:.7rem;font-weight:800}.text-detail-source,.source-panel{border-radius:var(--r-lg)}.source-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:6px;border-radius:var(--r-pill)}.source-tab{min-height:40px;padding:6px 14px;border:0;background:transparent;font:inherit;font-weight:800;cursor:pointer}.fb-box{padding:16px;border:1px solid var(--c-line);border-radius:var(--r-md)}.option-card,.answer-area,textarea{border-radius:var(--r-md)}.tf-btn{min-height:48px;border:2px solid var(--c-line-strong);border-radius:var(--r-sm);background:var(--c-surface);color:var(--c-ink);box-shadow:0 3px 0 var(--c-line-strong);font:inherit;font-weight:700;cursor:pointer}.tf-btn:hover{border-color:var(--subject)}.tf-btn.on-true,.tf-btn.on-false{border-color:var(--subject);background:var(--subject-wash);box-shadow:0 3px 0 var(--subject)}.mcq4-item{border:1px solid var(--c-line)!important;border-radius:var(--r-md)!important;background:var(--c-surface-2)}.choose4-row{border:2px solid var(--c-line-strong)!important;border-radius:var(--r-sm)!important;box-shadow:0 3px 0 var(--c-line-strong)}.choose4-row.selected{border-color:var(--subject)!important;background:var(--subject-wash)!important;box-shadow:0 3px 0 var(--subject)}.source-panel{border:1px solid var(--source-line, var(--c-line));background:var(--source-bg, var(--c-surface))}.btn-block{width:100%}.btn.btn-go.btn-block{min-height:56px;font-size:1.05rem}.icon-btn{display:inline-grid;place-items:center;flex:none;width:var(--touch);height:var(--touch);padding:0;border:1px solid var(--c-line-strong);border-radius:50%;background:var(--c-surface);color:var(--c-ink);cursor:pointer}.icon-btn:hover{border-color:var(--c-ink)}.section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin:0 0 12px}.section-title{margin:0;font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.section-meta{color:var(--c-muted);font-family:var(--font-mono);font-size:var(--t-micro);font-weight:700}.section-link{color:var(--subject-strong);font-size:var(--t-small);font-weight:800;text-decoration:none}.section-link:hover{text-decoration:underline}.field{display:grid;gap:8px;margin:0}.field>span:first-child{color:var(--c-ink);font-size:var(--t-small);font-weight:800}.field input[type=date],.field input[type=text]{min-height:48px;padding:8px 12px}.field-note{margin:0;color:var(--c-muted);font-size:var(--t-small)}.choice-chip{display:inline-grid;place-items:center;min-width:var(--touch);min-height:var(--touch);padding:6px 14px;border:2px solid var(--c-line-strong);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-ink);font:inherit;font-weight:800;cursor:pointer;transition:border-color var(--d-1),background var(--d-1),color var(--d-1)}.choice-chip:hover{border-color:var(--c-ink)}.choice-chip.on{border-color:var(--c-primary);background:var(--c-primary);color:var(--c-on-primary)}.choice-chip.day{width:var(--touch);padding:0}.choice-grid{display:grid;gap:10px}.choice-tile{display:grid;gap:2px;width:100%;min-height:64px;padding:14px 18px;border:2px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-ink);box-shadow:0 3px 0 var(--c-line-strong);font:inherit;text-align:left;cursor:pointer;transition:transform var(--d-1) var(--ease-out),border-color var(--d-1),box-shadow var(--d-1)}.choice-tile b{font-family:var(--font-display);font-size:1.05rem;font-weight:700}.choice-tile span{color:var(--c-muted);font-size:var(--t-small);font-weight:700}.choice-tile:hover{border-color:var(--c-ink)}.choice-tile.on{border-color:var(--emblem-line);background:var(--subject-wash);box-shadow:0 4px 0 var(--emblem-line);transform:translateY(-2px)}.stepper{display:inline-flex;align-items:center;gap:12px}.stepper strong{min-width:76px;font-family:var(--font-num);font-size:1.1rem;text-align:center;font-variant-numeric:tabular-nums}.stepper-btn{display:grid;place-items:center;width:var(--touch);height:var(--touch);padding:0;border:2px solid var(--c-line-strong);border-radius:50%;background:var(--c-surface);color:var(--c-ink);font:inherit;font-size:1.35rem;font-weight:800;line-height:1;cursor:pointer}.stepper-btn:hover{border-color:var(--c-ink)}.switch{position:relative;flex:none;width:56px;height:34px;padding:0;border:2px solid var(--c-line-strong);border-radius:var(--r-pill);background:var(--c-surface-3);cursor:pointer;transition:background var(--d-1),border-color var(--d-1)}.switch-knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:var(--c-surface);box-shadow:0 1px 3px #15172b59;transition:transform var(--d-2) var(--ease-spring)}.switch[aria-checked=true]{border-color:var(--c-primary);background:var(--c-primary)}.switch[aria-checked=true] .switch-knob{background:var(--c-on-primary);transform:translate(22px)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:320;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:c-fade var(--d-2) var(--ease-out) both}.sheet{position:relative;display:flex;flex-direction:column;width:min(520px,100%);max-height:min(820px,calc(100dvh - 48px));overflow:hidden;border:1px solid var(--c-line);border-radius:var(--r-xl);background:var(--c-surface);color:var(--c-ink);box-shadow:var(--sh-3);animation:c-pop var(--d-3) var(--ease-spring) both}.sheet-tall{width:min(640px,100%);height:min(760px,calc(100dvh - 48px))}.sheet-handle{display:none}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 6px 22px}.sheet-title{margin:0;font-family:var(--font-display);font-size:1.2rem;font-weight:700}.sheet-close{display:grid;place-items:center;flex:none;width:var(--touch);height:var(--touch);padding:0;border:1px solid var(--c-line-strong);border-radius:50%;background:var(--c-surface-2);color:var(--c-ink);cursor:pointer}.sheet-close:hover{border-color:var(--c-ink)}.sheet-head.sr-only-head{position:absolute;top:10px;right:12px;z-index:2;padding:0}.sheet-head.sr-only-head .sheet-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.sheet-body{flex:1;min-height:0;padding:10px 22px 22px;overflow-y:auto;overscroll-behavior:contain}.sheet-foot{display:flex;flex-wrap:wrap;gap:10px;padding:12px 22px calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--c-line);background:var(--c-surface)}.sheet-foot .btn{flex:1 1 auto}.sheet-note{margin:14px 0 0;color:var(--c-muted);font-size:var(--t-small);text-align:center}.subject-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.subject-option{display:flex;align-items:center;gap:14px;min-height:72px;padding:12px 14px;border:2px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-ink);text-decoration:none;transition:border-color var(--d-1),background var(--d-1)}.subject-option:hover{border-color:var(--c-ink)}.subject-option.current{border-color:var(--subject);background:var(--subject-wash)}.subject-option-copy{display:grid;flex:1;gap:2px;min-width:0}.subject-option-name{font-weight:800}.subject-option-detail{color:var(--c-muted);font-size:var(--t-small);font-weight:700}.subject-option-check{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:var(--subject);color:#fff}.app-header{display:flex;align-items:center;gap:8px;min-height:48px;margin:0 0 18px}.app-header-space{flex:1}.subject-pill{display:inline-flex;align-items:center;gap:8px;min-width:0;min-height:var(--touch);padding:4px 10px 4px 6px;border:1px solid var(--c-line);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-ink);box-shadow:var(--sh-1);font:inherit;font-weight:800;cursor:pointer}.subject-pill:hover{border-color:var(--c-ink)}.subject-pill .emblem{width:30px;height:30px}.subject-pill-name{font-size:.98rem}.subject-pill-tier{overflow:hidden;color:var(--c-muted);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.streak-chip{display:inline-flex;align-items:center;gap:4px;min-height:var(--touch);padding:0 12px 0 10px;border:1px solid var(--c-line);border-radius:var(--r-pill);background:var(--c-surface);color:#d46b00;box-shadow:var(--sh-1);text-decoration:none;--icon-accent: var(--hue-amber)}.streak-chip b{color:var(--c-ink);font-family:var(--font-num);font-size:1rem;font-variant-numeric:tabular-nums}.streak-chip:hover{border-color:var(--c-ink)}:root[data-theme=dark] .streak-chip{color:#ffb35c}.partner-avatar{display:inline-grid;place-items:center;flex:none;width:var(--size, 44px);height:var(--size, 44px);overflow:hidden;border:2px solid var(--c-line);border-radius:50%;background:radial-gradient(circle at 50% 65%,var(--subject-wash-2),var(--subject-wash) 70%);color:var(--subject-strong);text-decoration:none;transition:border-color var(--d-1),transform var(--d-2) var(--ease-spring)}.partner-avatar>.c-icon{align-self:center}.partner-avatar:hover{border-color:var(--c-ink);transform:translateY(-1px)}@media (min-width: 761px){.app-header .subject-pill,.app-header .header-partner{display:none}.app-header{min-height:44px;margin-bottom:10px}}.growth-meter{display:grid;gap:6px}.growth-meter-copy{display:flex;align-items:baseline;justify-content:space-between;gap:10px;color:var(--c-muted);font-size:var(--t-small);font-weight:700}.growth-meter-copy b{flex:none;color:var(--c-ink);font-family:var(--font-num);font-variant-numeric:tabular-nums}.growth-meter-track{display:block;width:100%;height:8px;overflow:hidden;border-radius:var(--r-pill);background:var(--c-surface-3)}.growth-meter-track>i{display:block;height:100%;min-width:4px;border-radius:inherit;background:var(--hue-volt);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--emblem-line) 35%,transparent);transition:width var(--d-4) var(--ease-out)}.growth-meter.light .growth-meter-copy{color:var(--c-night-muted)}.growth-meter.light .growth-meter-copy b{color:var(--c-night-ink)}.growth-meter.light .growth-meter-track{background:var(--c-night-3)}.creature-gains{display:grid;gap:8px;margin:16px 0;text-align:left}.creature-gains-title{margin:0;color:var(--c-muted);font-family:var(--font-mono);font-size:var(--t-micro);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.creature-gains ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.creature-gains li{display:flex;align-items:center;gap:12px;padding:6px 14px 8px 6px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface-2);animation:c-slide-up var(--d-3) var(--ease-out) both}.creature-gains li:nth-child(2){animation-delay:90ms}.creature-gains li:nth-child(3){animation-delay:.18s}.creature-gains li.evolved{border:2px solid var(--emblem-line);background:color-mix(in srgb,var(--hue-volt) 18%,var(--c-surface));box-shadow:0 3px 0 var(--emblem-line)}.creature-gain-copy{display:grid;flex:1;gap:2px;min-width:0}.creature-gain-copy strong{font-weight:800;line-height:1.25}.creature-gain-label{color:var(--c-muted);font-size:var(--t-small);font-weight:700}.creature-gain-copy .growth-meter-track{margin-top:4px}.creature-gains.empty p{margin:0;color:var(--c-muted);font-size:var(--t-small)}.creature-gains.dark .creature-gains-title,.creature-gains.dark .creature-gain-label,.creature-gains.dark.empty p{color:var(--c-night-muted)}.creature-gains.dark li{border-color:var(--c-night-3);background:var(--c-night-2)}.creature-gains.dark li.evolved{border-color:var(--hue-volt);background:color-mix(in srgb,var(--hue-volt) 14%,var(--c-night-2));box-shadow:none}.creature-gains.dark strong{color:var(--c-night-ink)}.creature-gains.dark .growth-meter-track{background:var(--c-night-3)}.today-head{display:grid;gap:6px;margin:0 0 18px}.today-head h1{font-size:clamp(1.75rem,1.35rem + 1.6vw,2.6rem)}.exam-line{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--c-muted);font-weight:700;text-decoration:none}.exam-line.set{justify-self:start;min-height:36px;color:var(--subject-strong);font-weight:800}.exam-line.set:hover{text-decoration:underline}.today-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px}.today-main,.today-side{display:grid;align-content:start;gap:16px;min-width:0}.upnext-card{position:relative;display:grid;gap:16px;padding:22px 22px 20px;overflow:hidden;border-radius:var(--r-xl);background:var(--c-night);color:var(--c-night-ink);box-shadow:var(--sh-2);isolation:isolate}.upnext-card:before{content:"";position:absolute;top:-40%;right:-20%;z-index:-1;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--subject) 45%,transparent),transparent 68%);pointer-events:none}.upnext-card.skeleton-block{min-height:280px;background:linear-gradient(90deg,var(--c-surface-2),var(--c-surface-3),var(--c-surface-2));background-size:200% 100%;box-shadow:none}.upnext-card.skeleton-block:before{content:none}.upnext-top{display:flex;align-items:flex-start;gap:12px}.upnext-copy{flex:1;min-width:0}.upnext-eyebrow{margin:0 0 8px;color:var(--hue-volt);font-family:var(--font-mono);font-size:var(--t-micro);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.upnext-card h2{margin:0 0 8px;color:var(--c-night-ink);font-family:var(--font-display);font-size:clamp(1.35rem,1.1rem + 1vw,1.9rem);font-weight:700;line-height:1.12}.upnext-detail{max-width:46ch;margin:0;color:var(--c-night-muted)}.upnext-creature{display:grid;flex:none;place-items:center;width:112px;margin:-6px -6px 0 0}.upnext-go{justify-self:start;min-height:56px;padding:12px 26px;font-size:1.05rem}.upnext-also{display:inline-flex;align-items:center;justify-self:start;gap:8px;min-height:40px;padding:6px 14px;border:1px solid var(--c-night-3);border-radius:var(--r-pill);color:var(--c-night-ink);font-size:var(--t-small);font-weight:800;text-decoration:none;--icon-accent: var(--hue-coral)}.upnext-also:hover{border-color:var(--c-night-muted);background:var(--c-night-2)}.upnext-card :focus-visible{outline-color:var(--hue-volt)}.week-card,.first-steps,.partner-card,.exam-card,.me-card{padding:18px;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--sh-1)}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0 0 14px;padding:0;list-style:none}.week-day{display:grid;justify-items:center;gap:4px}.week-dot{display:grid;place-items:center;width:40px;height:40px;border:2px dashed var(--c-line-strong);border-radius:50%;color:var(--c-muted);font-family:var(--font-mono);font-size:.56rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.week-day.done .week-dot{border:2px solid var(--emblem-line);background:var(--c-good-bright);color:var(--emblem-line)}.week-day.rest .week-dot{border-style:solid;background:var(--c-surface-3)}.week-day.today .week-dot{border:2px solid var(--emblem-line);background:var(--hue-volt);color:var(--volt-ink);box-shadow:0 3px 0 var(--emblem-line)}.week-day.is-today.done .week-dot{outline:3px solid color-mix(in srgb,var(--c-good-bright) 40%,transparent);outline-offset:2px}.week-letter{color:var(--c-muted);font-family:var(--font-mono);font-size:var(--t-micro);font-weight:700}.week-day.is-today .week-letter{color:var(--c-ink);font-weight:800}.week-day.missed .week-dot{opacity:.45}.today-task{display:flex;align-items:center;gap:12px;padding:10px 14px 10px 10px;border:2px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface-2);color:var(--c-ink);text-decoration:none;transition:border-color var(--d-1),transform var(--d-1) var(--ease-out)}a.today-task:hover{border-color:var(--subject);transform:translateY(-1px)}.today-task.done{border-color:color-mix(in srgb,var(--c-good) 45%,transparent);background:var(--c-good-wash)}.today-task.rest{border-style:dashed}.today-task>.iso-tile{flex:none}.today-task-icon{display:grid;place-items:center;flex:none;width:56px;height:56px;border-radius:16px;background:var(--subject-wash-2);color:var(--subject-strong);--icon-accent: var(--subject)}.today-task-copy{display:grid;flex:1;gap:1px;min-width:0}.today-task-eyebrow{color:var(--c-muted);font-family:var(--font-mono);font-size:var(--t-micro);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.today-task-name{font-weight:800;line-height:1.25}.today-task-meta{color:var(--c-muted);font-size:var(--t-small)}.first-steps ol{display:grid;gap:12px;margin:12px 0 0;padding:0;list-style:none}.first-steps li{display:flex;align-items:flex-start;gap:12px}.first-steps li>span:last-child{display:grid;gap:2px}.first-steps li>span:last-child>span{color:var(--c-muted);font-size:var(--t-small)}.first-step-n{display:grid;place-items:center;flex:none;width:32px;height:32px;border:2px solid var(--c-line-strong);border-radius:50%;font-family:var(--font-display);font-size:.8rem;font-weight:800}.first-steps li.current .first-step-n{border-color:var(--emblem-line);background:var(--hue-volt);color:var(--volt-ink)}.pip-row{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:8px 16px 8px 10px;border:2px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-ink);font:inherit;font-weight:800;text-align:left;cursor:pointer;transition:border-color var(--d-1)}.pip-row>span{flex:1}.pip-row:hover{border-color:var(--subject)}.partner-card{display:grid;justify-items:center;gap:6px;text-align:center}.partner-card .eyebrow{margin-top:4px}.partner-card h2{font-family:var(--font-display);font-size:1.25rem;font-weight:700}.partner-card .sub{margin:0 0 6px}.partner-card .growth-meter{width:100%;margin-bottom:8px;text-align:left}.partner-card-art{display:grid;place-items:center;width:100%;padding:6px 0 0;border-radius:var(--r-md);background:radial-gradient(60% 60% at 50% 62%,color-mix(in srgb,var(--subject) 18%,transparent),transparent 72%),var(--c-surface-2)}.exam-card h2{margin:6px 0;font-family:var(--font-display);font-size:1.6rem;font-weight:700}.exam-card .sub{margin:0}.exam-card-links{display:grid;gap:4px;margin-top:12px}.exam-card-links a{display:inline-flex;align-items:center;min-height:36px;font-weight:800;text-decoration:none}.exam-card-links a:hover{text-decoration:underline}.welcome-page{display:flex;flex-direction:column;max-width:560px;min-height:100dvh;padding-top:calc(18px + env(safe-area-inset-top,0px))}.welcome-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px}.welcome-top .link-button{min-height:var(--touch);padding:0 6px;color:var(--c-muted);text-decoration:none}.welcome-progress{display:flex;gap:6px}.welcome-progress span{width:40px;height:6px;border-radius:var(--r-pill);background:var(--c-surface-3)}.welcome-progress span.on{background:var(--subject)}.welcome-step{display:grid;flex:1;align-content:start;gap:16px}.welcome-step h1{font-size:clamp(1.8rem,1.4rem + 1.6vw,2.5rem)}.welcome-step>.sub{margin:-6px 0 4px;font-size:1rem}.welcome-actions{position:sticky;bottom:0;margin-top:8px;padding:12px 0 calc(16px + env(safe-area-inset-bottom,0px));background:var(--c-bg)}.egg-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.egg-choice{display:grid;justify-items:center;gap:2px;padding:12px 6px 14px;border:2px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);color:var(--c-ink);box-shadow:0 3px 0 var(--c-line);font:inherit;cursor:pointer;transition:transform var(--d-2) var(--ease-spring),border-color var(--d-1),box-shadow var(--d-1)}.egg-choice b{font-family:var(--font-display);font-size:.95rem;font-weight:700}.egg-choice>span:last-child{color:var(--c-muted);font-family:var(--font-mono);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.egg-choice:hover{border-color:var(--c-ink)}.egg-choice.on{border-color:var(--emblem-line);background:var(--subject-wash);box-shadow:0 5px 0 var(--emblem-line);transform:translateY(-3px)}.egg-choice.on .cr-egg{animation-duration:1.4s}.egg-choice-art{display:grid;place-items:center;height:100px}.egg-detail{display:grid;justify-items:center;gap:6px;padding:18px;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);text-align:center}.egg-detail h2{font-family:var(--font-display);font-size:1.2rem;font-weight:700}.egg-detail .sub{max-width:42ch;margin:0}.egg-detail-hatch{margin:0;color:var(--subject-strong);font-weight:800}.egg-silhouettes{display:flex;justify-content:center;gap:10px;margin-top:6px}.page-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 6px}.page-intro{max-width:52ch;margin:0 0 16px;font-size:.95rem}.count-pill{display:inline-flex;align-items:center;min-height:36px;padding:4px 14px;border-radius:var(--r-pill);background:var(--c-night);color:var(--hue-volt);font-family:var(--font-num);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.collector-card{display:grid;gap:10px;padding:16px 18px;border:2px solid var(--emblem-line);border-radius:var(--r-lg);background:var(--c-night);color:var(--c-night-ink);box-shadow:0 4px 0 var(--emblem-line)}.collector-card h2{color:var(--c-night-ink);font-family:var(--font-display);font-size:1.15rem;font-weight:700}.collector-card p{margin:4px 0 0;color:var(--c-night-muted);font-size:var(--t-small);font-weight:700}.collector-card .critter-meter{height:10px;background:var(--c-night-3)}.closest-row{display:flex;align-items:center;gap:12px;width:100%;min-height:72px;margin:12px 0 0;padding:8px 14px 8px 8px;border:2px dashed var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-ink);font:inherit;text-align:left;cursor:pointer}.closest-row:hover{border-color:var(--subject)}.closest-art{display:grid;flex:none;place-items:center;width:60px;height:60px}.closest-copy{display:grid;flex:1;gap:2px;min-width:0}.closest-eyebrow{color:var(--c-muted);font-family:var(--font-mono);font-size:var(--t-micro);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.closest-name{font-weight:800;line-height:1.25}.closest-detail{color:var(--c-muted);font-size:var(--t-small);line-height:1.35}.closest-go{flex:none;color:var(--subject-strong)}.critter-partner-tag{position:absolute;top:8px;left:8px;z-index:1;padding:2px 8px;border-radius:var(--r-pill);background:var(--c-primary);color:var(--c-on-primary);font-family:var(--font-mono);font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.btn.partner-toggle.on{border-color:var(--c-primary);background:var(--c-primary);color:var(--c-on-primary)}.me-head{display:flex;align-items:center;gap:14px;margin:0 0 18px}.me-head h1{overflow-wrap:anywhere}.me-head .sub{margin:4px 0 0;font-size:.95rem}.me-avatar{border-width:3px}.me-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}.me-grid>*{min-width:0;margin:0}.number-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.number-grid>div{padding:12px 14px;border-radius:var(--r-md);background:var(--c-surface-2)}.number-grid dt{color:var(--c-muted);font-family:var(--font-mono);font-size:var(--t-micro);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.number-grid dd{margin:2px 0 0;font-family:var(--font-display);font-size:1.45rem;font-weight:700;font-variant-numeric:tabular-nums}.install-card{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px;padding:18px;border-radius:var(--r-lg);background:var(--c-night);color:var(--c-night-ink);box-shadow:var(--sh-2)}.install-icon{display:grid;place-items:center;flex:none;width:48px;height:48px;border:2px solid var(--emblem-line);border-radius:14px;background:var(--hue-volt);color:var(--volt-ink);--icon-accent: var(--volt-ink)}.install-copy{flex:1 1 200px;min-width:0}.install-copy h2{color:var(--c-night-ink);font-size:1.05rem}.install-copy p{margin:4px 0 0;color:var(--c-night-muted);font-size:var(--t-small)}.install-steps{display:grid;gap:4px;margin:10px 0 0;padding-left:20px;color:var(--c-night-ink);font-size:var(--t-small)}.install-card .btn:not(.btn-go){border-color:var(--c-night-3);background:transparent;color:var(--c-night-ink)}.install-card .btn:not(.btn-go):hover{border-color:var(--c-night-muted)}.install-card :focus-visible{outline-color:var(--hue-volt)}.exam-settings{display:grid;gap:18px}.exam-settings .section-title{margin-bottom:-4px}.exam-settings .field>span:first-child{display:block}.chip-row.days{display:grid;grid-template-columns:repeat(7,minmax(0,48px));gap:4px}.chip-row.days .choice-chip.day{width:100%;min-width:0}.settings-card{display:grid;padding:6px 8px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:56px;padding:8px 10px;border:0;border-bottom:1px solid var(--c-line);border-radius:0;background:transparent;color:var(--c-ink);font:inherit;font-weight:800;text-align:left;text-decoration:none}.settings-row:last-child{border-bottom:0}a.settings-row:hover,button.settings-row:hover{background:var(--c-surface-2)}a.settings-row>.c-icon:last-child{color:var(--c-muted)}.settings-label{display:inline-flex;align-items:center;gap:12px;--icon-accent: var(--subject)}button.settings-row{cursor:pointer}.settings-row.sign-out{color:var(--c-bad);--icon-accent: var(--c-bad)}.sign-out-user{overflow:hidden;color:var(--c-muted);font-family:var(--font-mono);font-size:var(--t-micro);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.ask-pip{gap:8px}.ask-pip .pip{margin:-6px 0 -6px -8px}.ask-pip.ask-pip-icon{display:inline-grid;place-items:center;width:48px;height:48px;min-height:48px;padding:0;border-radius:50%}.ask-pip.ask-pip-icon .pip{margin:0}.pip-chat{display:flex;flex-direction:column;min-height:0}.pip-chat-head{display:flex;align-items:center;gap:12px;margin:0 0 14px}.pip-chat-title{flex:1;min-width:0}.pip-chat-title h1{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}.pip-chat-title .sub{margin:4px 0 0}.pip-chat-page .chat-box{height:calc(100dvh - 210px);min-height:420px}.pip-chat-mini{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 56px 8px 0;color:var(--c-muted);font-weight:700}.pip-chat-mini b{color:var(--c-ink);font-family:var(--font-display);font-weight:700}.pip-context{display:flex;align-items:center;gap:8px;max-width:100%;margin:0 0 10px;padding:6px 12px;border-radius:var(--r-md);background:var(--subject-wash);color:var(--subject-strong);font-size:var(--t-small);font-weight:800}.pip-context span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pip-chat .chat-scroll{display:flex;flex-direction:column;gap:14px;padding:18px}.pip-chat .chat-suggest{display:flex;flex-wrap:wrap;gap:8px;padding:4px 16px 10px}.pip-chat .suggest-chip{min-height:40px;text-align:left}.pip-note{margin:0;padding:0 16px 6px;color:var(--c-muted);font-size:var(--t-micro);text-align:center}.pip-chat .chat-input-row{display:flex;align-items:center;gap:10px;padding:10px 12px 12px;border-top:1px solid var(--c-line);background:var(--c-surface)}.pip-chat .chat-input{flex:1;min-width:0;min-height:48px;padding:10px 18px;border:2px solid var(--c-line-strong);border-radius:var(--r-pill);background:var(--c-surface-2);font-size:16px}.chat-send{display:grid;place-items:center;flex:none;width:48px;height:48px;padding:0;border:2px solid var(--emblem-line);border-radius:50%;background:var(--hue-volt);color:var(--volt-ink);box-shadow:0 3px 0 var(--emblem-line);cursor:pointer;transition:transform var(--d-1) var(--ease-out),box-shadow var(--d-1)}.chat-send:active{transform:translateY(2px);box-shadow:0 1px 0 var(--emblem-line)}.chat-send:disabled{opacity:.4;box-shadow:none;cursor:not-allowed}.pip-sheet .sheet-body{display:flex;flex-direction:column;padding:14px 0 0}.pip-sheet .pip-chat{flex:1}.pip-sheet .pip-chat-mini,.pip-sheet .pip-context{margin-right:16px;margin-left:16px}.pip-sheet .chat-box{flex:1;min-height:0;height:auto;border:0;border-top:1px solid var(--c-line);border-radius:0;box-shadow:none}.pip-sheet .chat-input-row{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}@media (max-width: 1100px){.today-grid{grid-template-columns:minmax(0,1fr) 280px}}@media (max-width: 760px){.sheet-backdrop{align-items:flex-end;padding:0}.sheet{width:100%;max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px));border-width:1px 0 0;border-radius:var(--r-xl) var(--r-xl) 0 0;animation:sheet-up var(--d-3) var(--ease-out) both}.sheet-tall{width:100%;height:calc(100dvh - 24px - env(safe-area-inset-top,0px))}.sheet-handle{display:block;flex:none;width:44px;height:5px;margin:8px auto 0;border-radius:var(--r-pill);background:var(--c-line-strong)}.sheet-head{padding:10px 14px 4px 18px}.sheet-head.sr-only-head{top:16px}.sheet-body{padding:8px 16px calc(18px + env(safe-area-inset-bottom,0px))}.sheet-foot{padding-right:16px;padding-left:16px}.pip-sheet .sheet-body{padding:6px 0 0}.app-header{margin-bottom:14px}.subject-pill-tier{max-width:92px}.today-grid{grid-template-columns:minmax(0,1fr);gap:14px}.today-main{gap:14px}.today-side{display:none}.upnext-card{padding:18px 16px 16px;border-radius:var(--r-lg)}.upnext-creature{width:88px}.upnext-creature .critter{width:96px;height:96px}.upnext-go{justify-self:stretch}.week-card,.first-steps,.me-card{padding:16px 14px}.week-dot{width:36px;height:36px}.me-grid{grid-template-columns:minmax(0,1fr);gap:14px}.me-card{padding:16px 12px}.settings-card{padding:4px 6px}.pip-chat-page .chat-box{height:calc(100dvh - 150px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));min-height:360px}}@media (max-width: 380px){.subject-pill-tier{display:none}.egg-picker{gap:6px}.egg-choice-art .critter{width:76px;height:76px}.week-dot{width:32px;height:32px}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}@media (prefers-reduced-motion: reduce){.sheet{animation:none}}@media print{.app-header,.pip-row,.ask-pip{display:none!important}}.course-map{--row: 176px}.learn-tabs{display:flex;max-width:420px;margin:0 0 12px}.learn-tabs .segment{display:grid;place-items:center;text-decoration:none}.learn-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:0 0 16px}.learn-search{display:flex;flex:1 1 280px;align-items:center;gap:8px;min-height:48px;padding:0 14px;border:2px solid var(--c-line-strong);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-muted)}.learn-search:focus-within{border-color:var(--subject);box-shadow:0 0 0 4px color-mix(in srgb,var(--subject) 22%,transparent)}.learn-search input{flex:1;min-width:0;min-height:44px;padding:0;border:0;background:transparent;font-size:16px;box-shadow:none}.learn-search input:focus{box-shadow:none}.map-summary-line{display:flex;flex-wrap:wrap;gap:14px;margin:0;color:var(--c-muted);font-size:var(--t-small);font-weight:700;--icon-accent: var(--hue-amber)}.map-summary-line span{display:inline-flex;align-items:center;gap:6px}.map-summary-line b{color:var(--c-ink);font-family:var(--font-num)}.map-next{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:8px 16px 8px 8px;border:2px solid var(--emblem-line);border-radius:var(--r-lg);background:color-mix(in srgb,var(--hue-volt) 14%,var(--c-surface));color:var(--c-ink);box-shadow:0 4px 0 var(--emblem-line);text-decoration:none;transition:transform var(--d-1) var(--ease-out)}.map-next:hover{transform:translateY(-2px)}.map-next-art{display:grid;flex:none;place-items:center;width:76px;height:72px}.map-next-copy{display:grid;flex:1;gap:2px;min-width:0}.map-next-eyebrow{color:var(--c-muted);font-family:var(--font-mono);font-size:var(--t-micro);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.map-next-copy b{font-family:var(--font-display);font-size:1.15rem;font-weight:700}.map-next .btn{flex:none;pointer-events:none}.search-results ul{display:grid;gap:8px;margin:0 0 16px;padding:0;list-style:none}.search-result{display:flex;align-items:center;gap:12px;min-height:60px;padding:8px 14px 8px 10px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-ink);text-decoration:none}.search-result:hover{border-color:var(--strand, var(--subject))}.search-result-copy{display:grid;flex:1;min-width:0}.search-result-copy span{color:var(--c-muted);font-size:var(--t-small)}.map-units{display:grid;gap:14px;margin:0 0 20px}.map-units .strand-panel.world{margin:0}.world-heading{margin:0;font-size:inherit}.world-toggle{display:flex;align-items:center;gap:14px;width:100%;min-height:76px;padding:14px 18px;border:0;background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--strand) 18%,transparent),transparent 60%),color-mix(in srgb,var(--strand) 6%,var(--c-surface));color:var(--c-ink);font:inherit;text-align:left;cursor:pointer}.world-badge{display:grid;flex:none;place-items:center}.world-toggle .world-copy{display:grid;flex:1;gap:2px;min-width:0}.world-unit{color:var(--c-muted);font-family:var(--font-mono);font-size:var(--t-micro);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.world-name{font-family:var(--font-display);font-size:clamp(1.1rem,1rem + .5vw,1.4rem);font-weight:700;line-height:1.15}.world-toggle .world-stats{display:flex;flex-wrap:wrap;gap:12px;margin:2px 0 0;color:var(--c-muted);font-size:.82rem;font-weight:800;--icon-accent: var(--hue-amber)}.world-toggle .world-stats span{display:inline-flex;align-items:center;gap:4px}.world-chevron{display:grid;flex:none;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--c-surface);transition:transform var(--d-2) var(--ease-out)}.strand-panel.world.open .world-chevron{transform:rotate(180deg)}.strand-panel.world>.world-meter{height:6px;margin:0;border-radius:0}.world-body{padding:4px 18px 22px}.world-blurb{max-width:60ch;margin:12px 0 0}.course-map .map-path-wrap{height:calc(var(--rows) * var(--row) + 10px)}.course-map .map-node{top:calc(var(--i) * var(--row))}@media (max-width: 760px){.course-map{--row: 150px}.learn-tabs{max-width:none}.learn-tools{gap:8px}.learn-search{flex-basis:100%}.world-toggle{gap:10px;padding:12px 12px 12px 14px}.world-badge .emblem,.world-badge svg{width:36px;height:36px}.world-body{padding:0 8px 16px}.course-map .map-tile .iso-tile{width:112px;height:auto}.course-map .map-path-wrap{margin-top:24px}}.chat-page{max-width:860px}.chat-page .pip-chat-head{margin-bottom:12px}.chat-page .pip-chat-head .icon-btn{flex:none}@media (max-width: 760px){.chat-page{padding-bottom:0}.chat-page .pip-chat-head{gap:10px}.chat-page .pip-chat-head .pip{width:36px;height:36px}.chat-page .pip-chat-title .sub{display:none}.chat-page .chat-box{border-radius:var(--r-lg)}}.lesson-bar,.round-bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;margin:0 0 16px;padding:8px 0;background:var(--c-bg)}.lesson-close,.round-close{display:grid;place-items:center;flex:none;width:var(--touch);height:var(--touch);padding:0;border:1px solid var(--c-line-strong);border-radius:50%;background:var(--c-surface);color:var(--c-ink);cursor:pointer;text-decoration:none}.lesson-close:hover,.round-close:hover{border-color:var(--c-ink)}.lesson-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex:1;gap:6px;margin:0;padding:0;list-style:none}.lesson-step{display:grid;align-content:center;gap:4px;width:100%;min-height:var(--touch);padding:4px 0;border:0;border-radius:10px;background:none;color:var(--c-muted);font:inherit;cursor:pointer}.lesson-step-bar{display:block;height:8px;border-radius:var(--r-pill);background:var(--c-surface-3);transition:background var(--d-2)}.lesson-step.done .lesson-step-bar{background:var(--c-good-bright)}.lesson-step.current .lesson-step-bar{background:var(--strand, var(--subject));box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--emblem-line) 30%,transparent)}.lesson-step-label{font-size:.74rem;font-weight:800;line-height:1.1;text-align:center}.lesson-step.current .lesson-step-label,.lesson-step:hover .lesson-step-label{color:var(--c-ink)}.lesson-bar .ask-pip-icon,.round-bar .ask-pip-icon{width:var(--touch);height:var(--touch);min-height:var(--touch);border-width:1px}.lesson-flow .lesson-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 20px}.lesson-flow .lesson-head h1{font-size:clamp(1.7rem,1.3rem + 1.8vw,2.6rem)}.lesson-flow .lesson-head .sub{margin:6px 0 0}.lesson-flow .lesson-head-copy{flex:1 1 auto;min-width:0}.lesson-head-stars{display:grid;flex:none;justify-items:end;gap:6px;padding-top:4px}.lesson-flow .lesson-stage{margin:0;animation:c-slide-up var(--d-3) var(--ease-out) both}.lesson-flow .lesson-stage-head h2:focus{outline:none}.lesson-step-count{margin:0 0 2px;color:var(--c-muted);font-family:var(--font-mono);font-size:var(--t-micro);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.lesson-stage-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:28px 0 0;padding:16px 0 0;border-top:1px solid var(--c-line)}.lesson-stage-nav>:only-child{margin-left:auto}.lesson-flow .editorial-note{margin:18px 0 0}.lesson-flow .tutor-promo{margin:0 0 20px}.lesson-flow .mastery-card{margin-bottom:18px}.mastery-card-stars{display:grid;justify-items:center;gap:10px;min-width:150px;padding:22px 16px;border-radius:var(--r-lg);background:var(--c-night-2)}.mastery-prismo{display:flex;align-items:center;gap:10px;margin-top:14px;padding:6px 14px 6px 6px;border:1px solid var(--c-night-3);border-radius:var(--r-pill);color:var(--c-night-ink);font-size:var(--t-small);text-decoration:none}.mastery-prismo:hover{border-color:var(--c-night-muted)}.mastery-prismo b{color:var(--hue-volt)}.quiz-start{display:grid;justify-items:center;gap:12px;padding:24px 20px;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--sh-1);text-align:center}.quiz-start-copy{display:grid;gap:6px;max-width:52ch}.quiz-start-copy h3{font-family:var(--font-display);font-size:1.3rem;font-weight:700}.quiz-start-copy .sub{margin:0;font-size:.95rem}.quiz-start-feeds{margin:0;color:var(--subject-strong);font-size:var(--t-small);font-weight:800}.quiz-start .btn-block{max-width:420px}.quiz-flow{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.quiz-progress{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.quiz-progress-count{color:var(--c-muted);font-family:var(--font-mono);font-size:var(--t-micro);font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.quiz-dots{display:flex;flex:1;gap:6px;min-width:120px;margin:0;padding:0;list-style:none}.quiz-dots li{flex:1;max-width:56px;height:8px;border-radius:var(--r-pill);background:var(--c-surface-3)}.quiz-dots li.current{background:var(--subject)}.quiz-dots li.right{background:var(--c-good-bright)}.quiz-dots li.wrong{background:var(--c-bad-bright)}.quiz-flow .quiz-q{margin:0;scroll-margin-top:72px}.quiz-flow .quiz-q:focus{outline:none}.quiz-flow .quiz-q:focus-visible{outline:3px solid var(--c-focus);outline-offset:3px}.quiz-flow .quiz-q.right,.quiz-flow .quiz-q.wrong{background:var(--c-surface)}.answer-row{display:flex;gap:10px;margin:0}.quiz-flow .answer-input{width:100%;max-width:420px;font-size:1.15rem}.quiz-flow .quiz-actions{display:grid;gap:10px;margin-top:16px}.quiz-check{max-width:420px}.quiz-hint summary{display:inline-flex;align-items:center;gap:6px;min-height:36px;color:var(--c-warn);font-weight:800;cursor:pointer;list-style:none}.quiz-hint summary::-webkit-details-marker{display:none}.quiz-hint p{margin:4px 0 0;padding:10px 12px;border-radius:var(--r-sm);background:var(--c-warn-wash);color:var(--c-ink)}.quiz-feedback{display:grid;gap:12px;padding:16px 18px;border:2px solid var(--c-line-strong);border-radius:var(--r-lg);background:var(--c-surface-2);animation:c-slide-up var(--d-2) var(--ease-out) both}.quiz-feedback.right{border-color:var(--c-good-bright);background:var(--c-good-wash)}.quiz-feedback.wrong{border-color:var(--c-bad-bright);background:var(--c-bad-wash)}.quiz-feedback-title{display:flex;align-items:center;gap:10px;margin:0;font-family:var(--font-display);font-size:1.15rem;font-weight:700}.quiz-feedback-mark{display:grid;place-items:center;flex:none;width:32px;height:32px;border:2px solid var(--emblem-line);border-radius:50%;background:var(--c-surface);color:var(--emblem-line)}.quiz-feedback.right .quiz-feedback-mark{background:var(--c-good-bright)}.quiz-feedback.wrong .quiz-feedback-mark{background:var(--c-bad-bright);color:#fff}.quiz-feedback-answer{margin:0;font-size:1.02rem}.quiz-feedback-answer b{font-family:var(--font-mono)}.quiz-method summary{min-height:36px;font-weight:800;cursor:pointer}.quiz-method .review-sol{margin-top:4px}.quiz-feedback .review-sol{border-top-color:color-mix(in srgb,var(--c-ink) 18%,transparent)}.quiz-feedback-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.quiz-feedback-actions .btn-go{min-width:200px}.why-chips{display:grid;gap:6px}.why-chips-label{font-size:var(--t-small);font-weight:800}.why-chips .suggest-chip.on{border-color:var(--c-primary);background:var(--c-primary);color:var(--c-on-primary)}.quiz-done{justify-items:stretch}.quiz-done .eyebrow{color:var(--hue-volt)}.quiz-done .creature-gains{margin:0}.quiz-done-marks{margin:-8px 0 0;color:var(--c-night-muted);font-family:var(--font-mono);font-weight:700}.quiz-done-actions{display:flex;flex-wrap:wrap;gap:10px}.quiz-done .btn:not(.btn-go){border-color:var(--c-night-3);background:transparent;color:var(--c-night-ink)}.quiz-done .btn:not(.btn-go):hover{border-color:var(--c-night-muted)}.quiz-done :focus-visible{outline-color:var(--hue-volt)}.lesson-complete{margin-top:84px;padding-top:26px}.reward-creature{display:grid;place-items:center;width:150px;height:150px;margin:-96px auto 4px;border:4px solid var(--emblem-line);border-radius:50%;background:radial-gradient(circle at 50% 60%,color-mix(in srgb,var(--hue-volt) 40%,var(--c-night-2)),var(--c-night-2) 70%);box-shadow:0 6px 0 var(--emblem-line),0 0 0 10px color-mix(in srgb,var(--hue-volt) 18%,transparent);animation:c-pop var(--d-4) var(--ease-spring) both .12s}.lesson-complete .creature-gains{margin:14px 0 18px}.reward-backdrop{overflow-y:auto;overscroll-behavior:contain}.practice-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:18px;margin-bottom:18px}.practice-main{display:grid;gap:16px;min-width:0}.practice-retry{display:flex;align-items:center;gap:12px;padding:12px 16px 12px 10px;border:2px solid var(--emblem-line);border-radius:var(--r-lg);background:var(--c-night);color:var(--c-night-ink);box-shadow:0 4px 0 var(--emblem-line);text-decoration:none;transition:transform var(--d-1) var(--ease-out)}.practice-retry:hover{transform:translateY(-2px)}.practice-retry:focus-visible{outline-color:var(--hue-volt)}.practice-retry-art{display:grid;flex:none;place-items:center;width:72px;height:72px}.practice-retry-copy{display:grid;flex:1;gap:2px;min-width:0}.practice-retry-eyebrow{color:var(--hue-coral);font-family:var(--font-mono);font-size:var(--t-micro);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.practice-retry-copy b{font-family:var(--font-display);font-size:1.1rem;font-weight:700}.practice-retry-copy>span:last-child{color:var(--c-night-muted);font-size:var(--t-small)}.practice-retry .btn{flex:none;pointer-events:none}.practice-card,.papers-section{display:grid;gap:14px;padding:18px;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--sh-1)}.practice-card-head{display:flex;align-items:flex-start;gap:12px}.practice-card-head h2{font-family:var(--font-display);font-size:1.2rem;font-weight:700}.practice-card-head .sub{margin:4px 0 0}.practice-card-icon{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:14px;background:var(--subject-wash-2);color:var(--subject-strong);--icon-accent: var(--subject)}.practice-options summary{display:inline-flex;align-items:center;min-height:40px;color:var(--c-muted);font-weight:800;cursor:pointer}.practice-options[open] summary{margin-bottom:8px}.practice-page .papers-section .section-head{margin:0}.practice-page .papers-grid,.practice-page .papers-grid.two{grid-template-columns:minmax(0,1fr);gap:10px;margin:0}.practice-page .paper-card.pick{gap:8px;padding:14px 16px;border-width:1px}.practice-page .paper-actions .btn{width:100%}.paper-skeleton{min-height:132px}.practice-page .pass-toggle,.practice-page .field-note{margin:0}.practice-links{padding:4px 8px}.settings-meta{display:inline-flex;align-items:center;gap:8px;color:var(--c-muted);font-family:var(--font-mono);font-size:var(--t-micro);font-weight:700}.segmented{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:var(--r-pill);background:var(--c-surface-3)}.segmented.learn-tabs{display:flex}.learn-tabs .segment{flex:1}.segment{flex:1 1 auto;min-height:40px;padding:6px 14px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--c-muted);font:inherit;font-size:var(--t-small);font-weight:800;white-space:nowrap;cursor:pointer}.segment:hover{color:var(--c-ink)}.segment.on{background:var(--c-surface);color:var(--c-ink);box-shadow:var(--sh-1)}.round-page{max-width:780px}.round-title{display:grid;flex:1;min-width:0;line-height:1.2}.round-title b{overflow:hidden;font-family:var(--font-display);font-size:1rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.round-title span{color:var(--c-muted);font-family:var(--font-mono);font-size:var(--t-micro);font-weight:800}.progressive-hints{display:grid;gap:6px}.progressive-hints .hint-inline{display:block;margin:0;padding:8px 12px;border-radius:var(--r-sm)}.hint-button{display:inline-flex;align-items:center;justify-self:start;gap:6px;min-height:40px;color:var(--c-warn);text-decoration:none}.review-answer{margin-top:6px;font-weight:800}.english-round .adhoc-source-panel{margin-bottom:14px}.adhoc-source-tabs{position:relative;flex-wrap:nowrap;margin-bottom:8px;overflow-x:auto;border-radius:var(--r-md);scrollbar-width:thin}.adhoc-source-tabs .source-tab{flex:none;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.retry-card .quiz-q-text{margin-bottom:10px}.quiz-q-meta{flex-wrap:wrap;justify-content:flex-start;gap:4px 14px}.quiz-q-meta>span{white-space:nowrap}.quiz-q-meta>.quiz-q-kind{min-width:0;white-space:normal}.quiz-q-meta>span:last-child{margin-left:auto}.retry-recall{margin-top:6px}.retry-recall textarea{width:100%;min-height:84px;padding:10px 12px}.retry-correction{display:grid;gap:2px;margin:0;padding:10px 12px;border-radius:var(--r-sm);background:var(--c-surface);font-size:var(--t-small)}.retry-correction small{color:var(--c-muted);font-family:var(--font-mono);font-size:var(--t-micro);font-weight:800;text-transform:uppercase}.retry-redo{display:flex;align-items:center;gap:12px}.retry-redo p{margin:0;color:var(--c-night-muted)}.retry-redo b{color:var(--c-night-ink)}.grade-buttons{display:grid;gap:8px}.grade-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.grade-btn{display:grid;gap:2px;min-height:64px;padding:10px 12px;border:2px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-ink);box-shadow:0 3px 0 var(--c-line-strong);font:inherit;text-align:left;cursor:pointer}.grade-btn b{font-weight:800}.grade-btn span{color:var(--c-muted);font-size:.78rem;line-height:1.3}.grade-btn:hover{border-color:var(--c-ink)}.grade-btn.grade-again{border-color:color-mix(in srgb,var(--c-bad) 45%,var(--c-line-strong))}.grade-btn.grade-good{border-color:var(--emblem-line);background:var(--hue-volt);color:var(--volt-ink);box-shadow:0 3px 0 var(--emblem-line)}.grade-btn.grade-good span{color:color-mix(in srgb,var(--volt-ink) 75%,transparent)}.btn-danger,button.btn-danger{border-color:var(--c-bad);background:var(--c-bad);color:#fff}.btn-danger:hover{border-color:var(--c-bad);background:color-mix(in srgb,var(--c-bad) 85%,#000);color:#fff}.sheet-sm{width:min(440px,100%)}.confirm-sheet .sheet-body p{margin:0;color:var(--c-muted)}.results-gains .creature-gains{margin:0}.notebook-page .page-head{align-items:center}.notebook-row:not(.open) .notebook-title p{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notebook-row{padding:0}.notebook-body{padding:0 16px 16px;border-bottom:0}.notebook-more{margin-top:4px}@media (max-width: 640px){.notebook-page .stat-row,.weekly-summary .stat-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:18px}.weekly-summary .stat-row{grid-template-columns:repeat(3,minmax(0,1fr))}.notebook-page .stat-card,.weekly-summary .stat-card{gap:4px;min-height:0;padding:10px 8px;border-radius:var(--r-md)}.notebook-page .stat-card .stat-num,.weekly-summary .stat-card .stat-num{font-size:1.3rem}.notebook-page .stat-card .stat-label,.weekly-summary .stat-card .stat-label{font-size:.56rem;letter-spacing:.04em;line-height:1.25}.notebook-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}.notebook-main .due-chip{grid-column:1;justify-self:start}.notebook-main .notebook-title{grid-column:1}.notebook-main .chev{grid-column:2;grid-row:1 / span 2;align-self:center}}.fold-panel.panel{padding:0}.fold-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:14px clamp(18px,2.2vw,28px);border-radius:var(--r-lg);cursor:pointer;list-style:none}.fold-panel>summary::-webkit-details-marker{display:none}.fold-panel>summary h2{display:flex;align-items:center;gap:10px;margin:0;font-size:1.1rem}.fold-panel-count{display:inline-flex;align-items:center;min-height:26px;padding:2px 10px;border-radius:var(--r-pill);background:var(--c-surface-3);color:var(--c-ink);font-family:var(--font-num);font-size:.85rem;font-weight:800;font-variant-numeric:tabular-nums}.fold-panel-chevron{display:grid;place-items:center;flex:none;color:var(--c-muted);transition:transform .2s ease}.fold-panel[open]>summary .fold-panel-chevron{transform:rotate(180deg)}.fold-panel[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0}.fold-panel-body{padding:0 clamp(18px,2.2vw,28px) clamp(18px,2.2vw,28px)}.fold-panel-body>.sub:first-child{margin-top:0}.table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll .bound-table{min-width:100%}@media (hover: hover){.fold-panel>summary:hover h2{color:var(--subject-strong)}}@media (prefers-reduced-motion: reduce){.fold-panel-chevron{transition:none}}.result-hero{grid-template-columns:auto minmax(0,1fr) auto}.results .bar-row{display:block;margin-bottom:14px}.results .bar-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}@media (max-width: 640px){.result-hero{grid-template-columns:auto minmax(0,1fr);gap:14px;padding:18px}.result-hero .grade-badge{width:92px;height:92px;min-width:0;padding:8px;border-radius:18px}.result-hero .grade-num{font-size:2rem}.result-hero .grade-label{font-size:.6rem;text-align:center}.result-hero .score-block{justify-items:start;min-width:0;padding:12px 14px}.result-hero .score-num{font-size:2.2rem}.result-hero .score-note{font-size:.85rem}.result-hero .actions-col{grid-column:1 / -1}.results .col-time{display:none}.results .attempts-table th,.results .attempts-table td{padding:8px 6px;white-space:nowrap}}.exam-quit{display:grid;place-items:center;flex:none;width:var(--touch);height:var(--touch);padding:0;border:1px solid var(--c-night-3);border-radius:50%;background:var(--c-night-2);color:var(--c-night-ink);cursor:pointer}.exam-quit:hover:not(:disabled){border-color:var(--hue-coral);color:#ffb3bb}.exam-quit:focus-visible,.exam-bar :focus-visible{outline-color:var(--hue-volt)}.exam-bar{justify-content:flex-start}.exam-title{flex:1 1 auto;min-width:0}.exam-view-toggle,.source-peek{display:none}@media (max-width: 900px){.exam-bar{flex-direction:row;align-items:center}.exam-bar-actions{display:flex}.exam-body .q-nav,.q-main>.q-nav{order:0}}@media (max-width: 1100px){.exam-view-toggle{display:flex;gap:4px;padding:4px;border-radius:var(--r-pill);background:var(--c-surface-3)}.exam-view-toggle .segment{flex:1}.exam-with-source.view-question .exam-source-col,.exam-with-source.view-source .q-main{display:none}.exam-with-source.view-source .source-panel.tall{max-height:none}.source-peek{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;margin:0 0 14px;padding:8px 12px;border:1px dashed var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface-2);color:var(--subject-strong);font:inherit;font-weight:800;text-align:left;cursor:pointer}.source-peek span{flex:1}}@media (max-width: 760px){.practice-grid{grid-template-columns:minmax(0,1fr);gap:14px}.practice-card,.papers-section{padding:16px 14px}.papers-section .section-head{display:grid;gap:10px}.papers-section .segmented,.practice-card .segmented{display:flex}.practice-retry-art,.practice-retry-art .critter{width:60px;height:60px}.exam{gap:12px;padding:0 12px calc(16px + env(safe-area-inset-bottom,0px))}.exam-bar{flex-wrap:nowrap;gap:8px;margin:0 -12px;padding:calc(8px + env(safe-area-inset-top,0px)) 12px 8px;border-radius:0}.exam-title{display:grid;gap:2px}.exam-paper{overflow:hidden;font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}.exam-title .calc-badge{display:block;justify-self:start;max-width:100%;min-height:20px;padding:1px 8px;overflow:hidden;font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.exam-title .calc-badge+.calc-badge{display:none}.exam-timers{flex:none;flex-wrap:nowrap}.exam-timers .timer:not(.big){display:none}.exam-timers .timer.big{min-width:0;padding:4px 10px}.exam-timers .timer.big .timer-label{display:none}.exam-timers .timer.big .timer-value{font-size:1.1rem}.exam-bar .btn-submit{min-height:40px;padding:6px 14px}.submit-more{display:none}.exam-body{grid-template-columns:minmax(0,1fr);gap:10px}.q-nav{position:static;display:flex;gap:6px;max-height:none;margin:0 -12px;padding:2px 12px 6px;overflow-x:auto;border:0;border-radius:0;background:transparent;scrollbar-width:none}.q-nav::-webkit-scrollbar{display:none}.q-dot{flex:0 0 48px;min-height:48px}.q-nav-legend{display:none}.q-card{padding:18px 16px}.q-actions{position:sticky;bottom:0;z-index:15;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px -12px 0;padding:8px 12px calc(10px + env(safe-area-inset-bottom,0px));background:var(--c-bg)}.q-actions .q-pos{grid-column:1 / -1;order:-1;text-align:center;font-size:.72rem}.q-actions .btn{width:100%;min-height:48px}.autosave-note{display:none}.exam-with-source{gap:10px}.exam-view-toggle{margin:0}.english-round .adhoc-source-panel>.source-panel{max-height:38vh}.english-round .adhoc-source-heading{align-items:center;margin-bottom:6px}.english-round .adhoc-source-heading h3{display:none}.lesson-bar,.round-bar{top:0;margin:calc(-1*(10px + env(safe-area-inset-top,0px))) -16px 14px;padding:calc(8px + env(safe-area-inset-top,0px)) 16px 8px;border-bottom:1px solid var(--c-line)}.lesson-step-label{font-size:.7rem}.lesson-flow .lesson-head{flex-direction:column;gap:8px;margin-bottom:16px}.lesson-head-stars{display:flex;align-items:center;justify-items:start;gap:10px;padding:0}.lesson-flow .lesson-stage-head{gap:12px}.lesson-flow .lesson-stage-n{width:38px;height:38px;border-radius:12px}.lesson-stage-nav{position:sticky;bottom:0;z-index:20;margin:20px -16px 0;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--c-bg)}.lesson-stage-nav .btn-go{flex:1}.mastery-card-stars{justify-self:stretch}.quiz-feedback{padding:14px}.quiz-feedback-actions{justify-content:stretch}.quiz-feedback-actions>*{flex:1 1 auto}.quiz-feedback-actions .btn-go{flex-basis:100%;min-width:0;min-height:52px}.quiz-flow .answer-input,.quiz-check,.quiz-start .btn-block{max-width:none}.quiz-done-actions .btn{flex:1 1 auto}.lesson-complete{margin-top:0;padding-top:22px}.reward-creature{width:112px;height:112px;margin:0 auto 6px;box-shadow:0 5px 0 var(--emblem-line)}.reward-creature .critter{width:96px;height:96px}}.segmented-label{margin-bottom:-6px;font-size:var(--t-small);font-weight:800}.practice-card .segmented{display:flex}
