
#punnki-relations{--p-bg:light-dark(#fff,#111);--p-surface:light-dark(#faf8f7,#211f1f);--p-fg:light-dark(#333,#ddd);--p-muted:light-dark(#707070,#aaa3a3);--p-border:light-dark(#ded8d8,#403b3b);--p-soft:light-dark(#fbe8e8,#462c2d);--p-red:#cd5155;--p-node:light-dark(#e78286,#b94b50);--p-idle:light-dark(#eee,#373535);--p-same:light-dark(#edf2e4,#2d3725);--p-green:light-dark(#587432,#b5ce92);font:16px/1.55 Arial,sans-serif;background:var(--p-bg);color:var(--p-fg);padding:24px;border-radius:8px;box-sizing:border-box}
#punnki-relations *{box-sizing:border-box}#punnki-relations [hidden]{display:none!important}#punnki-relations nav{background:var(--p-red);color:#fff;display:flex;align-items:center;border-radius:5px;margin-bottom:30px}#punnki-relations nav>*{flex:1;text-align:center;padding:12px}#punnki-relations nav button{color:#fff;background:transparent;border:0}#punnki-relations button,#punnki-relations select{font:inherit}#punnki-relations button{color:var(--p-fg);border:1px solid var(--p-border);background:var(--p-surface);border-radius:8px;padding:10px 14px}#punnki-relations h1{font-size:30px;margin:0 0 24px}#punnki-relations h2{font-size:30px;margin:2px 0;color:var(--p-red);font-weight:500}#punnki-relations h3{font-size:16px;margin:0 0 16px;font-weight:500}#punnki-relations small,#punnki-relations .muted{color:var(--p-muted)}#punnki-relations #pr-page,#punnki-relations #pr-menu{max-width:820px;margin:auto}#punnki-relations .pickers{display:grid;grid-template-columns:1fr 44px 1fr;gap:16px;align-items:end;margin-bottom:25px}#punnki-relations label{display:grid;gap:8px;font-size:13px;color:var(--p-muted)}#punnki-relations select{width:100%;padding:13px;background:var(--p-surface);color:var(--p-fg);border:1px solid var(--p-border);border-radius:8px;font-size:17px}#punnki-relations #pr-swap{padding:12px 9px;display:grid;place-items:center;min-height:52px}#punnki-relations .result{padding:25px 28px;border:1px solid var(--p-border);border-radius:16px;background:var(--p-surface)}#punnki-relations .result-title{display:flex;align-items:center;justify-content:space-between}#punnki-relations #pr-icon{color:var(--p-red)}#punnki-relations #pr-icon svg{width:32px;height:32px}#punnki-relations #pr-roles{color:var(--p-muted);margin:10px 0 0;font-size:13px}#punnki-relations ul{padding-left:19px;margin:22px 0 28px}#punnki-relations li{margin:6px 0;padding-left:3px}#punnki-relations li::marker{color:var(--p-red)}#punnki-relations .diagrams{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(170px,1fr);gap:48px;border-top:1px solid var(--p-border);padding-top:22px}#punnki-relations .diagram-head{display:flex;justify-content:space-between;font-size:13px;color:var(--p-muted);gap:12px}#punnki-relations .diagram-head span{max-width:48%;overflow-wrap:anywhere}#punnki-relations .diagram{position:relative;display:flex;justify-content:space-between;margin-top:10px;height:235px}#punnki-relations .diagram svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}#punnki-relations .diagram line{stroke:var(--p-red);stroke-width:2;opacity:.65}#punnki-relations .diagram line.dim{opacity:.12}#punnki-relations .diagram line.emphasis{stroke-width:3;opacity:1}#punnki-relations .positions{display:grid;gap:8px;position:relative;width:96px}#punnki-relations .positions button{padding:5px 8px;font-size:14px;white-space:nowrap;background:var(--p-idle);border:0;color:var(--p-muted)}#punnki-relations .positions button.linked{background:var(--p-node);color:#fff}#punnki-relations .positions button.selected{outline:2px solid var(--p-fg);outline-offset:2px}#punnki-relations .hint{font-size:12px;margin:14px 0 0;min-height:38px}#punnki-relations .life-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px;border-radius:8px;margin-bottom:12px;background:var(--p-soft)}#punnki-relations .life-item.same{background:var(--p-same)}#punnki-relations .life-item strong{font-weight:500;font-size:20px}#punnki-relations .life-item small{font-size:12px;color:var(--p-red)}#punnki-relations .life-item.same small{color:var(--p-green)}#punnki-relations .life-item span{display:block;font-size:12px;color:var(--p-muted)}#punnki-relations .legend{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:12px;color:var(--p-muted);margin-top:24px}#punnki-relations .dot{width:9px;height:9px;border-radius:50%;display:inline-block}#punnki-relations .connected{background:var(--p-node)}#punnki-relations .inactive{background:var(--p-idle);border:1px solid var(--p-border);margin-left:6px}#punnki-relations details{margin-top:22px}#punnki-relations summary{color:var(--p-muted)}#punnki-relations #pr-categories{display:flex;flex-wrap:wrap;gap:8px;padding-top:15px}#punnki-relations #pr-categories button{font-size:13px;padding:7px 12px}#punnki-relations #pr-categories button[aria-pressed=true]{background:var(--p-soft);color:var(--p-red);border-color:var(--p-red)}#punnki-relations .about{font-size:12px;border-top:1px solid var(--p-border);padding-top:18px;color:var(--p-muted)}#punnki-relations .menu{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}#punnki-relations .menu button{background:var(--p-red);color:#fff;min-height:78px;border:0}
@media(max-width:570px){#punnki-relations{padding:16px}#punnki-relations h1{font-size:25px}#punnki-relations .result{padding:20px 16px}#punnki-relations .pickers{gap:8px}#punnki-relations .diagrams{grid-template-columns:1fr;gap:20px}#punnki-relations .diagram{max-width:360px}#punnki-relations .lifestyle #pr-life{display:grid;grid-template-columns:1fr 1fr;gap:10px}#punnki-relations .life-item{display:block}#punnki-relations .life-item small{display:block;margin-top:6px}#punnki-relations .menu{grid-template-columns:1fr}}

html{color-scheme:light dark}body{margin:0;padding:20px;background:light-dark(#fff,#111);font-family:Arial,sans-serif}#punnki-relations{max-width:1120px;margin:auto}#punnki-relations nav a{color:#fff;text-decoration:none}#punnki-relations nav a:hover,#punnki-relations nav a:focus{text-decoration:none}#punnki-relations .back{display:inline-block;color:var(--p-muted);font-size:14px;margin-bottom:15px}#punnki-relations button{cursor:pointer}#punnki-relations .diagram-head{min-height:42px}#punnki-relations .diagram{margin-top:0}#punnki-relations .positions button{min-height:40px}#punnki-relations #pr-link{overflow-wrap:anywhere}@media(max-width:570px){body{padding:0}#punnki-relations{border-radius:0}#punnki-relations .diagram-head{max-width:360px}}
