/* This stylesheet loads only on roadmap routes. Reserve the viewport scrollbar
   space while the modal locks background scrolling, so the page stays still. */
html{scrollbar-gutter:stable}
.patokaz-page{max-width:1200px;margin:auto;padding:clamp(24px,5vw,64px) 24px;color:var(--wp--preset--color--navy,#082047)}
.patokaz-intro{max-width:760px;margin:24px auto 48px}
.site-main .patokaz-map,.site-main .patokaz-pair,.site-main .patokaz-branches{list-style:none;padding:0;margin:0}
.site-main .patokaz-map{position:relative;isolation:isolate;display:grid;gap:64px;margin:48px 0 24px;padding:24px 0}
.site-main .patokaz-map li{margin:0}
.patokaz-connectors{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none;overflow:visible}
.patokaz-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,280px) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr);column-gap:64px;row-gap:32px;align-items:start}
.patokaz-step{display:contents}
.site-main h2.patokaz-main{grid-column:2;grid-row:1;margin:0;font-size:17px;line-height:1.4;letter-spacing:normal}
.patokaz-step--left h2.patokaz-main{grid-row:2}
.site-main .patokaz-branches{grid-column:3;grid-row:1 / span 2;display:grid;gap:14px}
.patokaz-step--left .patokaz-branches{grid-column:1}
.patokaz-pair--single{grid-template-rows:auto}
.site-main .patokaz-pair--single .patokaz-branches{grid-row:1}
.site-main .patokaz-topic h3{margin:0;font-size:15px;line-height:1.5;letter-spacing:normal}
.site-main :is(.patokaz-node,.patokaz-tip){box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;padding:14px 16px;border:2px solid #3f6297;border-radius:6px;background:#f0f4fa;color:#082047;font-family:inherit;font-size:inherit;font-weight:700;line-height:inherit;text-align:center;text-decoration:none;overflow-wrap:anywhere;box-shadow:none}
.site-main .patokaz-node{cursor:pointer;transition:background .15s,border-color .15s}
.site-main .patokaz-tip{display:block;background:#fff}
.site-main .patokaz-tip h5{margin:0;font-size:15px;font-weight:700;line-height:1.5;letter-spacing:normal;color:#082047}
.patokaz-tip__description{margin-top:8px;font-size:13px;font-weight:400;line-height:1.65}
.patokaz-tip__description>:first-child{margin-top:0}
.patokaz-tip__description>:last-child{margin-bottom:0}
.site-main .patokaz-standalone-tips{display:grid;gap:14px;width:calc((100% - 408px)/2);margin:32px 0 0 auto;padding:0;list-style:none}
.site-main .patokaz-standalone-tips li{margin:0}
.site-main .patokaz-node.patokaz-main__button{background:#fcd000;border-color:#082047;text-align:left;justify-content:flex-start}
.patokaz-number{display:inline-grid;place-items:center;flex:0 0 26px;align-self:center;background:#082047;color:#fff;width:26px;height:26px;border-radius:50%;font-size:12px;font-weight:700;line-height:1}
.patokaz-node-title{min-width:0}
.patokaz-node-status{display:inline-grid;place-items:center;flex:0 0 22px;width:22px;height:22px;margin-left:auto;border-radius:50%;background:#e4ebf8;color:#294e87;font-size:14px;line-height:1}
.patokaz-node-status[hidden]{display:none}
.site-main .patokaz-node[data-progress-status=done]{border-color:#1d7547}
.patokaz-node[data-progress-status=done] .patokaz-node-status{background:#e0f2e6;color:#19603b}
.patokaz-node[data-progress-status=skip] .patokaz-node-status{background:#e7ecf2;color:#536176}
.patokaz-node[data-progress-status=skip] .patokaz-node-title{text-decoration:line-through}
.patokaz-progress{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:24px 0;font-size:13px;font-weight:700}
.patokaz-progress progress{width:180px;height:8px;accent-color:#1d7547;border:0;border-radius:8px;overflow:hidden;background:#e2e9f2}
.patokaz-progress progress::-webkit-progress-bar{background:#e2e9f2;border-radius:8px}
.patokaz-progress progress::-webkit-progress-value{background:#1d7547;border-radius:8px}
.site-main .patokaz-node:hover,.site-main .patokaz-node[aria-expanded=true]{background:#e1e9f5;border-color:#082047;color:#082047}
.site-main .patokaz-node.patokaz-main__button:hover,.site-main .patokaz-node.patokaz-main__button[aria-expanded=true]{background:#ffe263}
.site-main .patokaz-node:focus-visible,.patokaz-detail__close:focus-visible{outline:3px solid #3f6297;outline-offset:4px}
.patokaz-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin:32px 0}
.patokaz-card{border:2px solid #082047;border-radius:6px;padding:24px;background:#f0f4fa}
.patokaz-card h2{font-size:24px;line-height:1.3}
.patokaz-card a{color:#082047}
body.patokaz-detail-open{overflow:hidden}
dialog.patokaz-detail{box-sizing:border-box;position:fixed;inset:0 0 0 auto;margin:0;width:min(600px,100%);max-width:100%;height:100dvh;max-height:100dvh;padding:0;border:0;background:#fff;color:#082047;box-shadow:-12px 0 40px rgba(8,32,71,.15);overflow:hidden}
dialog.patokaz-detail[open]{display:flex;flex-direction:column}
.patokaz-detail__body{flex:1;min-height:0;padding:16px 24px 40px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.patokaz-detail::backdrop{background:rgba(8,32,71,.65);transition:background-color .22s ease}
.patokaz-detail.is-closing{pointer-events:none}
.patokaz-detail.is-closing::backdrop{background:rgba(8,32,71,0)}
@media(prefers-reduced-motion:reduce){.patokaz-detail::backdrop{transition:none}}
.patokaz-detail__header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0;margin:0;padding:22px 24px 16px;background:#fff}
.patokaz-detail__header p{margin:0;padding:6px 10px;border-radius:6px;background:#082047;color:#fff;font-size:12px;font-weight:700;line-height:1.5;white-space:nowrap}
.patokaz-status-controls{display:flex;margin-left:auto;border:1px solid #ccd7e5;border-radius:6px;overflow:hidden}
.patokaz-status-controls button{display:flex;align-items:center;justify-content:center;gap:5px;padding:5px 9px;border:0;border-right:1px solid #ccd7e5;background:#fff;color:#475d7b;font:inherit;font-size:12px;font-weight:500;line-height:1.5;white-space:nowrap;cursor:pointer}
.patokaz-status-controls button:last-child{border-right:0}
.patokaz-status-controls button:hover{background:#f0f4fa}
.patokaz-status-controls button[aria-pressed=true]{background:#e9effa;color:#082047;box-shadow:inset 0 -3px #3f6297}
.patokaz-status-controls button[data-patokaz-status=done][aria-pressed=true]{background:#e0f2e6;color:#19603b;box-shadow:inset 0 -3px #1d7547}
.patokaz-status-controls button[data-patokaz-status=skip][aria-pressed=true]{background:#e7ecf2;color:#536176;box-shadow:inset 0 -3px #536176}
.patokaz-status-controls button:focus-visible{outline:2px solid #3f6297;outline-offset:-3px}
.patokaz-status-notice{margin:0 0 16px;font-size:12px;color:#536176;line-height:1.6}
.patokaz-detail .patokaz-detail__close{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;padding:0;border:0;border-radius:6px;background:#edf0f5;color:#082047;font-size:24px;line-height:1;cursor:pointer}
.patokaz-detail #patokaz-detail-title{margin:0 0 12px;font-size:clamp(26px,4vw,34px);font-weight:800;line-height:1.18;letter-spacing:-.025em;overflow-wrap:anywhere}
#patokaz-detail-content{font-size:15px;line-height:1.85;overflow-wrap:anywhere}
#patokaz-detail-content a{color:#102e5c;text-decoration:underline}
#patokaz-detail-content img,#patokaz-detail-content iframe{max-width:100%}
.patokaz-detail__description:empty{display:none}
.patokaz-detail__description h4{margin:24px 0 10px;font-size:18px;font-weight:700;line-height:1.45;letter-spacing:normal;color:#082047}
.patokaz-detail__description>:first-child{margin-top:0}
.patokaz-detail__description>:last-child{margin-bottom:24px}
.patokaz-section{margin-top:12px;padding:12px;border:1px solid #d7deea;border-radius:8px;background:#fff}
.patokaz-section--custom{border-left:3px solid #3f6297;background:#f8fafc}
.patokaz-section--custom h4{margin:0 0 12px;font-size:16px;font-weight:700;line-height:1.45;letter-spacing:normal;color:#082047}
.patokaz-section__content{font-size:14px;line-height:1.7}
.patokaz-section__content>:first-child{margin-top:0}
.patokaz-section__content>:last-child{margin-bottom:0}
.patokaz-detail .patokaz-section__content+.patokaz-resource-list,.patokaz-detail .patokaz-resource-list+.patokaz-section__content{margin-top:10px}
.patokaz-resources h4{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:14px;font-weight:500;line-height:1.5;color:#008d46;letter-spacing:normal}
.patokaz-resources h4>i{flex:0 0 15px;font-size:14px;line-height:1;text-align:center;color:#00ba55}
.patokaz-resources--premium h4{color:#8700ef}
.patokaz-resources--premium h4>i{color:#a632ff}
.patokaz-detail .patokaz-resource-list{display:grid;gap:4px;list-style:none;margin:0;padding:0}
.patokaz-detail .patokaz-resource-list li{display:flex;align-items:baseline;gap:8px;margin:0;font-size:14px;line-height:1.5;min-width:0}
.patokaz-resource-list li>a{min-width:0;font-weight:500}
.patokaz-resource-type{flex:0 0 auto;align-self:flex-start;display:inline-block;padding:1px 6px;border-radius:4px;background:#fcd000;color:#082047;font-size:12px;font-weight:500;line-height:1.5;white-space:nowrap}
.patokaz-resource-type--video{background:#e4c5ff;color:#082047}
.patokaz-resource-type--book{background:#e5e7eb;color:#082047}
.patokaz-resource-type--course{background:#b8edcf;color:#082047}
.patokaz-resource-type--official{background:#cfe2ff;color:#082047}
.patokaz-resources__empty{margin:0;font-size:13px;line-height:1.6;color:#536176}
@media(max-width:560px){.patokaz-detail__header{padding:16px 20px 12px}.patokaz-detail__body{padding-inline:20px}.patokaz-detail__header p{order:1}.patokaz-detail__close{order:2;margin-left:auto}.patokaz-status-controls{order:3;flex:1 0 100%}.patokaz-status-controls button{flex:1;padding-inline:8px}}
@media(max-width:760px){.site-main .patokaz-map{gap:0;margin-top:32px}.patokaz-pair{display:block}.patokaz-step{display:block;padding:0 0 32px 40px}.site-main .patokaz-branches{margin:20px 0 0 20px}.site-main :is(.patokaz-node,.patokaz-tip){text-align:left;justify-content:flex-start}.site-main .patokaz-standalone-tips{width:auto;margin-left:60px}.patokaz-page{padding-inline:16px}}
