/* СДВИГ 0.3: compact editorial / wayfinding language. No UI libraries. */
:root{--paper:#f1eee6;--field:#e8e5da;--ink:#222d29;--muted:#666e65;--line:#c7c7ba;--coral:#e45437;--lime:#e4f293;--blue:#285d75;--ease:cubic-bezier(.22,.75,.23,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.45 'Trebuchet MS',Verdana,sans-serif;-webkit-font-smoothing:antialiased}button,a{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--coral);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.45}[hidden]{display:none!important}::selection{background:var(--lime);color:var(--ink)}
.shell{margin:auto;min-height:100vh;max-width:1920px}.topbar{height:63px;border-bottom:1px solid var(--ink);display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 32px}.logo{display:flex;align-items:center;gap:10px;white-space:nowrap;text-decoration:none;color:var(--ink);font-size:26px;letter-spacing:-1.4px;font-weight:900}.dot{color:var(--coral)}.logo-icon{height:24px;width:24px;position:relative;display:inline-block;transform:rotate(-17deg)}.logo-icon i{position:absolute;background:var(--coral);height:6px;width:13px}.logo-icon i:nth-child(1){top:2px;left:9px}.logo-icon i:nth-child(2){top:10px;left:1px}.logo-icon i:nth-child(3){top:18px;left:9px}.reset{background:none;border:0;white-space:nowrap;color:var(--ink);font-size:12px;font-weight:700}.reset span{font-size:21px;margin-right:6px;vertical-align:-2px}.reset:hover{color:var(--coral)}
.intro{display:flex;align-items:end;justify-content:space-between;gap:45px;padding:28px 32px 27px;border-bottom:1px solid var(--ink)}.intro-copy{max-width:770px}.eyebrow,.section-index,.scenario-label,.field-corner,.hint-index,.actiongroup>span,.actionbar-intro strong,.discovery-top,#section-counter,.preview-note,.preview-footnote,.footer{font-size:10px;letter-spacing:1.15px;font-weight:700}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.small-dot{width:7px;height:7px;background:var(--coral);border-radius:100%}.intro h1{font:normal clamp(38px,4vw,59px)/1.08 Georgia,'Times New Roman',serif;letter-spacing:-1.8px;margin:8px 0 11px}.intro h1 em{font-weight:normal;color:var(--coral)}.intro p{margin:0;max-width:610px;color:#505a50;font-size:13px;line-height:1.55}.scenario{border-left:1px solid var(--line);padding-left:27px;min-width:335px;max-width:410px}.scenario-label{color:var(--muted);margin-bottom:8px}.scenario-equation{display:flex;flex-wrap:wrap;align-items:center;gap:8px;white-space:nowrap;font:17px Georgia,serif;margin:0 0 10px}.scenario-equation b{font:normal 20px 'Trebuchet MS',sans-serif;color:var(--coral)}.scenario-equation .eq-arrow{margin:0 2px}.scenario-equation strong{font-weight:normal;background:var(--lime);padding:4px 7px}.example-button{border:0;background:none;border-bottom:1px solid var(--ink);font-size:12px;font-weight:700;color:var(--ink);padding:5px 0}.example-button span{margin-left:10px;color:var(--coral)}.example-button:hover{color:var(--coral)}
.workarea{display:grid;grid-template-columns:minmax(0,1fr) minmax(315px,345px);min-height:670px}.work-main{min-width:0;padding:18px 21px 19px 32px}.work-header{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:12px}.section-index{color:var(--coral)}.work-header h2{font:normal 26px Georgia,serif;margin:4px 0 0;letter-spacing:-.5px}.field{height:clamp(480px,60vh,630px);min-height:480px;position:relative;background:var(--field);border:1px solid var(--ink);overflow:hidden;isolation:isolate;user-select:none;-webkit-user-select:none}.field-paper{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,rgba(75,82,74,.065) 1px,transparent 1px),linear-gradient(to bottom,rgba(75,82,74,.065) 1px,transparent 1px);background-size:39px 39px}.field:before{content:"";position:absolute;width:43%;aspect-ratio:1;border:1px solid #c5c8bd;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.45;pointer-events:none}.field-corner{position:absolute;z-index:8;color:#777e72;font-size:9px;pointer-events:none}.top-left{top:13px;left:18px}.top-right{top:13px;right:17px}.bottom-right{bottom:12px;right:15px}.edges{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.edge{stroke:#939f91;stroke-width:1.3;opacity:.45;stroke-dasharray:4 6}.edge-active{stroke:var(--coral);stroke-width:2.3;stroke-dasharray:none;opacity:.9}.edge-created{stroke:#2f765d;stroke-width:2.3;stroke-dasharray:none;opacity:.92}.node-layer{position:absolute;inset:0;pointer-events:none;z-index:4}.node{position:absolute;left:0;top:0;transform:translate(-50%,-50%);width:116px;min-height:66px;padding:11px 8px 9px 14px;text-align:left;border:1px solid var(--ink);border-radius:0;background:var(--paper);color:var(--ink);pointer-events:auto;touch-action:none;cursor:grab;box-shadow:3px 3px 0 rgba(34,45,41,.11);transition:background .15s,opacity .15s,border-color .15s,box-shadow .15s;z-index:3}.node:before{content:"";height:100%;width:5px;background:var(--node-color,var(--ink));position:absolute;left:0;top:0}.node-title{font:normal 18px/1.15 Georgia,serif;display:flex;align-items:center;min-height:40px;letter-spacing:-.4px}.node:hover,.node:focus-visible{background:#fffdf7;box-shadow:5px 5px 0 rgba(34,45,41,.19)}.node.selected{background:var(--lime);border-width:2px}.node.part{background:#f7f4eb;border-color:#315c4b;box-shadow:3px 3px 0 #98b5a0}.node.drop-target{background:var(--lime);outline:2px solid var(--coral);outline-offset:4px}.node.dragging{transition:none;cursor:grabbing;z-index:20;box-shadow:8px 8px 0 rgba(34,45,41,.2)}
.central-placeholder,.created-node{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);z-index:2;text-align:center}.central-placeholder{pointer-events:none;color:#869084;font:normal 13px/1.3 Georgia,serif}.central-mark{border:1px dashed #9aa499;background:#e8e5da;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font:23px 'Trebuchet MS',sans-serif;margin:0 auto 8px}.created-node{z-index:5;width:192px;min-height:126px;border:2px solid var(--ink);background:var(--ink);color:var(--paper);padding:13px 12px;box-shadow:7px 7px 0 var(--coral);text-align:left}.created-label{display:block;color:var(--lime);font-size:9px;letter-spacing:1px;font-weight:bold;margin-bottom:9px}.created-title{display:block;font:normal 24px/1.03 Georgia,serif;letter-spacing:-.5px;margin-bottom:7px}.created-more{display:block;font-size:10px;color:#c9d1c8;line-height:1.35}.created-node button{margin-top:9px;color:var(--lime);border:0;padding:0;background:none;font-size:10px;text-decoration:underline;text-underline-offset:3px}
.field-hint{position:absolute;left:18px;bottom:17px;max-width:290px;z-index:7;display:flex;flex-direction:column;gap:3px;pointer-events:none;background:rgba(241,238,230,.94);padding:11px 13px;border-left:3px solid var(--coral)}.field-hint strong{font-size:12px;line-height:1.3}.field-hint>span:last-child{font-size:10px;color:var(--muted)}
.actionbar{padding-top:16px;display:flex;gap:20px;align-items:center;justify-content:space-between}.actionbar-intro{display:flex;flex-direction:column;flex:none;gap:3px}.actionbar-intro strong{color:var(--ink);font-size:12px;letter-spacing:0;text-transform:none}.actionbar-intro small{color:var(--muted);font-size:10px}.actionbar-controls{display:flex;gap:18px;flex-wrap:wrap}.actiongroup{display:flex;gap:5px;align-items:center}.actiongroup>span{margin-right:6px;color:var(--muted);font-size:9px}.actiongroup button{border:1px solid var(--line);background:transparent;padding:8px 11px;color:var(--ink);font-size:11px;font-weight:700}.actiongroup button.on{background:var(--lime);border-color:var(--ink)}.actiongroup button:hover{border-color:var(--ink)}
.discovery{border-left:1px solid var(--ink);display:flex;flex-direction:column;min-width:0;max-height:calc(100vh - 62px);min-height:660px}.discovery-top{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--ink);gap:9px}.discovery-top #section-counter{font-size:9px;color:var(--muted)}.result{padding:20px;overflow:auto;flex:1;min-height:0;scrollbar-color:#b2b8aa transparent;scrollbar-width:thin}.preview-note{color:var(--muted);font-size:9px;line-height:1.5}.preview-combination{display:flex;gap:7px;align-items:center;margin:26px 0 12px;color:var(--muted);font-size:12px}.preview-combination i{font-style:normal;color:var(--coral)}.result-preview h2,.result-title{font:normal 43px/1.03 Georgia,serif;letter-spacing:-1.3px;margin:0 0 17px}.result-preview p{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 18px}.preview-list{margin:20px 0;border-top:1px solid var(--line)}.preview-list div{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.preview-cta{border:1px solid var(--ink);background:var(--ink);color:#fff;width:100%;padding:12px;display:flex;justify-content:space-between;gap:10px;text-align:left;font-size:12px;font-weight:700}.preview-cta:hover{background:var(--coral);border-color:var(--coral)}.preview-footnote{margin-top:16px;font-size:9px;color:var(--muted);line-height:1.5}
.result-headline{display:flex;align-items:center;justify-content:space-between;gap:8px}.result-overline{font-size:10px;font-weight:700;color:var(--coral);letter-spacing:.6px;margin-bottom:12px}.result-title{font-size:36px;margin-bottom:9px}.result-description{font-size:12px;color:var(--muted);line-height:1.6;margin:0 0 13px}.created-formula{display:flex;gap:5px;align-items:center;flex-wrap:wrap;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:15px 0}.created-formula span{background:#e5e8dc;padding:4px 7px;font-size:10px}.created-formula b{font-size:12px;color:var(--coral)}.result-hint{font-size:10px;color:var(--muted);margin:0 0 17px;line-height:1.5}.matches-head{display:flex;justify-content:space-between;align-items:center;gap:9px;margin:15px 0 0}.matches-head strong{font:normal 19px Georgia,serif}.matches-head small{font-size:10px;color:var(--muted)}.place{padding:15px 0;border-bottom:1px solid var(--line)}.place-top{display:flex;gap:10px}.place-number{flex:none;border:1px solid var(--coral);color:var(--coral);height:27px;width:27px;display:grid;place-items:center;font-size:10px}.place-name{font-size:13px;font-weight:800;margin:1px 0 4px}.place-desc{font-size:11px;color:var(--muted)}.place-meta{font-size:10px;color:var(--muted);display:flex;gap:10px;margin:10px 0;flex-wrap:wrap}.place-action{display:flex;align-items:center;justify-content:space-between;gap:5px}.place-match{color:#3b7460;font-size:9px}.place-action button{border:1px solid var(--ink);padding:6px 8px;background:none;font-size:10px;font-weight:700;white-space:nowrap}.place-action button:hover,.place-action button.added{background:var(--ink);color:#fff}.no-matches{padding:25px 0;color:var(--muted);font-size:12px;line-height:1.6}
.route{padding:15px 20px 20px;border-top:2px solid var(--ink);background:#e9e6dc;flex:none}.route-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.route-title strong{font:normal 19px Georgia,serif}.route-title span{font-size:10px;color:var(--coral)}.route-empty{font-size:10px;line-height:1.5;color:var(--muted);margin:8px 0}.route-item{display:flex;gap:7px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:7px 0;font-size:11px}.route-item button{border:0;background:none;color:var(--coral);font-size:16px;min-width:24px}.route-total{display:flex;justify-content:space-between;font-size:10px;gap:8px;margin:12px 0}.route-warning{font-size:10px;color:#9b3727}.export{width:100%;border:1px solid var(--ink);background:var(--coral);color:#fff;padding:11px;font-size:12px;font-weight:bold}.export:hover:not(:disabled){background:var(--ink)}
.footer{height:40px;border-top:1px solid var(--ink);display:flex;gap:20px;align-items:center;justify-content:space-between;padding:0 32px;color:var(--muted);font-size:9px}.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:var(--ink);color:#fff;padding:11px 16px;max-width:calc(100vw - 32px);z-index:100;font-size:12px;text-align:center;transition:opacity .15s,transform .15s}.toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1560px){.workarea{grid-template-columns:minmax(0,1fr) 390px}.field{height:620px}.node{width:130px;min-height:81px}.node-title{font-size:19px}}
@media(max-width:1180px){.workarea{grid-template-columns:minmax(0,1fr) 305px}.intro{gap:20px}.intro h1{font-size:46px}.scenario{min-width:300px}.field{height:525px}.node{width:102px;min-height:70px;padding:9px 6px 8px 12px}.node-title{font-size:16px}.actionbar{align-items:flex-start}.actionbar-controls{gap:8px}.actiongroup>span{margin-right:0}.discovery-top,.result,.route{padding-left:16px;padding-right:16px}}
@media(max-width:950px){.intro{display:block}.scenario{border-left:0;border-top:1px solid var(--line);padding:11px 0 0;max-width:none;min-width:0;margin-top:20px}.scenario-equation{display:inline-flex;margin-right:18px}.example-button{display:inline-flex;align-items:center}.workarea{grid-template-columns:1fr}.work-main{padding:18px}.discovery{border-left:0;border-top:1px solid var(--ink);max-height:none;min-height:0}.discovery-top{padding:14px 18px}.result{overflow:visible;min-height:0;padding:18px}.result-preview{display:grid;grid-template-columns:minmax(0,1fr) 1fr;gap:0 30px}.result-preview h2{grid-column:1;grid-row:2/4}.result-preview p{grid-column:1}.preview-list{grid-column:2;grid-row:2/5;margin:0}.preview-cta{grid-column:1;max-width:360px}.preview-footnote{grid-column:1/-1}.result-preview .preview-combination{margin-top:5px}.result-preview .preview-note{grid-column:1/-1}.route{padding:15px 18px}}
@media(max-width:650px){.topbar{height:58px;padding:0 16px}.logo{font-size:23px}.topbar-meta{display:none}.reset{font-size:11px}.intro{padding:21px 17px 18px}.intro h1{font-size:38px;letter-spacing:-1.3px}.intro p{font-size:12px}.scenario-label{font-size:9px}.scenario-equation{font-size:14px;gap:5px;margin:0 0 7px;display:flex}.scenario-equation strong{padding:2px 5px}.example-button{font-size:11px}.work-main{padding:16px 12px 18px}.work-header{padding:0 4px;display:block}.work-header h2{font-size:23px}.field{height:565px;min-height:565px}.field:before{display:none}.field-corner{font-size:8px}.top-right{top:28px;right:auto;left:15px}.node{width:88px;min-height:60px;padding:7px 5px 6px 9px}.node-title{font-size:14px}.node:before{width:3px}.created-node{width:143px;min-height:99px;padding:9px}.created-label{font-size:8px}.created-title{font-size:18px}.created-more{font-size:9px}.central-placeholder{font-size:11px}.central-mark{height:34px;width:34px;font-size:18px}.field-hint{left:9px;bottom:9px;padding:8px 9px;max-width:195px}.field-hint strong{font-size:10px}.field-hint>span:last-child{font-size:9px}.bottom-right{display:none}.actionbar{display:block}.actionbar-intro{margin-bottom:11px}.actionbar-controls{display:flex;gap:10px}.actiongroup{flex-wrap:wrap}.actiongroup button{padding:8px 10px}.result-preview{display:block}.preview-list{margin:17px 0}.preview-cta{max-width:none}.result-preview h2{font-size:36px}.footer{padding:0 16px;font-size:8px}.footer span:nth-child(2){display:none}}
@media(max-width:380px){.intro h1{font-size:35px}.node{width:79px;padding-left:8px;min-height:59px}.node-title{font-size:12px}.field{height:525px;min-height:525px}.created-node{width:129px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Сдержанная версия для посетителей: без служебных подписей и нумерации. */
.node{display:flex;align-items:center}.node-title{min-height:0}.work-header{margin-bottom:14px}.discovery-top{padding:17px 20px}.place-top{gap:0}.place-action{justify-content:flex-end}.place-action .place-match{display:none}.actionbar-intro strong{font-size:12px;letter-spacing:0}.preview-list div{padding-left:0}
