.tr-wrap{border-top:1.5px solid var(--ink);grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:clamp(20px,3vw,40px);padding-top:20px;padding-bottom:clamp(64px,8vw,112px);display:grid}.tr-canvas{background-color:var(--ground-2);background-image:radial-gradient(color-mix(in srgb, var(--sub) 32%, transparent) 1px, transparent 1.2px);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background-size:22px 22px;border-radius:6px;height:min(720px,78vh);position:relative;overflow:hidden}.tr-canvas.drag{cursor:grabbing}.tr-board{transform-origin:0 0;position:absolute;top:0;left:0}.tr-board>svg{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.tr-wire{fill:none;stroke:var(--wine);stroke-width:2.5px}.tr-wire.warn{stroke:var(--warn);stroke-dasharray:7 5}.tr-wire.bad{stroke:var(--bad);stroke-dasharray:3 5}.tr-stub{fill:none;stroke:color-mix(in srgb, var(--sub) 30%, transparent);stroke-width:1.2px}.tr-frame{background:var(--ground);border:1px solid var(--line);border-radius:8px;position:absolute;box-shadow:0 1px #00000008}.tr-frame header{border-bottom:1px solid var(--line);height:60px;padding:12px 14px 0}.tr-frame header b{font:800 15px var(--d);letter-spacing:-.02em;display:block}.tr-frame header span{color:var(--sub);font-size:12px}.tr-frame header i{float:right;font:700 11px var(--d);color:var(--wine);font-style:normal}.tr-leaf{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:2px 8px;height:48px;padding:0 10px;transition:background .15s,border-color .15s,opacity .15s;display:grid;position:absolute;left:8px;right:8px}.tr-leaf:hover{background:var(--ground-2)}.tr-leaf[aria-checked=true]{background:var(--ground);border-color:var(--ink);box-shadow:inset 3px 0 0 var(--wine)}.tr-leaf .sw{border:1px solid #0000001f;border-radius:4px;grid-row:1/3;width:18px;height:18px}.tr-leaf .sw.none{border:0;width:0}.tr-leaf b{font:700 13.5px/1.2 var(--d);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tr-leaf small{color:var(--sub);text-overflow:ellipsis;white-space:nowrap;grid-column:2;font-size:11px;line-height:1.3;overflow:hidden}.tr-leaf .st{font:700 10.5px var(--f);grid-area:1/3/3}.tr-leaf .st.bad{color:var(--bad)}.tr-leaf .st.warn{color:var(--warn)}.tr-leaf .st.sug{color:var(--wine)}.tr-leaf.bad:not([aria-checked=true]){opacity:.4}.tr-leaf .pt{background:var(--ground);border:1.5px solid color-mix(in srgb, var(--sub) 55%, transparent);border-radius:50%;width:9px;height:9px;margin-top:-4.5px;position:absolute;top:50%}.tr-leaf .pt.l{left:-13px}.tr-leaf .pt.r{right:-13px}.tr-leaf[aria-checked=true] .pt{background:var(--wine);border-color:var(--wine)}.tr-node{background:var(--ink);width:190px;color:var(--ground);border-radius:8px;gap:4px;padding:14px 16px;display:grid;position:absolute}.tr-node b{font:800 16px var(--d);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tr-node span{opacity:.72;font-size:12px}.tr-node .big{font:800 20px var(--d);opacity:1}.tr-node .big.ok{color:#9fe0bb}.tr-node .big.warn{color:#f5c679}.tr-node .big.bad{color:#ff9f95}.tr-node .pt{background:var(--wine);border:2px solid var(--ground);border-radius:50%;width:11px;height:11px;margin-top:-5.5px;position:absolute;top:50%}.tr-node .pt.l{left:-6px}.tr-node .pt.r{right:-6px}.tr-tools{z-index:2;gap:4px;display:flex;position:absolute;top:12px;right:12px}.tr-tools button{border:1px solid var(--line);background:var(--ground);cursor:pointer;width:34px;height:34px;font:700 15px var(--f);border-radius:6px}.tr-tools button:hover{border-color:var(--ink)}.tr-tools .fit{width:auto;padding:0 10px;font-size:12.5px}.tr-info{z-index:2;background:color-mix(in srgb, var(--ground) 94%, transparent);border:1px solid var(--line);color:var(--sub);pointer-events:none;border-radius:6px;padding:10px 12px;font-size:13px;position:absolute;bottom:12px;left:12px;right:12px}.tr-info b{color:var(--ink);font:700 13.5px var(--d);margin-right:6px}.tr-info .why{margin-top:3px;display:block}.tr-info .why.bad{color:var(--bad)}.tr-info .why.warn{color:var(--warn)}.tr-toast{z-index:3;background:var(--ink);color:var(--ground);white-space:nowrap;border-radius:6px;padding:8px 14px;font-size:13px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.tr-side{gap:16px;min-width:0;display:grid;position:sticky;top:88px}.tr-side h2{font:800 20px var(--d);letter-spacing:-.02em}.tr-recipe{border-top:1.5px solid var(--ink);margin:0;padding:0;list-style:none}.tr-recipe li{border-bottom:1px solid var(--line);grid-template-columns:64px 1fr;gap:2px 10px;padding:9px 0;font-size:13.5px;display:grid}.tr-recipe li span{color:var(--sub);font-size:12.5px}.tr-recipe li b{font:700 14px var(--d)}.tr-recipe li small{color:var(--sub);grid-column:2;font-size:12px;line-height:1.45}.tr-warns{gap:6px;margin:0;padding-left:18px;font-size:13.5px;display:grid}.tr-warns .bad{color:var(--bad)}.tr-warns .warn{color:var(--warn)}@media (max-width:1080px){.tr-wrap{grid-template-columns:minmax(0,1fr)}.tr-side{position:static}.tr-canvas{height:64vh}}.ct-edge{fill:none;stroke:color-mix(in srgb, var(--sub) 38%, transparent);stroke-width:1.4px}.ct-node{text-align:left;background:var(--ground);border:1px solid var(--line);cursor:pointer;border-radius:8px;grid-template-rows:auto 1fr auto;gap:3px;padding:11px 13px 10px;transition:border-color .15s,box-shadow .15s;display:grid;position:absolute}.ct-node:hover{border-color:color-mix(in srgb, var(--ink) 45%, var(--line))}.ct-node.path{border-color:color-mix(in srgb, var(--wine) 55%, var(--line))}.ct-node.on{border-color:var(--ink);box-shadow:inset 3px 0 0 var(--wine), 0 8px 20px -12px #0000004d}.ct-node.top{background:var(--ink);color:var(--ground);border-color:var(--ink)}.ct-node.top .ds{color:color-mix(in srgb, var(--ground) 70%, transparent)}.ct-node .nm{font:800 15px/1.2 var(--d);letter-spacing:-.02em;justify-content:space-between;gap:8px;display:flex}.ct-node .nm i{font:700 11px var(--f);color:var(--wine);font-style:normal}.ct-node.top .nm i{color:var(--pink)}.ct-node .ds{color:var(--sub);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.ct-node .ft{align-items:center;gap:4px;min-height:0;display:flex}.ct-node .ft img{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:3px;width:26px;height:26px}.ct-node .ft em{font:600 11px var(--f);color:var(--wine);margin-left:auto;font-style:normal}.ct-node.top .ft em{color:var(--pink)}.ct-node .pt{background:var(--ground);border:1.5px solid color-mix(in srgb, var(--sub) 55%, transparent);border-radius:50%;width:9px;height:9px;margin-top:-4.5px;position:absolute;top:50%}.ct-node .pt.l{left:-5px}.ct-node .pt.r{right:-5px}.ct-node.path .pt{background:var(--wine);border-color:var(--wine)}.ct-side h2{font-size:26px}.ct-crumb{color:var(--sub);font-size:12.5px}.ct-crumb button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.ct-crumb button:hover{color:var(--ink)}.ct-desc{color:var(--sub)}.ct-sign{border-top:1.5px solid var(--ink);gap:4px;padding-top:12px;display:grid}.ct-sign b,.ct-kids>b,.ct-seen>b{font:700 14px var(--d)}.ct-sign p{font-size:14px}.ct-kids{gap:8px;display:grid}.ct-seen{border-top:1px solid var(--line);gap:14px;padding-top:14px;display:grid}.ct-seen figure{gap:8px;margin:0;display:grid}.ct-seen figure img{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%}.ct-seen figcaption{gap:3px;font-size:13.5px;display:grid}.ct-seen figcaption p{color:var(--sub)}.ct-seen figcaption small{color:var(--sub);font-size:12px}.ct-node .ft svg{width:40px;height:26px}.ct-schem{background:var(--ground-2);border-radius:6px;gap:6px;margin:0;padding:14px;display:grid}.ct-schem svg{width:100%;height:auto;max-height:200px}.ct-schem figcaption{color:var(--sub);font-size:12px}.ct-full{z-index:20;background:var(--ground-2);position:fixed;bottom:0;left:0;right:0}.ct-full .ct-canvas{border-radius:0;height:auto;position:absolute;inset:0}.ct-head{z-index:2;pointer-events:none;background:color-mix(in srgb, var(--ground-2) 90%, transparent);border-radius:8px;gap:2px;max-width:min(520px,100% - 24px);padding:8px 10px 10px;display:grid;position:absolute;top:10px;left:12px}.ct-head .k{font:700 12px var(--d);color:var(--wine);letter-spacing:.04em}.ct-head h1{font:800 22px/1.15 var(--d);letter-spacing:-.03em}.ct-head p{color:var(--sub);font-size:12.5px}.ct-full .ct-tools{inset:auto auto 16px 16px}.ct-pop{z-index:3;overscroll-behavior:contain;background:var(--ground);border:1px solid var(--line);opacity:0;pointer-events:none;border-radius:10px;align-content:start;gap:16px;width:min(400px,100% - 28px);padding:22px 22px 28px;transition:transform .28s cubic-bezier(.2,.75,.2,1),opacity .2s;display:grid;position:absolute;top:14px;bottom:14px;right:14px;overflow-y:auto;transform:translate(calc(100% + 24px));box-shadow:0 18px 48px -18px #00000052}.ct-pop.open{opacity:1;pointer-events:auto;transform:none}.ct-pop h2{font:800 26px var(--d);letter-spacing:-.02em;padding-right:28px}.ct-x{border:1px solid var(--line);background:var(--ground);width:32px;height:32px;font:400 20px/1 var(--f);cursor:pointer;border-radius:6px;position:absolute;top:12px;right:12px}.ct-x:hover{border-color:var(--ink)}@media (max-width:760px){.ct-head h1{font-size:18px}.ct-head p{display:none}.ct-pop{border-bottom:0;border-radius:14px 14px 0 0;width:auto;max-height:62%;padding:20px 16px 28px;inset:auto 0 0;transform:translateY(100%)}.ct-full .ct-tools{bottom:12px;left:12px}}.ct-feel{pointer-events:auto;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.ct-feel span{color:var(--sub);margin-right:2px;font-size:12.5px}.ct-feel button{border:1px solid var(--line);background:var(--ground);color:var(--ink);font:600 12.5px var(--f);cursor:pointer;border-radius:999px;padding:4px 11px}.ct-feel button:hover{border-color:var(--ink)}.ct-feel button[aria-pressed=true]{background:var(--wine);border-color:var(--wine);color:#fff}.ct-node.fit{border-color:var(--wine);box-shadow:0 0 0 2px color-mix(in srgb, var(--wine) 45%, transparent)}.ct-node.dim{opacity:.42}.ct-node .ft em.ok{color:var(--wine);font-weight:700}.ct-node.top .ft em.ok{color:var(--pink)}.ct-good{gap:4px;display:grid}.ct-good b{font:700 14px var(--d)}.ct-good p{font-size:15px}.ct-feels{color:var(--wine);font-size:12.5px}@media (max-width:760px){.ct-feel span{display:none}.ct-feel button{padding:3px 9px;font-size:12px}}
