:where(.h55){--h55-accent:#2350d8;--h55-accent-ink:#ffffff;--h55-ink:#1b2330;--h55-muted:#4f5868;--h55-paper:#ffffff;--h55-glass:rgba(255,255,255,0.72);--h55-line:rgba(20,28,48,0.14);--h55-wash:rgba(35,80,216,0.08);--h55-blur:16px;--h55-chamfer:0px;--h55-radius:18px;--h55-font:inherit;--h55-shadow:0 18px 40px -18px rgba(10,15,30,0.4);--h55-ease:cubic-bezier(0.2,0.7,0.2,1)}.h55{font-family:var(--h55-font)}.h55-vh{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:1px;block-size:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.h55-btn{position:fixed;z-index:60;inset-block-end:calc(16px + env(safe-area-inset-bottom, 0px));inset-inline-start:calc(16px + env(safe-area-inset-left, 0px));display:inline-flex;align-items:center;gap:8px;min-block-size:48px;padding-block:4px;padding-inline:4px 16px;border:1px solid var(--h55-line);border-radius:999px;background:var(--h55-glass);color:var(--h55-ink);-webkit-backdrop-filter:saturate(1.5) blur(var(--h55-blur));backdrop-filter:saturate(1.5) blur(var(--h55-blur));box-shadow:var(--h55-shadow);font:inherit;font-size:.9375rem;font-weight:650;cursor:pointer;transition:transform .16s var(--h55-ease)}.h55-btn:active{transform:scale(.97)}.h55-btn:focus-visible,.h55-chip:focus-visible,.h55-go:focus-visible,.h55-person a:focus-visible,.h55-send:focus-visible,.h55-x:focus-visible{outline:2px solid var(--h55-accent);outline-offset:3px}.h55-ico{display:inline-grid;place-items:center;inline-size:40px;block-size:40px;border-radius:999px}.h55-head-ico svg,.h55-ico svg{display:block;inline-size:100%;block-size:100%;overflow:visible}.h55-btn[data-hidden] *{animation-play-state:paused!important}.h55-dlg{box-sizing:border-box;inline-size:min(32rem,calc(100vw - 32px));max-block-size:min(84vh,46rem);padding:0;-webkit-margin-after:auto;margin-block-end:auto;overflow-x:hidden;border:1px solid var(--h55-line);border-radius:var(--h55-radius);background:var(--h55-paper);color:var(--h55-ink);box-shadow:0 40px 80px -30px rgba(10,15,30,.5);overscroll-behavior:contain;-webkit-clip-path:polygon(var(--h55-chamfer) 0,100% 0,100% calc(100% - var(--h55-chamfer)),calc(100% - var(--h55-chamfer)) 100%,0 100%,0 var(--h55-chamfer));clip-path:polygon(var(--h55-chamfer) 0,100% 0,100% calc(100% - var(--h55-chamfer)),calc(100% - var(--h55-chamfer)) 100%,0 100%,0 var(--h55-chamfer))}.h55-dlg[open]{animation:h55-in .24s var(--h55-ease)}.h55-dlg::-webkit-backdrop{background:rgba(10,15,30,.4)}.h55-dlg::backdrop{background:rgba(10,15,30,.4)}@keyframes h55-in{0%{transform:translateY(10px) scale(.985)}to{transform:none}}@media (max-width:47.999rem){.h55-dlg{inline-size:100vw;max-inline-size:100vw;margin:auto 0 0;border-end-start-radius:0;border-end-end-radius:0;max-block-size:88vh;-webkit-clip-path:none;clip-path:none}}.h55-in{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:14px;gap:14px;padding:18px 20px calc(18px + env(safe-area-inset-bottom, 0px))}.h55-head{display:flex;align-items:center;gap:10px}.h55-head-ico{inline-size:36px;block-size:36px;flex:none}.h55-head h2{margin:0;-webkit-margin-end:auto;margin-inline-end:auto;font-size:1.2rem;font-weight:700;letter-spacing:-.01em;line-height:1.2}.h55-head h2 span{font-weight:500;color:var(--h55-muted)}.h55-x{display:inline-grid;place-items:center;inline-size:44px;block-size:44px;flex:none;border:1px solid var(--h55-line);border-radius:999px;background:transparent;color:var(--h55-ink);cursor:pointer}.h55-scope{margin:0;font-size:.8125rem;color:var(--h55-muted)}.h55-log:empty{display:none}.h55-turn{display:grid;grid-gap:8px;gap:8px;padding:14px 16px;border-radius:calc(var(--h55-radius) - 6px);background:var(--h55-wash)}.h55-q{font-size:.875rem;font-weight:650;color:var(--h55-muted)}.h55-a,.h55-q{margin:0;overflow-wrap:anywhere}.h55-a{line-height:1.55;color:var(--h55-ink);max-inline-size:none}.h55-routes{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 0}.h55 a.h55-go,.h55 a.h55-go:visited{display:inline-flex;align-items:center;min-block-size:44px;max-inline-size:100%;padding:4px 16px;border-radius:999px;background:var(--h55-accent);color:var(--h55-accent-ink);font-weight:650;text-decoration:none}.h55-thinking{margin:0;font-size:.8125rem;color:var(--h55-muted)}.h55-chips-wrap h3{margin:0 0 8px;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--h55-muted)}.h55-chips{display:flex;flex-wrap:wrap;gap:8px}.h55-chip{min-block-size:44px;padding:0 14px;border:1px solid var(--h55-line);border-radius:999px;background:transparent;color:var(--h55-ink);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;text-align:start}@media (hover:hover){.h55-chip:hover{border-color:var(--h55-accent)}.h55 a.h55-go:hover{color:var(--h55-accent-ink);filter:brightness(1.06)}}.h55-form{display:flex;gap:8px}.h55-input{flex:1 1;min-inline-size:0;min-block-size:48px;padding:0 14px;border:1px solid var(--h55-line);border-radius:12px;background:var(--h55-paper);color:var(--h55-ink);font:inherit;font-size:1rem}.h55-input:focus-visible{outline:2px solid var(--h55-accent);outline-offset:1px}.h55-send{flex:none;min-block-size:48px;min-inline-size:48px;padding:0 18px;border:0;border-radius:12px;background:var(--h55-accent);color:var(--h55-accent-ink);font:inherit;font-weight:700;cursor:pointer}.h55-send:disabled{opacity:.55;cursor:default}.h55-person{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0;font-size:.875rem}.h55 .h55-person a{display:inline-flex;align-items:center;min-block-size:44px;color:var(--h55-accent);font-weight:650}.h55-person span{color:var(--h55-muted);overflow-wrap:anywhere}@media (prefers-reduced-motion:reduce){.h55 *,.h55 :after,.h55 :before{animation:none!important;transition:none!important}}@media (prefers-reduced-transparency:reduce){.h55-btn{background:var(--h55-paper);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (forced-colors:active){.h55-btn,.h55-chip,.h55-dlg,.h55-go,.h55-input,.h55-send{border:1px solid CanvasText}.h55 a.h55-go,.h55-send{background:ButtonFace;color:ButtonText}}@media print{.h55{display:none}}.h55--tutor{--h55-accent:var(--accent,#d1135e);--h55-accent-ink:#ffffff;--h55-ink:var(--text,#0b1230);--h55-muted:var(--text-2,#39415c);--h55-paper:var(--surface,#ffffff);--h55-glass:color-mix(in srgb,var(--bg,#fffbf8) 76%,transparent);--h55-line:var(--line,rgba(11,18,48,0.1));--h55-wash:color-mix(in srgb,var(--peach,#ffd8c2) 38%,var(--surface,#ffffff));--h55-blur:14px;--h55-chamfer:0px;--h55-radius:22px;--h55-font:var(--font-inter),system-ui,sans-serif;--h55-shadow:0 16px 34px -16px rgba(209,19,94,0.35);--tut-ribbon:#e91e6a;--tut-ribbon-hi:#ff5a5f;--tut-head:#0b1230;--tut-pip:#3a7aff;--tut-lit:#ffb21a;--tut-disc:#fff1ea}:root[data-theme=dark] .h55--tutor{--h55-accent-ink:#0b1020;--h55-wash:var(--sunk,#182240);--h55-shadow:0 18px 40px -18px rgba(0,0,0,0.6);--tut-head:#eef1fa;--tut-disc:#182240;--tut-pip:#7aa6ff}:root[data-theme=warm] .h55--tutor{--tut-disc:#f1e4cf;--h55-wash:var(--sunk,#f1e4cf)}.h55--tutor .h55-head h2{font-family:var(--font-sora),var(--font-inter),sans-serif}.tut-disc{fill:var(--tut-disc)}.tut-loop{fill:none;stroke:var(--tut-ribbon);stroke-width:4.4;stroke-linecap:round;stroke-linejoin:round}.tut-loop-hi{fill:none;stroke:var(--tut-ribbon-hi);stroke-width:4.4;stroke-linecap:round;opacity:.55}.tut-head circle{fill:var(--tut-head)}.tut-trace{fill:none;stroke:var(--tut-pip);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;opacity:.7}.tut-pip{fill:var(--tut-disc);stroke:var(--tut-pip);stroke-width:1.3}.tut-head,.tut-pip,.tut-ribbon{transform-box:view-box;transition:transform .22s var(--h55-ease),opacity .22s var(--h55-ease)}.tut-ribbon{transform-origin:9px 30px}.tut-head{transform:translate(calc(var(--h55-lx, 0) * 1.6px),calc(var(--h55-ly, 0) * 1.6px))}.tut-pip{transform-origin:center;transform-box:fill-box}.h55--tutor .h55-btn[data-state=idle] .tut-pip{animation:tut-hint 4.8s ease-in-out infinite}.h55--tutor .h55-btn[data-state=idle] .tut-pip-2{animation-delay:.5s}.h55--tutor .h55-btn[data-state=idle] .tut-pip-3{animation-delay:1s}@keyframes tut-hint{0%,70%,to{fill:var(--tut-disc)}80%{fill:var(--tut-lit)}}@media (hover:hover){.h55--tutor .h55-btn:hover .tut-ribbon{transform:rotate(-6deg) scale(1.04)}}.h55--tutor .h55-btn:focus-visible .tut-ribbon{transform:rotate(-6deg) scale(1.04)}.h55--tutor [data-state=thinking] .tut-pip{animation:tut-climb .9s ease-in-out infinite}.h55--tutor [data-state=thinking] .tut-pip-2{animation-delay:.15s}.h55--tutor [data-state=thinking] .tut-pip-3{animation-delay:.3s}@keyframes tut-climb{0%,to{transform:scale(1);fill:var(--tut-disc)}45%{transform:scale(1.35);fill:var(--tut-lit)}}.h55--tutor [data-state=answer] .tut-pip{fill:var(--tut-lit);stroke:var(--tut-lit)}.h55--tutor [data-state=answer] .tut-head circle{animation:tut-nod .52s var(--h55-ease) 1}@keyframes tut-nod{40%{transform:translateY(1.4px)}}.tut-head circle{transform-box:fill-box}@media (prefers-reduced-motion:reduce){.tut-head,.tut-ribbon{transform:none!important}}@media (forced-colors:active){.tut-loop,.tut-loop-hi,.tut-pip,.tut-trace{stroke:CanvasText}.h55--tutor [data-state=answer] .tut-pip,.tut-head circle{fill:CanvasText}.tut-disc{fill:Canvas}}