.social-signin{display:flex;flex-direction:column;gap:.55rem;margin:.4rem 0 .2rem}.social-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;min-height:2.6rem;padding:.55rem 1rem;border-radius:6px;border:1px solid;font:inherit;font-weight:500;cursor:pointer}.social-btn:disabled{opacity:.6;cursor:default}.social-google{background:#fff;color:#1f1f1f;border-color:#747775}.social-apple{background:#000;color:#fff;border-color:#000}@media(prefers-color-scheme:dark){.social-apple{background:#fff;color:#000;border-color:#fff}}:root[data-theme=dark] .social-apple{background:#fff;color:#000;border-color:#fff}:root[data-theme=light] .social-apple{background:#000;color:#fff;border-color:#000}.social-mark{flex:none}.social-apple-mark{margin-top:-2px}.social-note{margin:0;font-size:.78rem;line-height:1.5;color:var(--ink-3, var(--muted, #6b6b6b))}.social-error{margin:0;font-size:.85rem;color:var(--red, #b3261e)}.social-or{display:flex;align-items:center;gap:.7rem;margin-top:.3rem;color:var(--ink-3, var(--muted, #6b6b6b));font-size:.74rem}.social-or:before,.social-or:after{content:"";flex:1;border-top:1px solid var(--rule, rgba(127, 127, 127, .35))}.mascot{display:block;max-width:100%;height:auto;object-fit:contain;-webkit-user-select:none;user-select:none}.mascot-face{display:block;border-radius:50%;flex:none;-webkit-user-select:none;user-select:none}.mascot-bob{animation:mascot-bob 3.6s ease-in-out infinite;transform-origin:50% 100%}.mascot-wiggle{animation:mascot-wiggle .9s ease-in-out 1;transform-origin:50% 90%}@keyframes mascot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes mascot-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-6deg)}60%{transform:rotate(5deg)}}.mascot-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;padding:1.5rem 1rem}.mascot-state strong{display:block;font-size:1.02rem;font-weight:700;color:var(--ink, inherit)}.mascot-state p{margin:.3rem auto 0;max-width:32ch;font-size:.88rem;line-height:1.6;color:var(--ink-2, var(--muted, #5b6066))}.mascot-state-action{margin-top:.8rem;display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.mascot-state.is-compact{flex-direction:row;text-align:left;padding:.75rem .5rem;gap:.8rem}.mascot-state.is-compact p{margin-left:0}.mascot-state.is-compact .mascot-state-action{justify-content:flex-start}@media(prefers-reduced-motion:reduce){.mascot-bob,.mascot-wiggle{animation:none}}@media print{.mascot,.mascot-face{display:none!important}}.pro-plan{display:flex;flex-direction:column;gap:.7rem;padding:1rem 1.1rem;border:1px solid var(--rule, rgba(127, 127, 127, .35));border-radius:10px;background:var(--surface, transparent)}.pro-plan.is-on{border-color:var(--teal, var(--accent, #2f7d6d))}.pro-title{margin:0;font-size:1.05rem;display:flex;align-items:center;gap:.5rem}.pro-badge{font-size:.72rem;font-weight:600;padding:.12rem .5rem;border-radius:999px;background:var(--teal, var(--accent, #2f7d6d));color:var(--on-accent, #fff)}.pro-meta{margin:0;font-size:.85rem;color:var(--ink-2, var(--muted, #555))}.pro-benefits{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.pro-plans{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}@media(max-width:360px){.pro-plans{grid-template-columns:1fr}}.pro-option{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.75rem .85rem;border:1.5px solid var(--rule, rgba(127, 127, 127, .35));border-radius:8px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.pro-option.is-chosen{border-color:var(--ink, currentColor);box-shadow:0 0 0 1px var(--ink, currentColor) inset}.pro-option-name{font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:.4rem}.pro-save{font-size:.7rem;font-weight:600;color:var(--red, #b3261e)}.pro-price{font-size:1.15rem;font-weight:700}.pro-price small{font-size:.75rem;font-weight:400;color:var(--ink-3, var(--muted, #6b6b6b))}.pro-sub{font-size:.75rem;color:var(--ink-3, var(--muted, #6b6b6b))}.pro-buy{min-height:2.8rem;border:none;border-radius:8px;font:inherit;font-weight:700;cursor:pointer;background:var(--ink, #1f1f1f);color:var(--paper, var(--bg, #fff))}.pro-buy:disabled{opacity:.6;cursor:default}.pro-fine{margin:0;font-size:.76rem;line-height:1.55;color:var(--ink-3, var(--muted, #6b6b6b))}.pro-links{margin:0;display:flex;flex-wrap:wrap;gap:.9rem;font-size:.8rem}.pro-links a{color:var(--ink-2, inherit)}.pro-link{padding:0;border:none;background:none;font:inherit;font-size:.8rem;cursor:pointer;color:var(--ink-2, inherit);text-decoration:underline;align-self:flex-start}.pro-note{margin:0;font-size:.85rem;color:var(--ink-2, inherit)}.ns-reminders{display:grid;gap:.6rem}.ns-row{display:flex;align-items:center;gap:.6rem}.ns-row>input[type=checkbox]{flex:none}.ns-row>span{flex:1 1 auto;min-width:0}.ns-row small{opacity:.7;font-size:.85em}.ns-time{flex:none;font:inherit;padding:.25rem .4rem}.ns-time:disabled{opacity:.5}.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))}.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}}.dg{margin:1.1rem 0;border:1px solid var(--rule);border-radius:10px;background:var(--paper);padding:.6rem .6rem .5rem}.dg-scroll{overflow-x:auto}.dg svg{width:100%;height:auto;display:block;margin:0 auto}.dg text{font-family:var(--f-body);fill:var(--ink)}.dg .dg-l{font-size:13.5px;font-weight:600}.dg .dg-s{font-size:11px;fill:var(--ink-2)}.dg .dg-n rect,.dg .dg-cell{fill:var(--surface);stroke:var(--teal);stroke-opacity:.45;stroke-width:1.4}.dg .dg-n.dg-lead rect,.dg .dg-cell.dg-lead{fill:var(--teal-soft)}.dg .dg-e{stroke:var(--ink-2);stroke-width:1.5;fill:none}.dg .dg-ax{stroke:var(--ink-2);stroke-width:1.4;fill:none}.dg .dg-head{fill:var(--ink-2)}.dg .dg-el rect{fill:var(--paper)}.dg .dg-el text{font-size:11px;fill:var(--teal)}.dg .dg-band rect{fill:var(--teal-soft);stroke:var(--teal);stroke-opacity:.35}.dg .dg-band rect.dg-band-tab{fill:var(--teal);stroke:none}.dg .dg-center{font-size:15px;font-weight:700;fill:var(--teal)}.dg .dg-dot{fill:var(--teal)}.dg .dg-when{font-size:13px;font-weight:700;fill:var(--teal)}.dg .dg-cur{fill:none;stroke-width:2.4}.dg .dg-cur0{stroke:var(--teal)}.dg .dg-cur1{stroke:var(--ochre);stroke-dasharray:6 4}.dg .dg-cur2{stroke:var(--red);stroke-dasharray:2 4}.dg .dg-sname{font-size:11.5px;font-weight:600}.dg .dg-sname0{fill:var(--teal)}.dg .dg-sname1{fill:var(--ochre)}.dg .dg-sname2{fill:var(--red)}.dg .dg-mark{fill:var(--ink)}.dg .dg-grid{stroke:var(--rule);stroke-width:1}.dg .dg-bar0,.dg .dg-pt0{fill:var(--teal)}.dg .dg-bar1,.dg .dg-pt1{fill:var(--ochre)}.dg .dg-bar2,.dg .dg-pt2{fill:var(--red)}.dg .dg-v{font-size:10.5px;fill:var(--ink);font-variant-numeric:tabular-nums}.dg .dg-v-in{fill:var(--paper);font-weight:600}.dg figcaption{display:flex;flex-wrap:wrap;gap:.2rem .7rem;font-size:.82rem;color:var(--ink-2);border-top:1px dashed var(--rule);margin-top:.4rem;padding:.35rem .25rem 0}.dg figcaption b{color:var(--ink)}.dg-fallback{margin:.2rem 0;padding-left:1.2rem;font-size:.92rem}mark.em-mark{background:linear-gradient(transparent 58%,color-mix(in srgb,var(--ochre) 30%,transparent) 58%);color:inherit;padding:0 1px;border-radius:2px}.em-u{text-decoration:underline;text-decoration-color:var(--teal);text-decoration-thickness:2px;text-underline-offset:4px;font-variant-numeric:tabular-nums}.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}}.skeleton{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){.skeleton{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:2px}.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:2px}.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}.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}}.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}:root{--chat-teal: var(--teal, var(--accent, #1f6f78));--chat-teal-soft: var(--teal-soft, color-mix(in srgb, var(--chat-teal) 14%, transparent));--chat-paper: var(--paper, var(--bg, #fbfaf7));--chat-surface: var(--surface, #ffffff);--chat-rule: var(--rule, var(--line, #dedbd3));--chat-rule-soft: var(--rule-soft, color-mix(in srgb, var(--chat-rule) 55%, transparent));--chat-text: var(--ink, var(--fg, #1c1c1c));--chat-text-2: var(--ink-2, var(--muted, #45464a));--chat-text-3: var(--ink-3, var(--muted, #7a7b80));--chat-red: var(--red, #b3261e);--chat-red-soft: var(--red-soft, color-mix(in srgb, var(--chat-red) 10%, transparent));--chat-ochre: var(--ochre, #b8860b);--chat-ochre-soft: var(--ochre-soft, color-mix(in srgb, var(--chat-ochre) 12%, transparent));--chat-display: var(--f-display, inherit);--chat-mono: var(--f-mono, ui-monospace, SFMono-Regular, Menlo, monospace)}:root{--chat-ink: var(--chat-teal);--chat-ink-deep: #163e49;--chat-shadow: 0 18px 50px -18px rgba(18, 44, 52, .45), 0 2px 8px rgba(18, 44, 52, .12);--chat-radius: 18px;--chat-ease: cubic-bezier(.2, .9, .25, 1.15)}@media(prefers-color-scheme:dark){:root{--chat-ink-deep: #3f8797;--chat-shadow: 0 18px 50px -12px rgba(0, 0, 0, .7), 0 2px 8px rgba(0, 0, 0, .4)}}.chat-fab{position:fixed;right:calc(1.25rem + env(safe-area-inset-right));bottom:calc(1.25rem + env(safe-area-inset-bottom));z-index:60;width:60px;height:60px;padding:0;border:0;border-radius:50%;cursor:pointer;color:var(--chat-ink-deep);background:#e3ecd2;box-shadow:var(--chat-shadow),0 0 0 2.5px var(--chat-ink);transition:transform .35s var(--chat-ease),box-shadow .3s ease;animation:chat-fab-in .6s var(--chat-ease) both}.chat-fab:hover{transform:translateY(-2px) scale(1.04)}.chat-fab:active{transform:scale(.96)}.chat-fab:focus-visible{outline:3px solid var(--chat-teal-soft);outline-offset:3px}.chat-fab-face{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:hidden;border-radius:50%}.chat-fab-pul{width:56px;height:56px;transform-origin:50% 85%;transition:transform .45s var(--chat-ease),opacity .25s ease;animation:chat-pul-nod 7s ease-in-out 2.5s infinite}.chat-fab:hover .chat-fab-pul{transform:rotate(-8deg) translateY(-2px);animation:none}.chat-fab-nib{width:30px;height:30px;transform:rotate(38deg) translate(1px,-2px);transform-origin:50% 90%;transition:transform .45s var(--chat-ease),opacity .25s ease}.nib-body{fill:currentColor}.nib-slit,.nib-shoulder{stroke:var(--chat-ink-deep);stroke-width:1.3;stroke-linecap:round;fill:none}.nib-hole{fill:var(--chat-ink-deep)}.chat-fab-nib .nib-shoulder{opacity:.55}.chat-fab-ink{position:absolute;left:14px;bottom:11px;width:30px;height:8px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-dasharray:48;stroke-dashoffset:48;opacity:.85}.chat-fab:hover .chat-fab-nib{transform:rotate(52deg) translate(-2px,-4px)}.chat-fab:hover .chat-fab-ink{animation:chat-ink-draw .7s ease-out forwards}.chat-fab-close{position:absolute;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;opacity:0;transform:rotate(-90deg) scale(.6);transition:transform .4s var(--chat-ease),opacity .2s ease}.chat-fab.is-open .chat-fab-pul{opacity:0;transform:scale(.4);animation:none}.chat-fab.is-open .chat-fab-close{opacity:1;transform:none}.chat-fab-drop{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50% 50% 50% 0;background:var(--chat-ink);opacity:0;animation:chat-drop 7s ease-in 2.5s infinite}.chat-fab-ripple{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid var(--chat-ink);opacity:0;animation:chat-ripple 7s ease-out 3.05s infinite}.chat-fab.is-open .chat-fab-drop,.chat-fab.is-open .chat-fab-ripple{animation:none;opacity:0}.chat-fab-drop{display:none}.chat-fab.is-busy:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid transparent;border-top-color:var(--chat-ink);border-right-color:var(--chat-ink);animation:chat-spin 1s linear infinite}.chat-fab-badge{position:absolute;top:3px;right:3px;width:13px;height:13px;border-radius:50%;background:var(--chat-red);border:2px solid var(--chat-paper);animation:chat-pop .4s var(--chat-ease)}.chat-greeting{position:fixed;right:calc(1.25rem + 70px + env(safe-area-inset-right));bottom:calc(1.25rem + 12px + env(safe-area-inset-bottom));z-index:60;padding:.55rem .9rem;border:1px solid var(--chat-rule);border-radius:14px 14px 4px;background:var(--chat-surface);color:var(--chat-text-2);font-size:.85rem;box-shadow:var(--chat-shadow);cursor:pointer;animation:chat-greet .5s var(--chat-ease) both}.chat-greeting strong{color:var(--chat-teal);font-weight:600}.chat-panel{position:fixed;right:calc(1.25rem + env(safe-area-inset-right));bottom:calc(1.25rem + 72px + env(safe-area-inset-bottom));z-index:59;width:min(420px,calc(100vw - 2.5rem));height:min(680px,calc(100dvh - 7.5rem - env(safe-area-inset-top) - env(safe-area-inset-bottom)));display:flex;flex-direction:column;background:var(--chat-paper);border:1px solid var(--chat-rule);border-radius:var(--chat-radius);box-shadow:var(--chat-shadow);overflow:hidden;transform-origin:calc(100% - 30px) calc(100% + 40px);opacity:0;transform:translateY(12px) scale(.92);pointer-events:none;visibility:hidden;transition:opacity .22s ease,transform .38s var(--chat-ease),visibility 0s linear .38s}.chat-panel.is-open{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .22s ease,transform .38s var(--chat-ease),visibility 0s}.chat-head{display:flex;align-items:center;gap:.7rem;padding:.8rem .75rem .8rem 1rem;background:var(--chat-surface);border-bottom:1px solid var(--chat-rule-soft)}.chat-head-mark{width:36px;height:36px;border-radius:50%;flex:none;display:grid;place-items:center;background:#e3ecd2;box-shadow:0 0 0 1.5px var(--chat-ink);overflow:hidden}.chat-head-mark .mascot-face{width:36px;height:36px}.chat-head-title{display:flex;flex-direction:column;line-height:1.3;min-width:0;flex:1}.chat-head-title strong{font-family:var(--chat-display);font-weight:700;font-size:1.02rem}.chat-head-title span{font-size:.74rem;color:var(--chat-text-3)}.chat-head-actions{display:flex;gap:.15rem}.chat-icon{width:34px;height:34px;padding:0;border:0;border-radius:10px;display:grid;place-items:center;background:transparent;color:var(--chat-text-2);cursor:pointer;transition:background .15s ease,color .15s ease}.chat-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.chat-icon:hover,.chat-icon[aria-pressed=true]{background:var(--chat-teal-soft);color:var(--chat-teal)}.chat-icon:focus-visible{outline:2px solid var(--chat-teal);outline-offset:1px}.chat-icon.small{width:28px;height:28px;border-radius:8px}.chat-icon.small svg{width:15px;height:15px}.chat-history{position:absolute;top:61px;left:0;right:0;bottom:0;z-index:2;background:var(--chat-paper);display:flex;flex-direction:column;animation:chat-slide .25s ease both}.chat-history-head{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.8rem;color:var(--chat-text-3);border-bottom:1px solid var(--chat-rule-soft)}.chat-local-only{color:var(--chat-text-3);font-size:.75em}.chat-history-note{margin:0;padding:.5rem 1rem .2rem;color:var(--chat-text-3);font-size:.78rem;line-height:1.5}.chat-history-empty{padding:1.5rem 1rem;color:var(--chat-text-3);font-size:.9rem}.chat-history ul{list-style:none;margin:0;padding:.4rem;overflow-y:auto}.chat-history li{display:flex;align-items:center;gap:.2rem;border-radius:10px}.chat-history li:hover,.chat-history li.is-active{background:var(--chat-surface)}.chat-history-item{flex:1;min-width:0;display:flex;justify-content:space-between;gap:.6rem;padding:.6rem .7rem;border:0;background:transparent;cursor:pointer;text-align:left}.chat-history-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-history-item time{flex:none;font-family:var(--chat-mono);font-size:.7rem;color:var(--chat-text-3)}.chat-history li.is-active .chat-history-item span{color:var(--chat-teal);font-weight:500}.chat-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:1rem 1rem .5rem;scroll-behavior:smooth}.chat-empty{text-align:center;padding:1.2rem .25rem .5rem}.chat-empty-mark{display:grid;place-items:center;margin:0 auto .3rem}.chat-empty-mark .mascot{width:112px;height:112px}.chat-empty h3{font-family:var(--chat-display);font-weight:700;font-size:1.2rem;margin:.4rem 0 .35rem}.chat-empty p{margin:0 auto 1.1rem;max-width:30ch;color:var(--chat-text-2);font-size:.86rem;line-height:1.6}.chat-empty p strong{color:var(--chat-teal);font-weight:600}.chat-samples{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;text-align:left}.chat-sample{display:flex;flex-direction:column;gap:.2rem;padding:.65rem .75rem;border:1px solid var(--chat-rule);border-radius:12px;background:var(--chat-surface);cursor:pointer;text-align:left;transition:border-color .15s ease,transform .2s var(--chat-ease),box-shadow .2s ease;animation:chat-rise .4s var(--chat-ease) both}.chat-sample strong{font-size:.82rem;font-weight:600;color:var(--chat-teal)}.chat-sample span{font-size:.76rem;color:var(--chat-text-2);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat-sample:hover{border-color:var(--chat-teal);transform:translateY(-2px);box-shadow:0 6px 16px -10px #122c3480}.chat-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.chat-turn{animation:chat-rise .3s ease both}.chat-turn.user{display:flex;justify-content:flex-end}.chat-turn.assistant{display:grid;grid-template-columns:26px minmax(0,1fr);gap:.55rem;align-items:start}.chat-turn-face{margin-top:.15rem;box-shadow:0 0 0 1px var(--chat-rule)}.chat-bubble{max-width:85%;padding:.6rem .85rem;border-radius:16px 16px 4px;background:var(--chat-ink);color:#f5f7f3;white-space:pre-wrap;word-break:break-word;font-size:.92rem;line-height:1.6;font-weight:400}@media(prefers-color-scheme:dark){.chat-bubble{color:#0f1a1d}}.chat-answer{font-size:.92rem;line-height:1.7;color:var(--chat-text)}.chat-thinking{display:inline-flex;align-items:center;gap:.3rem;color:var(--chat-text-3);font-size:.85rem}.chat-thinking-pul{width:44px;height:44px;margin:-6px .1rem -6px -4px;animation:mascot-bob 1.4s ease-in-out infinite}.chat-thinking i{width:6px;height:6px;border-radius:50%;background:var(--chat-teal);animation:chat-dot 1.1s ease-in-out infinite}.chat-thinking i:nth-child(3){animation-delay:.15s}.chat-thinking i:nth-child(4){animation-delay:.3s}.chat-caret{display:inline-block;width:7px;height:1em;margin-left:2px;vertical-align:-.15em;background:var(--chat-teal);border-radius:1px;animation:chat-blink .9s steps(2) infinite}.chat-error{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.4rem;padding:.55rem .75rem;border:1px solid var(--chat-red);border-radius:10px;background:var(--chat-red-soft);color:var(--chat-red);font-size:.84rem}.chat-stopped{margin-top:.3rem;font-size:.78rem;color:var(--chat-text-3)}.chat-sources{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.7rem}.chat-sources-label{font-family:var(--chat-mono);font-size:.68rem;letter-spacing:.08em;color:var(--chat-text-3)}.chat-source{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;padding:.18rem .55rem .18rem .2rem;border:1px solid var(--chat-rule);border-radius:999px;background:var(--chat-surface);color:var(--chat-text-2);font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:border-color .2s ease,background .2s ease}.chat-source b{flex:none;display:grid;place-items:center;min-width:18px;height:18px;border-radius:50%;background:var(--chat-teal-soft);color:var(--chat-teal);font-size:.68rem;font-weight:600}.chat-source.is-hot{border-color:var(--chat-teal);background:var(--chat-teal-soft)}.chat-actions{display:flex;gap:.1rem;margin-top:.35rem;opacity:.7;transition:opacity .15s ease}.chat-turn:hover .chat-actions,.chat-actions:focus-within{opacity:1}.chat-followups{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;margin-top:.6rem}.chat-followup{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border:1px solid var(--chat-rule);border-radius:999px;background:transparent;color:var(--chat-text-2);font-size:.82rem;text-align:left;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease;animation:chat-rise .35s var(--chat-ease) both}.chat-followup svg{width:13px;height:13px;flex:none;fill:none;stroke:var(--chat-teal);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chat-followup:hover{border-color:var(--chat-teal);color:var(--chat-teal);background:var(--chat-teal-soft)}.chat-page{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem .5rem 1rem;background:var(--chat-surface);border-bottom:1px solid var(--chat-rule-soft);font-size:.8rem}.chat-page-icon{flex:none;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--chat-rule-soft);color:var(--chat-text-3);transition:background .15s ease,color .15s ease}.chat-page.is-on .chat-page-icon{background:var(--chat-teal-soft);color:var(--chat-teal)}.chat-page-icon svg,.chat-turn-page svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.chat-page-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35}.chat-page-text b{font-weight:600;color:var(--chat-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-page:not(.is-on) .chat-page-text b{color:var(--chat-text-3);text-decoration:line-through;text-decoration-color:var(--chat-rule)}.chat-page-text small{font-size:.72rem;color:var(--chat-text-3)}.chat-switch{flex:none;position:relative;width:38px;height:22px;padding:0;border:0;border-radius:11px;background:var(--chat-rule);cursor:pointer;transition:background .2s ease}.chat-switch i{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--chat-surface);box-shadow:0 1px 3px #00000040;transition:transform .2s var(--chat-ease)}.chat-switch[aria-checked=true]{background:var(--chat-teal)}.chat-switch[aria-checked=true] i{transform:translate(16px)}.chat-switch:focus-visible{outline:2px solid var(--chat-teal);outline-offset:2px}.chat-turn.user{flex-direction:column;align-items:flex-end;gap:.25rem}.chat-turn-page{display:inline-flex;align-items:center;gap:.25rem;max-width:85%;font-size:.7rem;color:var(--chat-text-3)}.chat-turn-page svg{width:12px;height:12px;flex:none}.chat-quote{margin:0 0 .45rem;padding:.1rem 0 .1rem .6rem;border-left:3px solid currentColor;opacity:.85;font-size:.82rem;line-height:1.5;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.chat-quote-draft{display:flex;align-items:flex-start;gap:.4rem;margin:.5rem .75rem 0;padding:.5rem .4rem .5rem .75rem;border:1px dashed var(--chat-teal);border-radius:12px;background:var(--chat-teal-soft);color:var(--chat-teal);animation:chat-rise .2s ease both}.chat-quote-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.chat-quote-draft .chat-quote{margin:0;color:var(--chat-text-2);border-left-color:var(--chat-teal)}.chat-quote-memo{font-size:.72rem;color:var(--chat-teal)}.chat-memo-saved{display:inline-flex;align-items:center;gap:.3rem;margin-top:.5rem;padding:.2rem .55rem;border-radius:999px;background:var(--chat-teal-soft);color:var(--chat-teal);font-size:.75rem}.chat-memo-saved svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.chat-ask{position:fixed;z-index:61;transform:translate(-50%);display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .8rem .45rem .6rem;border:0;border-radius:999px;background:var(--chat-ink);color:#f5f7f3;font:inherit;font-size:.82rem;font-weight:600;box-shadow:var(--chat-shadow);cursor:pointer;animation:chat-rise .18s ease both;-webkit-user-select:none;user-select:none}@media(prefers-color-scheme:dark){.chat-ask{color:#0f1a1d}}.chat-ask-pul{width:20px;height:20px;margin:-2px 0;box-shadow:0 0 0 1.5px #ffffffb3}.chat-compose{display:flex;align-items:flex-end;gap:.5rem;margin:.5rem .75rem 0;padding:.4rem .4rem .4rem .85rem;border:1px solid var(--chat-rule);border-radius:16px;background:var(--chat-surface);transition:border-color .15s ease,box-shadow .15s ease}.chat-compose:focus-within{border-color:var(--chat-teal);box-shadow:0 0 0 3px var(--chat-teal-soft)}.chat-compose textarea{flex:1;resize:none;border:0;outline:none;background:transparent;padding:.45rem 0;max-height:150px;font-size:.92rem;line-height:1.55;font-weight:400}.chat-compose textarea::placeholder{color:var(--chat-text-3)}.chat-send{flex:none;width:36px;height:36px;border:0;border-radius:12px;display:grid;place-items:center;cursor:pointer;background:var(--chat-ink);color:#f5f7f3;transition:transform .2s var(--chat-ease),opacity .15s ease,background .15s ease}@media(prefers-color-scheme:dark){.chat-send{color:#0f1a1d}}.chat-send svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.chat-send.is-stop svg{fill:currentColor;stroke:none}.chat-send.is-stop{background:var(--chat-text-2)}.chat-send:disabled{opacity:.35;cursor:default}.chat-send:not(:disabled):hover{transform:scale(1.06)}.chat-foot{margin:.35rem 1rem .6rem;text-align:center;font-size:.68rem;color:var(--chat-text-3)}.chat-md>:first-child{margin-top:0}.chat-md>:last-child{margin-bottom:0}.chat-md p{margin:0 0 .65rem}.chat-md h1,.chat-md h2,.chat-md h3,.chat-md h4{font-family:var(--chat-display);font-weight:700;line-height:1.35;margin:1rem 0 .45rem;color:var(--chat-text)}.chat-md h1{font-size:1.1rem}.chat-md h2{font-size:1.04rem}.chat-md h3{font-size:.98rem;padding-left:.55rem;border-left:3px solid var(--chat-teal)}.chat-md h4{font-size:.92rem}.chat-md strong{font-weight:600;color:var(--chat-text)}.chat-md ul,.chat-md ol{margin:0 0 .7rem;padding-left:1.25rem}.chat-md li{margin:.15rem 0}.chat-md li::marker{color:var(--chat-teal)}.chat-md blockquote{margin:0 0 .7rem;padding:.4rem .8rem;border-left:3px solid var(--chat-ochre);background:var(--chat-ochre-soft);color:var(--chat-text-2);border-radius:0 8px 8px 0}.chat-md hr{border:0;border-top:1px dashed var(--chat-rule);margin:.9rem 0}.chat-md a{color:var(--chat-teal);text-underline-offset:2px}.chat-md code{font-family:var(--chat-mono);font-size:.82em;padding:.1em .35em;border-radius:4px;background:var(--chat-rule-soft)}.chat-md pre{margin:0 0 .7rem;padding:.7rem .85rem;overflow-x:auto;border-radius:10px;background:var(--chat-surface);border:1px solid var(--chat-rule-soft);font-size:.8rem;line-height:1.5}.chat-md pre code{padding:0;background:none;font-size:inherit}.chat-md img{display:block;max-width:100%;height:auto;margin:.4rem 0 .7rem;border-radius:10px;border:1px solid var(--chat-rule-soft)}.chat-img-blocked{font-size:.8rem;color:var(--chat-text-3)}.chat-table-wrap{margin:0 0 .8rem;overflow-x:auto;border:1px solid var(--chat-rule);border-radius:10px;background:var(--chat-surface)}.chat-md table{width:100%;border-collapse:collapse;font-size:.8rem;line-height:1.5}.chat-md th,.chat-md td{padding:.45rem .6rem;border-bottom:1px solid var(--chat-rule-soft);vertical-align:top;text-align:left}.chat-md th{background:var(--chat-teal-soft);color:var(--chat-teal);font-weight:600}.chat-md tr:last-child td{border-bottom:0}.chat-md td+td,.chat-md th+th{border-left:1px solid var(--chat-rule-soft)}.chat-cite{display:inline-grid;place-items:center;min-width:17px;height:17px;margin:0 1px;padding:0 3px;border:0;border-radius:5px;vertical-align:.3em;background:var(--chat-teal-soft);color:var(--chat-teal);font-family:var(--chat-mono);font-size:.64rem;font-weight:600;line-height:1;cursor:pointer}.chat-cite:hover{background:var(--chat-teal);color:var(--chat-surface)}.chat-md td:first-child,.chat-md th:first-child{min-width:5.5em}@media(max-width:600px){.chat-panel{right:0;left:0;bottom:0;top:auto;width:100%;height:calc(100dvh - env(safe-area-inset-top) - .75rem);border-radius:var(--chat-radius) var(--chat-radius) 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom);transform:translateY(100%);transform-origin:50% 100%}.chat-panel.is-open{transform:none}.chat-fab.is-open{opacity:0;pointer-events:none;transform:scale(.6)}.chat-samples{grid-template-columns:1fr}.chat-greeting{max-width:calc(100vw - 7rem)}}@keyframes chat-fab-in{0%{opacity:0;transform:translateY(16px) scale(.6)}}@keyframes chat-ink-draw{to{stroke-dashoffset:0}}@keyframes chat-drop{0%,84%{opacity:0;transform:translate(10px,12px) rotate(-45deg) scale(.3)}88%{opacity:1;transform:translate(10px,14px) rotate(-45deg) scale(1)}96%{opacity:1;transform:translate(10px,34px) rotate(-45deg) scale(.9)}to{opacity:0;transform:translate(10px,38px) rotate(-45deg) scale(.4)}}@keyframes chat-ripple{0%,88%{opacity:0;transform:scale(1)}90%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.55)}}@keyframes chat-spin{to{transform:rotate(360deg)}}@keyframes chat-pop{0%{transform:scale(0)}}@keyframes chat-greet{0%{opacity:0;transform:translate(10px) scale(.9)}}@keyframes chat-slide{0%{opacity:0;transform:translateY(-6px)}}@keyframes chat-rise{0%{opacity:0;transform:translateY(6px)}}@keyframes chat-dot{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@keyframes chat-blink{50%{opacity:0}}@keyframes chat-nib-write{0%,to{transform:translate(-38px,14px) rotate(38deg)}50%{transform:translate(38px,12px) rotate(44deg)}}@keyframes chat-ink-line{0%{stroke-dashoffset:140;opacity:1}50%{stroke-dashoffset:0;opacity:1}80%,to{stroke-dashoffset:0;opacity:0}}@media(prefers-reduced-motion:reduce){.chat-fab,.chat-fab-drop,.chat-fab-ripple,.chat-fab-pul,.chat-thinking-pul,.chat-sample,.chat-turn,.chat-followup,.chat-greeting,.chat-history,.chat-fab.is-busy:after,.chat-ask,.chat-quote-draft{animation:none!important}.chat-panel,.chat-fab,.chat-fab-pul,.chat-fab-close{transition-duration:.01s!important}.chat-body{scroll-behavior:auto}}@media print{.chat-fab,.chat-panel,.chat-greeting,.chat-ask{display:none!important}}.chat-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .7rem;border:1px solid var(--chat-rule);border-radius:999px;background:var(--chat-surface);color:var(--chat-text-2);font:inherit;font-size:.78rem;cursor:pointer}.chat-chip:hover{border-color:var(--chat-teal);color:var(--chat-teal)}.chat-notice{margin:.4rem .75rem 0;padding:.45rem .7rem;border-radius:10px;background:var(--chat-ochre-soft);color:var(--chat-text-2);font-size:.8rem}.chat-intro{padding:1rem;display:flex;flex-direction:column;gap:.6rem;font-size:.88rem;line-height:1.6;color:var(--chat-text-2)}.chat-intro strong{color:var(--chat-text)}.chat-offline{color:var(--chat-red)}@keyframes chat-pul-nod{0%,88%,to{transform:none}91%{transform:rotate(-9deg)}94%{transform:rotate(7deg)}97%{transform:rotate(-3deg)}}.chat-attach-btn{flex:none;display:inline-grid;place-items:center;width:2.1rem;height:2.1rem;margin:auto .15rem auto 0;border:0;border-radius:999px;background:transparent;cursor:pointer;color:var(--chat-text-2, var(--ink-2, #555))}.chat-attach-btn:hover:not(:disabled){background:var(--chat-teal-soft, var(--teal-soft, rgba(31, 122, 108, .1)));color:var(--chat-teal, var(--teal, #1f7a6c))}.chat-attach-btn:disabled{opacity:.45;cursor:default}.chat-attach-btn[aria-busy]{animation:chat-attach-pulse 1s ease-in-out infinite}.chat-attach-btn svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}@keyframes chat-attach-pulse{50%{opacity:.4}}.chat-image-draft{display:flex;align-items:center;gap:.6rem;margin:0 .6rem .4rem;padding:.45rem .5rem;border:1px solid var(--chat-rule, var(--rule, #ddd));border-radius:10px;background:var(--chat-surface, var(--surface, #fff))}.chat-image-draft img{width:3.2rem;height:3.2rem;object-fit:cover;border-radius:6px;flex:none}.chat-image-draft-note{flex:1;min-width:0;display:grid;gap:.1rem;font-size:.8rem}.chat-image-draft-note small{color:var(--chat-text-3, var(--ink-3, #777));line-height:1.35}.chat-image-x{flex:none;border:0;background:transparent;cursor:pointer;padding:.25rem;color:var(--chat-text-3, var(--ink-3, #777))}.chat-image-x svg{width:1rem;height:1rem;stroke:currentColor;stroke-width:2;fill:none}.chat-turn-image{display:grid;gap:.35rem;margin-bottom:.35rem}.chat-turn-image img{max-width:min(14rem,100%);max-height:12rem;object-fit:contain;border-radius:8px;background:#fff}.chat-turn-image-gone{font-size:.75rem;opacity:.75}.chat-turn-image details{font-size:.78rem}.chat-turn-image summary{cursor:pointer;opacity:.85}.chat-turn-image-text{margin-top:.3rem;white-space:pre-wrap;max-height:14rem;overflow:auto;line-height:1.45;opacity:.92}.chat-similar{margin-top:.75rem}.chat-similar-label{display:block;margin-bottom:.3rem;font-size:.68rem;letter-spacing:.08em;color:var(--chat-text-3, var(--ink-3, #777))}.chat-similar ul{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}.chat-similar button{width:100%;display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;text-align:left;cursor:pointer;border:1px solid var(--chat-rule, var(--rule, #ddd));border-radius:8px;font:inherit;font-size:.82rem;background:var(--chat-surface, var(--surface, #fff));color:inherit}.chat-similar button:hover{border-color:var(--chat-teal, var(--teal, #1f7a6c))}.chat-similar b{flex:none;font-size:.72rem;min-width:1.2rem;color:var(--chat-teal, var(--teal, #1f7a6c))}.chat-similar span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-similar svg{flex:none;width:.9rem;height:.9rem;stroke:currentColor;stroke-width:2;fill:none;opacity:.6}@media(prefers-reduced-motion:reduce){.chat-attach-btn[aria-busy]{animation:none}}.chat-image-error{margin:0 .8rem .35rem;font-size:.78rem;color:var(--chat-red, var(--red, #b3261e))}html[data-chat-shot] #chat-panel,html[data-chat-shot] .chat-fab,html[data-chat-shot] [data-chat-shot-skip]{visibility:hidden!important}.chat-shot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483000;cursor:crosshair;touch-action:none;user-select:none;-webkit-user-select:none;background:#0f171e47}.chat-shot.has-rect{background:transparent}.chat-shot-rect{position:fixed;border:2px solid var(--chat-teal, var(--teal, #1f7a6c));border-radius:3px;pointer-events:none;box-shadow:0 0 0 100vmax #0f171e47}.chat-shot.is-busy{cursor:progress}.chat-shot.is-busy .chat-shot-rect{animation:chat-attach-pulse 1s ease-in-out infinite}.chat-shot-bar{position:fixed;left:50%;top:calc(12px + env(safe-area-inset-top));transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border-radius:999px;cursor:default;background:#141c22eb;color:#fff;font-size:.85rem;box-shadow:0 6px 20px #00000040;white-space:nowrap}.chat-shot-bar button{font:inherit;border:0;border-radius:999px;padding:4px 12px;background:#ffffff29;color:#fff;cursor:pointer}.chat-shot-bar button:disabled{opacity:.5}@media(prefers-reduced-motion:reduce){.chat-shot.is-busy .chat-shot-rect{animation:none}}
