.tool-wrap{width:min(1220px,calc(100% - 34px));margin:auto}.tool-hero{padding:clamp(6rem,11vw,9rem) 0 3rem}.tool-hero h1,.tool-head h2{font-family:Georgia,serif;font-weight:500;letter-spacing:-.04em}.tool-hero h1{max-width:960px;margin:0;font-size:clamp(2.8rem,7vw,6rem);line-height:.98}.tool-hero p,.tool-head p,.tool-note{color:var(--muted)}.tool-section{padding:54px 0;border-top:1px solid var(--line)}.tool-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:22px}.tool-head h2{font-size:clamp(2rem,4vw,3.2rem);margin:0}.tool-head p{max-width:660px;margin:0}.tool-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.tool-toolbar input,.tool-toolbar select,.tool-toolbar button{min-height:42px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:12px;background:#0a1728;color:var(--text);font:inherit}.tool-toolbar input{flex:1 1 280px}.tool-toolbar button{cursor:pointer}.tool-count{align-self:center;color:var(--muted-2);font-size:.85rem}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.tool-card{padding:16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.03)}.tool-card[hidden]{display:none}.tool-card h3{margin:0 0 8px}.tool-tag{display:inline-block;padding:4px 8px;border:1px solid rgba(103,212,255,.35);border-radius:999px;color:var(--accent);font-size:.65rem;font-weight:900;text-transform:uppercase}.mathline{color:#a7f3d0;font:.82rem ui-monospace,Consolas,monospace;overflow-wrap:anywhere}.equation-layout{display:grid;grid-template-columns:360px 1fr;gap:16px}.equation-list{max-height:760px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:18px}.equation-item{display:block;width:100%;padding:11px;text-align:left;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--muted);cursor:pointer}.equation-item strong,.equation-item span{display:block}.equation-item strong{color:var(--text)}.equation-item:hover,.equation-item[aria-pressed=true]{border-color:rgba(103,212,255,.42);background:rgba(103,212,255,.08)}.equation-box{padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.03)}.latex{margin:18px 0;padding:18px;border:1px solid var(--line-strong);border-radius:14px;background:rgba(0,0,0,.24);overflow:auto}.src{white-space:pre-wrap;color:#a7f3d0;font:.8rem ui-monospace,Consolas,monospace}.equation-links{display:flex;flex-wrap:wrap;gap:.8rem;margin:1rem 0}.equation-links a{font-size:.8rem}
.graph-shell{display:grid;grid-template-columns:minmax(0,1fr) 290px;min-height:720px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(103,212,255,.055),transparent 45%),#07111f}.graph-stage{position:relative;min-width:0}.graph-stage svg{display:block;width:100%;height:720px;touch-action:none;cursor:grab}.graph-stage svg:active{cursor:grabbing}.graph-grid{opacity:.12}.graph-edge{stroke:rgba(180,205,235,.28);stroke-width:1}.graph-edge.explicit{stroke:rgba(103,212,255,.42);stroke-width:1.5}.graph-node{cursor:pointer}.graph-node circle{stroke:rgba(255,255,255,.55);stroke-width:1;transition:r .16s,opacity .16s}.graph-node text{fill:#eef6ff;font:600 11px system-ui,sans-serif;paint-order:stroke;stroke:#07111f;stroke-width:3px;stroke-linejoin:round;pointer-events:none}.graph-node.is-hub text{font-weight:850}.graph-node.is-selected circle{stroke:#fff;stroke-width:2.5}.graph-node.is-selected text{font-size:13px}.graph-inspector{padding:20px;border-left:1px solid var(--line);background:rgba(8,18,31,.86)}.graph-inspector h3{margin:.4rem 0;font:500 1.45rem/1.2 Georgia,serif}.graph-inspector p{color:var(--muted);font-size:.88rem}.graph-inspector ul{margin:.75rem 0;padding-left:1.1rem;color:var(--muted);font-size:.83rem}.graph-inspector .tool-tag{margin-bottom:.35rem}.graph-legend{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.graph-legend span{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .55rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.72rem}.graph-legend i{width:.65rem;height:.65rem;border-radius:50%}.graph-hint{position:absolute;left:14px;bottom:12px;padding:.45rem .6rem;border:1px solid var(--line);border-radius:.6rem;background:rgba(7,17,31,.82);color:var(--muted-2);font-size:.7rem}
.calendar-controls{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1rem}.calendar-controls button{padding:.55rem .85rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.025);color:var(--muted);cursor:pointer}.calendar-controls button[aria-pressed=true]{border-color:rgba(103,212,255,.55);background:rgba(103,212,255,.1);color:var(--text)}.calendar-year{margin:0 0 3rem;padding:1.2rem;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.02)}.calendar-year[hidden]{display:none}.calendar-year-header{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem}.calendar-year-header h3{margin:0;font:500 2.6rem/1 Georgia,serif}.calendar-year-header span{color:var(--muted-2)}.year-rail{position:relative;height:82px;margin-bottom:1rem;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01))}.year-rail-month{position:absolute;top:0;bottom:0;border-left:1px solid rgba(180,205,235,.12)}.year-rail-month label{position:absolute;top:6px;left:5px;color:var(--muted-2);font-size:.62rem}.year-event{position:absolute;bottom:14px;width:11px;height:11px;margin-left:-5px;border:2px solid #07111f;border-radius:50%;background:var(--accent);cursor:pointer}.year-event:hover,.year-event:focus-visible{transform:scale(1.5)}.calendar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.calendar-month{min-height:155px;padding:.8rem;border:1px solid var(--line);border-radius:12px;background:rgba(8,18,31,.62)}.calendar-month h4{margin:0 0 .65rem;color:var(--muted-2);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.calendar-month.is-empty{opacity:.48}.calendar-event{display:grid;grid-template-columns:34px 1fr;gap:.55rem;width:100%;margin:.45rem 0;padding:.55rem;border:1px solid transparent;border-radius:.65rem;background:rgba(103,212,255,.06);color:var(--text);text-align:left;cursor:pointer}.calendar-event:hover,.calendar-event:focus-visible{border-color:rgba(103,212,255,.45);background:rgba(103,212,255,.1)}.calendar-day{display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(103,212,255,.38);border-radius:50%;color:var(--accent);font-weight:850}.calendar-event strong{display:block;font-size:.76rem;line-height:1.3}.calendar-event small{display:block;color:var(--muted-2);font-size:.66rem}.calendar-detail{margin-top:1rem;padding:1rem 1.1rem;border-left:3px solid var(--accent);background:rgba(103,212,255,.045)}.calendar-detail h3{margin:.2rem 0;font:500 1.35rem Georgia,serif}.calendar-detail p{margin:.4rem 0;color:var(--muted)}
@media(max-width:980px){.graph-shell{grid-template-columns:1fr}.graph-inspector{border-top:1px solid var(--line);border-left:0}.calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.tool-head{display:block}.equation-layout{grid-template-columns:1fr}.graph-stage svg{height:600px}.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.calendar-grid{grid-template-columns:1fr}.calendar-year{padding:.8rem}}
