@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/outfit-latin-ext-300-normal-BYS6Dpvq.woff2) format("woff2"),url(/assets/outfit-latin-ext-300-normal-CMIMshEd.woff) format("woff");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:Outfit;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/outfit-latin-300-normal-CRYTwY6m.woff2) format("woff2"),url(/assets/outfit-latin-300-normal-AWLfuCom.woff) format("woff");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:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-ext-400-normal-5tcqmc2S.woff2) format("woff2"),url(/assets/outfit-latin-ext-400-normal-DHm7mdGe.woff) format("woff");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:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-400-normal-BGsTXAXT.woff2) format("woff2"),url(/assets/outfit-latin-400-normal-DMwTpYkH.woff) format("woff");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:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-ext-500-normal-zeox_O30.woff2) format("woff2"),url(/assets/outfit-latin-ext-500-normal-DrCvqoFD.woff) format("woff");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:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-500-normal-DKnIMDSk.woff2) format("woff2"),url(/assets/outfit-latin-500-normal-ClnHRwRh.woff) format("woff");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:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-ext-600-normal-B85nYjL1.woff2) format("woff2"),url(/assets/outfit-latin-ext-600-normal-CWJcPgd7.woff) format("woff");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:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-600-normal-B7SfZ07L.woff2) format("woff2"),url(/assets/outfit-latin-600-normal-BEfTtDA7.woff) format("woff");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:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-ext-700-normal-CI4iH74K.woff2) format("woff2"),url(/assets/outfit-latin-ext-700-normal-fjS8-Gm7.woff) format("woff");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:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-700-normal-Cu9v6i1X.woff2) format("woff2"),url(/assets/outfit-latin-700-normal-D4itBLBr.woff) format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff) format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff) format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQAAAAQtAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVDYAdBEICoRkg3gLIAABNgIkAzoEIAWFIgeBFAwHG1wHKI7DuPEacDIiFJ/g+f47+1/7dIcdXTlD8DKqmcw4eIC+AOCPf6+qiWq3h6+aSCLNJDnkqX9Xl+rv/6dSBcwSBCzEoVqxNbp5SqPMYdKBQhBq1dK9ggSsgYUoGnHOqttMECvWjIJfPA8cjQAuAEAQLAiClASc7M6OkfbO/nHs6ACmCYBxZXKP4s9uXIHECh4AdEhX0yIHC6jzgAb65sshStMMChwEfWVjZe8Anset/6H93x8jOyL5fuS67z4Dlam+BPyH/pV2FLCZAOnU0XPzCQGiJ7AkXgSFhqDEB4AAoAAN2ExDgM10joCNfDQUbvxaXM8LovT79D9MEyYU9+q/myT9p/m8uWi2mLJBPbzcih2wYIPzBDFNvABt315OXwy8BaRnbo5hXsOS5taknX4FguiaZnd4vQ7HxnBnm3SPYXHrQbclvOgyDhsHnZPO8f3G5I2fbr34Y7+hzRozVzyw5bKHdu03plXgvE9FO/Uz4/xPUKd8/PHk+R+JODnlg1lDTv3Qed77zDNqRszaqHUQT248kUPGzBXXXHGFnHrVVdft2m8c4PhpjB+/QEqMU54xruc6m3w8++XNXx4sya9rMvNq88m6X1zeOMlRuQ+/nvNw4+ZrCt58yDdSVOQdfoi/jc/ePfZY+1taYaH21FH2Y4fGG+RVNJkIN4SSiWj3ZKGG1oojoYr2SNWFVbHvY1XX1PR+H6y+oKrqgmryqj1UXnmk5cKWysPM3R4Uh5svYo6saAtU3V297+d91U/X/frzLvUdqiqfruKvhx5+OeOYxbHI7SenQum+PTw/fvRLGQ/jiufOn3/S+vlsfGn9h4Zb96fekZ7xRups68FhVCYCWHHvZVIPxjanr3NABSALqkR7FMBOulF9ScHvV3np+6pK/eEzRx877K3/z65pvwN89eGtV3Ly5ft/25ngaiSYDVYUAAKvIKimMdLO6YBQEY+aZpbXZ5WinTBQXwAA4LMAXuNUBPCSTmMfjd6jpNLNjbToDuBpaR9AoTBbUeERO2o0erNeR6KFne5HK/nOQA+VBtFnt1LtBj6pJQIutnLwipz/Ix9OYNSqZQEreiQELIkKmRIRNWdewpiIZVGtVi0J6xWR0ComIGpFnN+AVStWzUtIWBNXq0iRuJCYqDUJcYXiopYUWhUzp8iQTv20dtO84Agw6YrhuOijfqUKlSpRAruvTq9WdeQw2vs5SUsCYhdt7icIt1nNkseKPZzgV6q4FfYbH4ZIBcThYTEgLIgIkYRbJLl7/rks+ObZDxydE8W9LymoUMiqZUVbtVv0GNkcispQM0IpEG7sBdK9IYr6aKKLRaxiQxO7OMQphrUlGIscFbElV6LF5S0dQN5RbRoUdRbWWOYCy8sB83RxS7FqG/UEQslE5Nsd5v93uF3T0bLiypD/uJhn3q9fCAA=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-cyrillic-600-normal-EVf6-Yzo.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-600-normal-8K4wrrwR.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-greek-600-normal-H7WoG9Et.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-600-normal-mc2nkWzM.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-600-normal-OWROknRo.woff) format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-ext-600-normal-BfB_LPfz.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-600-normal-DObL3zCW.woff) format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff) format("woff");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}:root{--bg-deep: #050a18;--bg-card: #0c1229;--bg-elevated: #131c3e;--accent-gold: #f0b429;--accent-blue: #63b3ed;--accent-green: #48bb78;--accent-red: #fc5c65;--accent-purple: #9f7aea;--text-primary: #e2e8f0;--text-secondary: #a0aec0;--text-dim: #7a8599;--border-subtle: rgba(99, 179, 237, .15);--border-accent: rgba(99, 179, 237, .3);--shadow-card: 0 4px 24px rgba(0, 0, 0, .4);--shadow-glow-blue: 0 0 20px rgba(99, 179, 237, .15);--shadow-glow-gold: 0 0 20px rgba(240, 180, 41, .2);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--font-body: "Outfit", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--transition-fast: .15s ease;--transition-med: .3s ease;--transition-slow: .5s ease;--max-width: 480px;--overlay-bg: rgba(5, 10, 24, .9);--navbar-bg: rgba(5, 10, 24, .92);--working-bg: rgba(0, 0, 0, .2);--debug-bg: rgba(0, 0, 0, .9)}[data-theme=light]{--bg-deep: #f5f6fa;--bg-card: #ffffff;--bg-elevated: #edf0f7;--accent-gold: #d4960a;--accent-blue: #2b6cb0;--accent-green: #2f855a;--accent-red: #e53e3e;--accent-purple: #6b46c1;--text-primary: #1a202c;--text-secondary: #4a5568;--text-dim: #667085;--border-subtle: rgba(0, 0, 0, .08);--border-accent: rgba(43, 108, 176, .25);--shadow-card: 0 2px 12px rgba(0, 0, 0, .06);--shadow-glow-blue: 0 0 12px rgba(43, 108, 176, .1);--shadow-glow-gold: 0 0 12px rgba(212, 150, 10, .12);--overlay-bg: rgba(0, 0, 0, .35);--navbar-bg: rgba(245, 246, 250, .92);--working-bg: rgba(0, 0, 0, .04);--debug-bg: rgba(255, 255, 255, .95)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg-deep);color:var(--text-primary);line-height:1.6;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100dvh;display:flex;flex-direction:column}img,svg{display:block;max-width:100%}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;font-size:inherit}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}ul,ol{list-style:none}a{color:var(--accent-blue);text-decoration:none}.skip-link{position:absolute;top:-100%;left:50%;transform:translate(-50%);background:var(--accent-blue);color:var(--bg-deep);padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;z-index:9999;transition:top var(--transition-fast)}.skip-link:focus{top:8px}.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}.app-container{max-width:var(--max-width);width:100%;margin:0 auto;padding:0 16px;flex:1;display:flex;flex-direction:column;position:relative;z-index:1}.navbar{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border-subtle);margin-bottom:16px;position:sticky;top:0;background:var(--navbar-bg);backdrop-filter:blur(12px);z-index:100}.navbar-title{margin:0;font-size:1.1rem;font-weight:700;letter-spacing:.5px;background:linear-gradient(135deg,#6ee7b7,#48bb78 45%,#2c7a55);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar-title-btn{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-align:left}.navbar-title-btn:focus-visible{outline:2px solid var(--accent, #48bb78);outline-offset:4px;border-radius:4px}.navbar-stats{display:flex;gap:16px;align-items:center}.navbar-stat{display:flex;align-items:center;gap:4px;font-size:.85rem;font-weight:500;color:var(--text-secondary)}.navbar-stat .stat-value{font-family:var(--font-mono);font-weight:600;color:var(--accent-gold)}.navbar-stat .stat-icon{font-size:1rem}.navbar-stat--clickable{cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);border:none;background:none;transition:background var(--transition-fast)}.navbar-stat--clickable:hover{background:#ffffff0f}.navbar-btn{padding:6px 10px;border-radius:var(--radius-sm);transition:background var(--transition-fast);font-size:1.1rem}.navbar-btn:hover{background:var(--bg-elevated)}.navbar-offline{display:inline-block;margin-left:.5rem;padding:2px 8px;border-radius:var(--radius-sm);background:#ffb43226;color:#ffb432;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}.update-prompt{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 1rem;background:var(--bg-elevated);border-top:1px solid rgba(255,255,255,.1);z-index:9999;animation:slideUp .3s ease-out}.update-prompt__text{color:var(--text-primary);font-size:.9rem;font-weight:500}.update-prompt__btn{padding:6px 16px;border-radius:var(--radius-sm);background:var(--accent-blue);color:#fff;font-size:.85rem;font-weight:600;transition:background var(--transition-fast)}.update-prompt__btn:hover{background:var(--accent-green)}.topic-selector{padding-bottom:32px}.mixed-card{display:flex;align-items:center;gap:14px;padding:16px;background:linear-gradient(135deg,#f0b42914,#fc5c650f);border:1.5px solid rgba(240,180,41,.25);border-radius:var(--radius-md);cursor:pointer;width:100%;text-align:left;transition:all var(--transition-fast);margin-bottom:12px}.mixed-card:hover{border-color:var(--accent-gold);box-shadow:var(--shadow-glow-gold);transform:translateY(-1px)}.mixed-card:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px}.mixed-card__icon{font-size:1.6rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border-radius:var(--radius-md);flex-shrink:0}.mixed-card__info{flex:1}.mixed-card__title{font-size:.95rem;font-weight:600;color:var(--accent-gold)}.mixed-card__subtitle{font-size:.78rem;color:var(--text-dim);margin-top:2px}.mixed-card__arrow{color:var(--accent-gold);font-size:1.1rem;flex-shrink:0}.mixed-card--locked{cursor:default;opacity:.7;background:linear-gradient(135deg,#f0b42908,#fc5c6505);border-color:var(--border-subtle)}.mixed-card--locked:hover{transform:none;box-shadow:none;border-color:var(--border-subtle)}.mixed-card--locked .mixed-card__title{color:var(--text-dim)}.mixed-card__lock-badge{margin-left:8px;font-size:.9rem;vertical-align:middle}.explore-card{display:flex;align-items:center;gap:14px;padding:16px;background:linear-gradient(135deg,#f0c04014,#5b9bd50f);border:1.5px solid rgba(240,192,64,.15);border-radius:var(--radius-md);cursor:pointer;width:100%;text-align:left;transition:all var(--transition-fast);margin-bottom:20px}.explore-card:hover{border-color:#f0c04066;box-shadow:0 0 0 2px #f0c04026;transform:translateY(-1px)}.explore-card:focus-visible{outline:2px solid rgba(240,192,64,.8);outline-offset:2px}.explore-card__icon{font-size:1.6rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#f0c0401f;border-radius:var(--radius-md);flex-shrink:0}.explore-card__info{flex:1}.explore-card__title{font-size:.95rem;font-weight:600;color:var(--accent-gold)}.explore-card__subtitle{font-size:.78rem;color:var(--text-dim);margin-top:2px}.explore-card__arrow{color:var(--accent-gold);font-size:1.1rem;flex-shrink:0}.paper-group{margin-bottom:24px}.paper-heading{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim);margin-bottom:12px;padding-left:4px}.topic-list{display:flex;flex-direction:column;gap:8px}.topic-card{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer;width:100%;text-align:left}.topic-card:hover:not(.topic-card--locked){border-color:var(--border-accent);box-shadow:var(--shadow-glow-blue);transform:translateY(-1px)}.topic-card:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.topic-card--locked{opacity:.5;cursor:default}[data-theme=light] .topic-card--locked{opacity:.65}.topic-card__icon{font-size:1.6rem;width:40px;text-align:center;flex-shrink:0}.topic-card__info{flex:1;min-width:0}.topic-card__title{font-size:.95rem;font-weight:600;color:var(--text-primary);line-height:1.3}.topic-card__subtitle{font-size:.78rem;color:var(--text-dim);margin-top:2px}.topic-card__stars{display:flex;gap:2px;font-size:.85rem;flex-shrink:0}.topic-card__progress{display:flex;align-items:center;gap:8px;flex-shrink:0;min-width:70px}.topic-card__progress-bar{width:36px;height:6px;background:var(--bg-elevated);border-radius:3px;overflow:hidden}.topic-card__progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple));border-radius:3px;transition:width var(--transition-med)}.topic-card__progress-text{font-family:var(--font-mono);font-size:.7rem;color:var(--text-dim);white-space:nowrap}.topic-card__badge{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--accent-purple);background:#9f7aea1f;padding:3px 8px;border-radius:6px;flex-shrink:0}.topic-map{padding-bottom:32px}.topic-map__header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.topic-map__back{font-size:1.3rem;padding:4px 8px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.topic-map__back:hover{background:var(--bg-elevated)}.topic-map__title{font-size:1.15rem;font-weight:700}.topic-map__subtitle{font-size:.8rem;color:var(--text-dim)}.level-list{display:flex;flex-direction:column;gap:12px}.level-card{display:flex;align-items:center;gap:14px;padding:16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer;width:100%;text-align:left}.level-card:hover:not(.level-card--locked){border-color:var(--border-accent);box-shadow:var(--shadow-glow-blue);transform:translateY(-1px)}.level-card:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.level-card--locked{opacity:.5;cursor:default}[data-theme=light] .level-card--locked{opacity:.65}.level-card--completed{border-color:#48bb784d}.level-card__icon{font-size:1.5rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border-radius:var(--radius-md);flex-shrink:0}.level-card__info{flex:1;min-width:0}.level-card__name{font-size:.95rem;font-weight:600;line-height:1.3}.level-card__subtitle{font-size:.78rem;color:var(--text-dim);margin-top:2px}.level-card__stars{display:flex;gap:2px;font-size:1rem;flex-shrink:0}.level-card__lock{font-size:1.2rem;opacity:.5}.level-card__xp-needed{display:flex;align-items:center;gap:8px;font-size:.7rem;color:var(--text-dim);font-family:var(--font-mono);margin-top:4px}.level-card__xp-bar{width:48px;height:5px;border-radius:3px;background:var(--bg-elevated);overflow:hidden;flex-shrink:0}.level-card__xp-fill{height:100%;border-radius:3px;background:var(--accent-blue);transition:width .3s ease}.level-card__star-wrap{display:flex;flex-direction:column;align-items:center;flex-shrink:0;gap:4px}.level-card__star{opacity:.2;transition:opacity .3s ease}.level-card__star--filled{opacity:1;filter:drop-shadow(0 0 4px rgba(240,180,41,.4))}.level-card__mastery-bar{width:48px;height:4px;background:var(--bg-elevated);border-radius:2px;overflow:hidden}.level-card__mastery-fill{height:100%;background:linear-gradient(90deg,var(--accent-blue),var(--accent-green));border-radius:2px;transition:width .4s ease}.level-card__mastery-text{font-size:.7rem;color:var(--text-muted);margin-left:6px}.level-card__mastery-text--done{color:var(--accent-green)}.topic-map__hints{margin-top:12px;text-align:center}.topic-map__hint{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.78rem;color:var(--text-dim);margin:0 0 6px;line-height:1.4}.topic-map__hint-icon{font-size:.9rem}.topic-map__star-info-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;font-size:.72rem;color:var(--text-dim);cursor:pointer;padding:2px 0;transition:color var(--transition-fast)}.topic-map__star-info-btn:hover{color:var(--text-secondary)}.topic-map__star-info{margin-top:6px;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.75rem;color:var(--text-secondary);line-height:1.8;animation:fadeInUp .2s ease-out}.topic-map__star-info p{margin:0}.topic-map__progress-callout{display:flex;align-items:center;gap:8px;margin:16px 0 0;padding:10px 14px;background:linear-gradient(135deg,#63b3ed14,#48bb7814);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.78rem;color:var(--text-secondary);line-height:1.4}.topic-map__progress-icon{font-size:1rem;flex-shrink:0}.topic-map__footnote{font-size:.72rem;color:var(--text-dim);text-align:center;margin:14px 0 0;line-height:1.4}.progress-bar{width:100%;height:6px;background:var(--bg-elevated);border-radius:3px;overflow:hidden;margin-top:8px}.progress-bar__fill{height:100%;background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple));border-radius:3px;transition:width var(--transition-med)}.session{flex:1;display:flex;flex-direction:column;padding-bottom:24px}.session__header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.session__close{font-size:1.3rem;padding:4px 8px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.session__close:hover{background:var(--bg-elevated)}.session__progress-wrap{flex:1}.session__progress-text{font-size:.75rem;color:var(--text-dim);font-family:var(--font-mono);margin-bottom:4px;text-align:right}.session__progress-bar{width:100%;height:10px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:5px;overflow:hidden}.session__progress-fill{height:100%;background:linear-gradient(90deg,#4299e1,#48bb78);border-radius:5px;transition:width var(--transition-med)}[data-theme=light] .session__progress-fill{background:linear-gradient(90deg,#3182ce,#38a169)}.progress-dots{display:flex;gap:5px;justify-content:center;margin-top:6px;flex-wrap:wrap}.progress-dots__dot{width:8px;height:8px;border-radius:50%;background:transparent;border:1.5px solid var(--text-dim);transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.progress-dots__dot--correct{background:var(--accent-green);border-color:var(--accent-green)}.progress-dots__dot--wrong{background:var(--accent-red);border-color:var(--accent-red)}.progress-dots__dot--current{border-color:var(--accent-blue);box-shadow:0 0 0 2px #63b3ed59;animation:dot-pulse 1.2s ease-in-out infinite}@keyframes dot-pulse{0%,to{box-shadow:0 0 0 2px #63b3ed59}50%{box-shadow:0 0 0 4px #63b3ed26}}[data-theme=light] .progress-dots__dot--current{border-color:var(--accent-blue);box-shadow:0 0 0 2px #2b6cb040;animation:dot-pulse-light 1.2s ease-in-out infinite}@keyframes dot-pulse-light{0%,to{box-shadow:0 0 0 2px #2b6cb040}50%{box-shadow:0 0 0 4px #2b6cb01a}}.session__xp{font-family:var(--font-mono);font-size:.85rem;font-weight:600;color:var(--accent-gold);min-width:52px;text-align:right}.session__retry-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:12px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.35);border-radius:var(--radius-md);color:var(--text-primary);font-size:.9rem;line-height:1.4}.session__retry-banner-icon{font-size:1.1rem;color:var(--accent-gold);font-weight:700;flex-shrink:0}@media(prefers-reduced-motion:reduce){.session__retry-banner{transition:none}}.worked-example{max-width:480px;margin:0 auto 14px}.worked-example__toggle{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border:1px dashed var(--border-subtle);border-radius:var(--radius-md);background:transparent;cursor:pointer;color:var(--text-secondary);font-size:.85rem;transition:background var(--transition-fast),border-color var(--transition-fast)}.worked-example__toggle:hover{background:#63b3ed0f;border-color:var(--accent-blue)}.worked-example__icon{font-size:1rem;flex-shrink:0}.worked-example__label{flex:1;text-align:left}.worked-example__chevron{font-size:.8rem;transition:transform var(--transition-fast);flex-shrink:0}.worked-example__chevron--open{transform:rotate(90deg)}.worked-example__body{margin-top:8px;padding:14px 16px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.85rem;line-height:1.55;color:var(--text-primary);animation:fadeIn .15s ease-out}.worked-example__title{font-size:.9rem;font-weight:700;margin:0 0 6px;color:var(--text-primary)}.worked-example__formula{font-family:JetBrains Mono,monospace;font-size:.82rem;color:var(--accent-blue);background:#63b3ed14;padding:6px 10px;border-radius:6px;margin-bottom:10px;word-break:break-word}.worked-example__problem{margin:0 0 10px;color:var(--text-secondary);font-style:italic}.worked-example__steps{margin:0 0 10px;padding-left:22px}.worked-example__steps li{margin-bottom:4px;color:var(--text-primary)}.worked-example__steps li::marker{color:var(--accent-blue);font-weight:600}.worked-example__answer{padding:8px 10px;background:#48bb781a;border-left:3px solid var(--accent-green);border-radius:0 6px 6px 0;color:var(--text-primary)}.worked-example__answer strong{color:var(--accent-green)}.diagram-container{max-width:480px;margin:0 auto 12px;padding:12px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.diagram-container svg{width:100%;height:auto;display:block}.diagram-loading{height:120px;background:var(--bg-elevated);border-radius:var(--radius-md);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.8}}@keyframes diagramPulse{0%,to{opacity:1}50%{opacity:.4}}.diagram-expand-icon,.diagram-expand-btn{position:absolute;bottom:8px;right:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#00000073;color:#fff;font-size:14px;line-height:1;pointer-events:none;opacity:.7;transition:opacity var(--transition-fast)}.diagram-expand-btn{pointer-events:auto;cursor:pointer;border:1px solid rgba(255,255,255,.2)}.diagram-expand-btn:hover{opacity:1;background:#000000a6}.diagram-container:hover .diagram-expand-icon{opacity:1}.diagram-lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#000000d9;animation:lightboxFadeIn .2s ease;touch-action:pan-y}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}.diagram-lightbox__close{position:absolute;top:12px;right:12px;z-index:10;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff1f;color:#fff;font-size:20px;cursor:pointer;border:1px solid rgba(255,255,255,.2);transition:background var(--transition-fast)}.diagram-lightbox__close:hover{background:#ffffff40}.diagram-lightbox__content{width:92vw;max-width:720px;max-height:85vh;overflow:auto;background:var(--bg-card);border-radius:var(--radius-md);padding:16px;transition:transform .15s ease,opacity .15s ease}.diagram-lightbox__content svg{width:100%;height:auto;display:block}.question-card{flex:1;display:flex;flex-direction:column;animation:slideInUp var(--transition-med) ease-out}.question-card__prompt{font-size:1.05rem;font-weight:500;line-height:1.55;margin-bottom:20px;color:var(--text-primary)}.question-card__meta{display:flex;align-items:center;gap:8px;margin-bottom:8px}.question-card__spec{font-size:.7rem;font-family:var(--font-mono);color:var(--text-dim)}.question-card__difficulty{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 7px;border-radius:4px}.question-card__difficulty--1{color:var(--accent-green);background:#48bb781f}.question-card__difficulty--2{color:var(--accent-gold);background:#f0b4291f}.question-card__difficulty--3{color:var(--accent-red);background:#fc5c651f}.options-list{display:flex;flex-direction:column;gap:10px}.option-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-card);border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.93rem;line-height:1.45;text-align:left;width:100%;transition:all var(--transition-fast);cursor:pointer}.option-btn:hover:not(.option-btn--answered){border-color:var(--border-accent);background:var(--bg-elevated)}.option-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.option-btn--selected{border-color:var(--accent-blue);background:#63b3ed14}.option-btn--correct{border-color:var(--accent-green);background:#48bb781a}.option-btn--wrong{border-color:var(--accent-red);background:#fc5c6514}.option-btn--answered{cursor:default}.option-btn__letter{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.8rem;font-weight:600;font-family:var(--font-mono);background:var(--bg-elevated);color:var(--text-secondary);flex-shrink:0;transition:all var(--transition-fast)}.option-btn--correct .option-btn__letter{background:var(--accent-green);color:var(--bg-deep)}.option-btn--wrong .option-btn__letter{background:var(--accent-red);color:var(--bg-deep)}.option-btn__text{flex:1}.option-btn__icon{font-size:1.1rem;flex-shrink:0}.option-btn__checkbox{width:22px;height:22px;border:2px solid var(--border-accent);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast);font-size:.75rem}.option-btn--selected .option-btn__checkbox{background:var(--accent-blue);border-color:var(--accent-blue)}.submit-btn{padding:14px 24px;background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));color:#fff;font-weight:600;font-size:.95rem;border-radius:var(--radius-md);transition:all var(--transition-fast);margin-top:16px;width:100%}.submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 15px #63b3ed4d}.submit-btn:disabled{opacity:.5;cursor:not-allowed}[data-theme=light] .submit-btn:disabled{opacity:.55}.submit-btn--next{background:linear-gradient(135deg,var(--accent-green),#38a169)}.calc-input-wrap{margin-top:8px}.calc-input-container{display:flex;align-items:center;background:var(--bg-card);border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);padding:0 14px 0 0;transition:border-color var(--transition-fast);max-width:320px}.calc-input-container:focus-within{border-color:var(--accent-blue)}.calc-input-container--correct{border-color:var(--accent-green);border-width:2px}.calc-input-container--wrong{border-color:var(--accent-red);border-style:dashed}.calc-input{flex:1;padding:12px 8px 12px 14px;background:none;border:none;font-family:var(--font-mono);font-size:1rem;color:var(--text-primary);min-width:0}.calc-input:focus{outline:none}.calc-input-unit{font-family:var(--font-mono);font-size:.85rem;color:var(--text-secondary);flex-shrink:0;white-space:nowrap;padding-left:6px;border-left:1px solid var(--border-subtle)}.calc-sf-wrap{display:flex;align-items:center;gap:10px;margin-top:8px}.calc-sf-container{display:flex;align-items:baseline;gap:2px;background:var(--bg-card);border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);padding:8px 12px;transition:border-color var(--transition-fast)}.calc-sf-container:focus-within{border-color:var(--accent-blue)}.calc-sf-container--correct{border-color:var(--accent-green);border-width:2px}.calc-sf-container--wrong{border-color:var(--accent-red);border-style:dashed}.calc-sf-coeff{width:72px;padding:4px 6px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:1rem;color:var(--text-primary);text-align:center}.calc-sf-coeff:focus{outline:none;border-color:var(--accent-blue)}.calc-sf-times{font-family:var(--font-mono);font-size:.95rem;color:var(--text-secondary);white-space:nowrap;padding:0 2px}.calc-sf-power{width:36px;padding:2px 4px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.8rem;color:var(--text-primary);text-align:center;position:relative;top:-8px}.calc-sf-power:focus{outline:none;border-color:var(--accent-blue)}.calc-sf-unit{font-family:var(--font-mono);font-size:.85rem;color:var(--text-secondary);white-space:nowrap}.fill-blank-sentence{font-size:1.05rem;line-height:1.7;margin-bottom:16px}.fill-blank-input{display:inline-block;width:140px;padding:4px 10px;background:var(--bg-card);border:1.5px solid var(--border-accent);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.95rem;color:var(--text-primary);text-align:center;vertical-align:baseline}.fill-blank-input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #63b3ed26}.fill-blank-input--correct{border-color:var(--accent-green)}.fill-blank-input--wrong{border-color:var(--accent-red)}.fill-blank-slot{display:inline-flex;align-items:center;justify-content:center;min-width:80px;padding:4px 12px;margin:0 4px;background:var(--bg-card);border-radius:8px;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:600;color:var(--text-primary);vertical-align:middle;min-height:32px;transition:border-color .16s ease,background .16s ease}.fill-blank-slot--empty{border:1.5px dashed var(--border-accent);color:var(--text-dim);background:transparent;cursor:default}.fill-blank-slot--filled{border:1.5px solid var(--accent-blue);background:var(--bg-card-hover, var(--bg-card));cursor:pointer}.fill-blank-slot--correct{border-color:var(--accent-green)!important;background:#48bb781a!important;color:var(--accent-green)!important}.fill-blank-slot--wrong{border-color:var(--accent-red)!important;background:#fc5c651a!important;color:var(--accent-red)!important}.fill-blank-slot__idx{font-family:var(--font-mono);font-size:.85rem;opacity:.7}.word-bank{display:flex;flex-wrap:wrap;gap:8px;padding:14px;margin:0 0 16px;background:#00000038;border:1px solid var(--border-subtle);border-radius:12px}.word-bank-item{display:inline-flex;align-items:center;padding:8px 16px;min-height:40px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:20px;font-family:Outfit,sans-serif;font-size:.92rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .12s ease}.word-bank-item:hover:not(:disabled){border-color:var(--accent-blue);background:var(--bg-card-hover, var(--bg-card));transform:translateY(-1px)}.word-bank-item:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.word-bank-item--used,.word-bank-item:disabled{opacity:.3;cursor:not-allowed;background:transparent;color:var(--text-muted, var(--text-dim));pointer-events:none}.word-bank-item__count{margin-left:8px;padding:1px 6px;border-radius:10px;background:#63b3ed2e;color:var(--accent-blue);font-size:.72rem;font-weight:700;font-family:var(--font-mono)}.ordering-list{display:flex;flex-direction:column;gap:8px;touch-action:none}.ordering-item{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bg-card);border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);transition:transform .18s ease,opacity .18s ease,border-color var(--transition-fast),background var(--transition-fast);user-select:none;cursor:grab}.ordering-item:active:not(.ordering-item--correct):not(.ordering-item--wrong){cursor:grabbing}.ordering-item:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.ordering-item--placeholder{opacity:.25;border-style:dashed;border-color:var(--accent-blue);background:transparent;cursor:grabbing}.ordering-ghost{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bg-card);border:2px solid var(--accent-blue);border-radius:var(--radius-md);box-shadow:0 8px 28px #00000040,0 0 0 1px #63b3ed26;transform:translate(-50%,-60%) scale(1.02);user-select:none}.ordering-ghost__rank{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-family:var(--font-mono);font-size:.8rem;font-weight:700;background:var(--accent-blue);color:#fff;flex-shrink:0}.ordering-ghost__text{flex:1;font-size:.9rem;font-weight:500;color:var(--text-primary)}.ordering-item__rank{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-family:var(--font-mono);font-size:.8rem;font-weight:600;background:var(--bg-elevated);color:var(--text-secondary);flex-shrink:0}.ordering-item__text{flex:1;font-size:.9rem}.ordering-item__controls{display:flex;gap:4px}.ordering-item__btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--bg-elevated);font-size:.85rem;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.ordering-item__btn:hover:not(:disabled){background:var(--accent-blue);color:#fff}.ordering-item__btn:active:not(:disabled){transform:scale(.92);background:var(--accent-blue);color:#fff}.ordering-item__btn:disabled{opacity:.5;cursor:default}.ordering-item--correct{border-color:var(--accent-green);position:relative;cursor:default}.ordering-item--correct:after{content:"✓";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:.85rem;font-weight:700;color:var(--accent-green)}.ordering-item--wrong{border-color:var(--accent-red);border-style:dashed;position:relative;cursor:default}.ordering-item--wrong:after{content:"✗";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:.85rem;font-weight:700;color:var(--accent-red)}[data-theme=light] .ordering-ghost{box-shadow:0 8px 28px #0000001a,0 0 0 1px #4285f433}.matching-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.matching-item{padding:12px;background:var(--bg-card);border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.88rem;text-align:center;cursor:pointer;transition:all var(--transition-fast);min-height:50px;display:flex;align-items:center;justify-content:center}.matching-item:hover:not(.matching-item--matched):not(.matching-item--answered){border-color:var(--border-accent)}@keyframes matchPulse{0%,to{box-shadow:0 0 0 3px #63b3ed4d}50%{box-shadow:0 0 0 5px #63b3ed26}}.matching-item--selected{border-color:var(--accent-blue);background:#63b3ed26;animation:matchPulse 1.5s ease infinite}.matching-column-header{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);text-align:center;padding:8px 0}.category-sort{display:flex;flex-direction:column;gap:12px}.category-sort__items{display:flex;flex-wrap:wrap;gap:8px;min-height:48px;padding:12px;background:var(--bg-elevated);border-radius:var(--radius-md);border:1px dashed var(--border-subtle)}.category-sort__item{padding:8px 14px;background:var(--bg-card);border:1.5px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer;transition:all var(--transition-fast);user-select:none}.category-sort__item:hover{border-color:var(--border-accent)}.category-sort__item--placed{border-color:var(--accent-blue);background:#63b3ed14}.category-sort__item--dragging{opacity:.5;border-color:var(--accent-blue);transform:scale(.95)}.category-sort__item--correct{border-color:var(--accent-green)}.category-sort__item--correct:after{content:" ✓";font-weight:700;color:var(--accent-green)}.category-sort__item--wrong{border-color:var(--accent-red);border-style:dashed}.category-sort__item--wrong:after{content:" ✗";font-weight:700;color:var(--accent-red)}.category-sort__bucket{position:relative;padding:20px 16px;background:var(--bg-card);border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);transition:border-color var(--transition-fast),background var(--transition-fast);cursor:pointer}.category-sort__bucket--drag-over{border-color:var(--accent-blue);background:#63b3ed0f}.category-sort__bucket--active-target{border-style:dashed;border-color:var(--accent-blue);background:#63b3ed0d}.category-sort__bucket-hint{position:absolute;bottom:6px;right:10px;font-size:.7rem;color:var(--accent-blue);font-style:italic;opacity:.75;pointer-events:none}.category-sort__items--drag-over{border-color:var(--accent-blue);background:#63b3ed0f}.category-sort__placeholder{font-size:.78rem;color:var(--text-dim);font-style:italic;padding:4px}.category-sort__bucket-header{font-size:.85rem;font-weight:600;margin-bottom:8px;color:var(--accent-blue)}.category-sort__bucket-items{display:flex;flex-wrap:wrap;gap:6px;min-height:36px}.reset-btn{display:block;margin:10px auto 0;padding:6px 14px;background:none;border:none;color:var(--text-dim);font-size:.78rem;cursor:pointer;transition:color var(--transition-fast)}.reset-btn:hover{color:var(--text-secondary)}.feedback-panel{margin-top:16px;padding:16px;border-radius:var(--radius-md);animation:fadeInUp .3s ease-out}.feedback-panel--correct{background:#48bb781a;border:1px solid rgba(72,187,120,.3);border-left:3px solid var(--accent-green)}.feedback-panel--wrong{background:#fc5c6514;border:1px solid rgba(252,92,101,.25);border-left:3px solid var(--accent-red)}.feedback-panel__header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:600;font-size:.95rem}.feedback-panel__badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.85rem;font-weight:700;flex-shrink:0}.feedback-panel__badge--correct{background:var(--accent-green);color:#fff}.feedback-panel__badge--wrong{background:var(--accent-red);color:#fff}.feedback-panel__header--correct{color:var(--accent-green)}.feedback-panel__header--wrong{color:var(--accent-red)}.feedback-panel__body{font-size:.88rem;line-height:1.6;color:var(--text-secondary)}.feedback-panel__score{margin:0 0 8px;font-size:.92rem;color:var(--text-primary)}.feedback-panel__score strong{color:var(--accent-green);font-weight:700}.feedback-panel__partial{margin:0 0 12px;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.feedback-panel__partial-item{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:6px 10px;border-radius:var(--radius-sm);font-size:.85rem;line-height:1.4}.feedback-panel__partial-item--correct{background:#48bb7814;border:1px solid rgba(72,187,120,.2)}.feedback-panel__partial-item--wrong{background:#fc5c6514;border:1px solid rgba(252,92,101,.2)}.feedback-panel__partial-icon{font-weight:700;margin-right:4px}.feedback-panel__partial-item--correct .feedback-panel__partial-icon{color:var(--accent-green)}.feedback-panel__partial-item--wrong .feedback-panel__partial-icon{color:var(--accent-red)}.feedback-panel__partial-label{font-weight:600;color:var(--text-primary)}.feedback-panel__partial-given{color:var(--text-primary)}.feedback-panel__partial-given--wrong{text-decoration:line-through;color:var(--text-dim)}.feedback-panel__partial-expected{color:var(--accent-green);font-weight:600}.feedback-panel__working{margin-top:10px;padding:10px 12px;background:var(--working-bg);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.82rem;line-height:1.7;white-space:pre-wrap;color:var(--text-secondary)}.feedback-panel__correct-answer{margin-top:8px;font-weight:500;color:var(--accent-green)}.results{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 0;animation:fadeInUp .5s ease-out}.results__emoji{font-size:3rem;margin-bottom:12px}.results__title{font-size:1.4rem;font-weight:700;margin-bottom:4px}.results__subtitle{font-size:.9rem;color:var(--text-secondary);margin-bottom:24px}.results__stars{display:flex;gap:8px;margin-bottom:24px}.results__star{font-size:2.2rem;opacity:.2;transition:all .4s ease}.results__star--filled{opacity:1;filter:drop-shadow(0 0 6px rgba(240,180,41,.5))}.results__star--filled:nth-child(1){animation:starPop .4s .2s ease-out both}.results__star--filled:nth-child(2){animation:starPop .4s .5s ease-out both}.results__star--filled:nth-child(3){animation:starPop .4s .8s ease-out both}.results__stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;margin-bottom:24px}.results__stat{padding:14px;background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.results__stat-value{font-family:var(--font-mono);font-size:1.3rem;font-weight:700;color:var(--accent-gold)}.results__stat-label{font-size:.75rem;color:var(--text-dim);margin-top:2px}.results__xp-gain{font-family:var(--font-mono);font-size:1.1rem;font-weight:600;color:var(--accent-gold);margin-bottom:24px;animation:fadeInUp .4s 1s ease-out both}.results__type-breakdown{font-size:.8rem;color:var(--text-dim);line-height:1.5;margin-bottom:20px;text-align:center}.results__type-strong{color:var(--accent-green);font-weight:600}.results__type-weak{color:var(--accent-red);font-weight:600}.results__actions{display:flex;flex-direction:column;gap:10px;width:100%}.results__btn{padding:14px 24px;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;transition:all var(--transition-fast);width:100%}.results__btn--primary{background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));color:#fff}.results__btn--secondary{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-primary)}.results__btn:hover{transform:translateY(-1px)}.results__review{width:100%;text-align:left;margin-bottom:16px;animation:fadeInUp .3s ease-out}.results__review-title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin-bottom:12px}.results__review-scroll{max-height:40vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.results__review-card{padding:14px;background:var(--bg-card);border:1px solid rgba(252,92,101,.2);border-radius:var(--radius-md);margin-bottom:10px}.results__review-card--correct{border-color:#48bb7833}.results__review-question{font-size:.9rem;font-weight:500;margin-bottom:8px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.results__review-answer{display:flex;align-items:flex-start;gap:6px;font-size:.82rem;line-height:1.5;margin-bottom:4px}.results__review-answer--wrong{color:var(--accent-red)}.results__review-answer--correct{color:var(--accent-green)}.results__review-icon{flex-shrink:0;font-weight:700;width:16px;text-align:center}.results__review-feedback{font-size:.82rem;color:var(--text-secondary);line-height:1.55;margin-top:6px;padding-top:6px;border-top:1px solid var(--border-subtle)}.results__review-accordion{display:flex;align-items:center;width:100%;padding:10px 0;background:none;border:none;color:var(--text-dim);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:color var(--transition-fast)}.results__review-accordion:hover{color:var(--text-secondary)}.results__perfect-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;margin-bottom:16px;background:linear-gradient(135deg,#f5a6231f,#f0b42914);border:1px solid rgba(245,166,35,.3);border-radius:20px;font-size:.82rem;font-weight:600;color:var(--accent-gold);animation:fadeInUp .4s .3s ease-out both}.results__mastery-progress{width:100%;text-align:center;margin-bottom:20px;animation:fadeInUp .4s .6s ease-out both}.results__mastery-label{display:block;font-size:.82rem;color:var(--text-secondary);margin-bottom:8px}.results__mastery-label--done{color:var(--accent-green);font-weight:600}.results__mastery-bar{width:100%;height:8px;background:var(--bg-elevated);border-radius:4px;overflow:hidden;margin-bottom:6px}.results__mastery-fill{height:100%;background:linear-gradient(90deg,var(--accent-blue),var(--accent-green));border-radius:4px;transition:width .6s ease}.results__mastery-target{font-size:.72rem;color:var(--text-dim)}.results__star-tooltip{position:relative;width:100%;padding:12px 16px;margin-bottom:16px;background:linear-gradient(135deg,#63b3ed14,#9f7aea14);border:1px solid rgba(99,179,237,.2);border-radius:var(--radius-md);font-size:.8rem;color:var(--text-secondary);line-height:1.5;text-align:left}.results__star-tooltip p{margin:0;padding-right:24px}.results__star-tooltip-close{position:absolute;top:8px;right:8px;background:none;border:none;font-size:.9rem;color:var(--text-dim);cursor:pointer;padding:2px 6px;line-height:1}.welcome-overlay{position:fixed;inset:0;background:var(--overlay-bg);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .4s ease-out}.welcome-content{max-width:380px;padding:32px 24px;text-align:center;animation:fadeInUp .5s .2s ease-out both}.welcome-content__emoji{font-size:3rem;margin-bottom:16px}.welcome-content__title{font-size:1.5rem;font-weight:700;margin-bottom:8px;background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-content__text{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin-bottom:24px}.welcome-content__features{display:flex;flex-direction:column;gap:10px;margin-bottom:28px;text-align:left}.welcome-content__feature{display:flex;align-items:center;gap:10px;font-size:.88rem;color:var(--text-secondary)}.welcome-content__feature-icon{font-size:1.2rem}.settings-overlay{position:fixed;inset:0;background:var(--overlay-bg);backdrop-filter:blur(8px);display:flex;align-items:flex-start;justify-content:center;padding-top:60px;z-index:1000;animation:fadeIn .2s ease-out}.settings-panel{width:100%;max-width:var(--max-width);background:var(--bg-card);border-radius:0 0 var(--radius-xl) var(--radius-xl);padding:24px;animation:slideDownFromTop .3s ease-out;max-height:calc(100dvh - 76px);overflow-y:auto}@keyframes slideDownFromTop{0%{transform:translateY(-100%);opacity:.6}to{transform:translateY(0);opacity:1}}.settings-panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.settings-panel__title{font-size:1.1rem;font-weight:700}.settings-panel__close{font-size:1.3rem;padding:4px 8px;border-radius:var(--radius-sm)}.settings-section{margin-bottom:20px}.settings-section__title{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin-bottom:10px}.settings-btn{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bg-elevated);border-radius:var(--radius-md);width:100%;font-size:.9rem;color:var(--text-primary);transition:all var(--transition-fast);margin-bottom:8px}.settings-btn:hover{background:var(--bg-card);border-color:var(--border-accent)}.settings-btn--danger{color:var(--accent-red)}.settings-stat{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border-subtle);font-size:.88rem}.settings-stat__value{font-family:var(--font-mono);font-weight:600;color:var(--accent-gold)}.starfield{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.starfield__star{position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;animation:twinkle var(--duration) var(--delay) infinite ease-in-out}.debug-panel{position:fixed;bottom:0;left:0;right:0;background:var(--debug-bg);padding:8px 12px;font-family:var(--font-mono);font-size:.7rem;color:var(--accent-green);z-index:9999;max-height:150px;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes starPop{0%{opacity:.2;transform:scale(.5)}60%{transform:scale(1.3)}to{opacity:1;transform:scale(1)}}@keyframes twinkle{0%,to{opacity:var(--min-opacity, .2)}50%{opacity:var(--max-opacity, .8)}}@keyframes pulseGreen{0%{box-shadow:0 0 #48bb7866}70%{box-shadow:0 0 0 10px #48bb7800}to{box-shadow:0 0 #48bb7800}}@keyframes xpFloat{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-30px)}}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--bg-elevated);border:1px solid var(--border-accent);color:var(--text-primary);padding:10px 20px;border-radius:var(--radius-md);font-size:.85rem;font-weight:500;box-shadow:var(--shadow-card);z-index:3000;animation:toastIn .25s ease-out,fadeOut .3s ease-in 2.2s forwards;white-space:nowrap;max-width:calc(100vw - 32px)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}@keyframes fadeOut{to{opacity:0}}@media(max-width:420px){.app-container{padding:0 10px}.navbar{padding:10px}.navbar-title{font-size:.95rem}.navbar-stat .stat-value{font-size:.78rem}.topic-card{gap:10px;padding:12px}.topic-card__icon{font-size:1.3rem;width:32px}.topic-card__title{font-size:.85rem}.topic-card__subtitle{font-size:.72rem}.topic-card__progress{min-width:56px;gap:5px}.topic-card__progress-bar{width:28px}.topic-card__progress-text{font-size:.65rem}.topic-card__badge{font-size:.6rem;padding:2px 6px;letter-spacing:.5px}.level-card{gap:10px;padding:12px}.level-card__icon{font-size:1.2rem;width:36px;height:36px}.level-card__name{font-size:.85rem}.level-card__subtitle{font-size:.72rem}.review-card,.mixed-card,.mastery-card,.explore-card{gap:10px;padding:12px}.review-card__icon,.mixed-card__icon,.mastery-card__icon,.explore-card__icon{width:36px;height:36px;font-size:1.3rem}.review-card__title,.mixed-card__title,.explore-card__title{font-size:.85rem}.review-card__subtitle,.mixed-card__subtitle,.explore-card__subtitle{font-size:.72rem}.paper-heading{font-size:.72rem;letter-spacing:1px}.navbar-stats{gap:10px}.question-card__prompt{font-size:.92rem;margin-bottom:14px}.results__emoji{font-size:2.5rem}.results__title{font-size:1.2rem}}@media(max-width:340px){.topic-card{gap:8px;padding:10px}.topic-card__icon{font-size:1.1rem;width:28px}.topic-card__title{font-size:.8rem}.topic-card__progress{min-width:auto}.topic-card__progress-bar{width:24px}.navbar-stats{gap:6px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.starfield{display:none}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.confirm-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease-out}.confirm-dialog{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px;max-width:320px;width:90%;text-align:center}.confirm-dialog__title{font-size:1.05rem;font-weight:600;margin-bottom:8px}.confirm-dialog__text{font-size:.88rem;color:var(--text-secondary);margin-bottom:20px;line-height:1.5}.confirm-dialog__actions{display:flex;gap:10px}.confirm-dialog__btn{flex:1;padding:10px;border-radius:var(--radius-sm);font-weight:600;font-size:.88rem;transition:all var(--transition-fast)}.confirm-dialog__btn--cancel{background:var(--bg-elevated)}.confirm-dialog__btn--confirm{background:var(--accent-red);color:#fff}.settings-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;cursor:pointer}.settings-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-blue);cursor:pointer}.settings-toggle__label{font-size:.9rem;color:var(--text-primary);font-weight:500}.settings-toggle__hint{width:100%;font-size:.78rem;color:var(--text-dim);line-height:1.5;padding-left:28px}.calc-toolbar{display:flex;gap:8px;margin:10px auto 0;max-width:440px}.calc-toolbar__btn{flex:1;padding:8px 14px;background:#63b3ed14;border:1px solid var(--border-accent);border-radius:var(--radius-sm);color:var(--accent-blue);font-size:.82rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-align:center;white-space:nowrap}.calc-toolbar__btn:hover{background:#63b3ed2e;border-color:var(--accent-blue)}.calc-toolbar__btn:active{transform:scale(.97);background:#63b3ed40}.calc-toolbar__btn--active{background:#63b3ed2e;border-color:var(--accent-blue)}.calculator-panel{margin:12px auto 0;width:390px;max-width:100%;animation:fadeIn .2s ease-out}.calculator{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px;user-select:none}.calc-display{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:10px;min-height:56px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;overflow:hidden}.calc-display__expr{font-family:var(--font-mono);font-size:.75rem;color:var(--text-dim);word-break:break-all;text-align:right;width:100%;min-height:1.2em}.calc-display__result{font-family:var(--font-mono);font-size:1.3rem;font-weight:600;color:var(--text-primary);text-align:right;width:100%;word-break:break-all}.calc-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.calc-buttons--sci{margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--border-subtle)}.calc-btn{padding:12px 4px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:1.25rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);min-height:48px;display:flex;align-items:center;justify-content:center}.calc-btn:hover{background:var(--bg-elevated);border-color:var(--border-accent)}.calc-btn:active{transform:scale(.95)}.calc-btn--op{background:#63b3ed14;color:var(--accent-blue);font-weight:600}.calc-btn--op:hover{background:#63b3ed2e}.calc-btn--fn{background:var(--bg-elevated);color:var(--text-secondary);font-size:1.05rem}.calc-btn--sci{background:#9f7aea14;color:var(--accent-purple);font-size:1.05rem}.calc-btn--sci:hover{background:#9f7aea2e}.calc-btn--equals{background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));color:#fff;font-weight:700;border-color:transparent}.calc-btn--equals:hover{transform:translateY(-1px);box-shadow:0 2px 8px #63b3ed4d}.equation-sheet{margin:12px auto 0;max-width:440px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:16px;max-height:300px;overflow-y:auto;animation:fadeIn .2s ease-out}.equation-sheet__section{margin-bottom:14px}.equation-sheet__section:last-child{margin-bottom:0}.equation-sheet__heading{font-size:.78rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--border-subtle)}.equation-sheet__row{display:flex;justify-content:space-between;align-items:baseline;padding:4px 0;gap:12px}.equation-sheet__row--ht{font-weight:600}.equation-sheet__formula{font-family:JetBrains Mono,monospace;font-size:.82rem;color:var(--accent-blue);white-space:nowrap}.equation-sheet__name{font-size:.75rem;color:var(--text-dim);text-align:right}.equation-sheet__ht-badge{display:inline-block;margin-left:4px;padding:1px 4px;border-radius:3px;background:#ed893633;color:#ed8936;font-size:.65rem;font-weight:700;vertical-align:middle}.review-card{display:flex;align-items:center;gap:14px;padding:16px;background:linear-gradient(135deg,#63b3ed14,#9f7aea14);border:1.5px solid var(--border-accent);border-radius:var(--radius-md);cursor:pointer;width:100%;text-align:left;transition:all var(--transition-fast);margin-bottom:20px}.review-card:hover{border-color:var(--accent-blue);box-shadow:var(--shadow-glow-blue);transform:translateY(-1px)}.review-card:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.review-card__icon{font-size:1.6rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border-radius:var(--radius-md);flex-shrink:0}.review-card__info{flex:1}.review-card__title{font-size:.95rem;font-weight:600;color:var(--accent-blue);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.review-card__due-badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:.7rem;font-weight:700;letter-spacing:.02em;color:#1a1a1a;background:var(--accent-gold);border-radius:999px;text-transform:uppercase}.review-card--has-due{border-color:var(--accent-gold);background:linear-gradient(135deg,#f59e0b14,#63b3ed14)}.review-card--has-due:hover{border-color:var(--accent-gold);box-shadow:0 0 0 2px #f59e0b40}.review-card__subtitle{font-size:.78rem;color:var(--text-dim);margin-top:2px}.review-card__arrow{color:var(--accent-blue);font-size:1.1rem;flex-shrink:0}.review-empty{text-align:center;padding:48px 24px}.review-empty__icon{font-size:2.5rem;margin-bottom:16px}.review-empty__title{font-size:1.1rem;font-weight:600;margin-bottom:8px}.review-empty__text{font-size:.88rem;color:var(--text-secondary);line-height:1.6;margin-bottom:24px}.mastery-card{display:flex;align-items:center;gap:14px;padding:16px;background:linear-gradient(135deg,#48bb7814,#63b3ed0f);border:1.5px solid rgba(72,187,120,.25);border-radius:var(--radius-md);cursor:pointer;width:100%;text-align:left;transition:all var(--transition-fast);margin-bottom:12px}.mastery-card:hover{border-color:var(--accent-green);box-shadow:0 0 20px #48bb7826;transform:translateY(-1px)}.mastery-card:focus-visible{outline:2px solid var(--accent-green);outline-offset:2px}.mastery-card__icon{font-size:1.6rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border-radius:var(--radius-md);flex-shrink:0}.mastery-card__info{flex:1}.mastery-card__title{font-size:.95rem;font-weight:600;color:var(--accent-green)}.mastery-card__subtitle{font-size:.78rem;color:var(--text-dim);margin-top:2px}.mastery-card__arrow{color:var(--accent-green);font-size:1.1rem;flex-shrink:0}.spec-mastery{padding-bottom:32px}.spec-mastery__header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.spec-mastery__title{font-size:1.15rem;font-weight:700}.spec-mastery__subtitle{font-size:.8rem;color:var(--text-dim)}.spec-mastery__legend{display:flex;flex-wrap:wrap;gap:6px 14px;padding:10px 14px;margin-bottom:18px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);position:sticky;top:0;z-index:5}.spec-mastery__legend-item{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;white-space:nowrap}.spec-mastery__legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.spec-mastery__legend-dot--mastered{background:var(--accent-gold)}.spec-mastery__legend-dot--secure{background:var(--accent-green)}.spec-mastery__legend-dot--developing{background:var(--accent-blue)}.spec-mastery__legend-dot--weak{background:var(--accent-red)}.spec-mastery__legend-dot--not-started{background:var(--text-dim);opacity:.5}.spec-mastery__legend-label{color:var(--text-secondary)}.spec-mastery__legend-count{font-family:var(--font-mono);font-size:.72rem;font-weight:600;color:var(--text-dim)}.spec-mastery__topic{margin-bottom:20px}.spec-mastery__topic-title{font-size:.85rem;font-weight:600;margin-bottom:10px;color:var(--text-secondary)}.spec-mastery__grid{display:flex;flex-wrap:wrap;gap:6px}.spec-mastery__chip{display:flex;flex-direction:column;align-items:center;padding:8px 10px;border-radius:var(--radius-sm);border:1.5px solid var(--border-subtle);background:var(--bg-card);min-width:56px;transition:all var(--transition-fast)}.spec-mastery__chip--mastered{border-color:#f0b42966;background:#f0b42914}.spec-mastery__chip--secure{border-color:#48bb7866;background:#48bb7814}.spec-mastery__chip--developing{border-color:#63b3ed4d;background:#63b3ed0f}.spec-mastery__chip--weak{border-color:#fc5c6559;background:#fc5c6514}.spec-mastery__chip--not-started{opacity:.45}[data-theme=light] .spec-mastery__chip--not-started{opacity:.6}.spec-mastery__chip-point{font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:var(--text-primary)}.spec-mastery__chip-pct{font-family:var(--font-mono);font-size:.65rem;color:var(--text-dim);margin-top:2px}.spec-mastery__chip--clickable{cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.spec-mastery__chip--clickable:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0003}.spec-mastery__chip--clickable:active{transform:translateY(0)}.spec-practice-modal__overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}.spec-practice-modal{background:var(--bg-card);border:1.5px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px;max-width:340px;width:100%;animation:slideUp .25s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.spec-practice-modal__header{margin-bottom:16px;text-align:center}.spec-practice-modal__stats{display:flex;justify-content:center;gap:20px;margin-bottom:16px}.spec-practice-modal__stat{text-align:center}.spec-practice-modal__stat-value{display:block;font-size:1.15rem;font-weight:700;color:var(--text-primary)}.spec-practice-modal__stat-label{font-size:.72rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.spec-practice-modal__desc{text-align:center;font-size:.85rem;color:var(--text-secondary);margin-bottom:20px;line-height:1.5}.spec-practice-modal__actions{display:flex;gap:10px}.spec-practice-modal__btn{flex:1;padding:12px;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;cursor:pointer;transition:all var(--transition-fast);border:none}.spec-practice-modal__btn--cancel{background:var(--bg-elevated);color:var(--text-secondary)}.spec-practice-modal__btn--cancel:hover{background:var(--bg-card)}.spec-practice-modal__btn--start{background:var(--accent-blue);color:#fff}.spec-practice-modal__btn--start:hover{filter:brightness(1.1)}.spec-practice-results{text-align:center;padding:2rem 1rem}.spec-practice-results__header{margin-bottom:24px}.spec-practice-results__title{font-size:1.1rem;font-weight:700;margin:0 0 4px;color:var(--text-primary)}.spec-practice-results__subtitle{font-size:.8rem;color:var(--text-dim);margin:0}.spec-practice-results__percent{display:block;font-size:3rem;font-weight:800;color:var(--accent-blue)}.spec-practice-results__fraction{display:block;font-size:.85rem;color:var(--text-dim);margin-bottom:16px}.spec-practice-results__bar{width:100%;max-width:280px;height:8px;margin:0 auto 24px;background:var(--bg-elevated);border-radius:4px;overflow:hidden}.spec-practice-results__bar-fill{height:100%;background:var(--accent-blue);border-radius:4px}.spec-practice-results__review{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:28px}.spec-practice-results__review-item{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.65rem;font-weight:600}.spec-practice-results__review-item--correct{background:#48bb7826;color:var(--accent-green)}.spec-practice-results__review-item--wrong{background:#f5656526;color:var(--accent-red)}.spec-practice-results__review-num{font-size:.6rem;opacity:.7}.spec-practice-results__review-icon{font-size:.85rem}.spec-practice-results__btn{padding:14px 32px;background:var(--accent-blue);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;cursor:pointer;transition:all var(--transition-fast)}.spec-practice-results__btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.hint-btn{display:inline-block;padding:6px 12px;background:none;border:none;color:var(--text-dim);font-size:.8rem;font-weight:500;cursor:pointer;transition:color var(--transition-fast);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}.hint-btn:hover{color:var(--accent-gold);text-decoration-color:var(--accent-gold)}.hint-panel{display:flex;align-items:flex-start;gap:8px;padding:12px 14px;background:#f0b4290f;border:1px solid rgba(240,180,41,.2);border-radius:var(--radius-md);margin-top:10px;animation:fadeInUp .2s ease-out}.hint-panel__icon{flex-shrink:0;font-size:1rem}.hint-panel__body{display:flex;flex-direction:column;gap:6px}.hint-panel__text{font-size:.85rem;line-height:1.5;color:var(--text-secondary)}.hint-used-badge{display:inline-flex;align-items:center;font-size:.72rem;font-weight:600;color:var(--accent-gold);opacity:.8}.hint-confirm{position:absolute;left:50%;transform:translate(-50%);bottom:calc(100% + 6px);z-index:20;width:max-content;max-width:280px;padding:12px 14px;background:var(--bg-card);border:1px solid rgba(240,180,41,.3);border-radius:var(--radius-md);box-shadow:0 4px 20px #00000040;animation:hintConfirmIn .15s ease-out}@keyframes hintConfirmIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.hint-confirm__text{font-size:.82rem;line-height:1.45;color:var(--text-secondary);margin:0 0 10px;text-align:center}.hint-confirm__actions{display:flex;gap:8px;justify-content:center}.hint-confirm__btn{padding:6px 16px;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.hint-confirm__btn--cancel{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-subtle)}.hint-confirm__btn--cancel:hover{background:var(--bg-card)}.hint-confirm__btn--confirm{background:#f0b42926;color:var(--accent-gold);border:1px solid rgba(240,180,41,.3)}.hint-confirm__btn--confirm:hover{background:#f0b42940}.tier-selector{display:flex;flex-direction:column;gap:8px}.tier-option{display:flex;flex-direction:column;gap:2px;padding:12px 14px;background:var(--bg-elevated);border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:left}.tier-option:hover{border-color:var(--border-accent)}.tier-option--active{border-color:var(--accent-blue);background:#63b3ed14}[data-theme=light] .tier-option--active{background:#2b6cb014}.tier-option__label{font-size:.88rem;font-weight:600}.tier-option__desc{font-size:.7rem;color:var(--text-dim)}.topic-card--subject-only{opacity:.55}.topic-card__subject-badge{display:inline-block;margin-left:6px;padding:1px 6px;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;background:#9f7aea26;color:#9f7aea;border-radius:4px;vertical-align:middle}.level-card--subject-only{opacity:.55}.level-card__subject-badge{display:inline-block;margin-left:6px;padding:1px 5px;font-size:.6rem;font-weight:700;background:#9f7aea33;color:#9f7aea;border-radius:4px;vertical-align:middle}.subject-only-banner{padding:10px 14px;margin-bottom:12px;background:#9f7aea1a;border:1px solid rgba(159,122,234,.25);border-radius:var(--radius-md);font-size:.8rem;color:#9f7aea;line-height:1.4}[data-theme=light] .subject-only-banner{background:#805ad514;border-color:#805ad533;color:#6b46c1}[data-theme=light] .topic-card__subject-badge,[data-theme=light] .level-card__subject-badge{background:#805ad51f;color:#6b46c1}.theme-selector{display:flex;gap:8px}.theme-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:var(--bg-elevated);border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.theme-option:hover{border-color:var(--border-accent)}.theme-option--active{border-color:var(--accent-blue);background:#63b3ed14}[data-theme=light] .theme-option--active{background:#2b6cb014}.theme-option__label{font-size:.88rem;font-weight:600}.theme-option__desc{font-size:.7rem;color:var(--text-dim)}.settings-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:8px;cursor:pointer;padding:10px 0}.settings-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-blue);cursor:pointer;flex-shrink:0}.settings-toggle__label{font-size:.88rem;font-weight:500}.settings-toggle__hint{width:100%;font-size:.75rem;color:var(--text-dim);line-height:1.4;padding-left:26px}.debug-review-card{display:flex;align-items:center;gap:14px;padding:16px;background:linear-gradient(135deg,#fc5c650f,#f0b4290f);border:1.5px solid rgba(252,92,101,.2);border-radius:var(--radius-md);cursor:pointer;width:100%;text-align:left;transition:all var(--transition-fast);margin-bottom:12px}.debug-review-card:hover{border-color:var(--accent-red);transform:translateY(-1px)}.debug-review-card__icon{font-size:1.6rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border-radius:var(--radius-md);flex-shrink:0}.debug-review-card__info{flex:1}.debug-review-card__title{font-size:.95rem;font-weight:600;color:var(--accent-red)}.debug-review-card__subtitle{font-size:.78rem;color:var(--text-dim);margin-top:2px}.debug-review-card__arrow{color:var(--accent-red);font-size:1.1rem;flex-shrink:0}.debug-review{padding-bottom:32px}.debug-review__header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.debug-review__title{font-size:1.15rem;font-weight:700}.debug-review__subtitle{font-size:.8rem;color:var(--text-dim)}.debug-review__list{display:flex;flex-direction:column;gap:6px}.debug-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;width:100%;text-align:left;transition:all var(--transition-fast)}.debug-card:hover{border-color:var(--border-accent);transform:translateY(-1px)}.debug-card--diagrams{border-color:#9f7aea40;background:linear-gradient(135deg,#9f7aea0f,#63b3ed0a);margin-bottom:16px}.debug-card--diagrams:hover{border-color:var(--accent-purple)}.debug-card__icon{font-size:1.3rem;flex-shrink:0}.debug-card__info{flex:1}.debug-card__title{font-size:.9rem;font-weight:600}.debug-card__subtitle{font-size:.75rem;color:var(--text-dim);margin-top:2px}.debug-card__arrow{color:var(--text-dim);font-size:1rem;flex-shrink:0}.debug-topic{padding-bottom:32px}.debug-topic__header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.debug-topic__title{font-size:1.05rem;font-weight:700}.debug-topic__subtitle{font-size:.78rem;color:var(--text-dim)}.debug-topic__count{font-size:.78rem;color:var(--text-dim);margin-bottom:12px}.debug-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.debug-filters__search{flex:1;min-width:160px;padding:8px 12px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-primary)}.debug-filters__search:focus{outline:none;border-color:var(--accent-blue)}.debug-filters__type{padding:8px 10px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.82rem;color:var(--text-primary)}.debug-filters__actions{display:flex;gap:6px}.debug-filters__btn{padding:6px 10px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.75rem;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.debug-filters__btn:hover{border-color:var(--border-accent);color:var(--text-primary)}.debug-question-list{display:flex;flex-direction:column;gap:4px}.debug-q{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden}.debug-q__header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-card);width:100%;text-align:left;cursor:pointer;transition:background var(--transition-fast);flex-wrap:nowrap;min-height:44px}.debug-q__header:hover{background:var(--bg-elevated)}.debug-q__id{font-family:var(--font-mono);font-size:.72rem;font-weight:700;color:var(--accent-gold);background:#f0b4291a;padding:2px 6px;border-radius:4px;flex-shrink:0;min-width:36px;text-align:center}.debug-q__type{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:4px;flex-shrink:0;background:#63b3ed1a;color:var(--accent-blue)}.debug-q__type--calc{background:#9f7aea1a;color:var(--accent-purple)}.debug-q__type--tf{background:#48bb781a;color:var(--accent-green)}.debug-q__type--ordering{background:#f0b4291a;color:var(--accent-gold)}.debug-q__type--matching{background:#fc5c651a;color:var(--accent-red)}.debug-q__type--multi_select{background:#63b3ed1a;color:var(--accent-blue)}.debug-q__type--category_sort{background:#9f7aea1a;color:var(--accent-purple)}.debug-q__type--fill_blank{background:#48bb781a;color:var(--accent-green)}.debug-q__diff{font-family:var(--font-mono);font-size:.65rem;font-weight:600;padding:2px 5px;border-radius:4px;flex-shrink:0}.debug-q__diff--1{color:var(--accent-green);background:#48bb781a}.debug-q__diff--2{color:var(--accent-gold);background:#f0b4291a}.debug-q__diff--3{color:var(--accent-red);background:#fc5c651a}.debug-q__spec{font-family:var(--font-mono);font-size:.7rem;color:var(--text-dim);flex-shrink:0}.debug-q__preview{font-size:.8rem;color:var(--text-secondary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debug-q__chevron{font-size:.8rem;color:var(--text-dim);flex-shrink:0}.debug-q__detail{padding:12px;background:var(--bg-elevated);border-top:1px solid var(--border-subtle)}.debug-q__meta-row{display:flex;flex-wrap:wrap;gap:12px;font-size:.75rem;color:var(--text-dim);margin-bottom:12px;font-family:var(--font-mono)}.debug-q__field{margin-bottom:10px}.debug-q__label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim);margin-bottom:4px}.debug-q__value{font-size:.85rem;line-height:1.55;color:var(--text-primary)}.debug-q__correct{color:var(--accent-green);font-weight:500}.debug-q__feedback{color:var(--text-secondary);font-size:.82rem}.debug-q__working{font-family:var(--font-mono);font-size:.78rem;line-height:1.6;color:var(--text-secondary);background:var(--working-bg);padding:10px 12px;border-radius:var(--radius-sm);white-space:pre-wrap;margin:0}.debug-diagrams{padding-bottom:32px}.debug-diagrams__header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.debug-diagrams__title{font-size:1.15rem;font-weight:700}.debug-diagrams__subtitle{font-size:.8rem;color:var(--text-dim)}.debug-diagrams__list{display:flex;flex-direction:column;gap:16px}.debug-diagram-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.debug-diagram-card__header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--bg-card);border-bottom:1px solid var(--border-subtle)}.debug-diagram-card__label{font-size:.88rem;font-weight:600}.debug-diagram-card__name{font-family:var(--font-mono);font-size:.7rem;color:var(--text-dim);background:var(--bg-elevated);padding:2px 8px;border-radius:4px}[data-theme=light] .starfield{display:none}[data-theme=light] .option-btn--correct{background:#2f855a1a}[data-theme=light] .option-btn--wrong{background:#e53e3e14}[data-theme=light] .feedback-panel--correct{background:#2f855a14;border-color:#2f855a59;border-left:3px solid var(--accent-green)}[data-theme=light] .feedback-panel--wrong{background:#e53e3e0f;border-color:#e53e3e4d;border-left:3px solid var(--accent-red)}[data-theme=light] ::-webkit-scrollbar-thumb{background:#c4c9d4}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#a0a8b8}[data-theme=light] .navbar-offline{background:#d4960a1f;color:#b07d04}[data-theme=light] .debug-panel{color:var(--accent-green)}[data-theme=light] .calc-btn--op{background:#2b6cb014}[data-theme=light] .calc-btn--sci{background:#6b46c114}.achievement-toast{position:fixed;top:1rem;left:50%;transform:translate(-50%) translateY(-120%);z-index:9999;display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:var(--bg-elevated);border:1px solid var(--accent-gold, #f5a623);border-radius:12px;box-shadow:0 8px 32px #0000004d,0 0 0 1px #f5a62333;transition:transform .4s cubic-bezier(.34,1.56,.64,1);max-width:90vw;width:max-content}.achievement-toast--visible{transform:translate(-50%) translateY(0)}.achievement-toast__icon{font-size:2rem;flex-shrink:0;animation:toast-bounce .6s ease .4s both}@keyframes toast-bounce{0%{transform:scale(.3)}50%{transform:scale(1.2)}to{transform:scale(1)}}.achievement-toast__content{display:flex;flex-direction:column;gap:.1rem}.achievement-toast__label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-gold, #f5a623);font-weight:700}.achievement-toast__title{font-size:.95rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:6px}.achievement-toast__tier{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;border-radius:3px}.achievement-toast__tier--bronze{color:#cd7f32;background:#cd7f3226}.achievement-toast__tier--silver{color:#a0a8b8;background:#a0a8b826}.achievement-toast__tier--gold{color:var(--accent-gold, #f5a623);background:#f5a62326}.achievement-toast__desc{font-size:.75rem;color:var(--text-dim)}.trophy-case{padding:1rem;max-width:600px;margin:0 auto}.trophy-case__header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.trophy-case__title{font-size:1.3rem;font-weight:800;color:var(--text-primary);margin:0}.trophy-case__subtitle{font-size:.82rem;color:var(--text-dim);margin:0}.trophy-case__progress-bar{height:6px;background:var(--bg-elevated);border-radius:3px;overflow:hidden;margin-bottom:1.5rem}.trophy-case__progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-gold, #f5a623),#ffd700);border-radius:3px;transition:width .5s ease}.trophy-category{margin-bottom:1.5rem}.trophy-category__title{font-size:.9rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.trophy-category__count{font-size:.75rem;font-weight:500;color:var(--text-dim)}.trophy-grid{display:flex;flex-direction:column;gap:.5rem}.trophy-card{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;border-radius:10px;border:1px solid transparent;transition:background .2s}.trophy-card--unlocked{background:var(--bg-elevated);border-color:#f5a62326}.trophy-card--locked{background:var(--bg-card);opacity:.55}[data-theme=light] .trophy-card--locked{opacity:.65}.trophy-card__icon{font-size:1.5rem;flex-shrink:0;width:2rem;text-align:center}.trophy-card--locked .trophy-card__icon{filter:grayscale(1)}.trophy-card__info{flex:1;min-width:0}.trophy-card__title{font-size:.85rem;font-weight:700;color:var(--text-primary)}.trophy-card--locked .trophy-card__title{color:var(--text-dim)}.trophy-card__desc{font-size:.72rem;color:var(--text-dim);margin-top:.1rem}.trophy-card__date{font-size:.65rem;color:var(--text-dim);white-space:nowrap}.trophy-card__icon-wrap{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0}.trophy-card__tier{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;border-radius:3px;line-height:1.3}.trophy-card__tier--bronze{color:#cd7f32;background:#cd7f321f}.trophy-card__tier--silver{color:#a0a8b8;background:#a0a8b81f}.trophy-card__tier--gold{color:var(--accent-gold, #f5a623);background:#f5a6231f}.trophy-card__new-badge{display:inline-block;font-size:.55rem;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:#fff;background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));padding:1px 6px;border-radius:4px;margin-left:6px;vertical-align:middle;animation:newBadgePulse 2s ease-in-out infinite}@keyframes newBadgePulse{0%,to{opacity:1}50%{opacity:.7}}.trophy-case__tiers{display:flex;gap:8px;margin-bottom:1.25rem}.trophy-tier-pill{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:.7rem;font-weight:600;border:1px solid transparent}.trophy-tier-pill__label{opacity:.9}.trophy-tier-pill__count{font-family:var(--font-mono);font-size:.65rem}.trophy-tier-pill--bronze{color:#cd7f32;background:#cd7f3214;border-color:#cd7f3233}.trophy-tier-pill--silver{color:#a0a8b8;background:#a0a8b814;border-color:#a0a8b833}.trophy-tier-pill--gold{color:var(--accent-gold, #f5a623);background:#f5a62314;border-color:#f5a62333}.trophy-nav-card{display:flex;align-items:center;gap:.75rem;width:100%;padding:.85rem 1rem;background:var(--bg-elevated);border:1px solid rgba(245,166,35,.15);border-radius:12px;cursor:pointer;text-align:left;transition:border-color .2s,background .2s;margin-bottom:.5rem}.trophy-nav-card:hover{border-color:#f5a6234d;background:var(--bg-card)}.trophy-nav-card__icon{font-size:1.4rem}.trophy-nav-card__info{flex:1}.trophy-nav-card__title{font-size:.95rem;font-weight:700;color:var(--text-primary)}.trophy-nav-card__subtitle{font-size:.75rem;color:var(--text-dim)}.trophy-nav-card__arrow{font-size:1.2rem;color:var(--text-dim)}[data-theme=light] .achievement-toast{box-shadow:0 8px 32px #0000001a,0 0 0 1px #f5a62326}[data-theme=light] .trophy-card--unlocked,[data-theme=light] .trophy-nav-card{border-color:#f5a62333}@keyframes xpPopFloat{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.8)}15%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}70%{opacity:1;transform:translate(-50%) translateY(-20px) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-40px) scale(.9)}}[data-theme=light] .trophy-card__tier--silver{color:#707a8a}[data-theme=light] .trophy-tier-pill--silver{color:#707a8a;border-color:#707a8a40}.topic-card--mastered{border-color:#f0b42959;box-shadow:0 0 0 1px #f0b4291a}.topic-card--mastered:hover{border-color:#f0b42980;box-shadow:0 2px 12px #f0b42926}.topic-card__crown{font-size:1rem}.topic-card__progress--mastered{gap:4px}.topic-card__progress-text--mastered{color:var(--accent-gold);font-weight:600;font-size:.72rem}[data-theme=light] .topic-card--mastered{border-color:#c8961459;box-shadow:0 0 0 1px #c8961414}.crown-celebration{position:fixed;inset:0;background:#000000bf;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1100;animation:fadeIn .3s ease-out}.crown-celebration__content{max-width:340px;padding:36px 28px;text-align:center;background:var(--bg-card);border:1px solid rgba(240,180,41,.3);border-radius:var(--radius-lg, 16px);box-shadow:0 0 40px #f0b42926;animation:fadeInUp .5s .15s ease-out both}.crown-celebration__icon{font-size:4rem;margin-bottom:12px;animation:crownBounce .6s .4s ease-out both}@keyframes crownBounce{0%{transform:scale(.3) rotate(-20deg);opacity:0}50%{transform:scale(1.2) rotate(5deg)}to{transform:scale(1) rotate(0);opacity:1}}.crown-celebration__title{font-size:1.5rem;font-weight:700;color:var(--accent-gold);margin-bottom:8px}.crown-celebration__topic{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:12px}.crown-celebration__text{font-size:.85rem;color:var(--text-secondary);line-height:1.5;margin-bottom:24px}.crown-celebration__btn{padding:12px 32px;background:linear-gradient(135deg,var(--accent-gold),#d4a017);color:#1a1a2e;font-weight:700;font-size:.95rem;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.crown-celebration__btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #f0b4294d}.migration-notice{position:fixed;bottom:16px;left:50%;transform:translate(-50%);max-width:420px;width:calc(100% - 32px);display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--bg-card);border:1px solid rgba(99,179,237,.3);border-radius:var(--radius-md);box-shadow:0 8px 24px #0000004d;z-index:900;animation:fadeInUp .4s ease-out}.migration-notice__text{flex:1;font-size:.8rem;color:var(--text-secondary);line-height:1.5;margin:0}.migration-notice__text strong{color:var(--accent-blue)}.migration-notice__dismiss{flex-shrink:0;background:none;border:none;font-size:1rem;color:var(--text-dim);cursor:pointer;padding:2px 6px;line-height:1}.migration-notice__dismiss:hover{color:var(--text-primary)}[data-theme=light] .migration-notice{box-shadow:0 8px 24px #0000001a;border-color:#4285f44d}[data-theme=light] .crown-celebration{background:#00000080}[data-theme=light] .crown-celebration__content{border-color:#c896144d;box-shadow:0 0 40px #c896141a}[data-theme=light] .crown-celebration__btn{color:#fff}[data-theme=light] .results__perfect-badge{background:linear-gradient(135deg,#c896141a,#c896140f);border-color:#c896144d}[data-theme=light] .results__star-tooltip{background:linear-gradient(135deg,#4285f40f,#805ad50f);border-color:#4285f433}.privacy-page{max-width:720px;margin:0 auto;padding:0 8px}.privacy-page__header{margin-bottom:16px}.privacy-page__content{background:var(--bg-card);border-radius:var(--radius-md);padding:24px;font-family:var(--font-body);color:var(--text-primary);line-height:1.6}.privacy-page__content h1{font-size:1.4rem;font-weight:700;margin:0 0 4px;color:var(--text-primary)}.privacy-page__updated{color:var(--text-dim);font-size:.85rem;margin:0 0 20px}.privacy-page__content h2{font-size:1.05rem;font-weight:600;margin:24px 0 8px;color:var(--text-primary)}.privacy-page__content p{margin:0 0 12px}.privacy-page__content a{color:var(--accent-green);text-decoration:underline;text-underline-offset:2px}.privacy-page__content a:hover{text-decoration-thickness:2px}.settings-panel__footer{margin-top:8px;padding-top:16px;border-top:1px solid var(--border-subtle);text-align:center}.settings-link{background:none;border:none;color:var(--text-dim);font-family:inherit;font-size:.85rem;padding:8px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.settings-link:hover,.settings-link:focus-visible{color:var(--accent-green);outline:none}
