.graph-hero{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:120px 32px 60px;text-align:center;border-bottom:1px solid var(--border)}.graph-hero-label{display:block;font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:24px}.graph-hero h1{font-size:4rem;font-weight:700;letter-spacing:-.02em;margin-bottom:16px}.graph-hero p{font-size:1.125rem;color:var(--text-muted);max-width:480px}.graph-demo{padding:0;background:var(--bg-card);border-bottom:1px solid var(--border)}.graph-container{position:relative;width:100%;height:70vh;min-height:500px;overflow:hidden;background:linear-gradient(135deg,var(--bg) 0,var(--bg-card) 100%)}.graph-svg{width:100%;height:100%;display:block}.graph-hitarea{position:absolute;cursor:pointer;z-index:5;transition:all .15s ease}.graph-motif-hit:hover+svg g circle,.graph-motif-hit:hover~svg circle{stroke-width:3}.graph-element-hit:hover~svg g rect{stroke-width:2;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.graph-node text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.graph-tooltip{position:absolute;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border);font-size:.875rem;line-height:1.5;opacity:0;transition:opacity .2s;z-index:10;max-width:200px}.graph-tooltip strong{display:block;margin-bottom:4px;font-size:1rem}.graph-legend{position:absolute;top:24px;right:24px;padding:20px;background:var(--bg-card);border:1px solid var(--border);z-index:5}.legend-title{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px}.legend-item{display:flex;align-items:center;gap:10px;font-size:.875rem;margin-bottom:8px}.legend-dot{width:12px;height:12px;border-radius:50%;border:1px solid var(--line)}.legend-shape{width:16px;height:16px}.motif-shape{border-radius:50%;background:var(--accent);border:1px solid var(--line)}.element-shape{border-radius:4px;background:var(--shape);border:1px solid var(--line)}.legend-divider{width:100%;height:1px;background:var(--border);margin:12px 0}.graph-controls{display:flex;justify-content:center;gap:16px;padding:20px;border-top:1px solid var(--border)}.graph-btn{padding:10px 24px;font-size:.875rem;font-weight:600;background:var(--bg);border:1px solid var(--border);cursor:pointer;transition:all .2s}.graph-btn:hover{background:var(--accent);color:#fff}.graph-explain{padding:80px 32px;background:var(--bg)}.explain-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:24px;gap:24px;max-width:1200px;margin:0 auto}.explain-card{padding:32px;background:var(--bg-card);border:1px solid var(--border)}.explain-num{display:block;font-size:.75rem;font-weight:600;letter-spacing:.1em;color:var(--accent);margin-bottom:16px}.explain-card h3{font-size:1.25rem;font-weight:700;margin-bottom:12px}.explain-card p{font-size:.9375rem;color:var(--text-muted);line-height:1.6}@media (max-width:768px){.explain-grid{grid-template-columns:1fr}.graph-hero{padding:100px 24px 40px;min-height:40vh}.graph-hero h1{font-size:2.5rem}.graph-hero p{font-size:1rem}.graph-container{height:45vh;min-height:350px}.graph-legend{top:12px;right:12px;padding:12px;font-size:.75rem}.legend-item{font-size:.75rem;margin-bottom:6px}.legend-title{font-size:.625rem;margin-bottom:8px}.graph-explain{padding:48px 24px}.explain-card{padding:24px}.graph-hint{font-size:.75rem}}.graph-node{cursor:pointer}.graph-node:hover{transform:scale(1.05)}.node-label{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}@keyframes rotateDiamond{0%{transform:translate(var(--tx),var(--ty)) rotate(0deg)}to{transform:translate(var(--tx),var(--ty)) rotate(1turn)}}.categories-rotate{transform-origin:center;animation:rotateDiamond 20s linear infinite}.graph-links{position:absolute;top:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:5}.graph-link-btn{padding:8px 16px;background:var(--bg-card);border:1px solid var(--border);font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .2s;text-align:left}.graph-link-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}