.gd{display:grid;gap:var(--space-3);min-width:0}.gd-icon{position:relative;padding:0;width:44px;flex:none}.gd-icon .icon{width:22px;height:22px}.gd-h{margin:0;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.gd-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.gd-bar2{justify-content:space-between}.gd-title{flex:1 0 100%}.gd-title h1{margin:0;font-size:var(--fs-h3);line-height:1.2}.gd-add{display:flex;gap:var(--space-2);flex:1 1 220px;min-width:0;max-width:420px}.gd-add .input{flex:1;min-width:0;font-size:18px}.gd-tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);margin-left:auto}.gd-save{display:inline-flex;align-items:center;gap:4px;min-width:15em;min-height:20px;justify-content:flex-end;margin-right:var(--space-2);white-space:nowrap;color:var(--muted);transition:color .2s}.gd-save .icon{width:18px;height:18px}.gd-save[data-state=saved]{color:var(--success);font-weight:600}.gd-save[data-state=error]{color:var(--danger)}.gd-boards{display:flex;align-items:center;gap:var(--space-2);min-width:0}.gd-name{width:200px;max-width:45vw;font-weight:600}.gd-pinyin{display:inline-flex;align-items:center;gap:var(--space-2)}.gd-wrap{min-width:0}.gd-board{--gd-major:color-mix(in srgb,var(--control) 38%,transparent);--gd-minor:color-mix(in srgb,var(--control) 16%,transparent);position:relative;user-select:none;-webkit-user-select:none;--hz-bg:var(--bg);background:linear-gradient(to right,var(--gd-major) 1px,transparent 1px) 0 0 /var(--gd-cell) var(--gd-cell),linear-gradient(to bottom,var(--gd-major) 1px,transparent 1px) 0 0 /var(--gd-cell) var(--gd-cell),linear-gradient(to right,var(--gd-minor) 1px,transparent 1px) 0 0 /calc(var(--gd-cell) / 2) calc(var(--gd-cell) / 2),linear-gradient(to bottom,var(--gd-minor) 1px,transparent 1px) 0 0 /calc(var(--gd-cell) / 2) calc(var(--gd-cell) / 2);border-right:1px solid var(--gd-major);border-bottom:1px solid var(--gd-major);transition:height .2s}.gd-board[data-dragging]{cursor:grabbing}.gd-block{position:absolute;touch-action:none;cursor:grab;border-radius:12px;transition:left .18s ease,top .18s ease,translate .2s cubic-bezier(.2,.9,.3,1.2),scale .2s,filter .2s,opacity .2s}.gd-block .hz-tab{pointer-events:none}.gd-block .gd-ccb{--ccb-bg:transparent;--ccb-pad:0;display:block;border-radius:12px;cursor:inherit}.gd-block .gd-ccb[data-state=idle],.gd-block .gd-ccb[data-state=idle]:is(:hover,:active,:focus,:focus-visible){--ccb-fill:transparent;transform:none;box-shadow:none;outline:none}.gd-block .gd-ccb .ccb-badge{display:none}.gd-block .hz-flow{padding-top:0}.gd-block[data-word]:before{content:"";position:absolute;inset:10% 3%;border-radius:10px;background:color-mix(in srgb,var(--secondary) 22%,transparent)}.gd-block[aria-pressed=true]:before{content:"";position:absolute;inset:4%;border-radius:12px;background:color-mix(in srgb,var(--primary) 16%,transparent)}@media (hover:hover){.gd-board:not([data-dragging]) .gd-block:not([aria-pressed=true]):hover:before{content:"";position:absolute;inset:4%;border-radius:12px;background:color-mix(in srgb,var(--text) 6%,transparent)}}.gd-block[data-lifted]{z-index:10;cursor:grabbing;scale:1.08;transition:scale .15s}.gd-block[data-landing]{z-index:10;transition:none}.gd-block[data-landing] .hz,.gd-block[data-lifted] .hz{filter:drop-shadow(0 10px 12px rgb(var(--shadow)/.28))}.gd-block[data-landing]:before,.gd-block[data-lifted]:before{display:none}.gd-block[data-lifted] .hz-cells{gap:calc(var(--gd-strain, 0) * 10px);transition:gap .12s}.gd-block[data-strain] .hz{animation:gd-strain 90ms linear infinite alternate}.gd-block[data-strain="2"] .hz{animation-duration:70ms;--gd-shiver:2px}.gd-block[data-strain="3"] .hz{animation-duration:50ms;--gd-shiver:3px;filter:drop-shadow(0 10px 12px rgb(var(--shadow)/.28)) drop-shadow(0 0 6px color-mix(in srgb,var(--danger) 45%,transparent))}@keyframes gd-strain{0%{translate:calc(-1 * var(--gd-shiver, 1px)) 0}to{translate:var(--gd-shiver,1px) 0}}.gd-block[data-target]{scale:1.06}.gd-block[data-target]:before{content:"";position:absolute;inset:-6%;border-radius:16px;background:color-mix(in srgb,var(--accent) 20%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent)}.gd-block[data-nope]:after{content:"";position:absolute;inset:-12%;z-index:-1;border-radius:16px;pointer-events:none;background:radial-gradient(closest-side,color-mix(in srgb,var(--danger) 26%,transparent),transparent);animation:gd-nope 1.1s ease-out both}@keyframes gd-nope{0%{opacity:0;scale:.8}25%{opacity:1;scale:1}to{opacity:0;scale:1.1}}.gd-block[data-fresh=pop]{animation:gd-pop .42s cubic-bezier(.2,.9,.3,1.3)}@keyframes gd-pop{0%{transform:scale(.6);opacity:0}}.gd-block[data-fresh=fall]:not([data-landing]):not([data-lifted]){transition:translate .62s cubic-bezier(.55,0,.75,1.3)}.gd-lasso{z-index:6;border:1.5px dashed var(--primary-ink);border-radius:6px;background:color-mix(in srgb,var(--primary) 10%,transparent)}.gd-lasso,.gd-zone{position:absolute;pointer-events:none}.gd-zone{z-index:1;margin:-8px;padding:8px;box-sizing:content-box;border:2px dashed var(--primary);border-radius:18px;background:color-mix(in srgb,var(--primary) 8%,transparent);animation:gd-breathe 1.8s ease-in-out infinite}@keyframes gd-breathe{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--primary) 14%,transparent)}}.gd-board[data-focus] .gd-block:not([data-focus]){filter:blur(2.5px);opacity:.4}.gd-block[data-focus]{z-index:8}.gd-block[data-focus]:after{content:"";inset:-30%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--primary) 22%,transparent),transparent);filter:blur(6px);animation:gd-in .24s ease-out}.gd-block[data-focus]:after,.gd-fan{position:absolute;pointer-events:none}.gd-fan{inset:0;z-index:9}.gd-fan>*{pointer-events:auto}.gd-fan-lines{position:absolute;left:0;width:100%;overflow:visible;pointer-events:none!important}.gd-fan-lines path{fill:none;stroke:var(--primary);stroke-width:2;stroke-dasharray:2 5;stroke-linecap:round}.gd-fan-lines circle{fill:var(--primary)}.gd-forms .gd-fan-lines path{stroke:var(--accent)}.gd-forms .gd-fan-lines circle{fill:var(--accent)}.gd-fan-items li,.gd-fan-lines g{animation:gd-in .28s cubic-bezier(.2,.9,.3,1.2) both;animation-delay:calc(var(--i, 0) * 60ms)}.gd-fan[data-side=above] .gd-fan-items li{animation-name:gd-in-up}@keyframes gd-in{0%{opacity:0;transform:translateY(-8px) scale(.9)}}@keyframes gd-in-up{0%{opacity:0;transform:translateY(8px) scale(.9)}}.gd-fan-body{position:absolute;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:8px;box-sizing:border-box;border-radius:var(--radius-panel);background:color-mix(in srgb,var(--bg) 90%,transparent);box-shadow:0 12px 32px rgb(var(--shadow)/.16)}.gd-fan[data-side=above] .gd-fan-body{flex-direction:column-reverse}.gd-fan-items{display:flex;justify-content:center;align-items:center;margin:0;padding:0;list-style:none}.gd-fan-items li{display:grid;place-items:center}.gd-fan-footer{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-2)}.gd-fan-footer p{margin:0}.gd-fan-footer .btn-primary .icon{width:20px;height:20px}.gd-part,.gd-result{padding:0;border:0;border-radius:12px;background:var(--bg);cursor:pointer;transition:transform .15s,box-shadow .15s;--hz-bg:var(--bg)}.gd-part:focus-visible,.gd-part:hover,.gd-result:focus-visible,.gd-result:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgb(var(--shadow)/.2)}.gd-result{animation:gd-in .22s ease-out}.gd-fusion-info{display:inline-flex;gap:var(--space-2)}.gd-card{scale:.86;opacity:.55;transition:scale .22s cubic-bezier(.2,.8,.2,1),opacity .22s,box-shadow .15s}.gd-card[aria-current=true]{scale:1.1;opacity:1;box-shadow:0 8px 18px rgb(var(--shadow)/.2)}.gd-card:focus-visible,.gd-card:hover{transform:none}.gd-none{display:grid;place-items:center;width:100%;aspect-ratio:1;color:var(--danger)}.gd-none .icon{width:36px;height:36px;opacity:.7}.gd-chip{min-width:44px;min-height:44px;padding:0 10px;border:1.5px solid var(--control);border-radius:var(--radius-control);background:var(--bg);color:var(--text);font-size:22px;line-height:1;cursor:pointer}.gd-chip:focus-visible,.gd-chip:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--bg))}.gd{padding-bottom:calc(68px + env(safe-area-inset-bottom))}.gd-suggest{position:fixed;left:0;right:0;bottom:0;z-index:12;display:flex;align-items:center;gap:var(--space-3);height:calc(68px + env(safe-area-inset-bottom));box-sizing:border-box;padding:0 var(--gutter,16px) env(safe-area-inset-bottom);background:var(--bg);border-top:1px solid var(--border);box-shadow:0 -6px 16px rgb(var(--shadow)/.06)}.gd-suggest p{max-width:none;margin:0 auto;text-align:center}.gd-suggest ul{display:flex;gap:var(--space-2);margin:0;padding:2px;list-style:none;overflow-x:auto;scrollbar-width:thin}.gd-suggest li{flex:none}.gd-suggestion{padding:2px}.gd-link[data-hidden]{opacity:0}.gd-link{transition:opacity .15s;position:fixed;inset:0;width:100vw;height:100dvh;z-index:11;pointer-events:none;overflow:visible}.gd-link path{fill:none;stroke:color-mix(in srgb,var(--primary) 45%,transparent);stroke-width:1.5;stroke-dasharray:2 6;stroke-linecap:round;transition:stroke .15s}.gd-link circle{fill:color-mix(in srgb,var(--primary) 45%,transparent)}.gd-link g[data-on] path{stroke:var(--primary);stroke-width:2.5}.gd-link g[data-on] circle{fill:var(--primary)}.gd-sk{display:block;border-radius:12px}.gd-sk-board{display:flex;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3) 0;min-height:50dvh;align-content:start}.gd-hp{display:grid;gap:var(--space-4);margin-top:var(--space-1)}.gd-hp p{margin:0}.gd-hp ul{display:grid;gap:var(--space-2);margin:var(--space-2) 0 0;padding:0;list-style:none}.gd-hp-h{display:flex;align-items:center;gap:var(--space-2);margin:0;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:inherit}.gd-hp-n{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--primary);color:var(--on-primary);font-size:11px}.gd-hp-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:var(--space-3);align-items:center;line-height:1.4}.gd-hp-demo{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.gd-hp-demo .icon{width:20px;height:20px}.gd-hp-to{opacity:.7}.gd-hp-chip{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 4px;border-radius:7px;background:var(--bg);color:var(--text);font-size:16px;line-height:1}.gd-hp-chip[data-k=on]{box-shadow:inset 0 0 0 2px var(--primary)}.gd-hp-chip[data-k=word]{background:color-mix(in srgb,var(--secondary) 45%,var(--bg))}.gd-hp-chip[data-k=new]{background:var(--primary);color:var(--on-primary)}.gd-hp-chip[data-k=lift]{transform:translateY(-3px) rotate(-4deg);box-shadow:0 6px 10px rgb(0 0 0/.35)}.gd-hp-chip[data-k=fling]{transform:rotate(8deg);box-shadow:-8px 0 0 -4px color-mix(in srgb,currentColor 30%,transparent),-14px 0 0 -8px color-mix(in srgb,currentColor 15%,transparent)}.gd-hp-input{padding:2px 8px;border:1px solid color-mix(in srgb,currentColor 45%,transparent);border-radius:6px;font-size:13px}.gd-hp-py{font-family:var(--font-pinyin);font-weight:700}.gd-hp .gd-save{color:var(--success);margin:0}@media (max-width:639px){.gd-tools{margin-left:0}.gd-save{order:9;flex:1 0 100%;justify-content:flex-start}.gd-hp-row{grid-template-columns:110px minmax(0,1fr);gap:var(--space-2)}}@media (min-width:640px){.gd-title{flex:0 1 auto;margin-right:var(--space-2)}}@media (prefers-reduced-motion:reduce){.gd-block,.gd-board,.gd-card,.gd-part,.gd-result{transition:none}.gd-block[data-focus]:after,.gd-block[data-fresh],.gd-block[data-nope]:after,.gd-block[data-strain] .hz,.gd-fan-items li,.gd-fan-lines g,.gd-result,.gd-zone{animation:none}}