.trust{display:grid;gap:6px;margin-top:8px}.trust-line{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;margin:0;font-size:.8rem;color:var(--muted)}.trust-tier{display:inline-block;padding:1px 8px;border-radius:999px;border:1px solid var(--rule);font-weight:600;white-space:nowrap}.trust-confirmed{color:var(--ok);background:var(--ok-soft);border-color:transparent}.trust-auto{color:var(--accent);background:var(--accent-soft);border-color:transparent}.trust-reference{color:var(--ink-2);background:var(--surface)}.trust-note+.trust-note:before{content:"· "}.trust-law,.trust-calc{margin:0;padding:8px 10px;border-radius:var(--radius);font-size:.85rem;line-height:1.5}.trust-law{color:var(--warn);background:var(--warn-soft)}.trust-law b{margin-right:6px}.trust-calc{color:var(--no);background:var(--no-soft)}.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}}: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)}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/junggae/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/junggae/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/junggae/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(/junggae/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/junggae/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/junggae/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(/junggae/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/junggae/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/junggae/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(/junggae/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/junggae/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/junggae/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(/junggae/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/junggae/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/junggae/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(/junggae/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/junggae/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/junggae/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(/junggae/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/junggae/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/junggae/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(/junggae/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/junggae/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/junggae/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(/junggae/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/junggae/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/junggae/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(/junggae/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/junggae/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/junggae/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(/junggae/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/junggae/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/junggae/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(/junggae/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/junggae/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/junggae/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(/junggae/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/junggae/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/junggae/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(/junggae/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/junggae/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/junggae/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(/junggae/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/junggae/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/junggae/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(/junggae/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/junggae/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/junggae/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(/junggae/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/junggae/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/junggae/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(/junggae/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/junggae/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(/junggae/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/junggae/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/junggae/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(/junggae/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/junggae/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/junggae/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}html:root{--chat-teal: var(--accent);--chat-teal-soft: var(--accent-soft);--chat-paper: var(--bg);--chat-text-3: var(--muted);--chat-red: var(--no);--chat-red-soft: var(--no-soft);--chat-ochre: var(--warn);--chat-ochre-soft: var(--warn-soft)}.chat-md .katex-display{overflow-x:auto;overflow-y:hidden}.chat-btn{border:1px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:999px;padding:4px 12px;font-size:.85rem;cursor:pointer}.chat-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--surface)}.chat-btn:disabled{opacity:.6;cursor:default}.chat-consent h3{margin:4px 0 6px;font-size:1.05rem}.chat-consent p{font-size:.88rem;color:var(--ink-2);margin:6px 0}.chat-consent-table{border-collapse:collapse;font-size:.82rem;margin:8px 0;width:100%}.chat-consent-table th,.chat-consent-table td{border-top:1px solid var(--rule-soft);padding:6px 4px;text-align:left;vertical-align:top}.chat-consent-table th{white-space:nowrap;color:var(--muted);font-weight:600;padding-right:10px}.chat-consent-note{font-size:.78rem!important;color:var(--muted)!important}.chat-consent-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.chat-limit-note{margin:0;padding:8px 14px;font-size:13px;line-height:1.5;border-top:1px solid var(--chat-rule-soft)}.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}.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}}.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}.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))}.dv-update{position:fixed;left:50%;bottom:calc(1rem + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:65;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:center;max-width:calc(100% - 32px);padding:.6rem .9rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--rule);box-shadow:0 6px 24px #00000026}.dv-offline{position:sticky;top:0;z-index:45;padding:calc(.35rem + env(safe-area-inset-top,0px)) 16px .35rem;text-align:center;font-size:.85rem;background:var(--warn-soft);color:var(--warn)}.dv-back{border:0;background:none;padding:.4rem .4rem .4rem 0;min-height:2.75rem;cursor:pointer;color:var(--accent);font:inherit;font-size:.95rem;white-space:nowrap}.dv-pack h2{margin-bottom:.3rem}.dv-pack-list{list-style:none;margin:.6rem 0 0;padding:0}.dv-pack-list li{display:grid;grid-template-columns:1fr auto auto;gap:.8rem;align-items:center;padding:.45rem 0;border-top:1px solid var(--rule-soft)}.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))}.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)}.sk-box{animation:sk-appear .35s ease-out .18s both}@keyframes sk-appear{0%{opacity:0}to{opacity:1}}.sk-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sk{display:block;border-radius:3px;background-color:var(--rule-soft);background-image:linear-gradient(100deg,transparent 20%,color-mix(in srgb,var(--surface) 70%,transparent) 50%,transparent 80%);background-size:220% 100%;background-repeat:no-repeat;animation:sk-shimmer 1.6s ease-in-out infinite}@keyframes sk-shimmer{0%{background-position:160% 0}to{background-position:-60% 0}}@media(prefers-reduced-motion:reduce){.sk-box{animation:none}.sk{animation:none;background-image:none}}.sk-lines{display:flex;flex-direction:column;gap:.55rem}.sk-line.sk-sm{height:.62rem}.sk-line.sk-md{height:.8rem}.sk-line.sk-lg{height:.95rem}.sk-title{width:38%;max-width:14rem;height:1.05rem;margin-bottom:.95rem}.sk-heading{width:62%;height:1.7rem;margin:.55rem 0 .6rem}.sk-subheading{width:36%;height:1.15rem;margin-bottom:.8rem}.sk-gap{height:1.3rem}.sk-chip{width:4.6rem;height:1.55rem;border-radius:999px}.sk-box.sk-panel{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:1rem}.sk-list{list-style:none;margin:0;padding:0}.sk-list li{display:flex;flex-direction:column;gap:.5rem;padding:.8rem 0;border-top:1px solid var(--rule-soft)}.sk-list li:first-child{border-top:0;padding-top:.2rem}.sk-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.5rem}.sk-card{height:5.2rem;border-radius:var(--radius)}.sk-list li:nth-child(2) .sk,.sk-cards .sk:nth-child(2){animation-delay:.08s}.sk-list li:nth-child(3) .sk,.sk-cards .sk:nth-child(3){animation-delay:.16s}.sk-list li:nth-child(4) .sk,.sk-cards .sk:nth-child(4){animation-delay:.24s}.sk-list li:nth-child(5) .sk,.sk-cards .sk:nth-child(5){animation-delay:.32s}.sk-cards .sk:nth-child(6){animation-delay:.4s}.sk-cards .sk:nth-child(7){animation-delay:.48s}.sk-cards .sk:nth-child(8){animation-delay:.56s}.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}}.library h1{font-size:1.35rem}.book-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.6rem}.book-card{width:100%;height:100%;text-align:left;display:flex;flex-direction:column;gap:.25rem;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:.9rem 1rem;cursor:pointer}.book-card:hover{border-color:var(--accent)}.book-card b{font-size:1.02rem}.toc-filters{display:flex;flex-direction:column;gap:.45rem}.toc-search{width:100%;padding:.5rem .7rem;border:1px solid var(--rule);border-radius:8px;background:var(--surface)}.toc-chips{gap:.35rem}.toc-chips>.muted{min-width:2.4rem}.toc-chip{border:1px solid var(--rule);background:var(--surface);border-radius:999px;padding:.15rem .65rem;font-size:.85rem;cursor:pointer;white-space:nowrap}.toc-chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.toc-chapter{font-size:.95rem;margin:1rem 0 .3rem;color:var(--ink-2)}.toc{list-style:none;padding:0;margin:0}.toc-row{width:100%;text-align:left;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.1rem .8rem;border:none;border-bottom:1px solid var(--rule-soft);background:none;padding:.55rem .2rem;cursor:pointer}.toc-row:hover{background:var(--accent-soft)}.toc-row.kind-overview .toc-title{font-weight:600}.toc-row.kind-card .toc-title{color:var(--ink-2)}.toc-row[data-read=done] .toc-title{color:var(--muted)}.toc-title{min-width:0;overflow-wrap:anywhere}.reader-top{margin-bottom:.4rem}.reader-head h1{font-size:1.4rem;line-height:1.4;margin:.15rem 0}.reader-head p{margin:0}.reader .card.notice,.reader .card.resume{margin:.8rem 0}.reader-body{--rp-rw: 18rem;--rp-gap: 1.2rem;--rp-top: calc(var(--topbar-h, 3.3rem) + .75rem);margin-top:.4rem}.reader-body.is-wide .reader-side{position:sticky;top:var(--rp-top);align-self:start;max-height:calc(100dvh - var(--rp-top) - 1rem);overflow-y:auto}.page:has(.reader){max-width:1400px}.reader-main{min-width:0;container:study / inline-size}.reader-side{display:flex;flex-direction:column;gap:.8rem;min-width:0}.reader-side h2{font-size:1rem}.reader-end{margin:1.5rem 0 .6rem;padding-top:.8rem;border-top:1px solid var(--rule)}.reader-nav{margin:.6rem 0 1rem;gap:.5rem}.reader-nav .btn{max-width:48%;overflow:hidden;text-overflow:ellipsis}.report textarea{width:100%;padding:.5rem;border:1px solid var(--rule);border-radius:8px;background:var(--surface)}.related-list{list-style:none;padding:0;margin:.6rem 0 0}.related-q{width:100%;text-align:left;display:flex;flex-direction:column;gap:.1rem;border:none;border-top:1px solid var(--rule-soft);background:none;padding:.5rem 0;cursor:pointer}.related-q:hover .related-stem{color:var(--accent)}.related-stem{font-size:.88rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.study-text{font-size:16px;line-height:1.8;max-width:40em;word-break:keep-all;overflow-wrap:anywhere;margin-top:1rem}.study-text h2,.study-text h3{font-size:1.1em;line-height:1.45;margin:1.8em 0 .6em;padding-top:.6em;border-top:1px solid var(--rule-soft)}.study-text h4{font-size:1em;margin:1.4em 0 .4em}.study-text p{margin:0 0 .9em}.study-text ul,.study-text ol{padding-left:1.3em;margin:0 0 .9em}.study-text li{margin:.2em 0}.study-text strong{font-weight:700}.study-text blockquote{margin:1em 0;padding:.6em .9em;border-left:3px solid var(--accent);background:var(--accent-soft)}.study-text code{font-size:.88em;background:var(--rule-soft);padding:.05em .3em;border-radius:3px}.study-pre{overflow-x:auto;background:var(--rule-soft);padding:.8em .9em;border-radius:6px;font-size:.82em;line-height:1.5}.study-img-blocked{color:var(--muted);font-size:.85em}.study-table-wrap{overflow-x:auto;margin:.4em 0 1.2em;border:1px solid var(--rule);border-radius:6px;background:var(--surface);max-width:100%}.study-text table{border-collapse:collapse;width:100%;font-size:.9em;line-height:1.6}.study-text th,.study-text td{text-align:left;vertical-align:top;padding:.5em .7em;border-bottom:1px solid var(--rule-soft)}.study-text th{background:var(--accent-soft);color:var(--ink-2);white-space:nowrap}.study-text tr:last-child td{border-bottom:none}.study-text table.wide td:first-child,.study-text table.wide th:first-child{position:sticky;left:0;background:var(--surface);box-shadow:1px 0 0 var(--rule-soft)}.study-text table.wide th:first-child{background:var(--accent-soft)}.study-text table.wide td{min-width:8em}@container study (max-width: 34rem){.study-table-wrap:has(table.stackable){border:none;background:none;overflow:visible}.study-text table.stackable,.study-text table.stackable tbody,.study-text table.stackable tr,.study-text table.stackable td{display:block;width:100%}.study-text table.stackable thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.study-text table.stackable tr{border:1px solid var(--rule);background:var(--surface);margin-bottom:.6em;border-radius:6px}.study-text table.stackable td{border-bottom:1px solid var(--rule-soft);padding:.45em .75em}.study-text table.stackable td:last-child{border-bottom:none}.study-text table.stackable td:first-child{background:var(--accent-soft);font-weight:600}.study-text table.stackable td:not(:first-child)[data-label]:before{content:attr(data-label);display:block;font-size:.78em;color:var(--muted)}}mark.em-mark{background:linear-gradient(transparent 58%,color-mix(in srgb,var(--warn) 32%,transparent) 58%);color:inherit;padding:0 1px;border-radius:2px}.em-u{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:4px;font-variant-numeric:tabular-nums}.study-text strong.term-link{text-decoration:underline dotted 1.5px var(--accent);text-underline-offset:3px;cursor:pointer}.study-text strong.term-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.term-popup{position:fixed;z-index:63;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:0 8px 28px #00000029;padding:.7rem .85rem}.term-def{margin:.35rem 0 .5rem;line-height:1.6;font-size:.94rem}.glossary{margin:0}.glossary-row{padding:.6rem 0;border-bottom:1px solid var(--rule-soft)}.glossary dt{font-weight:700}.glossary dd{margin:.2rem 0 0;line-height:1.6}.term-card{text-align:center;padding:1.6rem 1rem}.term-front{font-size:1.4rem;font-weight:700;margin:0 0 .3rem}.term-back{text-align:left;line-height:1.7;margin-top:.8rem}.term-reveal{margin-top:1rem}.dg{margin:1.1rem 0;border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);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(--font);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(--accent);stroke-opacity:.5;stroke-width:1.4}.dg .dg-n.dg-lead rect,.dg .dg-cell.dg-lead{fill:var(--accent-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(--surface)}.dg .dg-el text{font-size:11px;fill:var(--accent)}.dg .dg-band rect{fill:var(--accent-soft);stroke:var(--accent);stroke-opacity:.35}.dg .dg-band rect.dg-band-tab{fill:var(--accent);stroke:none}.dg .dg-center{font-size:15px;font-weight:700;fill:var(--accent)}.dg .dg-dot{fill:var(--accent)}.dg .dg-when{font-size:13px;font-weight:700;fill:var(--accent)}.dg .dg-cur{fill:none;stroke-width:2.4}.dg .dg-cur0{stroke:var(--accent)}.dg .dg-cur1{stroke:var(--warn);stroke-dasharray:6 4}.dg .dg-cur2{stroke:var(--no);stroke-dasharray:2 4}.dg .dg-sname{font-size:11.5px;font-weight:600}.dg .dg-sname0{fill:var(--accent)}.dg .dg-sname1{fill:var(--warn)}.dg .dg-sname2{fill:var(--no)}.dg .dg-mark{fill:var(--ink)}.dg .dg-grid{stroke:var(--rule);stroke-width:1}.dg figcaption{font-size:.82rem;color:var(--ink-2);border-top:1px dashed var(--rule);margin-top:.4rem;padding:.35rem .25rem 0}.dg-fallback{margin:.2rem 0;padding-left:1.2rem;font-size:.92rem}:root{--hl-key: rgba(240, 196, 40, .38);--hl-memorize: rgba(76, 175, 110, .3);--hl-unsure: rgba(226, 92, 92, .28);--hl-ref: rgba(74, 144, 226, .26);--ul-key: #c99a00;--ul-memorize: #2f8a52;--ul-unsure: #c0392b;--ul-ref: #2f6fb8;--hl-active: rgba(15, 107, 92, .2)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--hl-key: rgba(240, 196, 40, .3);--hl-memorize: rgba(90, 200, 130, .26);--hl-unsure: rgba(240, 110, 110, .28);--hl-ref: rgba(110, 170, 240, .28);--ul-key: #e6bd3c;--ul-memorize: #5cc685;--ul-unsure: #f08a7c;--ul-ref: #7fb0ea;--hl-active: rgba(79, 194, 168, .25)}}::highlight(study-highlight-key){background-color:var(--hl-key)}::highlight(study-highlight-memorize){background-color:var(--hl-memorize)}::highlight(study-highlight-unsure){background-color:var(--hl-unsure)}::highlight(study-highlight-ref){background-color:var(--hl-ref)}::highlight(study-underline-key){text-decoration:underline 2px var(--ul-key);text-underline-offset:.22em}::highlight(study-underline-memorize){text-decoration:underline 2px var(--ul-memorize);text-underline-offset:.22em}::highlight(study-underline-unsure){text-decoration:underline 2px var(--ul-unsure);text-underline-offset:.22em}::highlight(study-underline-ref){text-decoration:underline 2px var(--ul-ref);text-underline-offset:.22em}::highlight(study-note-key){text-decoration:underline dotted 2px var(--ul-key);text-underline-offset:.22em}::highlight(study-note-memorize){text-decoration:underline dotted 2px var(--ul-memorize);text-underline-offset:.22em}::highlight(study-note-unsure){text-decoration:underline dotted 2px var(--ul-unsure);text-underline-offset:.22em}::highlight(study-note-ref){text-decoration:underline dotted 2px var(--ul-ref);text-underline-offset:.22em}::highlight(study-active){background-color:var(--hl-active)}.annotator{position:relative}.annotation-swatch.swatch-key,.note-card.swatch-key{--memo: var(--ul-key)}.annotation-swatch.swatch-memorize,.note-card.swatch-memorize{--memo: var(--ul-memorize)}.annotation-swatch.swatch-unsure,.note-card.swatch-unsure{--memo: var(--ul-unsure)}.annotation-swatch.swatch-ref,.note-card.swatch-ref{--memo: var(--ul-ref)}.annotation-toolbar{position:fixed;z-index:62;display:flex;align-items:center;gap:.15rem;background:var(--surface);border:1px solid var(--rule);border-radius:999px;box-shadow:0 6px 24px #00000024;padding:.2rem .35rem;-webkit-user-select:none;user-select:none}.annotation-toolbar-sep{width:1px;height:1.2rem;background:var(--rule);margin:0 .2rem}.annotation-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:2rem;height:2rem;padding:0 .35rem;border:none;border-radius:999px;background:none;color:var(--ink-2);cursor:pointer;font-size:.85rem}.annotation-icon:hover{background:var(--rule-soft);color:var(--ink)}.annotation-icon[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.annotation-icon.danger{color:var(--no)}.annotation-icon svg{display:block}.annotation-swatch{flex:none;width:1.35rem;height:1.35rem;margin:0 .12rem;border-radius:50%;padding:0;border:2px solid var(--surface);cursor:pointer;box-shadow:0 0 0 1px var(--rule);background:var(--memo)}.annotation-swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--ink)}.swatch-chip[aria-pressed=true]{border-color:var(--memo, var(--accent))}.toc-chip.swatch-chip:before{content:"";display:inline-block;width:.6em;height:.6em;border-radius:50%;background:var(--memo);margin-right:.3em}.toc-chip.swatch-key{--memo: var(--ul-key)}.toc-chip.swatch-memorize{--memo: var(--ul-memorize)}.toc-chip.swatch-unsure{--memo: var(--ul-unsure)}.toc-chip.swatch-ref{--memo: var(--ul-ref)}.notes-sync{margin:0 0 .4rem;min-height:1em}.notes-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.note-card{border:1px solid var(--rule);border-left:4px solid var(--memo);border-radius:8px;padding:.5rem .6rem;background:var(--surface)}.note-card.active{box-shadow:0 0 0 2px var(--accent-soft)}.note-quote{display:flex;flex-direction:column;gap:.1rem;width:100%;text-align:left;border:none;background:none;padding:0;font-size:.86rem;line-height:1.5;color:var(--ink-2);cursor:pointer;overflow-wrap:anywhere}.note-text{width:100%;margin-top:.35rem;padding:.35rem .45rem;border:1px solid var(--rule);border-radius:6px;background:var(--bg);font-size:.9rem;resize:vertical}.note-body{margin:.35rem 0 0;white-space:pre-wrap;font-size:.92rem}.note-tools{margin-top:.35rem;gap:.2rem}.notes-lost-head{font-size:.9rem;margin:1rem 0 .2rem}@media(max-width:640px){.reader-head h1{font-size:1.22rem}.reader-nav .btn{max-width:100%}}.reader-tabs{display:flex;align-items:center;gap:.2rem;border-bottom:1px solid var(--rule-soft);margin:-.2rem 0 .8rem}.reader-tabs [role=tab]{background:none;border:none;border-bottom:2px solid transparent;padding:.5rem .6rem;font:inherit;font-weight:700;font-size:.95rem;color:var(--muted);cursor:pointer;margin-bottom:-1px;white-space:nowrap}.reader-tabs [role=tab][aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.reader-tabs [role=tab]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.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 .pill{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .75rem;border:1px solid var(--rule);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;font-size:.85rem;cursor:pointer;white-space:nowrap}.plan .pill:hover{border-color:var(--accent)}.plan .pill[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.plan h2{margin:0 0 .5rem;font-size:1.1rem}.plan-pills{display:flex;flex-wrap:wrap;gap:.4rem;margin:.3rem 0}.plan-error{margin:0;color:var(--no)}.plan-goal-head{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:flex-start}.plan-goal-head>div:first-child{display:grid;gap:.15rem}.plan-dday-big{font-size:2.1rem;line-height:1.1;color:var(--accent);font-variant-numeric:tabular-nums}.plan-phase{font-size:.8rem;color:var(--warn)}.plan-meters{margin-top:1rem;display:grid;gap:.9rem}.plan-meter-top{display:flex;justify-content:space-between;align-items:baseline;font-size:.9rem}.plan-meter-top strong{font-size:1.2rem;font-variant-numeric:tabular-nums}.plan-bar{position:relative;height:14px;background:var(--rule-soft);border:1px solid var(--rule);border-radius:4px;margin:.35rem 0}.plan-bar i{position:absolute;inset:0 auto 0 0;background:var(--accent);border-radius:3px 0 0 3px}.plan-bar b{position:absolute;top:-5px;bottom:-5px;width:2px;background:var(--warn)}.plan-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.6rem;margin:0}.plan-stats div{border:1px solid var(--rule);border-radius:8px;padding:.5rem .65rem}.plan-stats dt{font-size:.72rem;color:var(--muted)}.plan-stats dd{margin:.1rem 0 0;font-size:.95rem}.plan-stats small{color:var(--muted)}.plan-status{padding:.05rem .45rem;border:1px solid currentColor;border-radius:4px;font-size:.82rem}.plan-status-ok{color:var(--ok)}.plan-status-tight{color:var(--warn)}.plan-status-short{color:var(--no)}.plan-warn{margin:0;padding:.6rem .8rem;background:var(--no-soft);border-radius:8px;color:var(--ink);font-size:.88rem}.plan-tone-review{--tone: var(--no);--tone-soft: var(--no-soft)}.plan-tone-wrong{--tone: var(--omr);--tone-soft: var(--omr-soft)}.plan-tone-concept{--tone: var(--ink);--tone-soft: var(--rule-soft)}.plan-tone-fresh{--tone: var(--accent);--tone-soft: var(--accent-soft)}.plan-tone-read{--tone: var(--ok);--tone-soft: var(--ok-soft)}.plan-tone-exam{--tone: var(--warn);--tone-soft: var(--warn-soft)}.plan-roadmap{display:grid;gap:1.1rem;margin-top:.6rem}.plan-route-head{display:flex;justify-content:space-between;margin-bottom:.3rem}.plan-route-bar{display:flex;gap:3px;height:1.7rem}.plan-route-seg{flex:1 1 0;min-width:1.7rem;display:grid;place-items:center;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-route-seg:last-child{clip-path:polygon(0 0,calc(100% - .55rem) 0,100% 50%,calc(100% - .55rem) 100%,0 100%);padding-right:.4rem}.plan-road{list-style:none;margin:0;padding:0}.plan-road-stop{position:relative;display:grid;grid-template-columns:2.25rem 1fr;gap:.85rem}.plan-road-stop:not(.plan-road-end):before{content:"";position:absolute;left:calc(1.125rem - 1px);top:2.25rem;bottom:0;width:2px;background:linear-gradient(to bottom,var(--tone),var(--rule))}.plan-road-node{position:relative;z-index:1;width:2.25rem;height:2.25rem;border-radius:50%;display:grid;place-items:center;border:2px solid var(--tone);background:var(--surface);color:var(--tone);font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums}.plan-road-stop.is-now .plan-road-node{background:var(--tone);color:var(--surface);box-shadow:0 0 0 5px var(--tone-soft)}.plan-road-card{min-width:0;padding:.35rem 0 1.25rem;display:flex;flex-direction:column;align-items:flex-start}.plan-road-card strong{display:block;font-size:1rem;margin-top:.25rem;overflow-wrap:anywhere}.plan-road-card p{margin:.2rem 0 0;font-size:.86rem;color:var(--ink-2);line-height:1.55}.plan-road-stop:not(.is-now) .plan-road-card p{font-size:.8rem;color:var(--muted)}.plan-road-stop.is-now .plan-road-card{padding:.75rem .95rem;margin-bottom:1.25rem;border:1.5px solid var(--tone);border-radius:10px;background:var(--tone-soft);align-items:stretch}.plan-road-top{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;width:100%}.plan-road-now{font-size:.66rem;letter-spacing:.06em;padding:.1rem .4rem;border-radius:4px;background:var(--tone);color:var(--surface)}.plan-road-time{margin-left:auto;white-space:nowrap}.plan-kind{font-size:.72rem;padding:.1rem .45rem;border:1px solid var(--tone);border-radius:4px;color:var(--tone);background:var(--surface);white-space:nowrap}.plan-skip{margin-top:.35rem;font-size:.78rem;align-self:flex-start}.plan-road-end{--tone: var(--muted)}.plan-road-end .plan-road-node{border-style:dashed;border-color:var(--rule);color:var(--muted);font-size:1rem}.plan-road-end .plan-road-card{padding-bottom:0}.plan-road-end .plan-road-card strong{font-size:.9rem;color:var(--ink-2)}.plan-note{margin:0}.plan-setup{display:grid;gap:.9rem;max-width:36rem;margin-inline:auto}.plan-field{display:grid;gap:.25rem;font-size:.88rem}.plan-field select,.plan-field input{font:inherit;padding:.5rem .6rem;border:1px solid var(--rule);border-radius:8px;background:var(--surface);color:var(--ink)}.plan-dday{font-style:normal;color:var(--accent)}@media(max-width:40rem){.plan-road-time{margin-left:0;flex-basis:100%}}.plan-block-head{list-style:none;margin:.6rem 0 .1rem 3.1rem;padding:.55rem .8rem;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}@media(max-width:640px){.plan-block-head{margin-left:0}}.ptrail{--teal: var(--accent);--teal-soft: var(--accent-soft);--red: var(--no);--ochre: var(--warn);--ink-3: var(--muted);--paper: var(--surface);--page-max: 820px;--gutter: 16px}.plan-running{margin:.6rem 0 0}:root{--heat-none: #e6e3dc;--heat-weak: #e0907f;--heat-mid: #ecc77a;--heat-good: #a6cf93;--heat-best: #4f9a62;--heat-ink: #1c1f22;--imp-1: #e6e3dc;--imp-2: #cfd9ea;--imp-3: #94a9d6;--imp-4: #5a74b8;--imp-4-ink: #fff}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--heat-none: #2a2d31;--heat-weak: #a8503f;--heat-mid: #9a7a2c;--heat-good: #4c7a43;--heat-best: #2f7d49;--heat-ink: #eceae6;--imp-1: #2a2d31;--imp-2: #2f3d5a;--imp-3: #3e5788;--imp-4: #5a7bc8}}:root[data-theme=dark]{--heat-none: #2a2d31;--heat-weak: #a8503f;--heat-mid: #9a7a2c;--heat-good: #4c7a43;--heat-best: #2f7d49;--heat-ink: #eceae6;--imp-1: #2a2d31;--imp-2: #2f3d5a;--imp-3: #3e5788;--imp-4: #5a7bc8}.cmap-title{margin:0;font-size:1.15rem}.cmap-subjects{display:flex;flex-wrap:wrap;gap:.35rem;margin:.6rem 0}.cmap .pill{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;border:1px solid var(--rule);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;font-size:.85rem;cursor:pointer;white-space:nowrap}.cmap .pill:hover{border-color:var(--accent)}.cmap .pill[aria-pressed=true],.cmap .pill[aria-selected=true]{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.cmap-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.cmap-summary{margin:.8rem 0 .4rem}.cmap-legend{display:flex;flex-wrap:wrap;gap:.4rem;margin:.4rem 0 .8rem}.cmap-legend-item{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .6rem;background:var(--surface);border:1px solid var(--rule);border-radius:999px;cursor:pointer;font:inherit;font-size:.85rem;color:var(--ink)}.cmap-legend-item[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.cmap-swatch{width:.9rem;height:.9rem;border-radius:3px;display:inline-block;flex:none}.cmap-swatch[data-level=none],.cmap-cell[data-level=none]{background:var(--heat-none)}.cmap-swatch[data-level=weak],.cmap-cell[data-level=weak]{background:var(--heat-weak)}.cmap-swatch[data-level=mid],.cmap-cell[data-level=mid]{background:var(--heat-mid)}.cmap-swatch[data-level=good],.cmap-cell[data-level=good]{background:var(--heat-good)}.cmap-swatch[data-level=best],.cmap-cell[data-level=best]{background:var(--heat-best)}.cmap-swatch[data-imp="1"],.cmap-cell[data-imp="1"]{background:var(--imp-1)}.cmap-swatch[data-imp="2"],.cmap-cell[data-imp="2"]{background:var(--imp-2)}.cmap-swatch[data-imp="3"],.cmap-cell[data-imp="3"]{background:var(--imp-3)}.cmap-swatch[data-imp="4"],.cmap-cell[data-imp="4"]{background:var(--imp-4);color:var(--imp-4-ink)}.cmap-cell[data-imp]:after{display:none}.cmap-filters{display:flex;flex-direction:column;gap:.5rem}.cmap-field{display:flex;flex-direction:column;gap:.2rem}.cmap-field input,.cmap-field select{padding:.45rem .55rem;background:var(--surface);color:var(--ink);border:1px solid var(--rule);border-radius:8px;font:inherit}.cmap-area{margin:0 0 .6rem;font-size:.95rem;display:flex;gap:.5rem;align-items:baseline}.cmap-grid{list-style:none;margin:0;padding:0;display:grid;gap:4px;grid-template-columns:repeat(auto-fill,minmax(5.4rem,1fr))}.cmap-cell{position:relative;width:100%;height:5.4rem;padding:.35rem .4rem .5rem;text-align:left;cursor:pointer;border:1px solid transparent;border-radius:6px;color:var(--heat-ink);font:inherit;font-size:.74rem;line-height:1.25;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:.15rem}.cmap-cell:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cmap-cell[data-selected=true]{border-color:var(--ink)}.cmap-cell-name{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:keep-all}.cmap-cell-n{font-size:.68rem;opacity:.75;font-variant-numeric:tabular-nums}.cmap-cell-n:after{content:"회"}.cmap-cell:after{content:"";position:absolute;left:0;bottom:0;height:4px;width:var(--cov, 0%);background:var(--heat-ink);opacity:.55}.cmap-cell[data-due=true]:before{content:"";position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--no);border:1px solid var(--surface)}.cmap-detail{position:sticky;bottom:0;max-height:60vh;overflow:auto;z-index:5;box-shadow:0 -6px 16px #0000001f;display:flex;flex-direction:column;gap:.5rem}.cmap-detail-head{display:flex;align-items:center;gap:.5rem}.cmap-detail-head strong{flex:1}.cmap-questions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.cmap-questions li{border-top:1px solid var(--rule-soft);padding-top:.5rem;display:flex;flex-direction:column;gap:.3rem;align-items:flex-start}.cmap-q-head{display:flex;gap:.8rem}.cmap-q-text{margin:0;font-size:.9rem;line-height:1.5;white-space:pre-wrap}.cmap-ok{color:var(--ok)}.cmap-no{color:var(--no)}.cmap-cell-diff{position:absolute;right:.35rem;bottom:.45rem;line-height:1;opacity:.7}.cmap-sky{display:flex;flex-direction:column;gap:.7rem}.cmap-sky-legend .cst-notes-body{display:flex;flex-direction:row;flex-wrap:wrap;gap:.25rem 1.1rem}.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:.25rem}.cmap .pill:disabled{opacity:.45;cursor:not-allowed}.cmap[data-view=sky] .cmap-detail{position:static;max-height:none;box-shadow:none}.study-fab{--fab-ink: var(--accent);--fab-soft: var(--accent-soft);position:fixed;left:calc(1rem + env(safe-area-inset-left));bottom:calc(1rem + env(safe-area-inset-bottom));z-index:58;display:inline-flex;align-items:center;gap:.15rem;height:46px;padding:0 .35rem 0 .3rem;border:1.5px solid var(--fab-ink);border-radius:999px;background:var(--surface);color:var(--ink);box-shadow:0 10px 30px -14px #00000059,0 1px 3px #00000014;transition:border-color .25s ease}.study-fab[data-state=idle]{--fab-ink: var(--warn);--fab-soft: var(--warn-soft)}.study-fab[data-state=paused]{--fab-ink: var(--muted);--fab-soft: var(--rule-soft);border-style:dashed}.study-fab button{border:0;background:none;color:inherit;font:inherit;cursor:pointer}.study-fab button:focus-visible{outline:3px solid var(--fab-soft);outline-offset:2px;border-radius:999px}.study-fab-toggle{display:grid;place-items:center;width:34px;height:34px;padding:0;border-radius:50%!important;background:var(--fab-soft)!important;color:var(--fab-ink)!important}.study-fab-main{display:inline-flex;align-items:center;gap:.4rem;height:100%;padding:0 .6rem 0 .35rem}.study-fab-icon{width:18px;height:18px}.study-fab-time{font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700;letter-spacing:.02em;color:var(--fab-ink)}.study-fab-label{font-size:.75rem;color:var(--muted)}.study-status{font-size:.78rem;color:var(--accent)}.study-status[data-state=idle]{color:var(--warn)}.study-status[data-state=paused]{color:var(--muted)}.study-panel-actions{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.study-panel{position:fixed;left:calc(1rem + env(safe-area-inset-left));bottom:calc(1rem + 58px + env(safe-area-inset-bottom));z-index:59;width:min(400px,calc(100vw - 2rem));max-height:min(680px,calc(100dvh - 7rem));overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:.9rem;padding:1rem 1.1rem 1.1rem;background:var(--surface);border:1px solid var(--rule);border-radius:14px;box-shadow:0 18px 50px -18px #0006,0 2px 8px #0000001a}.study-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.study-panel-head>div{display:flex;flex-direction:column;gap:.1rem}.study-panel-today{font-size:1.6rem;font-weight:700;line-height:1.2}.study-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin:0}.study-stats>div{min-width:0;padding:.5rem .55rem;background:var(--bg);border:1px solid var(--rule-soft);border-radius:8px}.study-stats dt{font-size:.7rem;color:var(--muted)}.study-stats dd{margin:.1rem 0 0;font-size:.88rem;font-weight:600;font-variant-numeric:tabular-nums}.study-bars{margin:0;display:flex;flex-direction:column;gap:.3rem}.study-bars-plot{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:2px;height:64px;border-bottom:1px solid var(--rule)}.study-bar{display:flex;align-items:flex-end;height:100%;padding:0 1px;border:0;background:none;cursor:default}.study-bar>span{display:block;width:100%;border-radius:4px 4px 0 0;background:color-mix(in srgb,var(--accent) 45%,var(--surface))}.study-bar.is-today>span,.study-bar:hover>span,.study-bar:focus-visible>span{background:var(--accent)}.study-bar:focus-visible{outline:2px solid var(--accent-soft)}.study-bars-axis{display:flex;justify-content:space-between;font-size:.7rem}.study-tabs{display:flex;gap:.3rem;border-bottom:1px solid var(--rule)}.study-tabs button{border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font:inherit;font-size:.88rem;padding:.35rem .5rem;cursor:pointer}.study-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.study-rank{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}.study-rank-row{display:grid;grid-template-columns:1.6rem minmax(0,1fr) auto;align-items:start;gap:.55rem;width:100%;padding:.5rem .4rem;border:0;border-radius:8px;background:none;color:inherit;text-align:left;font:inherit}button.study-rank-row{cursor:pointer}button.study-rank-row:hover,button.study-rank-row:focus-visible{background:var(--bg)}.study-rank-n{font-size:.85rem;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.study-rank li:nth-child(-n+3) .study-rank-n{color:var(--accent);font-weight:600}.study-rank-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.study-rank-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.92rem;line-height:1.4}.study-rank-bar{display:block;height:4px;border-radius:2px;background:var(--rule-soft);overflow:hidden}.study-rank-bar>span{display:block;height:100%;border-radius:2px;background:var(--accent)}.study-rank-time{font-size:.82rem;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink-2)}.study-empty{margin:.4rem 0}.study-panel-note{margin:0;line-height:1.5}@media(prefers-reduced-motion:reduce){.study-fab{transition:none}}@media(max-width:600px){.study-fab{height:42px;left:calc(.75rem + env(safe-area-inset-left));bottom:calc(.9rem + env(safe-area-inset-bottom))}.study-fab-toggle{width:30px;height:30px}.study-fab-label{display:none}.study-panel{z-index:61;left:0;right:0;bottom:0;width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - .75rem);border-radius:14px 14px 0 0;border-bottom:0;padding-bottom:calc(1.1rem + env(safe-area-inset-bottom))}}:root{--bg: #f6f4ef;--surface: #ffffff;--ink: #1c1f22;--ink-2: #4a5057;--muted: #6b7178;--rule: #dcd8cf;--rule-soft: #ebe8e1;--accent: #0f6b5c;--accent-soft: #e2f1ec;--ok: #17803d;--ok-soft: #e4f4e8;--no: #b3261e;--no-soft: #fbe7e5;--warn: #8a5a00;--warn-soft: #fbf0d9;--omr: #c2185b;--omr-soft: #fde8ef;--radius: 10px;--font: "Pretendard", "Apple SD Gothic Neo", "Noto Sans KR", system-ui, sans-serif;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #15171a;--surface: #1e2124;--ink: #eceae6;--ink-2: #c2c0bb;--muted: #9a9ea4;--rule: #34383d;--rule-soft: #2a2d31;--accent: #4fc2a8;--accent-soft: #1b3530;--ok: #5cc985;--ok-soft: #1b3324;--no: #f08178;--no-soft: #3a1f1d;--warn: #e2b55a;--warn-soft: #3a2f17;--omr: #f06292;--omr-soft: #3a1d29;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-text-size-adjust:100%}h1{font-size:1.5rem;margin:0;letter-spacing:-.01em}h2{font-size:1.1rem;margin:0 0 .6rem}button,select,input{font:inherit;color:inherit}.muted{color:var(--muted)}.small{font-size:.85rem}.hint{color:var(--muted)}.fineprint{color:var(--muted);font-size:.8rem;margin:.4rem 0 0}.lede{color:var(--ink-2);margin:.3rem 0 0}.spacer{flex:1}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:1rem;padding:.55rem 16px;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}.brand{border:0;background:none;font-weight:800;font-size:1.05rem;padding:0;cursor:pointer;white-space:nowrap}.brand span{color:var(--accent)}.tabs{display:flex;gap:.25rem;overflow-x:auto;scrollbar-width:none}.tabs button{border:0;background:none;padding:.35rem .75rem;border-radius:999px;cursor:pointer;white-space:nowrap;color:var(--ink-2)}.tabs button.active{background:var(--ink);color:var(--bg)}.page{max-width:820px;margin:0 auto;padding:1.25rem 16px 3rem}.page.wide{max-width:1280px;padding-top:0}.foot{max-width:820px;margin:0 auto;padding:1rem 16px 2rem;color:var(--muted);font-size:.78rem;border-top:1px solid var(--rule-soft)}.stack{display:flex;flex-direction:column;gap:1rem}.row{display:flex;align-items:center;gap:.5rem}.row.wrap{flex-wrap:wrap}.row.end{justify-content:flex-end}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:1rem}.card.notice{background:var(--warn-soft);border-color:transparent}.chip{display:inline-block;font-size:.75rem;padding:.05rem .5rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}.btn{border:1px solid var(--rule);background:var(--surface);border-radius:8px;padding:.45rem .9rem;cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--ink-2)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .btn.primary{color:#0b1513}}.btn.small{padding:.25rem .6rem;font-size:.88rem}.link{border:0;background:none;color:var(--accent);cursor:pointer;padding:0;font-size:.88rem}.toggle{display:inline-flex;align-items:center;gap:.3rem;cursor:pointer;color:var(--ink-2)}.toggle.small{font-size:.85rem}select{border:1px solid var(--rule);background:var(--surface);border-radius:8px;padding:.4rem .5rem;max-width:100%}.skeleton{height:8rem;border-radius:var(--radius);background:linear-gradient(90deg,var(--rule-soft),var(--surface),var(--rule-soft));background-size:200% 100%;animation:shimmer 1.2s infinite linear}.skeleton.tall{height:60vh}@keyframes shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.hero h1{font-size:1.7rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}@media(max-width:560px){.grid-3{gap:.5rem}.action{padding:.7rem;font-size:.88rem}.action small{display:none}.action-num{font-size:1.5rem}.topbar{gap:.5rem}.brand span{display:none}.tabs button{padding:.35rem .6rem}}.action{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;cursor:pointer;text-align:left}.action:disabled{cursor:default;opacity:.7}.action:hover:not(:disabled){border-color:var(--accent)}.action-num{font-size:1.8rem;font-weight:800;line-height:1.1;color:var(--accent);font-variant-numeric:tabular-nums}.form-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.form-row label{display:flex;flex-direction:column;font-size:.82rem;color:var(--muted);gap:.2rem}.bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.bars li{display:grid;grid-template-columns:minmax(7rem,11rem) 1fr auto;align-items:center;gap:.6rem;font-size:.9rem}@media(max-width:560px){.bars li{grid-template-columns:1fr auto}.bars .bar{grid-column:1 / -1;order:3}}.bar{height:8px;background:var(--rule-soft);border-radius:99px;overflow:hidden}.bar-fill{display:block;height:100%;background:var(--accent)}.bar-num{font-variant-numeric:tabular-nums;white-space:nowrap}.round-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.round-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.round-list.compact .round-row{padding:.3rem 0;border-bottom:1px solid var(--rule-soft)}.question{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:1rem 1.1rem}.q-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.85rem;color:var(--muted);margin-bottom:.5rem}.q-meta .link{margin-left:auto}.stem{white-space:pre-line;margin:0 0 .8rem;font-size:1.02rem}.q-no{margin-right:.2rem}.choices{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.choice{width:100%;display:grid;grid-template-columns:1.6rem 1fr;gap:.2rem .3rem;text-align:left;background:transparent;border:1px solid var(--rule-soft);border-radius:8px;padding:.5rem .7rem;cursor:pointer;line-height:1.5}.choice:disabled{cursor:default}.choice:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.choice .mark{font-size:1.05rem}.choice.picked{border-color:var(--ink-2)}.choice.answer{background:var(--ok-soft);border-color:var(--ok)}.choice.wrong{background:var(--no-soft);border-color:var(--no)}.choice .why{grid-column:2;font-size:.88rem;color:var(--ink-2)}.reveal{margin-top:.8rem;padding-top:.7rem;border-top:1px dashed var(--rule)}.reveal p{margin:.2rem 0}.answer-line b{color:var(--ok)}.law-changed{background:var(--warn-soft);color:var(--warn);padding:.4rem .6rem;border-radius:6px}.original{max-width:36rem;display:flex;flex-direction:column;gap:.25rem;margin-bottom:.8rem;background:#fff;border-radius:6px}.original-crop{position:relative;overflow:hidden;width:100%}.original-crop img{position:absolute;max-width:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .original img{filter:invert(.88) hue-rotate(180deg)}:root:not([data-theme=light]) .original{background:#1f1f1f}}.drill-bar,.verdict{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.progress{height:4px;background:var(--rule-soft);border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:var(--accent);transition:width .2s}.verdict{position:sticky;bottom:0;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:.7rem 1rem;box-shadow:0 -6px 18px #0000000f}.verdict.ok b{color:var(--ok)}.verdict.no b{color:var(--no)}.exam-bar{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;padding:.6rem 0;background:var(--bg);border-bottom:1px solid var(--rule)}.timer{font-variant-numeric:tabular-nums;font-weight:700;font-size:1.1rem}.timer.low{color:var(--no)}.exam-body{display:grid;grid-template-columns:1fr 300px;gap:1rem;padding-top:1rem}.paper{background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:1rem 1.25rem;columns:2 22rem;column-gap:2rem;column-rule:1px solid var(--rule)}.paper-q{break-inside:avoid;padding:.5rem .4rem;border-radius:6px;margin-bottom:.6rem}.paper-q.current{background:var(--accent-soft)}.paper-q .stem{font-size:.95rem;margin-bottom:.4rem}.paper-choices{list-style:none;padding:0;margin:0;font-size:.92rem}.paper-choices button{border:0;background:none;text-align:left;padding:.1rem .2rem;border-radius:4px;cursor:pointer;width:100%}.paper-choices li.picked button{background:var(--omr-soft)}.paper-choices li.picked .mark{color:var(--omr);font-weight:800}.omr{position:sticky;top:3.6rem;align-self:start;max-height:calc(100vh - 4.5rem);overflow-y:auto;background:var(--surface);border:2px solid var(--omr);border-radius:4px}.omr-head{position:sticky;top:0;background:var(--omr);color:#fff;font-weight:700;padding:.35rem .7rem;font-size:.9rem}.omr-head .muted{color:#fffc}.omr-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(var(--omr-rows),auto);grid-auto-flow:column;column-gap:.5rem;padding:.4rem}.omr-row{display:grid;grid-template-columns:2.1rem repeat(5,1fr);align-items:center;gap:2px;padding:1px 2px;border-radius:4px}.omr-row:nth-child(5n){border-bottom:1px solid var(--omr-soft);padding-bottom:3px}.omr-row.current{background:var(--omr-soft)}.omr-no{border:0;background:none;font-size:.78rem;font-weight:700;color:var(--omr);cursor:pointer;padding:0;font-variant-numeric:tabular-nums}.bubble{width:1.15rem;height:1.55rem;justify-self:center;border:1px solid var(--omr);border-radius:50%;background:transparent;color:var(--omr);font-size:.62rem;padding:0;cursor:pointer;line-height:1}.bubble.filled{background:var(--ink);border-color:var(--ink);color:transparent}@media(max-width:900px){.exam-body{grid-template-columns:1fr}.paper{columns:1;padding:.75rem}.omr{position:static;max-height:none}.omr-grid{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));grid-template-rows:none;grid-auto-flow:row}.bubble{width:1.6rem;height:1.9rem}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:grid;place-items:center;z-index:50;padding:16px}.modal{background:var(--surface);border-radius:var(--radius);padding:1.2rem;width:min(420px,100%)}.modal p{margin:0 0 .6rem}.result-card p{margin:.3rem 0}.big-score{font-size:2.6rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.big-score small{font-size:.9rem;font-weight:400;color:var(--muted);margin-left:.3rem}.pass{color:var(--ok);font-weight:700}.fail{color:var(--no);font-weight:700}.score-table{width:100%;border-collapse:collapse;margin-top:.6rem;font-variant-numeric:tabular-nums}.score-table th,.score-table td{text-align:left;padding:.35rem .4rem;border-bottom:1px solid var(--rule-soft)}.score-table tr.fail td{color:var(--no)}.wrong-list,.history{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.wrong-head{width:100%;border:0;background:none;text-align:left;display:flex;flex-wrap:wrap;gap:.3rem .6rem;align-items:center;cursor:pointer;padding:0}.wrong-stem{flex-basis:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wrong-list .question{margin-top:.8rem;border:0;padding:0}.history p{margin:.3rem 0 0}.subtabs{display:flex;gap:.4rem;overflow-x:auto;padding:.5rem 1rem 0;max-width:64rem;margin:0 auto;scrollbar-width:none}.subtabs button{font:inherit;font-size:.9rem;border:1px solid var(--rule);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:.3rem .85rem;white-space:nowrap;cursor:pointer}.subtabs button.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip.staff{text-decoration:none;margin-left:auto}.foot a{color:inherit}.mascot-intro{display:flex;align-items:center;gap:.9rem}.mascot-intro>.mascot{flex:none}.mascot-intro h1,.mascot-intro h2{margin-top:0}.mascot-intro .lede,.mascot-intro .hint{margin-bottom:0}.verdict-mascot{margin:-.5rem -.2rem}.result-card{position:relative}.result-mascot{position:absolute;top:.6rem;right:.8rem}.pro-mascot{align-self:flex-end;margin-bottom:-2.4rem}.plan-start{align-items:center}.study-streak-note{display:flex;align-items:center;gap:.6rem;margin:.2rem 0 .4rem;font-size:.88rem;color:var(--ink-2)}@media(max-width:560px){.mascot-state:not(.is-compact) .mascot{width:88px;height:88px}.mascot-intro>.mascot{width:56px;height:56px}.result-mascot{width:64px;height:64px}.pro-mascot{width:56px;height:56px;margin-bottom:-2rem}}.narrow{max-width:40rem;margin-inline:auto}.auth{max-width:26rem;margin-inline:auto}.narrow .auth{margin-inline:0}.auth form label,.account label{display:flex;flex-direction:column;gap:.3rem}.account label.row,.account label.toggle{flex-direction:row;align-items:center;gap:.5rem}.auth input,.auth select,.account input,.modal textarea{font:inherit;padding:.55rem .65rem;border:1px solid var(--rule);border-radius:6px;background:var(--surface);color:var(--ink)}.modal textarea{width:100%;resize:vertical}.seg{display:inline-flex;border:1px solid var(--rule);border-radius:8px;overflow:hidden;margin-bottom:.8rem}.seg button{font:inherit;border:0;background:transparent;color:var(--ink-2);padding:.4rem .9rem;cursor:pointer}.seg button.active{background:var(--ink);color:var(--bg)}.error{color:var(--no)}.notice{background:var(--surface);border-left:3px solid var(--accent);padding:.6rem .8rem}.row.between{justify-content:space-between}.danger-zone{border-color:color-mix(in srgb,var(--no) 40%,var(--rule))}.btn.danger{color:#fff;background:var(--no);border-color:var(--no)}.btn.danger:disabled{opacity:.5}.announcements{display:grid;gap:.4rem;margin:.6rem 0}.announce{display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap;padding:.55rem .8rem;border-radius:8px;background:var(--surface);border:1px solid var(--rule);font-size:.92rem}.announce.warning{border-color:color-mix(in srgb,var(--no) 50%,var(--rule))}.announce button{margin-left:auto}.pick-rate{font-size:.78rem;color:var(--muted);margin-left:.4rem;font-variant-numeric:tabular-nums}.exam-warn{position:sticky;bottom:.5rem;margin:.5rem auto;max-width:40rem;padding:.5rem .8rem;border-radius:8px;background:var(--surface);border:1px solid var(--rule);font-size:.9rem}.sync-dot{font-size:.8rem;color:var(--muted)}.sources{font-size:.85rem;color:var(--ink-2);margin:.4rem 0}.sources summary{cursor:pointer;color:var(--muted)}.sources ol{margin:.3rem 0 0;padding-left:1.4rem}.sources a{color:var(--accent);word-break:break-all}
