.sc-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:16px;background:#1414146b}.sc-modal{width:min(46rem,100%);max-height:calc(100vh - 32px);overflow-y:auto;padding:18px 20px;background:var(--surface, #fff);color:var(--ink, #1a1a1a);border:1px solid var(--rule, #ddd);border-radius:var(--radius, 4px);box-shadow:0 12px 40px #0000002e}.sc-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.sc-head h2{margin:0;font-size:1.1rem}.sc-hint{margin:.4rem 0 0;font-size:.82rem;color:var(--ink-3, var(--muted, #777))}.sc-groups{display:grid;gap:1.1rem 1.6rem;margin-top:.8rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr))}.sc-group h3{margin:0;font-size:.92rem;font-weight:700}.sc-group>.sc-hint{margin:.1rem 0 0}.sc-group dl{margin:.4rem 0 0}.sc-row{display:grid;grid-template-columns:minmax(6.5rem,auto) 1fr;gap:.6rem;align-items:baseline;padding:.32rem 0;border-top:1px solid var(--rule-soft, var(--rule, #eee));font-size:.86rem}.sc-row dt{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem}.sc-row dd{margin:0}.sc-note{color:var(--ink-3, var(--muted, #777))}.sc-combo{display:inline-flex;gap:.18rem;white-space:nowrap}.sc-combo kbd{margin:0;min-width:1.45rem;text-align:center;font:inherit;font-size:.74rem;padding:.05rem .32rem;border-radius:4px;border:1px solid var(--rule, #ccc);border-bottom-width:2px;background:var(--surface, #fff);color:var(--ink, #1a1a1a)}.sc-or{margin:0 .25rem;font-size:.72rem;color:var(--ink-3, var(--muted, #888))}.social-signin{display:flex;flex-direction:column;gap:.55rem;margin:.4rem 0 .2rem}.social-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;min-height:2.6rem;padding:.55rem 1rem;border-radius:6px;border:1px solid;font:inherit;font-weight:500;cursor:pointer}.social-btn:disabled{opacity:.6;cursor:default}.social-google{background:#fff;color:#1f1f1f;border-color:#747775}.social-apple{background:#000;color:#fff;border-color:#000}@media(prefers-color-scheme:dark){.social-apple{background:#fff;color:#000;border-color:#fff}}:root[data-theme=dark] .social-apple{background:#fff;color:#000;border-color:#fff}:root[data-theme=light] .social-apple{background:#000;color:#fff;border-color:#000}.social-mark{flex:none}.social-apple-mark{margin-top:-2px}.social-note{margin:0;font-size:.78rem;line-height:1.5;color:var(--ink-3, var(--muted, #6b6b6b))}.social-error{margin:0;font-size:.85rem;color:var(--red, #b3261e)}.social-or{display:flex;align-items:center;gap:.7rem;margin-top:.3rem;color:var(--ink-3, var(--muted, #6b6b6b));font-size:.74rem}.social-or:before,.social-or:after{content:"";flex:1;border-top:1px solid var(--rule, rgba(127, 127, 127, .35))}.mascot{display:block;max-width:100%;height:auto;object-fit:contain;-webkit-user-select:none;user-select:none}.mascot-face{display:block;border-radius:50%;flex:none;-webkit-user-select:none;user-select:none}.mascot-bob{animation:mascot-bob 3.6s ease-in-out infinite;transform-origin:50% 100%}.mascot-wiggle{animation:mascot-wiggle .9s ease-in-out 1;transform-origin:50% 90%}@keyframes mascot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes mascot-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-6deg)}60%{transform:rotate(5deg)}}.mascot-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;padding:1.5rem 1rem}.mascot-state strong{display:block;font-size:1.02rem;font-weight:700;color:var(--ink, inherit)}.mascot-state p{margin:.3rem auto 0;max-width:32ch;font-size:.88rem;line-height:1.6;color:var(--ink-2, var(--muted, #5b6066))}.mascot-state-action{margin-top:.8rem;display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.mascot-state.is-compact{flex-direction:row;text-align:left;padding:.75rem .5rem;gap:.8rem}.mascot-state.is-compact p{margin-left:0}.mascot-state.is-compact .mascot-state-action{justify-content:flex-start}@media(prefers-reduced-motion:reduce){.mascot-bob,.mascot-wiggle{animation:none}}@media print{.mascot,.mascot-face{display:none!important}}.pro-plan{display:flex;flex-direction:column;gap:.7rem;padding:1rem 1.1rem;border:1px solid var(--rule, rgba(127, 127, 127, .35));border-radius:10px;background:var(--surface, transparent)}.pro-plan.is-on{border-color:var(--teal, var(--accent, #2f7d6d))}.pro-title{margin:0;font-size:1.05rem;display:flex;align-items:center;gap:.5rem}.pro-badge{font-size:.72rem;font-weight:600;padding:.12rem .5rem;border-radius:999px;background:var(--teal, var(--accent, #2f7d6d));color:var(--on-accent, #fff)}.pro-meta{margin:0;font-size:.85rem;color:var(--ink-2, var(--muted, #555))}.pro-benefits{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.pro-plans{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}@media(max-width:360px){.pro-plans{grid-template-columns:1fr}}.pro-option{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.75rem .85rem;border:1.5px solid var(--rule, rgba(127, 127, 127, .35));border-radius:8px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.pro-option.is-chosen{border-color:var(--ink, currentColor);box-shadow:0 0 0 1px var(--ink, currentColor) inset}.pro-option-name{font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:.4rem}.pro-save{font-size:.7rem;font-weight:600;color:var(--red, #b3261e)}.pro-price{font-size:1.15rem;font-weight:700}.pro-price small{font-size:.75rem;font-weight:400;color:var(--ink-3, var(--muted, #6b6b6b))}.pro-sub{font-size:.75rem;color:var(--ink-3, var(--muted, #6b6b6b))}.pro-buy{min-height:2.8rem;border:none;border-radius:8px;font:inherit;font-weight:700;cursor:pointer;background:var(--ink, #1f1f1f);color:var(--paper, var(--bg, #fff))}.pro-buy:disabled{opacity:.6;cursor:default}.pro-fine{margin:0;font-size:.76rem;line-height:1.55;color:var(--ink-3, var(--muted, #6b6b6b))}.pro-links{margin:0;display:flex;flex-wrap:wrap;gap:.9rem;font-size:.8rem}.pro-links a{color:var(--ink-2, inherit)}.pro-link{padding:0;border:none;background:none;font:inherit;font-size:.8rem;cursor:pointer;color:var(--ink-2, inherit);text-decoration:underline;align-self:flex-start}.pro-note{margin:0;font-size:.85rem;color:var(--ink-2, inherit)}.ns-reminders{display:grid;gap:.6rem}.ns-row{display:flex;align-items:center;gap:.6rem}.ns-row>input[type=checkbox]{flex:none}.ns-row>span{flex:1 1 auto;min-width:0}.ns-row small{opacity:.7;font-size:.85em}.ns-time{flex:none;font:inherit;padding:.25rem .4rem}.ns-time:disabled{opacity:.5}.offline-banner{position:relative;z-index:11;padding:calc(.35rem + env(safe-area-inset-top,0px)) 16px .35rem;text-align:center;font-size:.85rem;background:var(--ochre-soft);color:var(--ochre);border-bottom:1px solid var(--ochre)}.offline-pack h3{margin:1rem 0 .3rem;font-size:.95rem}.offline-list{list-style:none;margin:.4rem 0 0;padding:0}.offline-list li{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:.45rem 0;border-top:1px solid var(--rule)}.offline-list li>.grow{flex:1 1 12rem;min-width:0}.offline-list progress{width:6rem}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/suneung/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/suneung/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/suneung/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/suneung/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/suneung/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/suneung/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/suneung/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/suneung/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/suneung/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/suneung/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/suneung/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/suneung/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/suneung/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/suneung/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/suneung/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/suneung/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/suneung/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/suneung/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/suneung/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/suneung/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/suneung/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/suneung/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/suneung/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/suneung/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/suneung/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/suneung/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/suneung/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/suneung/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/suneung/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/suneung/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/suneung/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/suneung/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/suneung/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/suneung/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/suneung/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/suneung/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/suneung/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/suneung/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/suneung/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/suneung/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/suneung/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/suneung/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/suneung/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/suneung/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/suneung/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/suneung/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/suneung/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/suneung/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/suneung/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/suneung/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/suneung/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/suneung/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/suneung/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/suneung/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/suneung/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/suneung/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/suneung/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/suneung/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/suneung/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.47"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.dg{margin:1.1rem 0;border:1px solid var(--rule);border-radius:10px;background:var(--paper);padding:.6rem .6rem .5rem}.dg-scroll{overflow-x:auto}.dg svg{width:100%;height:auto;display:block;margin:0 auto}.dg text{font-family:var(--f-body);fill:var(--ink)}.dg .dg-l{font-size:13.5px;font-weight:600}.dg .dg-s{font-size:11px;fill:var(--ink-2)}.dg .dg-n rect,.dg .dg-cell{fill:var(--surface);stroke:var(--teal);stroke-opacity:.45;stroke-width:1.4}.dg .dg-n.dg-lead rect,.dg .dg-cell.dg-lead{fill:var(--teal-soft)}.dg .dg-e{stroke:var(--ink-2);stroke-width:1.5;fill:none}.dg .dg-ax{stroke:var(--ink-2);stroke-width:1.4;fill:none}.dg .dg-head{fill:var(--ink-2)}.dg .dg-el rect{fill:var(--paper)}.dg .dg-el text{font-size:11px;fill:var(--teal)}.dg .dg-band rect{fill:var(--teal-soft);stroke:var(--teal);stroke-opacity:.35}.dg .dg-band rect.dg-band-tab{fill:var(--teal);stroke:none}.dg .dg-center{font-size:15px;font-weight:700;fill:var(--teal)}.dg .dg-dot{fill:var(--teal)}.dg .dg-when{font-size:13px;font-weight:700;fill:var(--teal)}.dg .dg-cur{fill:none;stroke-width:2.4}.dg .dg-cur0{stroke:var(--teal)}.dg .dg-cur1{stroke:var(--ochre);stroke-dasharray:6 4}.dg .dg-cur2{stroke:var(--red);stroke-dasharray:2 4}.dg .dg-sname{font-size:11.5px;font-weight:600}.dg .dg-sname0{fill:var(--teal)}.dg .dg-sname1{fill:var(--ochre)}.dg .dg-sname2{fill:var(--red)}.dg .dg-mark{fill:var(--ink)}.dg .dg-grid{stroke:var(--rule);stroke-width:1}.dg .dg-bar0,.dg .dg-pt0{fill:var(--teal)}.dg .dg-bar1,.dg .dg-pt1{fill:var(--ochre)}.dg .dg-bar2,.dg .dg-pt2{fill:var(--red)}.dg .dg-v{font-size:10.5px;fill:var(--ink);font-variant-numeric:tabular-nums}.dg .dg-v-in{fill:var(--paper);font-weight:600}.dg figcaption{display:flex;flex-wrap:wrap;gap:.2rem .7rem;font-size:.82rem;color:var(--ink-2);border-top:1px dashed var(--rule);margin-top:.4rem;padding:.35rem .25rem 0}.dg figcaption b{color:var(--ink)}.dg-fallback{margin:.2rem 0;padding-left:1.2rem;font-size:.92rem}mark.em-mark{background:linear-gradient(transparent 58%,color-mix(in srgb,var(--ochre) 30%,transparent) 58%);color:inherit;padding:0 1px;border-radius:2px}.em-u{text-decoration:underline;text-decoration-color:var(--teal);text-decoration-thickness:2px;text-underline-offset:4px;font-variant-numeric:tabular-nums}.ex-cite{font-size:.7em;line-height:0;margin-left:2px;white-space:nowrap;vertical-align:super}.ex-tag{font:inherit;font-variant-numeric:tabular-nums;color:var(--ex-accent, var(--red, #17518f));background:none;border:0;padding:0 1px}button.ex-tag{cursor:pointer;text-decoration:underline dotted;text-underline-offset:.25em}button.ex-tag:hover{text-decoration-style:solid}.ex-tag+.ex-tag:before{content:"·";color:var(--ink-3, #8a8a8a);margin-right:2px;display:inline-block}.ex-tag:focus-visible{outline:2px solid var(--ex-accent, var(--red, #17518f));outline-offset:1px;border-radius:2px}.ex-more{color:var(--ink-2, #5b5b5b)}.ex-panel-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000059;display:flex;align-items:flex-end;justify-content:center}.ex-panel{background:var(--surface, #fff);color:var(--ink, #1b1b1b);width:min(40rem,100%);max-height:85vh;overflow:auto;border-radius:12px 12px 0 0;padding:16px 18px calc(16px + env(safe-area-inset-bottom,0px));box-shadow:0 16px 48px #00000040;font-size:15px;line-height:1.6;outline:none;display:flex;flex-direction:column;gap:10px}@media(min-width:48rem){.ex-panel-back{align-items:center;padding:16px}.ex-panel{border-radius:12px}}.ex-panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.ex-panel-close{border:0;background:none;color:var(--ex-accent, var(--teal, #17518f));cursor:pointer;font:inherit;padding:4px}.ex-panel-tabs{display:flex;flex-wrap:wrap;gap:6px}.ex-panel-tabs button{font:inherit;font-size:.85rem;padding:2px 10px;border-radius:999px;border:1px solid var(--rule, #c9d3df);background:none;cursor:pointer;color:var(--ink, #1b1b1b)}.ex-panel-tabs button.on{border-color:var(--ink, #1b1b1b);font-weight:600}.ex-panel-passage summary{cursor:pointer;color:var(--ink-2, #5b5b5b);font-size:.9rem}.ex-panel-passage p,.ex-panel-box,.ex-panel-fig p{white-space:pre-wrap;margin:0}.ex-panel-passage p{margin-top:6px;font-size:.92rem}.ex-panel-stem{margin:0;white-space:pre-wrap;font-weight:600}.ex-panel-box,.ex-panel-fig{border:1px solid var(--rule, #c9d3df);border-radius:6px;padding:8px 10px;font-size:.92rem;margin:0}.ex-panel-fig figcaption{font-size:.8rem;color:var(--ink-2, #5b5b5b);margin-bottom:4px}.ex-panel-opts{list-style:none;margin:0;padding:0;display:grid;gap:6px}.ex-panel-opts li{display:flex;gap:8px;padding:6px 8px;border-radius:8px;white-space:pre-wrap}.ex-panel-opts li.is-cited{background:var(--teal-soft, #eef3fa);box-shadow:inset 3px 0 0 var(--teal, #17518f)}.ex-panel-no{flex:none;font-weight:600}.ex-panel-note{margin:0;font-size:.85rem;color:var(--ink-2, #5b5b5b)}.ex-panel-acts{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.ex-panel img{max-width:100%}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .ex-panel{background:var(--surface, #1f1f1f);color:var(--ink, #eee)}:root:not([data-theme=light]) .ex-panel-note,:root:not([data-theme=light]) .ex-panel-fig figcaption{color:var(--ink-2, #aaa)}:root:not([data-theme=light]) .ex-panel-opts li.is-cited{background:var(--teal-soft, #22334a)}}.choices li.picked>button{border-color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--ink-2)}.provenance{font-size:.78rem;color:var(--ink-3);margin-top:6px}.flash .src{font-size:.78rem}.find{display:flex;flex-direction:column;gap:12px}.find-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.find-form input[type=search]{flex:1 1 18rem;min-width:0}.find-check{display:inline-flex;gap:6px;align-items:center;font-size:.9rem}.find-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.find-item{border:1px solid var(--rule);border-radius:var(--radius, 2px);padding:10px 12px;display:flex;flex-direction:column;gap:6px;min-width:0}.find-head{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.find-actions{display:flex;gap:14px}.find-mock-check{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}.find-mock-check form{display:inline-flex;gap:6px}.find-mock-check input{width:7rem}.find-check-result{margin-top:6px}.find-original{display:flex;flex-direction:column;gap:8px}.find-crop{display:block;max-width:100%;height:auto;background:#fff;border:1px solid var(--rule-soft);border-radius:var(--radius, 2px)}.find-crop-wait{height:120px;background:var(--rule-soft)}.find-crop-fail{padding:16px;border:1px dashed var(--rule);color:var(--ink-2);font-size:.9rem}.find-figtext pre{white-space:pre-wrap;font:inherit;font-size:.88rem;margin:4px 0 8px}.find .chip{font-size:.75rem;padding:1px 7px;border:1px solid var(--rule);border-radius:999px;color:var(--ink-2)}.find-err{color:var(--red)}.drill-crop{display:block;width:100%;max-width:760px;height:auto;background:#fff;border:1px solid var(--rule-soft);border-radius:var(--radius, 2px);margin:4px 0 8px}.drill-crop-wait{aspect-ratio:3 / 2;background:var(--rule-soft)}.passage.original{padding:10px}.transcript{margin:4px 0 8px;font-size:.92rem}.transcript>summary{cursor:pointer;color:var(--ink-3);font-size:.82rem}.transcript[open]>summary{margin-bottom:8px}.choice-keys{list-style:none;padding:0;margin:12px 0;display:flex;flex-wrap:wrap;gap:8px}.choice-keys button{min-width:3.2rem;min-height:3rem;font-size:1.35rem;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius, 2px);cursor:pointer;color:inherit}.choice-keys button:hover:not(:disabled){border-color:var(--teal)}.choice-keys li.picked>button{border-color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--ink-2)}.drill-crop-head{max-width:760px;margin-bottom:4px}.drill-jump{display:none;font-size:.82rem;margin-left:10px}@media(max-width:860px){.drill-jump{display:inline}.passage .drill-jump{display:block;margin:0 0 6px auto}}.ptrail{position:sticky;top:var(--topbar-h, 0px);z-index:9;padding:8px max(var(--gutter, 1rem),calc((100% - var(--page-max, 1080px)) / 2)) 6px;background:var(--teal-soft, color-mix(in srgb, var(--teal, #1f6f78) 12%, var(--paper, #fff)));border-top:1px solid var(--teal, #1f6f78);border-bottom:1px solid var(--teal, #1f6f78);margin:0 0 4px}.ptrail-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px}.ptrail-now{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}.ptrail-tag{font-size:.72rem;font-weight:700;color:var(--teal, #1f6f78);white-space:nowrap}.ptrail-title{font-size:.92rem;overflow-wrap:anywhere;color:var(--ink, #1c1c1c)}.ptrail-kind{font-size:.72rem;color:var(--ink-3, #777)}.ptrail-away{font-size:.75rem;color:var(--ochre, #b8860b)}.ptrail-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.ptrail-actions .btn,.ptrail-actions .chip{padding:5px 12px;white-space:nowrap}.ptrail-stop{white-space:nowrap}.ptrail-stop{font:inherit;font-size:.82rem;padding:5px 12px;cursor:pointer;border-radius:var(--radius, 4px);border:1px solid var(--ink-3, #888);background:var(--surface, #fff);color:var(--ink-2, #444)}.ptrail-stop:hover{border-color:var(--red, #b3261e);color:var(--red, #b3261e)}.ptrail-fold{flex:none;width:30px;height:30px;display:inline-grid;place-items:center;padding:0;cursor:pointer;border:1px solid var(--rule, #d6d3cc);border-radius:var(--radius, 4px);background:var(--surface, #fff);color:var(--ink-2, #444)}.ptrail-fold svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}.ptrail.is-folded .ptrail-fold svg{transform:rotate(180deg)}.ptrail-grip{display:block;width:56px;height:14px;margin:2px auto -4px;padding:0;border:0;background:none;cursor:grab;touch-action:none;position:relative}.ptrail-grip:before{content:"";position:absolute;left:14px;right:14px;top:5px;height:4px;border-radius:2px;background:color-mix(in srgb,var(--teal, #1f6f78) 45%,transparent)}.ptrail-grip:hover:before,.ptrail-grip:focus-visible:before{background:var(--teal, #1f6f78)}.ptrail.is-folded{padding-top:5px;padding-bottom:2px}.ptrail.is-folded .ptrail-head{flex-wrap:nowrap}.ptrail.is-folded .ptrail-now{flex-wrap:nowrap;overflow:hidden}.ptrail.is-folded .ptrail-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ptrail.is-folded .ptrail-away,.ptrail.is-folded .ptrail-kind{display:none}.ptrail.is-folded .ptrail-actions{flex-wrap:nowrap}@media(max-width:640px){.ptrail.is-folded .ptrail-tag{display:none}}@media(prefers-reduced-motion:reduce){.ptrail-fold svg{transition:none}}.ptrail-route-head{display:flex;justify-content:space-between;gap:8px;margin:4px 0 2px;font-size:.72rem;color:var(--ink-3, #777)}.ptrail-route{list-style:none;margin:0;padding:0;display:flex;gap:3px;min-width:0}.ptrail-seg{flex:1 1 0;min-width:0;--pt: var(--ink-3, #888);--pt-soft: var(--rule-soft, #ecebe6)}.ptrail-seg.tone-review{--pt: var(--red, #b3261e);--pt-soft: var(--red-soft, #f6dcd9)}.ptrail-seg.tone-read{--pt: var(--teal, #1f6f78);--pt-soft: var(--teal-soft, #d9e9ea)}.ptrail-seg.tone-drill{--pt: var(--ink, #1c1c1c);--pt-soft: var(--rule-soft, #e6e6e1)}.ptrail-seg.tone-cards{--pt: var(--ink-2, #555);--pt-soft: var(--rule-soft, #e6e6e1)}.ptrail-seg.tone-omr{--pt: var(--ochre, #b8860b);--pt-soft: var(--ochre-soft, #f3e6cc)}.ptrail-seg button{width:100%;height:28px;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 6px;min-width:0;font:inherit;font-size:.74rem;line-height:1.2;cursor:pointer;text-align:left;border:0;border-top:3px solid var(--pt);border-radius:var(--radius, 3px);background:var(--pt-soft);color:var(--pt)}.ptrail-seg button:disabled{cursor:default}.ptrail-seg-no{flex:none;font-weight:700;font-variant-numeric:tabular-nums}.ptrail-seg-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2, #444)}.ptrail-seg.is-now{min-width:min(12rem,42%)}.ptrail-seg.is-now button{background:var(--pt);color:var(--paper, #fff);box-shadow:0 0 0 2px color-mix(in srgb,var(--pt) 30%,transparent)}.ptrail-seg.is-now .ptrail-seg-title{color:var(--paper, #fff);font-weight:600}.ptrail-seg.is-done button{background:var(--surface, #fff);border-top-color:var(--rule, #d6d3cc);color:var(--ink-3, #888);opacity:.8}.ptrail-seg.is-done .ptrail-seg-title{color:var(--ink-3, #888);text-decoration:line-through;text-decoration-color:var(--rule, #ccc)}.ptrail-seg.is-next button:hover,.ptrail-seg.is-done button:hover{filter:brightness(.96);outline:1px solid var(--pt)}.ptrail-seg button:focus-visible{outline:2px solid var(--teal, #1f6f78);outline-offset:1px}@media(max-width:640px){.ptrail-seg:not(.is-now) .ptrail-seg-title{display:none}}.ptrail-note{margin:2px 0 0;font-size:.8rem;color:var(--ink-2, #555)}.ptrail-err{margin:2px 0 0;font-size:.82rem;color:var(--red, #b3261e)}@media(max-width:640px){.ptrail-title{font-size:.86rem}}html[data-plan-focus] [data-plan-away]{display:none!important}@media print{.ptrail{display:none}}.plan-home{display:grid;gap:0;min-width:0}.plan-home h2,.plan-home h3{margin:0 0 4px}.plan-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start}.plan-head>div:first-child{min-width:0}.plan-head-actions{display:flex;gap:6px;flex-wrap:wrap}.plan-head-actions .btn[aria-pressed=true]{border-color:var(--teal);color:var(--teal);background:var(--teal-soft)}.plan-dday{margin:2px 0 0}.plan-dday-big{font-family:var(--f-display);font-size:2rem;font-weight:800;color:var(--red);line-height:1.1}.plan-subjects{margin:4px 0 0;overflow-wrap:anywhere}.plan-warn{margin:0 0 12px;padding:8px 12px;border-radius:var(--radius, 2px);background:var(--red-soft);color:var(--ink);font-size:.88rem}.plan-note{font-size:.78rem;color:var(--ink-3);margin:10px 0 0}.plan-active{margin:6px 0 10px;padding:6px 10px;border-radius:var(--radius, 2px);background:var(--teal-soft);font-size:.88rem;overflow-wrap:anywhere}.plan-status-head{display:flex;align-items:center;gap:8px}.plan-status-head .tag,.plan-home .tag{font-size:.7rem;padding:1px 7px;border-radius:999px;border:1px solid var(--ochre);color:var(--ochre);background:var(--ochre-soft)}.plan-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:8px 0 12px}.plan-stats>div{min-width:0;border:1px solid var(--rule-soft);border-radius:var(--radius, 2px);padding:8px 10px}.plan-stats dt{font-size:.72rem;color:var(--ink-3)}.plan-stats dd{margin:2px 0 0;font-weight:600;font-variant-numeric:tabular-nums}.plan-stats small{color:var(--ink-3);font-size:.72rem}.plan-status{padding:1px 8px;border:1px solid currentColor;border-radius:999px;font-size:.82rem}.plan-status-ok{color:var(--teal)}.plan-status-tight{color:var(--ochre)}.plan-status-short{color:var(--red)}.plan-status-unknown{color:var(--ink-3)}.plan-meter{margin-top:10px}.plan-meter-top{display:flex;justify-content:space-between;align-items:baseline;font-size:.88rem;gap:8px}.plan-meter-top strong{font-variant-numeric:tabular-nums}.plan-bar{position:relative;height:10px;border-radius:999px;background:var(--rule-soft);overflow:hidden;margin-top:4px}.plan-bar i{position:absolute;inset:0 auto 0 0;background:var(--teal);border-radius:999px}.plan-meter-foot{font-size:.74rem;color:var(--ink-3);margin-top:2px}.plan-next-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.plan-modes{margin:4px 0}.plan-tone-review,.plan-tone-wrong{--tone: var(--red);--tone-soft: var(--red-soft)}.plan-tone-read{--tone: var(--teal);--tone-soft: var(--teal-soft)}.plan-tone-drill,.plan-tone-diagnose{--tone: var(--ink);--tone-soft: var(--rule-soft)}.plan-tone-cards{--tone: var(--ink-2);--tone-soft: var(--rule-soft)}.plan-tone-omr{--tone: var(--ochre);--tone-soft: var(--ochre-soft)}.plan-roadmap{display:grid;gap:14px;margin-top:10px;min-width:0}.plan-route-head{display:flex;justify-content:space-between;font-size:.72rem;color:var(--ink-3);margin-bottom:4px}.plan-route-bar{display:flex;gap:3px;height:26px}.plan-route-seg{flex:1 1 0;min-width:22px;display:grid;place-items:center;border-radius:var(--radius, 2px);background:var(--tone-soft);border-top:3px solid var(--tone);color:var(--tone);font-size:.72rem;font-variant-numeric:tabular-nums}.plan-route-seg.is-now{background:var(--tone);color:var(--surface)}.plan-road{list-style:none;margin:0;padding:0}.plan-road-stop{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px}.plan-road-stop:not(.plan-road-end):before{content:"";position:absolute;left:16px;top:34px;bottom:0;width:2px;background:var(--rule)}.plan-road-node{position:relative;z-index:1;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--tone);background:var(--surface);color:var(--tone);font-weight:700;font-variant-numeric:tabular-nums}.plan-road-stop.is-now .plan-road-node{background:var(--tone);color:var(--surface);box-shadow:0 0 0 4px var(--tone-soft)}.plan-road-card{min-width:0;padding:4px 0 18px}.plan-road-card strong{display:block;margin-top:4px;overflow-wrap:anywhere}.plan-road-card p{margin:2px 0 0;font-size:.84rem;color:var(--ink-2)}.plan-road-stop:not(.is-now) .plan-road-card p{color:var(--ink-3);font-size:.8rem}.plan-road-stop.is-now .plan-road-card{padding:10px 12px;margin-bottom:18px;border:1.5px solid var(--tone);border-radius:var(--radius, 2px);background:var(--tone-soft)}.plan-road-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.plan-road-now{font-size:.68rem;padding:1px 6px;border-radius:var(--radius, 2px);background:var(--tone);color:var(--surface)}.plan-kind{font-size:.72rem;padding:1px 7px;border-radius:999px;border:1px solid var(--tone);color:var(--tone);background:var(--surface);white-space:nowrap}.plan-road-time{margin-left:auto;font-size:.76rem;color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}.plan-road-time small{color:var(--ink-3)}.plan-road-actions{display:flex;align-items:center;gap:12px;margin-top:8px}.plan-road-end .plan-road-node{border:2px dashed var(--rule);color:var(--ink-3)}.plan-road-end .plan-road-card{padding-bottom:0}.plan-road-end .plan-road-card strong{color:var(--ink-2);font-size:.92rem}.plan-skip{border:0;background:none;padding:0;font-size:.78rem;color:var(--ink-3);text-decoration:underline;cursor:pointer}.plan-skip:hover{color:var(--red)}@media(max-width:480px){.plan-road-time{margin-left:0;flex-basis:100%}}.plan-setup{display:grid;gap:14px 28px;grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "date" "subj" "scores" "weekly" "mode" "foot"}.plan-f-scores{grid-area:scores}.plan-setup-head{grid-area:head}.plan-setup-head p{margin:4px 0 0}.plan-f-date{grid-area:date}.plan-f-subj{grid-area:subj}.plan-f-weekly{grid-area:weekly}.plan-f-mode{grid-area:mode}.plan-setup .plan-f-foot{grid-column:1 / -1;margin-top:0}@media(min-width:900px){.plan-setup{grid-template-columns:minmax(240px,1fr) minmax(0,2fr);grid-template-areas:"head head" "date subj" "weekly subj" "mode subj" ". scores";grid-template-rows:auto auto auto 1fr auto}}.plan-subject-grid{display:grid;gap:4px 20px;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}.plan-setup h2{margin:0}.plan-field{display:grid;gap:4px;font-size:.9rem;min-width:0;align-self:start;align-content:start}.plan-field select,.plan-field input[type=date]{font:inherit;padding:6px 8px;border:1px solid var(--rule);border-radius:var(--radius, 2px);background:var(--surface);color:var(--ink);max-width:100%;justify-self:start}.plan-fieldset{border:0;padding:0;margin:0}.plan-fieldset legend{padding:0;margin-bottom:4px}.plan-subject-group{display:grid;gap:0}.plan-subject-group .chips{margin:2px 0 8px}.plan-area{font-size:.78rem;color:var(--ink-3)}.plan-dday-small{color:var(--red);font-weight:600}.plan-exam-date{margin:0;display:grid;gap:2px}.plan-score-grid{display:grid;gap:6px 16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr))}.plan-score{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.88rem}.plan-score-in{display:inline-flex;align-items:center;gap:4px}.plan-score-in input{width:4.5em;font:inherit;padding:4px 6px;border:1px solid var(--rule);border-radius:var(--radius, 2px);background:var(--surface);color:var(--ink)}.plan-score-in small{color:var(--ink-3)}.plan-why{margin-top:14px;padding-top:12px;border-top:1px dashed var(--rule)}.plan-why-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.plan-why-body{margin-top:8px;padding:10px 12px;background:var(--surface-2, var(--teal-soft));border-radius:var(--radius, 2px);font-size:.92rem}.plan-why-body.is-stale{opacity:.6}.plan-strip{position:sticky;top:var(--topbar-h, 0px);z-index:9;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;justify-content:space-between;padding:8px max(var(--gutter, 1.25rem),calc((100% - var(--page-max, 1080px)) / 2));margin:0 0 4px;background:var(--teal-soft);border-top:1px solid var(--teal);border-bottom:1px solid var(--teal)}.plan-strip-main{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}.plan-strip-tag{font-size:.72rem;color:var(--teal);font-weight:600}.plan-strip-title{font-size:.92rem;overflow-wrap:anywhere}.plan-strip-actions{display:flex;gap:6px;flex-wrap:wrap}.plan-strip-actions .btn{padding:5px 12px}.plan-strip-err{flex-basis:100%;margin:0;font-size:.82rem;color:var(--red)}.plan-block-head{list-style:none;margin:.6rem 0 .1rem 2.9rem;padding:.5rem .75rem;border-left:3px solid var(--accent, var(--ink));background:var(--surface, transparent);display:grid;gap:.1rem}.plan-block-head:first-child{margin-top:0}.plan-block-n{font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--accent, var(--muted))}.plan-block-head p{margin:0;font-size:.85rem;color:var(--muted, inherit)}@media(max-width:640px){.plan-block-head{margin-left:0}}.paper:hover:not(:disabled){border-color:var(--teal)}.paper:disabled{opacity:.5;cursor:default}.paper small.done{color:var(--teal)}.exam{display:block;max-width:560px;margin:0 auto;padding:16px}.exam.split{display:grid;grid-template-columns:1fr 400px;max-width:none;padding:0;height:100dvh}.view-toggle{display:none}@media(max-width:900px){.exam.split{grid-template-columns:1fr;height:auto}.exam.split .view-toggle{display:flex}.exam.split.show-omr .paper-view,.exam.split.show-paper .omr-grid,.exam.split.show-paper .keys{display:none}.exam.split.show-paper .paper-view{height:calc(100dvh - 150px)}}.omr-head{display:flex;justify-content:space-between;align-items:center;gap:8px;position:sticky;top:0;z-index:2;background:var(--surface);padding:6px 0 10px;border-bottom:1px solid var(--rule)}.timer{font-variant-numeric:tabular-nums;font-weight:700;font-size:1.25rem}.omr-grid li{display:flex;align-items:center;gap:6px;padding:3px 4px;border-bottom:1px dotted var(--rule-soft);border-radius:var(--radius, 2px)}.omr-grid li.current{background:var(--teal-soft)}.omr-grid li.listen .qn:after{content:"♪";font-size:.7em;margin-left:1px}.qn{width:2.4em;text-align:right;font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink-2)}.bubble{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--red);background:none;cursor:pointer;font-size:.8rem;color:var(--red);font-weight:600;padding:0;flex:none}.bubble[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}input.short{width:5.5em;text-align:center;font-variant-numeric:tabular-nums}.omr-foot{display:flex;gap:8px;padding:12px 0;position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--rule-soft)}.keys{margin:6px 0 0}.score .big small{font-size:1.1rem;color:var(--ink-3);font-weight:400}.result-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px}.mock-plan{display:grid;gap:10px}.mock-plan .period{display:grid;grid-template-columns:4.5em 1fr;gap:8px;align-items:center}.mock-plan select{font:inherit;padding:6px;border:1px solid var(--rule);border-radius:var(--radius, 2px);background:var(--surface);color:var(--ink);max-width:100%}.paper.is-plan{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}.paper .plan-pick{color:var(--red);font-weight:600}.xv-list{display:grid;gap:8px;margin:10px 0 14px}.xv-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:10px 14px;cursor:pointer}.xv-card:hover{border-color:var(--teal, var(--rule))}.xv-card:focus-visible{outline:2px solid var(--teal, var(--ink));outline-offset:2px}.xv-play{flex:none;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--teal, var(--ink));color:var(--surface);font-size:13px}.xv-text{display:grid;min-width:0}.xv-text b{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xv-open{display:grid;gap:6px}.xv-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.xv-wait{aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center;border:1px solid var(--rule);border-radius:12px;color:var(--rule);font-size:.9rem}.xv-list.is-compact .xv-card{padding:8px 10px}.sx-input{font:inherit;font-size:.88rem;padding:6px 9px;min-width:0;border:1px solid var(--rule, #cbd6d6);border-radius:var(--radius, 2px);background:var(--surface, #fff);color:var(--ink, #1b1f22)}input[type=search].sx-input{flex:1 1 14rem}.sx-note{font-size:.74rem;color:var(--ink-3, #7c8a91)}.sx-empty{font-size:.85rem;color:var(--ink-3, #7c8a91)}.sx-more{border:1px dashed var(--rule, #cbd6d6);background:none;color:var(--ink-2, #4e5a61);cursor:pointer;padding:.35rem .8rem;border-radius:var(--radius, 2px);font:inherit;font-size:.8rem}.sx-more:hover{border-color:var(--ink-3, #7c8a91);color:var(--ink, #1b1f22)}.sx-check{display:inline-flex;align-items:center;gap:5px;font-size:.84rem;color:var(--ink-2, #4e5a61);white-space:nowrap}.sx-seg{display:flex;flex-wrap:wrap;gap:4px}.sx-seg-scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%}.sx-seg-scroll::-webkit-scrollbar{display:none}.sx-seg button{flex:0 0 auto;font:inherit;font-size:.8rem;padding:.28rem .7rem;cursor:pointer;white-space:nowrap;border:1px solid var(--rule, #cbd6d6);border-radius:999px;background:var(--surface, #fff);color:var(--ink-2, #4e5a61)}.sx-seg button[aria-pressed=true]{border-color:var(--sx-ch, var(--ink, #1b1f22));color:var(--surface, #fff);background:var(--sx-ch, var(--ink, #1b1f22));font-weight:600}.sx-decks{display:grid;gap:8px;margin:8px 0 14px;min-width:0}.sx-decks-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}.sx-chips{--sx-row: 2.05rem;display:flex;flex-wrap:wrap;gap:.4rem;min-width:0}.sx-chips[data-collapsed]{max-height:calc(var(--sx-rows, 2) * var(--sx-row) + (var(--sx-rows, 2) - 1) * .4rem);overflow:hidden}.sx-chips button{display:inline-flex;align-items:baseline;gap:5px;max-width:100%;height:var(--sx-row);font:inherit;font-weight:400;font-size:.8rem;padding:.3rem .65rem;cursor:pointer;border:1px solid var(--rule, #cbd6d6);border-radius:var(--radius, 2px);background:transparent;color:var(--ink-2, #4e5a61)}.sx-chip-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:18rem}.sx-chips button small{font-size:.7rem;color:var(--ink-3, #7c8a91);font-variant-numeric:tabular-nums}.sx-chips button:hover{border-color:var(--ink-3, #7c8a91)}.sx-chips button[aria-pressed=true]{border-color:var(--red, #b03a2b);color:var(--red, #b03a2b);background:var(--red-soft, #f3e2de);font-weight:500}.sx-decks-foot{display:flex;gap:10px;align-items:center;min-height:0}.sx-decks-foot:empty{display:none}.sx-heat{display:grid;gap:10px;min-width:0}.sx-heat-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.8rem;color:var(--ink-2, #4e5a61)}.sx-heat-key{display:inline-flex;align-items:center;gap:5px}.sx-heat-key i{width:14px;height:14px;border-radius:3px;display:inline-block}.sx-heat-key b{font-weight:600;color:var(--ink, #1b1f22)}.sx-heat-rainbow{background:linear-gradient(90deg,#dc2626,#eab308,#16a34a,#06b6d4,#2563eb,#9333ea);width:28px!important}.sx-heat-depth{background:linear-gradient(90deg,#fbe9e4,#d6783c);width:28px!important}.sx-heat-unknown{background:repeating-linear-gradient(45deg,#fff 0,#fff 3px,#0000002e 3px,#0000002e 5px);border:1px solid rgba(0,0,0,.15)}.sx-heat-tools{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between}.sx-heat-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;flex:1 1 22rem;justify-content:flex-end;min-width:0}.sx-sample{margin:0;padding:6px 10px;font-size:.8rem;border:1px dashed var(--ochre, #8a6420);color:var(--ochre, #8a6420);background:var(--ochre-soft, #f2e9d6);border-radius:var(--radius, 2px)}.sx-heat-count{margin:0;font-size:.78rem;color:var(--ink-3, #7c8a91)}.sx-heat-grid{list-style:none;margin:0;padding:0;display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.sx-cell{min-width:0}.sx-cell>button,.sx-cell>div{width:100%;height:100%;text-align:left;font:inherit;cursor:pointer;display:flex;flex-direction:column;gap:3px;padding:8px 9px 7px;border:1px solid color-mix(in srgb,var(--sx-rgb) 60%,#000 10%);border-radius:var(--radius, 2px);background:color-mix(in srgb,var(--sx-rgb) var(--sx-k),#fff);color:#1b1f22;transition:transform .12s,box-shadow .12s}.sx-cell>div{cursor:default}.sx-cell[data-tone=light]>button,.sx-cell[data-tone=light]>div{color:#fff}.sx-cell>button:hover{transform:translateY(-1px);box-shadow:0 4px 12px -6px #00000073}.sx-cell[data-unknown]>button,.sx-cell[data-unknown]>div{background-image:repeating-linear-gradient(45deg,transparent 0 6px,rgba(0,0,0,.07) 6px 8px);border-style:dashed}.sx-cell[data-weak]>button,.sx-cell[data-weak]>div{outline:2px solid var(--ink, #1b1f22);outline-offset:-1px}.sx-cell-title{font-size:.84rem;font-weight:600;line-height:1.3;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sx-cell-group{font-size:.68rem;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sx-cell-bars{display:grid;gap:2px;margin-top:auto;padding-top:3px}.sx-cell-bar{display:grid;grid-template-columns:1.9em 1fr;gap:4px;align-items:center;font-size:.62rem;line-height:1}.sx-cell-bar b{font-weight:600;opacity:.9}.sx-cell-bar>span{height:5px;border-radius:999px;background:#ffffffbf;overflow:hidden;box-shadow:inset 0 0 0 1px #0000001f}.sx-cell-bar>span i{display:block;height:100%}.sx-cell-bar[data-none]>span{background:repeating-linear-gradient(45deg,#ffffffbf 0,#ffffffbf 3px,#0000001f 3px,#0000001f 5px)}.sx-cell-meta,.sx-cell-none{font-size:.66rem;opacity:.85}@media(max-width:560px){.sx-heat-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.sx-heat-filters{justify-content:flex-start;flex-basis:100%}.sx-heat-filters select.sx-input{flex:1 1 8rem}.sx-chip-t{max-width:11rem}}@media(prefers-reduced-motion:reduce){.sx-cell>button{transition:none}}.sx-chip-badge{font-family:var(--f-mono, ui-monospace, monospace)}.tool-ic{display:inline-grid;place-items:center;width:2rem;height:2rem;padding:0;border:0;border-radius:var(--radius, 4px);background:none;color:inherit;cursor:pointer}.tool-ic:hover{background:color-mix(in srgb,currentColor 14%,transparent)}.tool-ic[aria-pressed=true]{background:color-mix(in srgb,currentColor 22%,transparent)}.tool-ic:focus-visible{outline:2px solid var(--teal, #2a7f7a);outline-offset:1px}.tool-ic.danger{color:var(--red, #c0392b)}.tool-dot{display:inline-block;width:1.25rem;height:1.25rem;padding:0;border-radius:50%;border:2px solid rgba(255,255,255,.85);cursor:pointer;box-shadow:0 0 0 1px #0000002e}.tool-dot[aria-pressed=true]{box-shadow:0 0 0 2px currentColor}.tool-dot:focus-visible{outline:2px solid var(--teal, #2a7f7a);outline-offset:2px}@media(pointer:coarse){.tool-ic{width:2.4rem;height:2.4rem}.tool-dot{width:1.55rem;height:1.55rem}}.rp{--rp-rail: 2.4rem;--rp-gap: 1rem;--rp-ease: cubic-bezier(.22, .8, .24, 1);--rp-dur: .26s;min-width:0}.rp.is-wide{display:flex;align-items:stretch;gap:var(--rp-gap)}.rp.is-narrow{display:flex;flex-direction:column;gap:var(--rp-gap)}.rp-main{flex:1 1 0;min-width:0}.rp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.rp.is-wide .rp-left{position:relative;flex:0 0 auto;width:var(--rp-lw, 272px);transition:width var(--rp-dur) var(--rp-ease)}.rp.is-wide[data-left=closed] .rp-left,.rp.is-wide[data-left=drawer] .rp-left{width:var(--rp-rail)}.rp.is-dragging .rp-left{transition:none}.rp.is-dragging,.rp.is-dragging *{cursor:col-resize!important;-webkit-user-select:none;user-select:none}.rp-left-inner{position:sticky;top:var(--rp-top, 3.5rem);height:calc(100dvh - var(--rp-top, 3.5rem) - 1.25rem);overflow:hidden;overflow:clip}.rp-panel{position:absolute;inset:0 auto 0 0;width:var(--rp-lw, 272px);display:flex;flex-direction:column;background:var(--surface, #fff);border:1px solid var(--rule-soft, #e6e2d8);border-radius:3px;transition:opacity .2s ease,transform var(--rp-dur) var(--rp-ease),visibility 0s}.rp[data-left=closed] .rp-panel{opacity:0;transform:translate(-14px);visibility:hidden;pointer-events:none;transition:opacity .14s ease,transform var(--rp-dur) var(--rp-ease),visibility 0s linear var(--rp-dur)}.rp-rail,.rp-right-toggle{display:flex;flex-direction:column;align-items:center;gap:.55rem;width:var(--rp-rail);padding:.6rem 0;border:1px solid var(--rule-soft, #e6e2d8);border-radius:3px;background:var(--surface, #fff);color:var(--ink-2, #555);cursor:pointer;font-size:.78rem;line-height:1}.rp-rail{position:absolute;inset:0 auto auto 0;opacity:0;visibility:hidden;transition:opacity .2s ease 80ms,visibility 0s}.rp[data-left=closed] .rp-rail,.rp[data-left=drawer] .rp-rail{opacity:1;visibility:visible}.rp[data-left=open] .rp-rail{transition:opacity 80ms ease,visibility 0s linear 80ms}.rp-rail:hover,.rp-right-toggle:hover{color:var(--ink, #222);border-color:var(--rule, #d8d2c4)}.rp-rail:focus-visible,.rp-right-toggle:focus-visible,.rp-toggle:focus-visible,.rp-toc-item:focus-visible,.rp-resize:focus-visible{outline:2px solid var(--teal, #2a7f7a);outline-offset:1px}.rp-rail-label{writing-mode:vertical-rl;letter-spacing:.12em;white-space:nowrap}.rp-icon{flex:none}.rp-head{display:flex;align-items:center;gap:.4rem;padding:.5rem .45rem .45rem .8rem;border-bottom:1px solid var(--rule-soft, #e6e2d8)}.rp-title{flex:1;min-width:0;font-size:.8rem;letter-spacing:.08em;color:var(--ink-3, #888)}.rp-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border:none;border-radius:3px;background:transparent;color:var(--ink-2, #555);cursor:pointer}.rp-toggle:hover{background:var(--paper, #f7f5ef);color:var(--ink, #222)}.rp-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.35rem .35rem .8rem;scrollbar-width:thin}.rp-resize{position:absolute;top:0;bottom:0;right:calc(-.5 * var(--rp-gap) - 4px);width:9px;z-index:2;cursor:col-resize;touch-action:none;border-radius:4px}.rp-resize:after{content:"";position:absolute;top:0;bottom:0;left:4px;width:1px;background:transparent;transition:background .15s ease,box-shadow .15s ease}.rp-resize:hover:after,.rp.is-dragging .rp-resize:after,.rp-resize:focus-visible:after{background:var(--teal, #2a7f7a);box-shadow:0 0 0 1px var(--teal, #2a7f7a)}.rp-toc{font-size:.86rem;line-height:1.45}.rp-toc-heading{padding:.35rem .5rem .5rem;font-weight:600;color:var(--ink, #222);font-size:.88rem}.rp-toc-group{margin:0 0 .25rem}.rp-toc-chapter{display:flex;align-items:baseline;gap:.4rem;list-style:none;cursor:pointer;padding:.4rem .5rem;border-radius:3px;font-weight:600;font-size:.82rem;color:var(--ink-2, #555)}.rp-toc-chapter::-webkit-details-marker{display:none}.rp-toc-chapter:before{content:"";flex:none;width:.38rem;height:.38rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg) translateY(-.05rem);transition:transform .18s var(--rp-ease, ease)}.rp-toc-group[open]>.rp-toc-chapter:before{transform:rotate(45deg) translateY(-.15rem)}.rp-toc-chapter>span:first-child{flex:1;min-width:0}.rp-toc-chapter:hover{background:var(--paper, #f7f5ef)}.rp-toc-group[data-here]>.rp-toc-chapter{color:var(--ink, #222)}.rp-toc-count{font-size:.72rem;font-weight:400;color:var(--ink-3, #888);font-variant-numeric:tabular-nums}.rp-toc-list{list-style:none;margin:0;padding:0 0 .2rem}.rp-toc-item{position:relative;display:flex;align-items:baseline;gap:.35rem;width:100%;text-align:left;padding:.32rem .5rem .32rem .4rem;border:none;border-radius:3px;background:transparent;color:var(--ink-2, #555);cursor:pointer;font:inherit;transition:background .15s ease,color .15s ease}.rp-toc-item:hover{background:var(--paper, #f7f5ef);color:var(--ink, #222)}.rp-toc-item[aria-current=page]{background:var(--teal-soft, #e3f1ef);color:var(--ink, #222);font-weight:600;cursor:default}.rp-toc-item[aria-current=page]:before{content:"";position:absolute;left:0;top:.3rem;bottom:.3rem;width:3px;border-radius:2px;background:var(--teal, #2a7f7a)}.rp-toc-mark{flex:none;width:.9rem;font-size:.72rem;text-align:center;color:var(--teal, #2a7f7a)}.rp-toc-item[data-state=read] .rp-toc-mark{color:var(--ink-3, #888)}.rp-toc-title{flex:1;min-width:0;overflow-wrap:anywhere;word-break:keep-all}.rp-toc-meta{flex:none;font-size:.72rem;color:var(--ink-3, #888);font-weight:400}.rp.is-wide .rp-right{position:relative;flex:0 0 auto;width:var(--rp-rw, 19rem);display:flex;flex-direction:column;gap:.4rem;transition:width var(--rp-dur) var(--rp-ease)}.rp.is-wide[data-right=closed] .rp-right{width:var(--rp-rail)}.rp-right-toggle{flex:none;flex-direction:row;align-self:flex-end;width:auto;padding:.35rem .55rem;gap:.4rem;border-color:transparent;background:transparent}.rp-right-toggle .rp-rail-label{writing-mode:horizontal-tb;letter-spacing:.04em}.rp.is-wide[data-right=closed] .rp-right-toggle{position:sticky;top:var(--rp-top, 3.5rem);align-self:stretch;flex-direction:column;width:var(--rp-rail);padding:.6rem 0;border-color:var(--rule-soft, #e6e2d8);background:var(--surface, #fff)}.rp.is-wide[data-right=closed] .rp-right-toggle .rp-rail-label{writing-mode:vertical-rl;letter-spacing:.12em}.rp.is-wide .rp-right-body{flex:1 0 auto;width:var(--rp-rw, 19rem);display:grid;align-items:start;transition:opacity .2s ease,transform var(--rp-dur) var(--rp-ease),visibility 0s}.rp.is-wide .rp-right-body>*{min-width:0}.rp.is-wide[data-right=closed] .rp-right-body{position:absolute;top:0;left:0;opacity:0;transform:translate(14px);visibility:hidden;pointer-events:none;transition:opacity .14s ease,transform var(--rp-dur) var(--rp-ease),visibility 0s linear var(--rp-dur)}.rp.is-wide .rp-right{overflow-x:clip}.rp.is-narrow .rp-left{display:flex}.rp-drawer-open{display:inline-flex;align-items:center;gap:.35rem}.rp-drawer-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70}.rp-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#14141452;animation:rp-fade .2s ease both}.rp-drawer{position:absolute;top:0;bottom:0;left:0;width:min(20rem,86vw);display:flex;flex-direction:column;background:var(--surface, #fff);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);box-shadow:0 0 32px #0000002e;animation:rp-slide .24s var(--rp-ease, ease) both}.rp-drawer-root[data-state=closing] .rp-scrim{animation:rp-fade .2s ease reverse both}.rp-drawer-root[data-state=closing] .rp-drawer{animation:rp-slide .2s ease-in reverse both}@keyframes rp-fade{0%{opacity:0}to{opacity:1}}@keyframes rp-slide{0%{transform:translate(-100%)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){.rp-left,.rp-right,.rp-panel,.rp-rail,.rp-right-body,.rp-resize:after,.rp-toc-item,.rp-toc-chapter:before{transition:none!important}.rp-scrim,.rp-drawer{animation:none!important}}.lib-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.library h1{margin:.2rem 0 .4rem}.lib-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.lib-head h1,.lib-head h2{margin:0}.crumbs{display:flex;gap:6px;flex-wrap:wrap;align-items:baseline;font-size:.85rem;color:var(--ink-3);margin-bottom:6px}.crumbs .link{font-size:inherit}.lib-err{color:var(--red)}.tag.kind-overview{color:var(--teal);background:var(--teal-soft)}.resume-card{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.resume-title{font-weight:700;overflow-wrap:anywhere}.shelf{list-style:none;padding:0;margin:12px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:12px}.book-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius, 2px);padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-width:0}.book-card h2{font-size:1.1rem;margin:0}.book-card p{margin:0}.book-title{font:inherit;font-family:var(--f-display);font-weight:700;color:var(--ink);overflow-wrap:anywhere}.book-stat{font-size:.85rem;color:var(--ink-2)}.meter{height:6px;background:var(--rule-soft);border-radius:var(--radius, 2px);overflow:hidden;margin:4px 0}.meter span{display:block;height:100%;background:var(--teal)}.my-notes{margin-top:24px}.my-notes h2{font-size:1.1rem}.toc-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between}.toc-tools .chips{margin:8px 0}.toc-search,.report-form textarea,.memo-dialog textarea,.note-item textarea,.cmap-sort select{font:inherit;padding:6px 9px;border:1px solid var(--rule);border-radius:var(--radius, 2px);background:var(--surface);color:var(--ink)}.toc-search{width:min(100%,16rem)}.toc-chapter h2{font-size:1.02rem;margin:18px 0 6px}.toc-list{list-style:none;padding:0;margin:0;display:grid;gap:4px}.toc-item{width:100%;text-align:left;display:grid;grid-template-columns:1.4em minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid var(--rule-soft);background:var(--surface);border-radius:var(--radius, 2px);padding:8px 10px;cursor:pointer}.toc-item:hover,.toc-item:focus-visible{border-color:var(--teal)}.toc-item.overview .toc-title{font-weight:700}.toc-title{overflow-wrap:anywhere}.toc-mark{text-align:center;font-weight:700}.toc-mark.done{color:var(--teal)}.toc-mark.open{color:var(--ochre)}.toc-meta{display:flex;gap:6px;align-items:center;font-size:.78rem;color:var(--ink-3);white-space:nowrap}@media(max-width:480px){.toc-item{grid-template-columns:1.4em minmax(0,1fr)}.toc-meta{grid-column:2}}.reader-head h1{margin:6px 0 4px;overflow-wrap:anywhere}.reader-head p{margin:0 0 10px}.resume-banner{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--teal-soft);color:var(--ink);border:1px solid var(--teal);border-radius:var(--radius, 2px);padding:8px 12px;margin:8px 0 12px}.resume-banner .btn{padding:4px 12px}.reader .rp{--rp-rw: 18rem;--rp-top: calc(var(--stick-h, 88px) + 12px);--rp-gap: 20px}@media(min-width:62rem){.reader .rp{--rp-gap: 24px}.reader-notes{position:sticky;top:calc(var(--stick-h, 88px) + 12px);align-self:start;max-height:calc(100dvh - var(--stick-h, 88px) - 24px);overflow-y:auto}}.reader-main{min-width:0}.reader-body{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius, 2px);padding:18px 20px;overflow-wrap:anywhere}@media(max-width:480px){.reader-body{padding:14px}}.study-body{font-size:1.02rem;line-height:1.85}.study-body h2{font-size:1.2rem;margin:1.4em 0 .4em}.study-body h3{font-size:1.05rem;margin:1.2em 0 .3em}.study-body ul,.study-body ol{padding-left:1.3em}.study-body pre{overflow-x:auto}.study-body .katex-display{overflow-x:auto;overflow-y:hidden}.reader-endline{height:1px}.reader-notes{min-width:0}.notes-title{font-size:1rem;margin:0 0 8px}h3.notes-title{margin-top:16px}.reader-end{margin-top:24px}.reader-end h2{font-size:1.05rem;margin:22px 0 8px}.concept-chips{list-style:none;padding:0;margin:0 0 6px;display:flex;flex-wrap:wrap;gap:6px}.concept-chips .btn{padding:4px 10px;font-size:.88rem}.related-q,.plain-list{list-style:none;padding:0;margin:0;display:grid;gap:6px}.related-q li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--rule-soft)}.related-q .q-snip{flex-basis:100%}.q-status{font-size:.8rem;color:var(--ink-3)}.q-status.ok{color:var(--teal)}.q-status.ng{color:var(--red)}.pager{display:flex;justify-content:space-between;gap:8px;margin:24px 0 8px}.pager .btn{max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report{margin-top:16px;font-size:.85rem}.report-form{display:grid;gap:6px;margin-top:16px}.report-form label{font-size:.9rem}.skel{padding:18px 20px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius, 2px)}.skel-line{height:.9em;margin:.65em 0;border-radius:var(--radius, 2px);background:var(--rule-soft);animation:lib-pulse 1.4s ease-in-out infinite;animation-delay:.18s}.skel-gap{height:1em}@keyframes lib-pulse{0%,to{opacity:1}50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.skel-line{animation:none}}.note-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.note-item{background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--ochre);border-radius:var(--radius, 2px);padding:8px 10px;display:grid;gap:4px;min-width:0}.note-item.c-memorize{border-left-color:var(--teal)}.note-item.c-unsure{border-left-color:var(--red)}.note-item.c-note{border-left-color:var(--ink-3)}.note-quote{font-size:.88rem;color:var(--ink-2);margin:0;overflow-wrap:anywhere}.note-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.92rem}.note-actions{display:flex;gap:12px;font-size:.82rem}.link.danger{color:var(--red)}.note-item textarea{width:100%}::highlight(sn-hl-key){background-color:color-mix(in srgb,var(--ochre) 30%,transparent)}::highlight(sn-hl-memorize){background-color:color-mix(in srgb,var(--teal) 26%,transparent)}::highlight(sn-hl-unsure){background-color:color-mix(in srgb,var(--red) 24%,transparent)}::highlight(sn-ul){text-decoration:underline 2px var(--red);text-underline-offset:.22em}::highlight(sn-memo){text-decoration:underline dotted 2px var(--ink-2);text-underline-offset:.22em}::highlight(sn-active){background-color:color-mix(in srgb,var(--teal) 45%,transparent)}.sel-tools{position:fixed;z-index:70;display:flex;flex-wrap:wrap;gap:4px;padding:5px;background:var(--ink);color:var(--paper);border-radius:var(--radius, 2px);box-shadow:0 4px 16px color-mix(in srgb,var(--ink) 25%,transparent)}.sel-tools{align-items:center;padding:4px 6px;gap:2px}.sel-tools .tool-ic{color:var(--paper)}.sel-tools .hl-dot{margin:0 3px}.sel-tools .hl-dot.key{background:var(--ochre)}.sel-tools .hl-dot.memorize{background:var(--teal)}.sel-tools .hl-dot.unsure{background:var(--red)}.sel-sep{width:1px;height:1.2rem;margin:0 3px;background:color-mix(in srgb,var(--paper) 35%,transparent)}.reader-tabs{display:flex;gap:4px;margin:0 0 10px;border-bottom:1px solid var(--rule)}.reader-tabs button{border:0;background:none;padding:6px 10px;font:inherit;font-size:.92rem;color:var(--ink-3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.reader-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--red);font-weight:600}.reader-tabs small{color:var(--ink-3);font-weight:400}.gichul-spots{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:8px}.gichul-spots li{padding:6px 0;border-bottom:1px solid var(--rule-soft);display:grid;gap:4px}.gichul-snip{text-align:left;font-size:.86rem;color:var(--ink-2);overflow-wrap:anywhere}.gichul-tags{display:flex;flex-wrap:wrap;gap:4px}.gichul-tags .ex-tag{font-size:.78rem}.ex-cite.ex-flash{outline:2px solid var(--teal);outline-offset:2px;border-radius:3px;transition:outline-color .3s}.memo-dialog,.term-pop{position:fixed;z-index:71;background:var(--surface);color:var(--ink);border:1px solid var(--rule);border-radius:var(--radius, 2px);padding:12px 14px;box-shadow:0 6px 24px color-mix(in srgb,var(--ink) 22%,transparent)}.memo-dialog textarea{width:100%;resize:vertical}.memo-quote{margin:0 0 6px;font-size:.85rem;color:var(--ink-2);overflow-wrap:anywhere}.term-pop{max-height:min(60dvh,420px);overflow-y:auto}.term-pop:focus{outline:none}.term-pop-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.term-pop-body .prose{font-size:.92rem;line-height:1.7}.term-pop .row{margin-top:6px}strong.term-link{text-decoration:underline dotted 1.5px var(--teal);text-underline-offset:.25em;cursor:pointer}strong.term-link:hover,strong.term-link:focus-visible{color:var(--teal);outline:none}.legend{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0}.legend-item{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--rule);background:var(--surface);border-radius:999px;padding:3px 10px;font-size:.82rem;cursor:pointer}.legend-item[aria-pressed=true]{border-color:var(--ink);font-weight:600}.legend-item small{color:var(--ink-3)}.legend-item .sw{width:.9em;height:.9em;border-radius:var(--radius, 2px);border:1px solid var(--rule);background:var(--lv-bg)}.cmap-sort{margin:0 0 10px}.cmap-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}@media(min-width:62rem){.cmap-layout:has(.cmap-detail){grid-template-columns:minmax(0,1fr) 22rem}.cmap-detail{position:sticky;top:calc(var(--stick-h, 88px) + 12px);max-height:calc(100dvh - var(--stick-h, 88px) - 24px);overflow-y:auto}}.cmap-detail h2{font-size:1.15rem;overflow-wrap:anywhere}.cmap-detail h3{font-size:.98rem;margin:16px 0 6px}.cmap-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,9.5rem),1fr));gap:6px}.cell{position:relative;width:100%;min-height:4.6rem;text-align:left;display:flex;flex-direction:column;justify-content:space-between;gap:4px;border:1px solid var(--lv-border, var(--rule));background:var(--lv-bg);color:var(--ink);border-radius:var(--radius, 2px);padding:7px 9px;cursor:pointer}.cell[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:1px}.cell-name{font-size:.86rem;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.cell-foot{display:flex;justify-content:space-between;align-items:baseline;gap:4px;font-size:.72rem;color:var(--ink-2)}.cell-num{font-weight:700;font-variant-numeric:tabular-nums;font-size:.9rem;color:var(--ink)}.cell-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--red)}.lv-none{--lv-bg: var(--surface);--lv-border: var(--rule)}.lv-readonly{--lv-bg: var(--paper);--lv-border: var(--ink-3)}.cell.lv-readonly{border-style:dashed}.lv-weak{--lv-bg: var(--red-soft);--lv-border: var(--red)}.lv-fair{--lv-bg: var(--ochre-soft);--lv-border: var(--ochre)}.lv-good{--lv-bg: var(--teal-soft);--lv-border: color-mix(in srgb, var(--teal) 50%, var(--rule))}.lv-solid{--lv-bg: color-mix(in srgb, var(--teal) 32%, var(--surface));--lv-border: var(--teal)}.ex-panel .find-crop{max-width:100%}.cmap-view{margin:4px 0 10px}.cell-diff{position:absolute;right:7px;bottom:26px;line-height:1;color:var(--ink-2);opacity:.7}.cmap-sky{display:flex;flex-direction:column;gap:.7rem;min-width:0}.cmap-sky-legend .cst-notes-body{display:flex;flex-direction:row;flex-wrap:wrap;gap:.25rem 1.1rem;margin:0;font-size:.8rem}.cmap-sky-glyph{margin-left:.35rem;white-space:nowrap}.cmap-sky-nb{display:flex;flex-direction:column;gap:.55rem;border-top:1px solid var(--rule-soft);padding-top:.7rem}.cmap-sky-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .8rem}.cmap-sky-rel{display:flex;flex-direction:column;gap:.1rem}.cmap-sky-chips{margin:0}.cmap-sky-chips small{color:var(--ink-3);margin-left:.2rem}.cmap[data-view=sky] .cmap-layout:has(.cmap-detail){grid-template-columns:minmax(0,1fr)}.cmap[data-view=sky] .cmap-detail{position:static;max-height:none}.study-fab{--fab-ink: var(--teal);--fab-soft: var(--teal-soft);position:fixed;z-index:58;left:calc(16px + env(safe-area-inset-left));bottom:calc(16px + env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:2px;height:44px;padding:0 4px;border:1.5px solid var(--fab-ink);border-radius:999px;background:var(--surface);color:var(--ink);box-shadow:0 8px 24px -14px var(--ink-3)}.study-fab[data-state=idle]{--fab-ink: var(--ochre);--fab-soft: var(--ochre-soft)}.study-fab[data-state=paused]{--fab-ink: var(--ink-3);--fab-soft: var(--rule-soft);border-style:dashed}.study-fab button{border:0;background:none;color:inherit;cursor:pointer}.study-fab button:focus-visible{outline:2px solid var(--fab-ink);outline-offset:2px;border-radius:999px}.study-fab-toggle{display:grid;place-items:center;width:32px;height:32px;padding:0;border-radius:50%;background:var(--fab-soft)!important;color:var(--fab-ink)!important}.study-fab-main{display:inline-flex;align-items:center;gap:6px;height:100%;padding:0 8px 0 4px}.study-fab-time{font-variant-numeric:tabular-nums;font-weight:700;font-size:1rem;color:var(--fab-ink)}.study-fab-label{font-size:.72rem;color:var(--fab-ink)}.study-plan-badge{position:fixed;z-index:58;left:calc(16px + env(safe-area-inset-left));bottom:calc(66px + env(safe-area-inset-bottom));border:1px solid var(--teal);border-radius:999px;background:var(--teal-soft);padding:1px 8px;cursor:pointer;font-size:.66rem;font-weight:600;color:var(--teal);line-height:1.5}.study-plan-badge:hover{text-decoration:underline}.study-panel{position:fixed;z-index:59;left:calc(16px + env(safe-area-inset-left));bottom:calc(70px + env(safe-area-inset-bottom));width:min(380px,calc(100vw - 32px));max-height:min(640px,calc(100dvh - 110px));overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding:14px 16px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius, 2px);box-shadow:0 18px 50px -18px var(--ink-3)}.study-panel-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;flex-wrap:wrap}.study-panel-head>div:first-child{display:flex;flex-direction:column}.study-panel-today{font-family:var(--f-display);font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}.study-panel-actions{display:flex;gap:6px}.study-panel-actions .btn{padding:5px 10px;font-size:.85rem}.study-status{font-size:.78rem;color:var(--teal)}.study-status[data-state=idle]{color:var(--ochre)}.study-status[data-state=paused]{color:var(--ink-3)}.study-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0}.study-stats>div{min-width:0;padding:6px 8px;background:var(--surface);border:1px solid var(--rule-soft);border-radius:var(--radius, 2px)}.study-stats dt{font-size:.7rem;color:var(--ink-3)}.study-stats dd{margin:2px 0 0;font-size:.88rem;font-weight:600;font-variant-numeric:tabular-nums}.study-chart{margin:0}.study-chart svg{width:100%;height:auto;display:block}.study-axis{stroke:var(--rule);stroke-width:1}.study-bar{fill:var(--teal);opacity:.55}.study-bar-today{fill:var(--teal)}.study-tick{fill:var(--ink-3);font-size:9px}.study-h{font-family:var(--f-body);font-size:.82rem;color:var(--ink-2);margin:0 0 4px}.study-kinds,.study-top{list-style:none;margin:0;padding:0;font-size:.86rem}.study-kinds li,.study-top li{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border-bottom:1px solid var(--rule-soft)}.study-kinds li span:last-child,.study-top li span:last-child{font-variant-numeric:tabular-nums;color:var(--ink-2);white-space:nowrap}.study-top .link{overflow-wrap:anywhere}.study-note{margin:0}@media print{.study-fab,.study-panel,.study-plan-badge{display:none}}.dash{min-width:0}.dash-h{font-size:1.05rem;margin:0 0 8px}.dash-h small{font-family:var(--f-body);font-weight:400}.dash-scroll{overflow-x:auto}.dash-table td{vertical-align:top}.dash-area{font-size:.72rem;color:var(--ink-3)}.dash-acc{display:grid;gap:2px;min-width:120px}.dash-acc small{color:var(--ink-3)}.dash-low{color:var(--red)!important;font-weight:600}.dash-meter{display:block;height:6px;border-radius:999px;background:var(--rule-soft);overflow:hidden}.dash-meter i{display:block;height:100%;background:var(--teal)}.dash-meter i[data-low]{background:var(--red)}.dash-omr{display:inline-block;margin:0 6px 2px 0;padding:0 6px;border:1px solid var(--rule);border-radius:var(--radius, 2px);font-variant-numeric:tabular-nums;font-size:.85rem}.dash-list{list-style:none;margin:0;padding:0}.dash-list li{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--rule-soft)}.dash-list-main{display:flex;flex-direction:column;min-width:0;flex:1 1 200px}.dash-list-main strong,.dash-quote{overflow-wrap:anywhere}.dash-list-actions{display:flex;gap:6px;flex-wrap:wrap}.dash-list-actions .btn{padding:5px 10px;font-size:.85rem}.dash-quote{font-size:.92rem}.dash-note{color:var(--ink-2);overflow-wrap:anywhere}.dash-bars{list-style:none;margin:0;padding:0;display:grid;gap:6px}.dash-bars li{display:grid;grid-template-columns:minmax(70px,7.5em) minmax(0,1fr) auto;gap:8px;align-items:center;font-size:.86rem}.dash-bars-label{overflow-wrap:anywhere}.dash-bars-track{height:8px;background:var(--rule-soft);border-radius:999px;overflow:hidden}.dash-bars-track i{display:block;height:100%;background:var(--teal)}.dash-bars-val{font-variant-numeric:tabular-nums;color:var(--ink-2);white-space:nowrap}.dash-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0 12px}.dash-tile{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.dash-tile-label{font-size:.82rem;color:var(--ink-2)}.dash-tile-num{font-family:var(--f-display);font-size:2rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.dash-tile-num small{font-family:var(--f-body);font-size:.85rem;font-weight:400;color:var(--ink-3);margin-left:2px}.dash-sub{margin:-2px 0 10px}:root{--chat-teal: var(--teal, var(--accent, #1f6f78));--chat-teal-soft: var(--teal-soft, color-mix(in srgb, var(--chat-teal) 14%, transparent));--chat-paper: var(--paper, var(--bg, #fbfaf7));--chat-surface: var(--surface, #ffffff);--chat-rule: var(--rule, var(--line, #dedbd3));--chat-rule-soft: var(--rule-soft, color-mix(in srgb, var(--chat-rule) 55%, transparent));--chat-text: var(--ink, var(--fg, #1c1c1c));--chat-text-2: var(--ink-2, var(--muted, #45464a));--chat-text-3: var(--ink-3, var(--muted, #7a7b80));--chat-red: var(--red, #b3261e);--chat-red-soft: var(--red-soft, color-mix(in srgb, var(--chat-red) 10%, transparent));--chat-ochre: var(--ochre, #b8860b);--chat-ochre-soft: var(--ochre-soft, color-mix(in srgb, var(--chat-ochre) 12%, transparent));--chat-display: var(--f-display, inherit);--chat-mono: var(--f-mono, ui-monospace, SFMono-Regular, Menlo, monospace)}:root{--chat-ink: var(--chat-teal);--chat-ink-deep: #163e49;--chat-shadow: 0 18px 50px -18px rgba(18, 44, 52, .45), 0 2px 8px rgba(18, 44, 52, .12);--chat-radius: 18px;--chat-ease: cubic-bezier(.2, .9, .25, 1.15)}@media(prefers-color-scheme:dark){:root{--chat-ink-deep: #3f8797;--chat-shadow: 0 18px 50px -12px rgba(0, 0, 0, .7), 0 2px 8px rgba(0, 0, 0, .4)}}.chat-fab{position:fixed;right:calc(1.25rem + env(safe-area-inset-right));bottom:calc(1.25rem + env(safe-area-inset-bottom));z-index:60;width:60px;height:60px;padding:0;border:0;border-radius:50%;cursor:pointer;color:var(--chat-ink-deep);background:#e3ecd2;box-shadow:var(--chat-shadow),0 0 0 2.5px var(--chat-ink);transition:transform .35s var(--chat-ease),box-shadow .3s ease;animation:chat-fab-in .6s var(--chat-ease) both}.chat-fab:hover{transform:translateY(-2px) scale(1.04)}.chat-fab:active{transform:scale(.96)}.chat-fab:focus-visible{outline:3px solid var(--chat-teal-soft);outline-offset:3px}.chat-fab-face{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:hidden;border-radius:50%}.chat-fab-pul{width:56px;height:56px;transform-origin:50% 85%;transition:transform .45s var(--chat-ease),opacity .25s ease;animation:chat-pul-nod 7s ease-in-out 2.5s infinite}.chat-fab:hover .chat-fab-pul{transform:rotate(-8deg) translateY(-2px);animation:none}.chat-fab-nib{width:30px;height:30px;transform:rotate(38deg) translate(1px,-2px);transform-origin:50% 90%;transition:transform .45s var(--chat-ease),opacity .25s ease}.nib-body{fill:currentColor}.nib-slit,.nib-shoulder{stroke:var(--chat-ink-deep);stroke-width:1.3;stroke-linecap:round;fill:none}.nib-hole{fill:var(--chat-ink-deep)}.chat-fab-nib .nib-shoulder{opacity:.55}.chat-fab-ink{position:absolute;left:14px;bottom:11px;width:30px;height:8px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-dasharray:48;stroke-dashoffset:48;opacity:.85}.chat-fab:hover .chat-fab-nib{transform:rotate(52deg) translate(-2px,-4px)}.chat-fab:hover .chat-fab-ink{animation:chat-ink-draw .7s ease-out forwards}.chat-fab-close{position:absolute;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;opacity:0;transform:rotate(-90deg) scale(.6);transition:transform .4s var(--chat-ease),opacity .2s ease}.chat-fab.is-open .chat-fab-pul{opacity:0;transform:scale(.4);animation:none}.chat-fab.is-open .chat-fab-close{opacity:1;transform:none}.chat-fab-drop{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50% 50% 50% 0;background:var(--chat-ink);opacity:0;animation:chat-drop 7s ease-in 2.5s infinite}.chat-fab-ripple{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid var(--chat-ink);opacity:0;animation:chat-ripple 7s ease-out 3.05s infinite}.chat-fab.is-open .chat-fab-drop,.chat-fab.is-open .chat-fab-ripple{animation:none;opacity:0}.chat-fab-drop{display:none}.chat-fab.is-busy:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid transparent;border-top-color:var(--chat-ink);border-right-color:var(--chat-ink);animation:chat-spin 1s linear infinite}.chat-fab-badge{position:absolute;top:3px;right:3px;width:13px;height:13px;border-radius:50%;background:var(--chat-red);border:2px solid var(--chat-paper);animation:chat-pop .4s var(--chat-ease)}.chat-greeting{position:fixed;right:calc(1.25rem + 70px + env(safe-area-inset-right));bottom:calc(1.25rem + 12px + env(safe-area-inset-bottom));z-index:60;padding:.55rem .9rem;border:1px solid var(--chat-rule);border-radius:14px 14px 4px;background:var(--chat-surface);color:var(--chat-text-2);font-size:.85rem;box-shadow:var(--chat-shadow);cursor:pointer;animation:chat-greet .5s var(--chat-ease) both}.chat-greeting strong{color:var(--chat-teal);font-weight:600}.chat-panel{position:fixed;right:calc(1.25rem + env(safe-area-inset-right));bottom:calc(1.25rem + 72px + env(safe-area-inset-bottom));z-index:59;width:min(420px,calc(100vw - 2.5rem));height:min(680px,calc(100dvh - 7.5rem - env(safe-area-inset-top) - env(safe-area-inset-bottom)));display:flex;flex-direction:column;background:var(--chat-paper);border:1px solid var(--chat-rule);border-radius:var(--chat-radius);box-shadow:var(--chat-shadow);overflow:hidden;transform-origin:calc(100% - 30px) calc(100% + 40px);opacity:0;transform:translateY(12px) scale(.92);pointer-events:none;visibility:hidden;transition:opacity .22s ease,transform .38s var(--chat-ease),visibility 0s linear .38s}.chat-panel.is-open{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .22s ease,transform .38s var(--chat-ease),visibility 0s}.chat-head{display:flex;align-items:center;gap:.7rem;padding:.8rem .75rem .8rem 1rem;background:var(--chat-surface);border-bottom:1px solid var(--chat-rule-soft)}.chat-head-mark{width:36px;height:36px;border-radius:50%;flex:none;display:grid;place-items:center;background:#e3ecd2;box-shadow:0 0 0 1.5px var(--chat-ink);overflow:hidden}.chat-head-mark .mascot-face{width:36px;height:36px}.chat-head-title{display:flex;flex-direction:column;line-height:1.3;min-width:0;flex:1}.chat-head-title strong{font-family:var(--chat-display);font-weight:700;font-size:1.02rem}.chat-head-title span{font-size:.74rem;color:var(--chat-text-3)}.chat-head-actions{display:flex;gap:.15rem}.chat-icon{width:34px;height:34px;padding:0;border:0;border-radius:10px;display:grid;place-items:center;background:transparent;color:var(--chat-text-2);cursor:pointer;transition:background .15s ease,color .15s ease}.chat-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.chat-icon:hover,.chat-icon[aria-pressed=true]{background:var(--chat-teal-soft);color:var(--chat-teal)}.chat-icon:focus-visible{outline:2px solid var(--chat-teal);outline-offset:1px}.chat-icon.small{width:28px;height:28px;border-radius:8px}.chat-icon.small svg{width:15px;height:15px}.chat-history{position:absolute;top:61px;left:0;right:0;bottom:0;z-index:2;background:var(--chat-paper);display:flex;flex-direction:column;animation:chat-slide .25s ease both}.chat-history-head{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.8rem;color:var(--chat-text-3);border-bottom:1px solid var(--chat-rule-soft)}.chat-local-only{color:var(--chat-text-3);font-size:.75em}.chat-history-note{margin:0;padding:.5rem 1rem .2rem;color:var(--chat-text-3);font-size:.78rem;line-height:1.5}.chat-history-empty{padding:1.5rem 1rem;color:var(--chat-text-3);font-size:.9rem}.chat-history ul{list-style:none;margin:0;padding:.4rem;overflow-y:auto}.chat-history li{display:flex;align-items:center;gap:.2rem;border-radius:10px}.chat-history li:hover,.chat-history li.is-active{background:var(--chat-surface)}.chat-history-item{flex:1;min-width:0;display:flex;justify-content:space-between;gap:.6rem;padding:.6rem .7rem;border:0;background:transparent;cursor:pointer;text-align:left}.chat-history-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-history-item time{flex:none;font-family:var(--chat-mono);font-size:.7rem;color:var(--chat-text-3)}.chat-history li.is-active .chat-history-item span{color:var(--chat-teal);font-weight:500}.chat-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:1rem 1rem .5rem;scroll-behavior:smooth}.chat-empty{text-align:center;padding:1.2rem .25rem .5rem}.chat-empty-mark{display:grid;place-items:center;margin:0 auto .3rem}.chat-empty-mark .mascot{width:112px;height:112px}.chat-empty h3{font-family:var(--chat-display);font-weight:700;font-size:1.2rem;margin:.4rem 0 .35rem}.chat-empty p{margin:0 auto 1.1rem;max-width:30ch;color:var(--chat-text-2);font-size:.86rem;line-height:1.6}.chat-empty p strong{color:var(--chat-teal);font-weight:600}.chat-samples{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;text-align:left}.chat-sample{display:flex;flex-direction:column;gap:.2rem;padding:.65rem .75rem;border:1px solid var(--chat-rule);border-radius:12px;background:var(--chat-surface);cursor:pointer;text-align:left;transition:border-color .15s ease,transform .2s var(--chat-ease),box-shadow .2s ease;animation:chat-rise .4s var(--chat-ease) both}.chat-sample strong{font-size:.82rem;font-weight:600;color:var(--chat-teal)}.chat-sample span{font-size:.76rem;color:var(--chat-text-2);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat-sample:hover{border-color:var(--chat-teal);transform:translateY(-2px);box-shadow:0 6px 16px -10px #122c3480}.chat-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.chat-turn{animation:chat-rise .3s ease both}.chat-turn.user{display:flex;justify-content:flex-end}.chat-turn.assistant{display:grid;grid-template-columns:26px minmax(0,1fr);gap:.55rem;align-items:start}.chat-turn-face{margin-top:.15rem;box-shadow:0 0 0 1px var(--chat-rule)}.chat-bubble{max-width:85%;padding:.6rem .85rem;border-radius:16px 16px 4px;background:var(--chat-ink);color:#f5f7f3;white-space:pre-wrap;word-break:break-word;font-size:.92rem;line-height:1.6;font-weight:400}@media(prefers-color-scheme:dark){.chat-bubble{color:#0f1a1d}}.chat-answer{font-size:.92rem;line-height:1.7;color:var(--chat-text)}.chat-thinking{display:inline-flex;align-items:center;gap:.3rem;color:var(--chat-text-3);font-size:.85rem}.chat-thinking-pul{width:44px;height:44px;margin:-6px .1rem -6px -4px;animation:mascot-bob 1.4s ease-in-out infinite}.chat-thinking i{width:6px;height:6px;border-radius:50%;background:var(--chat-teal);animation:chat-dot 1.1s ease-in-out infinite}.chat-thinking i:nth-child(3){animation-delay:.15s}.chat-thinking i:nth-child(4){animation-delay:.3s}.chat-caret{display:inline-block;width:7px;height:1em;margin-left:2px;vertical-align:-.15em;background:var(--chat-teal);border-radius:1px;animation:chat-blink .9s steps(2) infinite}.chat-error{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.4rem;padding:.55rem .75rem;border:1px solid var(--chat-red);border-radius:10px;background:var(--chat-red-soft);color:var(--chat-red);font-size:.84rem}.chat-stopped{margin-top:.3rem;font-size:.78rem;color:var(--chat-text-3)}.chat-sources{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.7rem}.chat-sources-label{font-family:var(--chat-mono);font-size:.68rem;letter-spacing:.08em;color:var(--chat-text-3)}.chat-source{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;padding:.18rem .55rem .18rem .2rem;border:1px solid var(--chat-rule);border-radius:999px;background:var(--chat-surface);color:var(--chat-text-2);font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:border-color .2s ease,background .2s ease}.chat-source b{flex:none;display:grid;place-items:center;min-width:18px;height:18px;border-radius:50%;background:var(--chat-teal-soft);color:var(--chat-teal);font-size:.68rem;font-weight:600}.chat-source.is-hot{border-color:var(--chat-teal);background:var(--chat-teal-soft)}.chat-actions{display:flex;gap:.1rem;margin-top:.35rem;opacity:.7;transition:opacity .15s ease}.chat-turn:hover .chat-actions,.chat-actions:focus-within{opacity:1}.chat-followups{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;margin-top:.6rem}.chat-followup{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border:1px solid var(--chat-rule);border-radius:999px;background:transparent;color:var(--chat-text-2);font-size:.82rem;text-align:left;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease;animation:chat-rise .35s var(--chat-ease) both}.chat-followup svg{width:13px;height:13px;flex:none;fill:none;stroke:var(--chat-teal);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chat-followup:hover{border-color:var(--chat-teal);color:var(--chat-teal);background:var(--chat-teal-soft)}.chat-page{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem .5rem 1rem;background:var(--chat-surface);border-bottom:1px solid var(--chat-rule-soft);font-size:.8rem}.chat-page-icon{flex:none;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--chat-rule-soft);color:var(--chat-text-3);transition:background .15s ease,color .15s ease}.chat-page.is-on .chat-page-icon{background:var(--chat-teal-soft);color:var(--chat-teal)}.chat-page-icon svg,.chat-turn-page svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.chat-page-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35}.chat-page-text b{font-weight:600;color:var(--chat-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-page:not(.is-on) .chat-page-text b{color:var(--chat-text-3);text-decoration:line-through;text-decoration-color:var(--chat-rule)}.chat-page-text small{font-size:.72rem;color:var(--chat-text-3)}.chat-switch{flex:none;position:relative;width:38px;height:22px;padding:0;border:0;border-radius:11px;background:var(--chat-rule);cursor:pointer;transition:background .2s ease}.chat-switch i{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--chat-surface);box-shadow:0 1px 3px #00000040;transition:transform .2s var(--chat-ease)}.chat-switch[aria-checked=true]{background:var(--chat-teal)}.chat-switch[aria-checked=true] i{transform:translate(16px)}.chat-switch:focus-visible{outline:2px solid var(--chat-teal);outline-offset:2px}.chat-turn.user{flex-direction:column;align-items:flex-end;gap:.25rem}.chat-turn-page{display:inline-flex;align-items:center;gap:.25rem;max-width:85%;font-size:.7rem;color:var(--chat-text-3)}.chat-turn-page svg{width:12px;height:12px;flex:none}.chat-quote{margin:0 0 .45rem;padding:.1rem 0 .1rem .6rem;border-left:3px solid currentColor;opacity:.85;font-size:.82rem;line-height:1.5;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.chat-quote-draft{display:flex;align-items:flex-start;gap:.4rem;margin:.5rem .75rem 0;padding:.5rem .4rem .5rem .75rem;border:1px dashed var(--chat-teal);border-radius:12px;background:var(--chat-teal-soft);color:var(--chat-teal);animation:chat-rise .2s ease both}.chat-quote-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.chat-quote-draft .chat-quote{margin:0;color:var(--chat-text-2);border-left-color:var(--chat-teal)}.chat-quote-memo{font-size:.72rem;color:var(--chat-teal)}.chat-memo-saved{display:inline-flex;align-items:center;gap:.3rem;margin-top:.5rem;padding:.2rem .55rem;border-radius:999px;background:var(--chat-teal-soft);color:var(--chat-teal);font-size:.75rem}.chat-memo-saved svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.chat-ask{position:fixed;z-index:61;transform:translate(-50%);display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .8rem .45rem .6rem;border:0;border-radius:999px;background:var(--chat-ink);color:#f5f7f3;font:inherit;font-size:.82rem;font-weight:600;box-shadow:var(--chat-shadow);cursor:pointer;animation:chat-rise .18s ease both;-webkit-user-select:none;user-select:none}@media(prefers-color-scheme:dark){.chat-ask{color:#0f1a1d}}.chat-ask-pul{width:20px;height:20px;margin:-2px 0;box-shadow:0 0 0 1.5px #ffffffb3}.chat-compose{display:flex;align-items:flex-end;gap:.5rem;margin:.5rem .75rem 0;padding:.4rem .4rem .4rem .85rem;border:1px solid var(--chat-rule);border-radius:16px;background:var(--chat-surface);transition:border-color .15s ease,box-shadow .15s ease}.chat-compose:focus-within{border-color:var(--chat-teal);box-shadow:0 0 0 3px var(--chat-teal-soft)}.chat-compose textarea{flex:1;resize:none;border:0;outline:none;background:transparent;padding:.45rem 0;max-height:150px;font-size:.92rem;line-height:1.55;font-weight:400}.chat-compose textarea::placeholder{color:var(--chat-text-3)}.chat-send{flex:none;width:36px;height:36px;border:0;border-radius:12px;display:grid;place-items:center;cursor:pointer;background:var(--chat-ink);color:#f5f7f3;transition:transform .2s var(--chat-ease),opacity .15s ease,background .15s ease}@media(prefers-color-scheme:dark){.chat-send{color:#0f1a1d}}.chat-send svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.chat-send.is-stop svg{fill:currentColor;stroke:none}.chat-send.is-stop{background:var(--chat-text-2)}.chat-send:disabled{opacity:.35;cursor:default}.chat-send:not(:disabled):hover{transform:scale(1.06)}.chat-foot{margin:.35rem 1rem .6rem;text-align:center;font-size:.68rem;color:var(--chat-text-3)}.chat-md>:first-child{margin-top:0}.chat-md>:last-child{margin-bottom:0}.chat-md p{margin:0 0 .65rem}.chat-md h1,.chat-md h2,.chat-md h3,.chat-md h4{font-family:var(--chat-display);font-weight:700;line-height:1.35;margin:1rem 0 .45rem;color:var(--chat-text)}.chat-md h1{font-size:1.1rem}.chat-md h2{font-size:1.04rem}.chat-md h3{font-size:.98rem;padding-left:.55rem;border-left:3px solid var(--chat-teal)}.chat-md h4{font-size:.92rem}.chat-md strong{font-weight:600;color:var(--chat-text)}.chat-md ul,.chat-md ol{margin:0 0 .7rem;padding-left:1.25rem}.chat-md li{margin:.15rem 0}.chat-md li::marker{color:var(--chat-teal)}.chat-md blockquote{margin:0 0 .7rem;padding:.4rem .8rem;border-left:3px solid var(--chat-ochre);background:var(--chat-ochre-soft);color:var(--chat-text-2);border-radius:0 8px 8px 0}.chat-md hr{border:0;border-top:1px dashed var(--chat-rule);margin:.9rem 0}.chat-md a{color:var(--chat-teal);text-underline-offset:2px}.chat-md code{font-family:var(--chat-mono);font-size:.82em;padding:.1em .35em;border-radius:4px;background:var(--chat-rule-soft)}.chat-md pre{margin:0 0 .7rem;padding:.7rem .85rem;overflow-x:auto;border-radius:10px;background:var(--chat-surface);border:1px solid var(--chat-rule-soft);font-size:.8rem;line-height:1.5}.chat-md pre code{padding:0;background:none;font-size:inherit}.chat-md img{display:block;max-width:100%;height:auto;margin:.4rem 0 .7rem;border-radius:10px;border:1px solid var(--chat-rule-soft)}.chat-img-blocked{font-size:.8rem;color:var(--chat-text-3)}.chat-table-wrap{margin:0 0 .8rem;overflow-x:auto;border:1px solid var(--chat-rule);border-radius:10px;background:var(--chat-surface)}.chat-md table{width:100%;border-collapse:collapse;font-size:.8rem;line-height:1.5}.chat-md th,.chat-md td{padding:.45rem .6rem;border-bottom:1px solid var(--chat-rule-soft);vertical-align:top;text-align:left}.chat-md th{background:var(--chat-teal-soft);color:var(--chat-teal);font-weight:600}.chat-md tr:last-child td{border-bottom:0}.chat-md td+td,.chat-md th+th{border-left:1px solid var(--chat-rule-soft)}.chat-cite{display:inline-grid;place-items:center;min-width:17px;height:17px;margin:0 1px;padding:0 3px;border:0;border-radius:5px;vertical-align:.3em;background:var(--chat-teal-soft);color:var(--chat-teal);font-family:var(--chat-mono);font-size:.64rem;font-weight:600;line-height:1;cursor:pointer}.chat-cite:hover{background:var(--chat-teal);color:var(--chat-surface)}.chat-md td:first-child,.chat-md th:first-child{min-width:5.5em}@media(max-width:600px){.chat-panel{right:0;left:0;bottom:0;top:auto;width:100%;height:calc(100dvh - env(safe-area-inset-top) - .75rem);border-radius:var(--chat-radius) var(--chat-radius) 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom);transform:translateY(100%);transform-origin:50% 100%}.chat-panel.is-open{transform:none}.chat-fab.is-open{opacity:0;pointer-events:none;transform:scale(.6)}.chat-samples{grid-template-columns:1fr}.chat-greeting{max-width:calc(100vw - 7rem)}}@keyframes chat-fab-in{0%{opacity:0;transform:translateY(16px) scale(.6)}}@keyframes chat-ink-draw{to{stroke-dashoffset:0}}@keyframes chat-drop{0%,84%{opacity:0;transform:translate(10px,12px) rotate(-45deg) scale(.3)}88%{opacity:1;transform:translate(10px,14px) rotate(-45deg) scale(1)}96%{opacity:1;transform:translate(10px,34px) rotate(-45deg) scale(.9)}to{opacity:0;transform:translate(10px,38px) rotate(-45deg) scale(.4)}}@keyframes chat-ripple{0%,88%{opacity:0;transform:scale(1)}90%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.55)}}@keyframes chat-spin{to{transform:rotate(360deg)}}@keyframes chat-pop{0%{transform:scale(0)}}@keyframes chat-greet{0%{opacity:0;transform:translate(10px) scale(.9)}}@keyframes chat-slide{0%{opacity:0;transform:translateY(-6px)}}@keyframes chat-rise{0%{opacity:0;transform:translateY(6px)}}@keyframes chat-dot{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@keyframes chat-blink{50%{opacity:0}}@keyframes chat-nib-write{0%,to{transform:translate(-38px,14px) rotate(38deg)}50%{transform:translate(38px,12px) rotate(44deg)}}@keyframes chat-ink-line{0%{stroke-dashoffset:140;opacity:1}50%{stroke-dashoffset:0;opacity:1}80%,to{stroke-dashoffset:0;opacity:0}}@media(prefers-reduced-motion:reduce){.chat-fab,.chat-fab-drop,.chat-fab-ripple,.chat-fab-pul,.chat-thinking-pul,.chat-sample,.chat-turn,.chat-followup,.chat-greeting,.chat-history,.chat-fab.is-busy:after,.chat-ask,.chat-quote-draft{animation:none!important}.chat-panel,.chat-fab,.chat-fab-pul,.chat-fab-close{transition-duration:.01s!important}.chat-body{scroll-behavior:auto}}@media print{.chat-fab,.chat-panel,.chat-greeting,.chat-ask{display:none!important}}.chat-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .7rem;border:1px solid var(--chat-rule);border-radius:999px;background:var(--chat-surface);color:var(--chat-text-2);font:inherit;font-size:.78rem;cursor:pointer}.chat-chip:hover{border-color:var(--chat-teal);color:var(--chat-teal)}.chat-notice{margin:.4rem .75rem 0;padding:.45rem .7rem;border-radius:10px;background:var(--chat-ochre-soft);color:var(--chat-text-2);font-size:.8rem}.chat-intro{padding:1rem;display:flex;flex-direction:column;gap:.6rem;font-size:.88rem;line-height:1.6;color:var(--chat-text-2)}.chat-intro strong{color:var(--chat-text)}.chat-offline{color:var(--chat-red)}@keyframes chat-pul-nod{0%,88%,to{transform:none}91%{transform:rotate(-9deg)}94%{transform:rotate(7deg)}97%{transform:rotate(-3deg)}}.chat-attach-btn{flex:none;display:inline-grid;place-items:center;width:2.1rem;height:2.1rem;margin:auto .15rem auto 0;border:0;border-radius:999px;background:transparent;cursor:pointer;color:var(--chat-text-2, var(--ink-2, #555))}.chat-attach-btn:hover:not(:disabled){background:var(--chat-teal-soft, var(--teal-soft, rgba(31, 122, 108, .1)));color:var(--chat-teal, var(--teal, #1f7a6c))}.chat-attach-btn:disabled{opacity:.45;cursor:default}.chat-attach-btn[aria-busy]{animation:chat-attach-pulse 1s ease-in-out infinite}.chat-attach-btn svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}@keyframes chat-attach-pulse{50%{opacity:.4}}.chat-image-draft{display:flex;align-items:center;gap:.6rem;margin:0 .6rem .4rem;padding:.45rem .5rem;border:1px solid var(--chat-rule, var(--rule, #ddd));border-radius:10px;background:var(--chat-surface, var(--surface, #fff))}.chat-image-draft img{width:3.2rem;height:3.2rem;object-fit:cover;border-radius:6px;flex:none}.chat-image-draft-note{flex:1;min-width:0;display:grid;gap:.1rem;font-size:.8rem}.chat-image-draft-note small{color:var(--chat-text-3, var(--ink-3, #777));line-height:1.35}.chat-image-x{flex:none;border:0;background:transparent;cursor:pointer;padding:.25rem;color:var(--chat-text-3, var(--ink-3, #777))}.chat-image-x svg{width:1rem;height:1rem;stroke:currentColor;stroke-width:2;fill:none}.chat-turn-image{display:grid;gap:.35rem;margin-bottom:.35rem}.chat-turn-image img{max-width:min(14rem,100%);max-height:12rem;object-fit:contain;border-radius:8px;background:#fff}.chat-turn-image-gone{font-size:.75rem;opacity:.75}.chat-turn-image details{font-size:.78rem}.chat-turn-image summary{cursor:pointer;opacity:.85}.chat-turn-image-text{margin-top:.3rem;white-space:pre-wrap;max-height:14rem;overflow:auto;line-height:1.45;opacity:.92}.chat-similar{margin-top:.75rem}.chat-similar-label{display:block;margin-bottom:.3rem;font-size:.68rem;letter-spacing:.08em;color:var(--chat-text-3, var(--ink-3, #777))}.chat-similar ul{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}.chat-similar button{width:100%;display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;text-align:left;cursor:pointer;border:1px solid var(--chat-rule, var(--rule, #ddd));border-radius:8px;font:inherit;font-size:.82rem;background:var(--chat-surface, var(--surface, #fff));color:inherit}.chat-similar button:hover{border-color:var(--chat-teal, var(--teal, #1f7a6c))}.chat-similar b{flex:none;font-size:.72rem;min-width:1.2rem;color:var(--chat-teal, var(--teal, #1f7a6c))}.chat-similar span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-similar svg{flex:none;width:.9rem;height:.9rem;stroke:currentColor;stroke-width:2;fill:none;opacity:.6}@media(prefers-reduced-motion:reduce){.chat-attach-btn[aria-busy]{animation:none}}.chat-image-error{margin:0 .8rem .35rem;font-size:.78rem;color:var(--chat-red, var(--red, #b3261e))}html[data-chat-shot] #chat-panel,html[data-chat-shot] .chat-fab,html[data-chat-shot] [data-chat-shot-skip]{visibility:hidden!important}.chat-shot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483000;cursor:crosshair;touch-action:none;user-select:none;-webkit-user-select:none;background:#0f171e47}.chat-shot.has-rect{background:transparent}.chat-shot-rect{position:fixed;border:2px solid var(--chat-teal, var(--teal, #1f7a6c));border-radius:3px;pointer-events:none;box-shadow:0 0 0 100vmax #0f171e47}.chat-shot.is-busy{cursor:progress}.chat-shot.is-busy .chat-shot-rect{animation:chat-attach-pulse 1s ease-in-out infinite}.chat-shot-bar{position:fixed;left:50%;top:calc(12px + env(safe-area-inset-top));transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border-radius:999px;cursor:default;background:#141c22eb;color:#fff;font-size:.85rem;box-shadow:0 6px 20px #00000040;white-space:nowrap}.chat-shot-bar button{font:inherit;border:0;border-radius:999px;padding:4px 12px;background:#ffffff29;color:#fff;cursor:pointer}.chat-shot-bar button:disabled{opacity:.5}@media(prefers-reduced-motion:reduce){.chat-shot.is-busy .chat-shot-rect{animation:none}}.chat-md .katex-display{overflow-x:auto;overflow-y:hidden}.chat-intro .btn{align-self:flex-start}.chat-consent .modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,var(--ink) 45%,transparent);overflow-y:auto}.chat-consent .modal-card{width:min(560px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;background:var(--surface);color:var(--ink);border:1px solid var(--rule);border-radius:var(--radius, 2px);padding:18px 18px 14px}.chat-consent .modal-card h2{font-size:1.1rem;margin:0 0 8px}.chat-consent .table th{white-space:nowrap;vertical-align:top}@font-face{font-family:IBM Plex Sans KR;font-style:normal;font-weight:300;font-display:swap;src:url(/suneung/assets/ibm-plex-sans-kr-300-_EHTJYiS.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans KR;font-style:normal;font-weight:400;font-display:swap;src:url(/suneung/assets/ibm-plex-sans-kr-400-DV8hMW7h.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans KR;font-style:normal;font-weight:500;font-display:swap;src:url(/suneung/assets/ibm-plex-sans-kr-500-DH3S3qIH.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans KR;font-style:normal;font-weight:600 700;font-display:swap;src:url(/suneung/assets/ibm-plex-sans-kr-600-DWacVOon.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/suneung/assets/ibm-plex-mono-400-BsAwgrzp.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500 700;font-display:swap;src:url(/suneung/assets/ibm-plex-mono-500-qBTveIDm.woff2) format("woff2")}@font-face{font-family:Nanum Myeongjo;font-style:normal;font-weight:400 800;font-display:swap;src:url(/suneung/assets/nanum-myeongjo-700-BlYrDBZQ.woff2) format("woff2")}:root{--paper: #f5f7f3;--surface: #ffffff;--ink: #1b1f22;--ink-2: #4e5a61;--ink-3: #7c8a91;--rule: #cbd6d6;--rule-soft: #e2e9e5;--red: #b03a2b;--red-soft: #f3e2de;--teal: #1f5361;--teal-soft: #e0ebec;--ochre: #8a6420;--ochre-soft: #f2e9d6;--f-display: "Nanum Myeongjo", "AppleMyungjo", serif;--f-body: "IBM Plex Sans KR", "Apple SD Gothic Neo", system-ui, sans-serif;--f-mono: "IBM Plex Mono", "IBM Plex Sans KR", ui-monospace, monospace;--radius: 2px;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #14181a;--surface: #1b2124;--ink: #e6eae5;--ink-2: #a8b5ba;--ink-3: #78868c;--rule: #313c41;--rule-soft: #262f33;--red: #e1806d;--red-soft: #35211d;--teal: #7fbcc9;--teal-soft: #17282c;--ochre: #d3ab62;--ochre-soft: #2c2617;color-scheme:dark}}:root{--page-max: 1360px;--gutter: 1.25rem}@media(min-width:1500px){:root{--page-max: 1440px}}@media(max-width:480px){:root{--gutter: 1rem}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{margin:0;background:var(--paper);color:var(--ink);overscroll-behavior:none}html{overflow-x:hidden}body{overflow-x:clip}img,svg,video,canvas{max-width:100%}body{font-family:var(--f-body);font-weight:300;font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}b,strong,th{font-weight:600}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}button,.chips,.nav,.mode-sub{-webkit-user-select:none;user-select:none}a{color:var(--teal)}h1,h2,h3{font-family:var(--f-display);font-weight:700;line-height:1.3;letter-spacing:-.01em}h1{font-size:1.6rem;margin:0 0 .6rem}h2{font-size:1.15rem;margin:1.8rem 0 .75rem}h3{font-size:1rem}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.topbar{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--paper) 94%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:2.5px solid var(--ink);padding:env(safe-area-inset-top) calc(var(--gutter) + env(safe-area-inset-right)) 0 calc(var(--gutter) + env(safe-area-inset-left))}.topbar-row{max-width:var(--page-max);min-width:0;margin:0 auto;display:flex;align-items:center;gap:12px;min-height:58px;border-bottom:1px solid var(--rule)}.brand{font-family:var(--f-display);font-weight:800;font-size:1.3rem;letter-spacing:-.01em;background:none;border:0;padding:0;cursor:pointer;text-align:left;color:var(--ink);line-height:1.15}.brand small{display:block;margin:2px 0 0;font-family:var(--f-body);font-size:.68rem;font-weight:400;letter-spacing:.02em;color:var(--ink-3)}.nav{max-width:var(--page-max);margin:0 auto;display:flex;gap:0;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--rule)}.nav::-webkit-scrollbar{display:none}.nav button{flex:1 0 auto;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;border-radius:0;padding:.6rem .9rem;cursor:pointer;white-space:nowrap;font-size:.92rem;font-weight:500;color:var(--ink-2)}.nav button:hover{color:var(--ink);background:var(--surface)}.nav button[aria-current=page]{color:var(--red);border-bottom-color:var(--red);font-weight:600}@media(max-width:560px){.nav button{padding:.55rem .7rem;font-size:.86rem}}main{max-width:calc(var(--page-max) + 2 * var(--gutter));margin:0 auto;padding:1.5rem calc(var(--gutter) + env(safe-area-inset-right)) calc(6rem + env(safe-area-inset-bottom)) calc(var(--gutter) + env(safe-area-inset-left));min-width:0}main.wide{max-width:none;padding:0}.hint{color:var(--ink-3);font-size:.85rem}.meta,.qn,.timer,kbd{font-family:var(--f-mono)}.fine{color:var(--ink-3);font-size:.75rem;margin-top:24px}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:1.1rem 1.3rem;margin:0 0 12px}.card.warn{background:var(--ochre-soft);border-color:var(--ochre);display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.btn{border:1px solid var(--rule);background:transparent;color:var(--ink-2);border-radius:var(--radius);padding:.5rem 1.1rem;cursor:pointer;font-size:.88rem;font-weight:500}.btn:hover{border-color:var(--ink-3);color:var(--ink)}.btn.primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn.primary:hover{opacity:.88;color:var(--paper)}.btn.ghost{background:none}.btn:disabled,.btn[disabled]{opacity:.4;cursor:not-allowed}.link{border:0;background:none;color:var(--teal);cursor:pointer;padding:0;text-align:left}input[type=date],input.short,.short-form input{font:inherit;padding:6px 8px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);color:var(--ink)}.chips{display:flex;gap:.4rem;flex-wrap:wrap;margin:8px 0 14px}.chips button{font-family:var(--f-body);font-weight:400;font-size:.8rem;padding:.3rem .65rem;border:1px solid var(--rule);background:transparent;color:var(--ink-2);border-radius:var(--radius);cursor:pointer}.chips button:hover{border-color:var(--ink-3)}.chips button[aria-pressed=true]{border-color:var(--red);color:var(--red);background:var(--red-soft);font-weight:500}.dday-num{font-family:var(--f-display);font-size:2.4rem;font-weight:800;line-height:1.1;color:var(--red)}.todo{padding-left:1.2em;line-height:2}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th,.table td{padding:6px 8px;border-bottom:1px solid var(--rule-soft);text-align:left}.table tr.clickable{cursor:pointer}.table tr.clickable:hover{background:var(--rule-soft)}.paper-group h2 small{font-family:var(--f-body);font-weight:400}.paper-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.paper{border:1px solid var(--rule);background:var(--surface);border-radius:var(--radius, 2px);padding:10px 12px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:2px}.paper:hover{border-color:var(--teal)}.paper small{color:var(--ink-3);font-size:.75rem}.exam{display:block;max-width:520px;margin:0 auto;padding:16px}.exam.split{display:grid;grid-template-columns:1fr 380px;gap:0;max-width:none;padding:0;height:100dvh}.paper-view{width:100%;height:100dvh;border:0;border-right:1px solid var(--rule);background:#fff}@media(max-width:900px){.exam.split{grid-template-columns:1fr;height:auto}.paper-view{height:70dvh}}.omr{background:var(--surface);padding:12px 14px;overflow-y:auto;height:100%}.exam:not(.split) .omr{border:1px solid var(--rule);border-radius:var(--radius, 2px)}.omr-head{display:flex;justify-content:space-between;align-items:center;gap:8px;position:sticky;top:0;background:var(--surface);padding:6px 0 10px;border-bottom:1px solid var(--rule)}.timer{font-variant-numeric:tabular-nums;font-weight:700;font-size:1.2rem}.timer.soon{color:var(--ochre)}.timer.over{color:var(--red)}.omr-grid{list-style:none;margin:8px 0;padding:0}.omr-grid li{display:flex;align-items:center;gap:6px;padding:3px 0;border-bottom:1px dotted var(--rule-soft)}.omr-grid li:nth-child(5n){border-bottom:1px solid var(--rule)}.omr-grid li.listen .qn{color:var(--teal)}.qn{width:2.2em;text-align:right;font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink-2)}.bubble{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--red);background:none;cursor:pointer;font-size:.78rem;color:var(--red);font-weight:600;padding:0}.bubble[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--ink)}input.short{width:5em;text-align:center;font-variant-numeric:tabular-nums}.omr-foot{display:flex;gap:8px;padding:12px 0;position:sticky;bottom:0;background:var(--surface)}.score .big{font-family:var(--f-display);font-size:3rem;font-weight:800;line-height:1}.score .big small{font-size:1.2rem;color:var(--ink-3)}.result-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}.result-grid li{display:flex;gap:8px;align-items:center;padding:4px 8px;border-radius:var(--radius, 2px);font-size:.9rem}.result-grid li.ok{background:var(--teal-soft)}.result-grid li.ng{background:var(--red-soft)}.result-grid .ans{margin-left:auto;color:var(--red);font-weight:600}.set-list{list-style:none;padding:0;display:grid;gap:8px}.set{width:100%;text-align:left;border:1px solid var(--rule);background:var(--surface);border-radius:var(--radius, 2px);padding:12px 14px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.set:hover{border-color:var(--teal)}.set small{color:var(--ink-3)}.drill-head{display:flex;justify-content:space-between;margin-bottom:12px}.drill-body.split{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}@media(max-width:860px){.drill-body.split{grid-template-columns:1fr}}.passage{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius, 2px);padding:16px 18px;position:sticky;top:calc(var(--stick-h, 100px) + 12px);max-height:calc(100dvh - var(--stick-h, 100px) - 24px);overflow-y:auto}@media(max-width:860px){.passage{position:static;max-height:none}}.passage-head{font-weight:700;margin-bottom:8px}.question{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius, 2px);padding:16px 18px}.q-meta{color:var(--ink-3);font-size:.8rem;margin-bottom:6px}.stem{font-weight:600}.box{border:1px solid var(--ink-3);border-radius:var(--radius, 2px);padding:8px 14px;margin:10px 0;font-size:.95rem}.q-figures{margin:10px 0;display:flex;flex-direction:column;gap:8px}.q-figures img{display:block;max-width:100%;height:auto;background:#fff;border:1px solid var(--rule-soft, #e5e5e5);border-radius:var(--radius, 2px)}.figure-note{font-size:.82rem;color:var(--ochre);background:var(--ochre-soft);padding:6px 10px;border-radius:var(--radius, 2px)}.choices{list-style:none;padding:0;display:grid;gap:6px;margin:12px 0}.choices li>button{width:100%;text-align:left;border:1px solid var(--rule);background:var(--surface);border-radius:var(--radius, 2px);padding:9px 12px;cursor:pointer;display:flex;gap:10px;align-items:baseline}.choices li>button:hover:not(:disabled){border-color:var(--teal)}.choices li>button:disabled{cursor:default;color:inherit}.choices .num{font-weight:700;color:var(--ink-2)}.choices li.right>button{border-color:var(--teal);background:var(--teal-soft)}.choices li.wrong>button{border-color:var(--red);background:var(--red-soft)}.choices li.dim>button{opacity:.85}.why{font-size:.88rem;color:var(--ink-2);padding:4px 4px 4px 2.2em}.why .prose{font-size:.88rem;line-height:1.7}.verdict{font-weight:700;padding:8px 12px;border-radius:var(--radius, 2px);margin:8px 0}.verdict.ok{background:var(--teal-soft);color:var(--teal)}.verdict.ng{background:var(--red-soft);color:var(--red)}.reveal h3{font-size:1rem;margin:1.2rem 0 .3rem}.mini-cards{list-style:none;padding:0;display:grid;gap:6px}.mini-cards li{border-left:3px solid var(--teal);padding:4px 10px;background:var(--paper);font-size:.9rem}.short-form{display:flex;gap:8px;margin:12px 0}.short-form input{width:6em}.prose{line-height:1.8}.prose p{margin:.5em 0}.prose table{border-collapse:collapse;margin:.6rem 0;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--rule);padding:4px 8px}.prose-inline .katex{font-size:1em}.notes{list-style:none;padding:0;display:grid;gap:8px}.notes li{border:1px solid var(--rule);background:var(--surface);border-radius:var(--radius, 2px);padding:10px 12px;display:grid;gap:6px}.notes li .btn{justify-self:start;padding:4px 10px;font-size:.85rem}.q-snip{color:var(--ink-2);font-size:.88rem}.flash{min-height:220px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:10px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius, 2px);padding:28px 20px;cursor:pointer;width:100%}.flash .front{font-family:var(--f-display);font-size:1.35rem;font-weight:700}.flash .back{max-width:36em}.update{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:50;background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:var(--radius, 2px);display:flex;gap:10px;align-items:center}.update .btn{padding:4px 10px}footer{color:var(--ink-3);font-size:.78rem;text-align:center;padding:24px 16px 40px}.prose strong{font-weight:700}.em-mark{background:linear-gradient(transparent 58%,color-mix(in srgb,var(--ochre) 32%,transparent) 58%);color:inherit;padding:0 1px}.em-u{text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:3px;font-weight:600}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.big-num{font-family:var(--f-display);font-size:2rem;font-weight:800}.trend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px}.trend-grid>:only-child{max-width:720px;justify-self:center;width:100%}.trend svg{width:100%;height:auto}.trend .grid{stroke:var(--rule-soft);stroke-dasharray:3 3}.trend .line{fill:none;stroke:var(--teal);stroke-width:2}.trend .dot{fill:var(--teal)}.wrong-chips{list-style:none;padding:0;display:grid;gap:4px}.wrong-chips li{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:.9rem}.report textarea{width:100%;font:inherit;padding:8px;border:1px solid var(--rule);border-radius:var(--radius, 2px);background:var(--surface);color:var(--ink)}.topbar-right{margin-left:auto;display:flex;gap:12px;align-items:center;white-space:nowrap;font-size:.88rem}.topbar-right .link{overflow:hidden;text-overflow:ellipsis;max-width:9em}.mode-sub{max-width:var(--page-max);margin:0 auto;display:flex;gap:6px;padding:6px 0 8px;overflow-x:auto;scrollbar-width:none}.mode-sub button{border:1px solid var(--rule);background:var(--surface);border-radius:999px;padding:3px 12px;font-size:.85rem;cursor:pointer;white-space:nowrap}.mode-sub button[aria-current=page]{border-color:var(--teal);background:var(--teal-soft);color:var(--teal);font-weight:600}.announce{max-width:var(--page-max);margin:8px auto 0;padding:8px 14px;border-radius:var(--radius, 2px);background:var(--teal-soft);font-size:.9rem}.announce.warn{background:var(--ochre-soft)}.tag{display:inline-block;font-size:.72rem;padding:1px 7px;border-radius:var(--radius, 2px);background:var(--rule-soft);color:var(--ink-2)}.tag.warn{background:var(--ochre-soft);color:var(--ochre)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:color-mix(in srgb,var(--ink) 40%,transparent);display:flex;align-items:center;justify-content:center;padding:16px}.modal-card{background:var(--surface);color:var(--ink);border-radius:var(--radius, 2px);padding:18px 20px;max-width:560px;width:100%;max-height:90dvh;overflow-y:auto}.modal-card h2{margin-top:0}kbd{font-family:var(--f-body);border:1px solid var(--rule);border-bottom-width:2px;border-radius:var(--radius, 2px);padding:0 5px;font-size:.85em;background:var(--paper)}.skeleton-page{height:60vh;border-radius:var(--radius, 2px);background:linear-gradient(90deg,var(--rule-soft),var(--surface),var(--rule-soft));background-size:200% 100%;animation:sk 1.4s ease infinite;animation-delay:.18s;opacity:.7}@keyframes sk{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton-page{animation:none}}.form-msg{color:var(--red);font-size:.9rem}.warn-box{border-color:var(--red)}.btn.danger{color:var(--red);border-color:var(--red)}.check{display:flex;gap:8px;align-items:flex-start;font-size:.9rem}.auth{max-width:880px;margin:24px auto;display:grid;gap:20px;grid-template-columns:1fr 1fr;align-items:start}@media(max-width:760px){.auth{grid-template-columns:1fr}}.auth-form{display:grid;gap:10px}.auth-form label{display:grid;gap:4px;font-size:.9rem}.auth-form input[type=email],.auth-form input[type=password],.auth-form input:not([type]),.account input:not([type=checkbox]){font:inherit;padding:8px 10px;border:1px solid var(--rule);border-radius:var(--radius, 2px);background:var(--surface);color:var(--ink);min-width:0}.auth-form .check{display:flex}.home-head{display:flex;align-items:baseline;gap:16px}.dday{font-family:var(--f-display);font-size:2rem;font-weight:800;color:var(--red)}.quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}@media(max-width:560px){.quick{grid-template-columns:repeat(2,minmax(0,1fr))}}.quick .card{cursor:pointer;display:flex;flex-direction:column;text-align:left;margin:0}.quick .card b{font-family:var(--f-display);font-size:1.6rem}.quick .card span{color:var(--ink-2);font-size:.85rem}.recent{padding-left:1.1em;line-height:1.9}.about table th{white-space:nowrap;vertical-align:top}.topbar-right{font-family:var(--f-mono);font-size:.72rem;color:var(--ink-3);gap:1rem}.topbar-right .link{color:var(--ink-2);font-size:.8rem}.mode-sub{max-width:var(--page-max);padding:.6rem 0 .7rem;gap:.35rem}@media(max-width:640px){.mode-sub{flex-wrap:wrap;overflow-x:visible}}@media(max-width:640px){.topbar{position:static}}.mode-sub button{font-size:.82rem;padding:.3rem .8rem;color:var(--ink-2)}.mode-sub button:hover{color:var(--ink)}.mode-sub button[aria-current=page]{border-color:var(--red);background:var(--red-soft);color:var(--red);font-weight:600}.tag{font-size:.68rem;padding:.1rem .4rem;border:1px solid var(--rule);background:transparent;color:var(--ink-3);border-radius:var(--radius)}.tag.warn{border-color:var(--ochre);color:var(--ochre);background:var(--ochre-soft)}.announce{border:1px solid var(--teal);border-radius:var(--radius);font-size:.85rem;max-width:var(--page-max)}@media(max-width:1410px){.announce{margin-left:var(--gutter);margin-right:var(--gutter)}}.announce.warn{border-color:var(--ochre)}footer{font-size:.72rem;border-top:1px solid var(--rule-soft);max-width:var(--page-max);margin:0 auto}@media(max-width:1410px){footer{margin-left:var(--gutter);margin-right:var(--gutter)}}.dday,.big-num,.score .big,.quick .card b{font-family:var(--f-display);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.dday{font-size:2.2rem}.score .big{font-size:3.25rem}.score .big small{font-family:var(--f-body)}.quick .card{border-top:2px solid var(--ink);transition:border-color .15s}.quick .card:hover{border-top-color:var(--red)}.quick .card span{font-size:.78rem}.set-list{gap:0;border-top:1px solid var(--rule)}.set-list .set{border:0;border-bottom:1px solid var(--rule-soft);border-radius:0;background:transparent;padding:.8rem .2rem}.set-list .set:hover{background:var(--rule-soft)}.set b{font-weight:600}.set small{font-family:var(--f-mono);font-size:.72rem}.question,.passage{border-radius:var(--radius);padding:1.25rem 1.4rem}.q-meta{font-size:.74rem;color:var(--ink-3);text-transform:none}.stem{border-left:2px solid var(--red);padding:.35rem 0 .35rem .9rem;margin:.4rem 0 .9rem;font-weight:400}.stem strong{font-weight:600}.passage-head{font-size:.85rem;font-weight:600;color:var(--red)}.box{border-color:var(--ink-2);background:var(--paper)}.choices li>button{border-radius:var(--radius);padding:.6rem .8rem}.choices li>button:hover:not(:disabled){border-color:var(--ink-2)}.choices .num{font-family:var(--f-display);font-weight:700;color:var(--ink)}.verdict{border-radius:var(--radius);font-size:.9rem}.verdict.ok{border:1px solid var(--teal)}.verdict.ng{border:1px solid var(--red)}.why{border-left:1px dashed var(--rule);margin-left:1.1rem;padding-left:.9rem}.mini-cards li{border-left-width:2px}.provenance,.fine{font-size:.72rem}.table th{font-size:.75rem;font-weight:500;color:var(--ink-3);text-transform:uppercase;border-bottom:1px solid var(--rule)}.table td{font-variant-numeric:tabular-nums}.timer{color:var(--red)}.result-grid li{font-family:var(--f-mono);font-size:.82rem;border-radius:var(--radius)}.landing{display:grid;grid-template-columns:minmax(0,1fr) 24rem;grid-template-areas:"head login" "body login";column-gap:3rem;row-gap:.5rem;align-items:start;margin:3.5rem auto 0;max-width:62rem}.landing .intro-head{grid-area:head}.landing .intro-body{grid-area:body}.landing .login{grid-area:login;margin:0}@media(max-width:52rem){.landing{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "login" "body";row-gap:1.25rem;margin-top:1.5rem}}.panel{border:1px solid var(--rule);background:var(--surface);padding:1.25rem 1.4rem;border-radius:var(--radius)}.intro-eyebrow{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 .6rem}.intro-title{font-family:var(--f-display);font-weight:700;font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.3;letter-spacing:-.015em;margin:0 0 .7rem;text-wrap:balance;word-break:keep-all}.intro-lead{color:var(--ink-2);margin:0;max-width:34rem;word-break:keep-all}.intro-body{padding-top:.8rem}.intro-points{display:grid;gap:1rem;margin:1.4rem 0}.intro-points dt{font-weight:600;margin-bottom:.15rem}.intro-points dd{margin:0;color:var(--ink-2);font-size:.92rem;line-height:1.7;max-width:36rem;word-break:keep-all}.intro-note{font-size:.85rem;color:var(--ink-2);border-left:2px solid var(--teal);padding-left:.8rem;max-width:36rem}.intro-foot{font-size:.75rem;color:var(--ink-3);margin:.6rem 0 0}.intro-omr{display:flex;align-items:center;gap:.55rem;max-width:30rem;border:1px solid var(--rule);background:var(--surface);padding:1.1rem 1.2rem}.intro-omr span{display:inline-grid;place-items:center;width:1.25rem;height:2rem;border:1px solid var(--red);border-radius:999px;color:var(--red);font-family:var(--f-mono);font-size:.72rem}.intro-omr span.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.intro-omr .intro-omr-no{border:0;width:auto;color:var(--ink-2);margin-right:.3rem}.intro-omr .intro-omr-tag{width:auto;height:auto;border-radius:0;margin-left:auto;padding:.1rem .45rem;background:var(--red-soft);font-size:.7rem}@media(max-width:52rem){.intro-omr{display:none}.intro-points{gap:.7rem}}.login-brand{font-family:var(--f-display);font-weight:800;font-size:1.35rem;letter-spacing:-.01em}.login-brand small{display:block;font-family:var(--f-mono);font-weight:400;font-size:.66rem;letter-spacing:.1em;color:var(--ink-3);margin-top:.3rem}.login .login-hint{margin:1rem 0 .2rem}.login .chips{margin:.6rem 0 .4rem}.login label{display:block;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin:.9rem 0 .25rem}.login label input:not([type=checkbox]){display:block;width:100%;margin-top:.25rem;padding:.55rem .7rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;font-family:var(--f-body);font-size:.95rem;letter-spacing:normal;text-transform:none}.login label input:focus-visible{outline:2px solid var(--teal);outline-offset:-1px}.login label small.hint{display:block;margin-top:.3rem;font-family:var(--f-body);letter-spacing:normal;text-transform:none}.login label.check{display:flex;font-family:var(--f-body);font-size:.85rem;letter-spacing:normal;text-transform:none;color:var(--ink-2)}.login .social-signin{margin-top:.9rem}.login .form-msg{margin:.9rem 0 0}.login .login-submit{width:100%;margin-top:1.1rem;padding:.65rem 1.1rem}.login a.login-submit{display:block;box-sizing:border-box;text-align:center;text-decoration:none}.login .login-aside{display:block;margin-top:.8rem;font-size:.85rem}.login>.btn.ghost{width:100%;margin-top:.6rem}.login .login-fine{margin:1.2rem 0 0;font-size:.78rem}.auth h1{font-size:2rem;font-weight:800}.auth-intro{border-top:2.5px solid var(--ink);padding-top:1rem}.auth-form label{font-size:.8rem;font-weight:500;color:var(--ink-2)}.auth-form input{font-family:var(--f-body);font-size:.95rem}.modal-card{border-top:2.5px solid var(--ink)}.stem-preview{color:var(--ink-2);font-size:.88rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.stem-preview p{margin:0}.offline-banner{display:flex;align-items:center;justify-content:center;gap:8px}.offline-mascot{flex:none}.intro-mascot{margin:0 0 .6rem}.plan-dday{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.plan-dday-mascot{flex:none}.plan-setup-mascot{float:right;margin:0 0 .4rem .8rem}.verdict{display:flex;align-items:center;gap:8px}.verdict-mascot{flex:none}.mock-mascot{float:right;margin:-.4rem 0 .4rem .8rem}.study-panel-mascot{flex:none;align-self:center}.study-panel-now{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.account-mascot{float:right;margin:0 0 .4rem .8rem}.warn-box .mascot-state{padding:.5rem 0}@media(max-width:640px){.intro-mascot{width:72px;height:72px}.plan-setup-mascot,.mock-mascot,.account-mascot{width:56px;height:56px}}
