.hh{--hh-card:hsl(var(--card));--hh-glass:#ffffffbf;--hh-bd:#0f172a14;--hh-bd2:#0f172a1f;--hh-chip:#f1f5fb;--hh-board:#fbfcff;--hh-dots:#0f172a17;--hh-shadow:0 40px 80px -32px #1e295a52, 0 12px 24px -12px #1e295a24;--hh-shadow-sm:0 16px 32px -14px #1e295a52;--hh-live:#be123c;--hh-live-soft:#e11d4814;--hh-answer:#047857;--hh-link:#1d4ed8;position:relative;overflow:hidden}.dark .hh{--hh-glass:#0f1625b3;--hh-bd:#94a3b81f;--hh-bd2:#94a3b833;--hh-chip:#ffffff0f;--hh-board:#0b1220;--hh-dots:#94a3b824;--hh-shadow:0 40px 90px -30px #000000bf, 0 0 0 1px #ffffff0a;--hh-shadow-sm:0 16px 32px -14px #000000b3;--hh-live:#fda4af;--hh-live-soft:#f43f5e24;--hh-answer:#34d399;--hh-link:#93c5fd}.hh .tone-blue{--t1:#60a5fa;--t2:#2563eb;--t3:#1d4ed8}.hh .tone-violet{--t1:#a78bfa;--t2:#7c3aed;--t3:#6d28d9}.hh .tone-rose{--t1:#fb7185;--t2:#e11d48;--t3:#be123c}.hh .tone-emerald{--t1:#34d399;--t2:#059669;--t3:#047857}.hh .tone-amber{--t1:#fbbf24;--t2:#d97706;--t3:#b45309}.hh .tone-cyan{--t1:#22d3ee;--t2:#0891b2;--t3:#0e7490}.hh-hero{max-width:max(90rem, var(--shell-max));grid-template-columns:minmax(0,1fr);align-items:center;gap:28px;margin:0 auto;padding:28px 16px 32px;display:grid;position:relative}.hh-copy{flex-direction:column;gap:20px;min-width:0;display:flex}@media (min-width:700px){.hh-hero{gap:40px;padding:48px 40px 40px}.hh-copy{gap:24px}}@media (min-width:1100px){.hh-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;padding:64px 72px 56px}}.hh-eyebrow{border:1px solid var(--hh-bd2);background:var(--hh-glass);max-width:100%;color:hsl(var(--foreground) / .8);border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:5px 12px 5px 5px;font-size:12px;font-weight:700;display:inline-flex}.hh-tag{color:#fff;letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(135deg,#065f46,#155e75);border-radius:999px;flex:none;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.hh-tag i{background:#fff;border-radius:50%;width:6px;height:6px}.hh-eyebrow-txt{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:none;overflow:hidden}@media (min-width:700px){.hh-eyebrow{gap:10px;padding-right:14px;font-size:13px}.hh-eyebrow-txt{display:block}}.hh-switch{box-sizing:border-box;border:1px solid var(--hh-bd2);background:var(--hh-glass);border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%;max-width:520px;padding:5px;display:grid;position:relative}.hh-switch-thumb{background:var(--hh-card);width:calc(33.3333% - 6px);box-shadow:0 1px 0 var(--hh-bd2), 0 8px 18px -8px #0f172a4d;translate:calc(var(--idx,0) * (100% + 4px)) 0;border-radius:13px;transition:translate .5s cubic-bezier(.34,1.3,.64,1);position:absolute;top:5px;bottom:5px;left:5px}.dark .hh-switch-thumb{background:#ffffff17}.hh-tab{z-index:1;min-width:0;min-height:64px;color:hsl(var(--muted-foreground));text-align:center;cursor:pointer;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 4px;font-size:13.5px;font-weight:750;line-height:1.15;transition:color .3s;display:flex;position:relative}.hh-tab:hover,.hh-tab.is-on{color:hsl(var(--foreground))}.hh-tab-text{flex-direction:column;min-width:0;max-width:100%;display:flex}.hh-tab-text>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hh-tab-sub{color:hsl(var(--muted-foreground));font-size:12px;font-weight:600;display:none}.hh-tab .hh-tile{border-radius:10px;width:32px;height:32px;transition:filter .3s,opacity .3s}.hh-tab:not(.is-on) .hh-tile{filter:grayscale(.9);opacity:.55}.hh-tab:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}@media (min-width:700px){.hh-tab{text-align:left;flex-direction:row;gap:9px;min-height:56px;padding:6px 10px;font-size:15px}.hh-tab-sub{display:block}}.hh-h1{font-size:var(--type-display);letter-spacing:-.04em;text-wrap:balance;margin:0;font-weight:850;line-height:1.07}.hh-grad{background:linear-gradient(100deg,#2563eb,#7c3aed 50%,#db2777);color:#0000;-webkit-background-clip:text;background-clip:text}.dark .hh-grad{background-image:linear-gradient(100deg,#60a5fa,#a78bfa 50%,#f472b6)}.hh-sub{max-width:36rem;color:hsl(var(--muted-foreground));margin:0;font-size:16.5px;line-height:1.6}@media (min-width:700px){.hh-h1{line-height:1.04}.hh-sub{font-size:18.5px}}.hh-ctas{flex-direction:column;gap:12px;display:flex}.hh-ctas>a{width:100%}@media (min-width:700px){.hh-ctas{flex-flow:wrap}.hh-ctas>a{width:auto}}.btn-3d.hh-cta{background:linear-gradient(120deg,#2563eb,#7c3aed);padding:0 22px;box-shadow:inset 0 1px #ffffff4d,inset 0 -2px #0000002e,0 6px #3730a3,0 20px 34px -14px #4f46e599}.btn-3d.hh-cta:active{box-shadow:inset 0 1px #ffffff4d,0 1px #3730a3}.btn-3d.hh-cta svg{transition:translate .25s}.btn-3d.hh-cta:hover svg{translate:3px}.btn-3d-soft.hh-tour{padding:0 20px 0 12px}.hh-anchor{scroll-margin-top:84px}.hh-anchor:focus{outline:none}.btn-3d-soft.hh-tour .hh-tile{background:linear-gradient(140deg,#3b82f6,#7c3aed 55%,#ec4899);border-radius:10px;width:32px;height:32px}.hh-stats{border-top:1px solid var(--hh-bd2);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding-top:20px;display:grid}.hh-stats div{flex-direction:column-reverse;gap:3px;min-width:0;display:flex}.hh-stats dd{letter-spacing:-.03em;margin:0;font-size:21px;font-weight:850}.hh-stats dt{color:hsl(var(--muted-foreground));font-size:13px;font-weight:550}@media (min-width:700px){.hh-stats{gap:16px;padding-top:22px}.hh-stats dd{font-size:28px}.hh-stats dt{font-size:14px}}.hh-tile{--t1:#60a5fa;--t2:#2563eb;--t3:#1d4ed8;color:#fff;background:linear-gradient(150deg, var(--t1), var(--t2));width:44px;height:44px;box-shadow:inset 0 1.5px 0 #ffffff80, inset 0 -3px 0 #00000026, 0 2px 0 var(--t3), 0 10px 18px -8px color-mix(in srgb, var(--t2) 55%, transparent);border-radius:14px;flex:none;place-items:center;display:grid;position:relative}.hh-tile:after{content:"";pointer-events:none;background:linear-gradient(#fff6,#fff0);border-radius:11px 11px 7px 7px;height:46%;position:absolute;top:2px;left:3px;right:3px}.hh-tile svg{z-index:1;width:45%;height:45%;position:relative}.hh-tile svg.aicr{filter:drop-shadow(0 1px 1.5px #1e140059);width:66%;height:66%}.hh-stage{justify-self:center;width:100%;max-width:620px;padding:26px 0 30px;position:relative}.hh-view{perspective:1600px;position:relative}@media (min-width:700px){.hh-stage{padding:30px 10px}}@media (min-width:1100px){.hh-stage{max-width:none}}.hh-halo{filter:blur(28px);background:radial-gradient(60% 55% at 50% 70%,#4f46e552,#0000 72%);border-radius:40px;position:absolute;inset:18% 8% 0}.dark .hh-halo{background:radial-gradient(60% 55% at 50% 70%,#6366f161,#0000 72%)}.hh-scene{transform-style:preserve-3d;animation:1.1s cubic-bezier(.16,1,.3,1) .25s both hh-enter;position:relative;transform:rotateY(-4deg)rotateX(4deg)}@media (min-width:700px){.hh-scene{transform:rotateY(-10deg)rotateX(6deg)}}.hh-lean{transform-style:preserve-3d;transform:rotateX(var(--hh-rx,0deg)) rotateY(var(--hh-ry,0deg));transition:transform var(--spring-tilt);position:relative}@keyframes hh-enter{0%{opacity:0;translate:0 40px;scale:.94}}.hh-win{border:1px solid var(--hh-bd2);background:var(--hh-card);box-shadow:var(--hh-shadow);border-radius:24px;position:relative;overflow:hidden}.hh-win-head{border-bottom:1px solid var(--hh-bd);align-items:center;gap:10px;padding:12px 16px;display:flex}.hh-live{background:var(--hh-live-soft);color:var(--hh-live);letter-spacing:.06em;border-radius:999px;flex:none;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.hh-live i{background:currentColor;border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out 4 hh-blink}@keyframes hh-blink{50%{opacity:.25}}.hh-win-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:hsl(var(--foreground) / .8);font-size:14px;font-weight:750;overflow:hidden}.hh-win-meta{color:hsl(var(--muted-foreground));flex:none;margin-left:auto;font-size:12px;font-weight:700;display:none}@media (min-width:700px){.hh-win-meta{display:block}}.hh-win-body{grid-template-columns:minmax(0,1fr);gap:12px;padding:12px;display:grid}@media (min-width:700px){.hh-win-body{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}}.hh-board{border:1px solid var(--hh-bd);background-color:var(--hh-board);background-image:radial-gradient(var(--hh-dots) 1px, transparent 1.2px);background-size:16px 16px;border-radius:16px;flex-direction:column;gap:12px;min-width:0;padding:14px;display:flex}@media (min-width:700px){.hh-board{padding:16px 18px}}.hh-topic{color:#6d28d9;letter-spacing:.03em;background:#7c3aed1a;border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:12px;font-weight:800}.dark .hh-topic{color:#c4b5fd;background:#8b5cf62e}.hh-line{font-family:var(--font-geist-mono), ui-monospace, monospace;white-space:nowrap;align-items:center;gap:8px;font-size:16px;font-weight:700;line-height:1.55;animation:1s steps(16,end) both hh-write;display:flex}.hh-line.l0{animation-delay:.9s}.hh-line.l1{animation-delay:1.9s}.hh-line.l2{color:var(--hh-answer);animation-delay:2.9s}@media (min-width:700px){.hh-line{font-size:19px}}.hh-tick{width:18px;height:18px}@keyframes hh-write{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.hh-graph{border:1px solid var(--hh-bd2);background:var(--hh-card);border-radius:16px;margin-top:auto;padding:10px 10px 6px;box-shadow:inset 0 1px #ffffff80,0 10px 24px -16px #1e295a59}.dark .hh-graph{box-shadow:inset 0 1px #ffffff0d,0 10px 24px -16px #0009}.hh-graph-head{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.hh-fn{border:1px solid var(--hh-bd);background:var(--hh-chip);font-family:var(--font-geist-mono), ui-monospace, monospace;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px 3px 7px;font-size:12px;font-weight:700;display:inline-flex}.hh-fn i{background:linear-gradient(135deg, var(--t1), var(--t2));border-radius:50%;width:9px;height:9px}.hh-zoom{gap:4px;margin-left:auto;display:inline-flex}.hh-zoom span{background:var(--hh-chip);width:22px;height:22px;color:hsl(var(--muted-foreground));border-radius:7px;place-items:center;font-size:13px;font-weight:800;line-height:1;display:grid}.hh-plane{width:100%;height:auto;color:hsl(var(--foreground));display:block;overflow:visible}.hh-plane .s1{stop-color:var(--t1)}.hh-plane .s2{stop-color:var(--t2)}.hh-plane .a1{stop-color:var(--t2);stop-opacity:.3}.hh-plane .a2{stop-color:var(--t2);stop-opacity:0}.hh-gminor{fill:none;stroke:currentColor;stroke-opacity:.07;stroke-width:.6px}.hh-gaxis{fill:none;stroke:currentColor;stroke-opacity:.5;stroke-width:1.1px;stroke-linecap:round;stroke-linejoin:round}.hh-gtxt{fill:hsl(var(--muted-foreground));font-size:8.5px;font-weight:650}.hh-area{animation:.9s 4.5s both hh-fade}.hh-guide{fill:none;stroke:var(--t2);stroke-width:1px;stroke-dasharray:3 3;animation:.6s 4.6s both hh-fade}.hh-curve{fill:none;stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;animation:1.4s cubic-bezier(.65,0,.35,1) 3.6s both hh-draw}.hh-curve-glow{stroke-width:7px;opacity:.35}.hh-mark{fill:var(--t2);stroke:var(--hh-card);stroke-width:2px;transform-box:fill-box;transform-origin:50%;animation:.5s cubic-bezier(.34,1.56,.64,1) 4.9s both hh-pop}.hh-pulse{fill:none;stroke:var(--t2);stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;animation:1.4s ease-out 5.2s 2 both hh-pulse}.hh-callout{transform-box:fill-box;transform-origin:bottom;animation:.5s cubic-bezier(.34,1.56,.64,1) 5.3s both hh-pop}.hh-callout rect{fill:var(--hh-card);stroke:var(--t2);stroke-width:1px}.hh-callout text{fill:hsl(var(--foreground));font-family:var(--font-geist-mono), ui-monospace, monospace;font-size:8px;font-weight:700}@keyframes hh-draw{0%{stroke-dashoffset:1px}}@keyframes hh-fade{0%{opacity:0}}@keyframes hh-pop{0%{opacity:0;scale:0}}@keyframes hh-pulse{0%{opacity:.7;scale:1}to{opacity:0;scale:3.2}}.hh-people{order:-1;gap:12px;display:flex}@media (min-width:700px){.hh-people{flex-direction:column;order:0}}.hh-cam{border-radius:16px;flex:1;place-items:center;min-height:88px;display:grid;position:relative;overflow:hidden}@media (min-width:700px){.hh-cam{min-height:130px}}.hh-cam.is-teacher{background:linear-gradient(160deg,#ede9fe,#c4b5fd)}.hh-cam.is-student{background:linear-gradient(160deg,#d1fae5,#6ee7b7)}.dark .hh-cam.is-teacher{background:linear-gradient(160deg,#2e1065,#5b21b6)}.dark .hh-cam.is-student{background:linear-gradient(160deg,#022c22,#047857)}.hh-avatar{color:#fff;background:linear-gradient(150deg, var(--t1), var(--t2));width:42px;height:42px;box-shadow:inset 0 1.5px 0 #ffffff80, inset 0 -3px 0 #00000026, 0 10px 18px -8px var(--t2);border-radius:50%;place-items:center;display:grid;position:relative}.hh-avatar svg{width:50%;height:50%}@media (min-width:700px){.hh-avatar{width:56px;height:56px}}.hh-ring{opacity:0;border:2px solid #7c3aed;border-radius:50%;width:42px;height:42px;animation:1.6s ease-out 1s 3 hh-speak;position:absolute}.is-student .hh-ring{border-color:#059669;animation-delay:5.2s}@media (min-width:700px){.hh-ring{width:56px;height:56px}}@keyframes hh-speak{0%{opacity:.8;scale:1}to{opacity:0;scale:1.7}}.hh-cam-name{color:#0b1220;background:#ffffffe0;border-radius:999px;align-items:center;gap:6px;padding:3px 9px 3px 6px;font-size:12px;font-weight:750;display:inline-flex;position:absolute;bottom:8px;left:8px}.dark .hh-cam-name{color:#eef2fb;background:#090d16c7}.hh-cam-name svg{color:#059669;width:12px;height:12px}.hh-win-foot{border-top:1px solid var(--hh-bd);align-items:center;gap:8px;padding:10px 12px;display:flex}.hh-tool{background:var(--hh-chip);width:34px;height:34px;color:hsl(var(--foreground) / .75);border-radius:10px;place-items:center;display:grid}.hh-tool svg{width:16px;height:16px}.hh-tool.is-on{color:#fff;background:linear-gradient(150deg,#5b21b6,#5b21b6);box-shadow:0 6px 12px -6px #7c3aed99}.hh-saved{color:hsl(var(--muted-foreground));align-items:center;gap:7px;margin-left:auto;font-size:12.5px;font-weight:700;display:inline-flex}.hh-saved svg{color:#059669;width:15px;height:15px}.hh-saved span{display:none}@media (min-width:700px){.hh-saved span{display:inline}}.hh-badge{z-index:2;white-space:nowrap;border:1px solid var(--hh-bd2);background:var(--hh-card);box-shadow:var(--hh-shadow-sm);border-radius:18px;align-items:center;gap:9px;padding:7px 12px 7px 7px;animation:7s ease-in-out infinite alternate hh-float;display:flex;position:absolute;transform:translateZ(70px)}.hh-badge.is-start{top:-18px;left:-4px}.hh-badge.is-end{animation-delay:-3.5s;bottom:-22px;right:-4px}.hh-badge .hh-tile{border-radius:10px;width:32px;height:32px}.hh-badge b{font-size:13px;font-weight:800;line-height:1.2;display:block}.hh-badge small{color:hsl(var(--muted-foreground));font-size:12px;font-weight:550;display:block}@media (min-width:700px){.hh-badge{gap:11px;padding:9px 16px 9px 9px}.hh-badge .hh-tile{border-radius:14px;width:44px;height:44px}.hh-badge b{font-size:14px}.hh-badge small{font-size:12.5px}.hh-badge.is-start{top:-22px;left:-34px}.hh-badge.is-end{bottom:-24px;right:-26px}}.hh-stage.is-away .hh-badge{animation-play-state:paused}@keyframes hh-float{to{translate:0 -10px}}@media (prefers-reduced-motion:reduce){.hh-switch-thumb,.hh-tab,.hh-tab .hh-tile,.btn-3d.hh-cta svg,.hh-lean{transition:none}.hh-scene,.hh-lean{transform:none}.hh-scene,.hh-line,.hh-area,.hh-guide,.hh-curve,.hh-mark,.hh-callout,.hh-live i,.hh-badge{animation:none}.hh-pulse,.hh-ring{opacity:0;animation:none}}
