@font-face{font-family:Golos;src:url(/assets/golos-text-400-latin.woff2);font-weight:400;font-display:swap;unicode-range:U+0000-00FF}@font-face{font-family:Golos;src:url(/assets/golos-text-400-cyrillic.woff2);font-weight:400;font-display:swap;unicode-range:U+0400-052F}@font-face{font-family:Golos;src:url(/assets/golos-text-700-latin.woff2);font-weight:700;font-display:swap;unicode-range:U+0000-00FF}@font-face{font-family:Golos;src:url(/assets/golos-text-700-cyrillic.woff2);font-weight:700;font-display:swap;unicode-range:U+0400-052F}
:root{--ground:#0f1219;--panel:#171a21;--ink:#e5e8ef;--muted:#a5a8b0;--line:#353943;--accent:#ff5a2b;--paper:#e8ecf2;color-scheme:dark;font-family:Golos,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font-size:16px;line-height:1.7}a{color:var(--ink);text-underline-offset:5px;overflow-wrap:anywhere}button,input,select,textarea{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}.wrap{width:min(1220px,calc(100% - 80px));margin:auto}.site-header{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}.site-header img{width:170px;height:auto;display:block}.site-header nav{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.site-header nav a{font-size:14px;text-decoration:none;color:var(--muted);min-height:44px;display:flex;align-items:center}.site-header nav a:hover{color:var(--ink)}main{max-width:760px;margin:55px auto 75px;padding:0 35px}.wide{max-width:1220px}h1{font-size:clamp(29px,3vw,44px);line-height:1.2;letter-spacing:-1px;overflow-wrap:anywhere;font-weight:700;margin:22px 0}h2{font-size:26px;line-height:1.3;letter-spacing:-.4px}h3{font-size:19px;line-height:1.5}p{max-width:78ch}.hint,.muted{color:var(--muted)}.error{color:#ffab91}.brand{color:var(--accent);font-size:15px}.eyebrow{color:var(--muted);font-size:14px}.button,button{padding:12px 20px;min-height:46px;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary{background:var(--accent);color:var(--ground);font-weight:700;border-color:var(--accent)}.secondary{background:var(--panel);color:var(--ink)}button:hover,.button:hover{filter:brightness(1.15)}:focus-visible{outline:3px solid #ff9a7c;outline-offset:4px}label{display:block;font-weight:700;margin:22px 0 8px}input,select,textarea{padding:13px;width:100%;min-height:46px;background:var(--ground);color:var(--ink);border:1px solid var(--line);border-radius:5px}input[type=checkbox]{width:20px;min-height:20px;margin-right:10px;vertical-align:middle}form>button{margin-top:22px}form{max-width:740px}.panel{padding:26px;border:1px solid var(--line);background:var(--panel);border-radius:8px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.source-header{margin-bottom:32px}.source-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:45px;align-items:start}.source-text{white-space:pre-wrap;overflow-wrap:anywhere;font:16px/1.85 Golos,system-ui,sans-serif;max-width:78ch;margin:0;padding:0 0 30px;color:var(--ink)}.source-meta{font-size:14px}.source-meta h2{font-size:18px;margin-top:0}.source-meta time{display:block}.source-meta .origin{padding:18px 0;border-top:1px solid var(--line)}.source-meta .origin p{margin:0}details{border-top:1px solid var(--line);padding-top:18px;margin:24px 0}summary{cursor:pointer;min-height:44px}details ul{padding-left:23px;max-height:320px;overflow:auto}li{margin:10px 0}.notice{border-left:3px solid var(--accent);padding:12px 18px;background:var(--panel);color:var(--muted);font-size:14px;line-height:1.8}.logout{margin:0}.logout button{padding:5px 12px;margin:0;font-size:13px}.access-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:35px;align-items:start}.reader-list{list-style:none;padding:0;margin:0}.reader-list li{padding:24px 0;border-bottom:1px solid var(--line);margin:0;overflow-wrap:anywhere}.reader-list h3{margin:0}.reader-list p{font-size:14px;margin:8px 0}.reader-list form{margin-top:12px}.reader-list button{font-size:14px}.secret-actions{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}.flash{background:var(--panel);padding:16px;border-left:3px solid var(--accent)}.key-result{max-width:700px}.key-result input{font-family:system-ui,sans-serif}.site-footer{border-top:1px solid var(--line);padding:25px 0;display:flex;justify-content:space-between;gap:25px;font-size:13px;color:var(--muted)}
.graph-section{margin-top:55px;border-top:1px solid var(--line);padding-top:35px}.graph-section h2{margin:0 0 14px}.graph-section .hint{font-size:14px}.graph-search{display:grid;grid-template-columns:1fr auto;gap:12px;max-width:none;align-items:end}.graph-search label{margin-top:8px}.graph-search button{margin:0}.graph-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel);margin-top:20px}.graph-stage{position:relative;min-width:0;overflow:hidden;background:radial-gradient(ellipse at center,#1e242f 0,var(--ground) 75%)}.graph-stage svg{display:block;width:100%;height:520px;touch-action:none;cursor:grab}.graph-stage svg:active{cursor:grabbing}.graph-stage .graph-link{stroke:#56647b;stroke-width:1;opacity:.5}.graph-stage .node circle{stroke:var(--ground);stroke-width:3;cursor:pointer}.graph-stage .node text{fill:var(--ink);font:12px Golos,system-ui,sans-serif;pointer-events:none;paint-order:stroke;stroke:var(--ground);stroke-width:3px}.graph-stage .node.current circle{fill:var(--accent);stroke:var(--ink);stroke-width:3}.graph-stage .node.source circle{fill:#a8bacf}.graph-stage .node.tag circle{fill:#ff9a7c}.graph-stage .node.focused circle{stroke:#fff;stroke-width:5}.graph-stage .node.dim{opacity:.18}.graph-stage .node.match circle{fill:#e8ecf2}.graph-controls{display:flex;gap:6px;flex-wrap:wrap;padding:12px;border-top:1px solid var(--line)}.graph-controls button{padding:8px 13px;min-height:44px;font-size:14px}.graph-info{padding:22px;border-left:1px solid var(--line);max-height:575px;overflow:auto}.graph-info h3{margin-top:0}.graph-info p{font-size:14px}.graph-info .result-list{padding-left:20px;font-size:14px}.graph-info .result-list li{padding:8px 0}.graph-tags{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.graph-tags button{padding:7px 12px;min-height:44px;font-size:13px;border-radius:20px}.graph-tags button[aria-pressed=true]{border-color:var(--accent);color:#ff9a7c}.graph-status{font-size:14px;color:var(--muted);min-height:26px;margin:12px 0}.graph-key{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:16px}.graph-key span:before{content:' ';display:inline-block;width:10px;height:10px;background:#e8ecf2;border-radius:50%;margin-right:8px}.graph-key span:first-child:before{background:var(--accent)}.graph-key span:last-child:before{background:#ff9a7c}footer a{color:var(--muted)}
@media(max-width:950px){.source-grid{grid-template-columns:1fr}.source-meta{display:grid;grid-template-columns:1fr 1fr;gap:25px}.graph-layout{grid-template-columns:1fr}.graph-info{border-left:0;border-top:1px solid var(--line);max-height:330px}.access-layout{grid-template-columns:1fr}.graph-stage svg{height:460px}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.site-header{min-height:82px;gap:15px}.site-header img{width:125px}.site-header nav{gap:12px}.site-header nav a{font-size:12px}.site-header .guide-link{display:none}main{margin:35px auto 45px;padding:0 18px}h1{font-size:31px;letter-spacing:-.6px}.source-meta{display:block}.graph-search{grid-template-columns:1fr}.graph-stage svg{height:380px}.graph-info{padding:18px}.graph-controls{gap:8px}.panel{padding:20px}.site-footer{display:block}.site-footer>span{display:block;margin-top:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
.graph-stage .node.source.current circle{fill:var(--accent)}.graph-stage .node circle[data-hit]{fill:transparent;stroke:none}.graph-stage .node:focus{outline:none}.graph-stage .node:focus circle:not([data-hit]){stroke:#fff;stroke-width:5}.result-list a{display:inline-block;min-height:44px}

.graph-stage .node circle[data-hit]{opacity:0;pointer-events:all}
