.bridge-page{--bridge-purple:#70517e;--bridge-soft:#ece4ee;--bridge-light:#e0ecd6}.bridge-hero{display:grid;grid-template-columns:1.06fr 1fr;gap:36px;align-items:center;padding-block:48px 64px}.bridge-hero .back-link{display:block;margin-bottom:32px;font-size:12px}.bridge-hero h1{font-size:clamp(52px,5.6vw,84px);margin:20px 0 24px;line-height:.99}.bridge-hero h1 em{color:#70517e}.bridge-hero p{max-width:510px;font-size:18px;color:var(--muted)}.bridge-hero-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin:28px 0}.bridge-text-btn{border:0;background:none;text-decoration:underline;text-underline-offset:5px;padding:12px 0;font-size:13px}.bridge-trust{display:flex;flex-wrap:wrap;gap:18px;font-size:11px;color:var(--muted)}.bridge-trust span:before{content:'·';color:#70517e;margin-right:6px}.bridge-art{position:relative;aspect-ratio:540/390;isolation:isolate;background:radial-gradient(ellipse at center,#dce5d3 0,transparent 65%);min-width:0}.bridge-art svg{position:absolute;width:100%;height:100%;inset:0;overflow:visible;fill:none;stroke:#839a82;stroke-width:1}.bridge-art svg path{stroke-dasharray:700;animation:bridge-draw 2s ease both}.bridge-art svg circle{stroke:#c1ccb8}.bridge-art-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:145px;height:145px;border-radius:50%;background:var(--green);color:var(--paper);display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:25px;line-height:1.1;box-shadow:0 20px 50px #173b3122}.bridge-art-center em{font-size:29px}.bridge-art-tag{position:absolute;font-size:13px;font-weight:600;padding:15px 21px;background:#fffdf6;border:1px solid #d5d8cd;border-radius:12px;box-shadow:0 12px 25px #173b310a;animation:bridge-rise .8s both}.bridge-art .tag-a{left:0;top:13%;transform:rotate(-7deg);animation-delay:.15s}.bridge-art .tag-b{right:0;top:13%;transform:rotate(5deg);animation-delay:.3s;background:#ece4ee}.bridge-art .tag-c{left:0;bottom:10%;transform:rotate(5deg);animation-delay:.45s;background:#e0ecd6}.bridge-art .tag-d{right:0;bottom:10%;transform:rotate(-5deg);animation-delay:.6s}.bridge-spark{width:9px;height:9px;border-radius:50%;position:absolute;background:#805c8c}.bridge-spark.s1{left:36%;top:16%}.bridge-spark.s2{right:29%;bottom:13%;background:#173b31}.bridge-ribbon{background:var(--green);color:var(--paper)}.bridge-ribbon>div{display:flex;justify-content:space-between;gap:20px;padding-block:19px;font-size:13px}.bridge-ribbon b{color:#bed0a6;font-size:11px;margin-right:14px}.bridge-workshop{padding-block:76px 35px}.bridge-section-head{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:30px}.bridge-section-head h2,.bridge-method h2{font-size:clamp(34px,3.3vw,48px);margin-top:12px}.bridge-section-head>p{max-width:400px;color:var(--muted);font-size:14px}.bridge-controls{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:center;padding:25px 28px;border:1px solid var(--line);border-radius:18px;background:#eeefe7}.bridge-controls label>span{display:block;font-size:13px;font-weight:600;margin-bottom:10px}.bridge-controls select{width:100%;max-width:100%;border:1px solid #bfc8b9;border-radius:9px;background:var(--paper);padding:14px;font-size:14px}.bridge-controls small{display:block;color:var(--muted);font-size:11px;margin-top:8px}.bridge-tip{display:flex;gap:18px;align-items:center;font-size:14px;color:var(--muted)}.bridge-tip>span{font-size:36px;color:#70517e}.bridge-origin-help{font-size:13px;margin:24px 0;color:var(--muted)}.bridge-skills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.bridge-skills fieldset{min-width:0;border:0;padding:0;margin:0}.bridge-skills legend{font-weight:600;font-size:13px;margin-bottom:18px;padding:0}.bridge-skills legend>span{color:#70517e;font-size:10px;margin-right:5px}.bridge-skills fieldset>div{display:grid;gap:9px}.bridge-skill{display:flex;position:relative;align-items:center;gap:7px;min-height:77px;padding:14px 13px;border:1px solid var(--line);border-radius:11px;font-size:12px;line-height:1.5;background:#fbfaf5;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.bridge-skill input{width:15px;height:15px;accent-color:var(--green);flex:none}.bridge-skill span{flex:1}.bridge-skill i{font-style:normal;font-size:16px;color:#889580}.bridge-skill.suggested{border-left:3px solid #b3c49e}.bridge-skill:has(:checked){background:#e0ead8;border-color:#63816a}.bridge-skill:has(:checked) i{color:#173b31}.bridge-skill:hover{transform:translateY(-2px);border-color:#8ca487}.bridge-skill:has(:focus-visible){outline:3px solid #70517e;outline-offset:3px}.bridge-launch{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px;padding:22px 0;border-block:1px solid var(--line)}.bridge-launch strong{font-size:15px}.bridge-launch p{font-size:12px;color:var(--muted);margin-top:4px}.bridge-launch>div:last-child{display:flex;align-items:center;gap:24px}.bridge-page .button:disabled{opacity:.4}.bridge-results{padding-block:38px 45px;scroll-margin-top:120px}.bridge-result-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.bridge-result-tools button,.bridge-export button{border:1px solid #c6cdbc;border-radius:30px;padding:10px 15px;background:transparent;font-size:12px}.bridge-result-tools button[aria-pressed=true]{background:#e0e8d7}.bridge-demo-badge{font-size:10px;letter-spacing:.08em;padding:12px;border-radius:20px;background:#ece4ee}.bridge-result-note{font-size:13px;color:var(--muted);margin-bottom:22px;max-width:860px}.bridge-results-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(310px,1fr);gap:20px;align-items:start}.bridge-map-panel{border:1px solid #cbd5c2;border-radius:20px;background:#eaf0e1;overflow:hidden}.bridge-map-top{display:flex;justify-content:space-between;gap:10px;padding:22px 23px 0;font-size:10px;letter-spacing:.08em;color:#53614e}.bridge-map{position:relative;aspect-ratio:760/560;min-height:430px;background-image:radial-gradient(#a9b89c60 .8px,transparent .8px);background-size:16px 16px}.bridge-map>svg{position:absolute;width:100%;height:100%;inset:0;overflow:visible}.bridge-map path{fill:none;stroke:#94a88a;stroke-width:1.4;stroke-dasharray:700;animation:bridge-draw 1.2s both}.bridge-map path.is-active{stroke:#805c8c;stroke-width:2.6}.bridge-center{position:absolute;left:50%;top:50%;width:158px;height:158px;border-radius:50%;transform:translate(-50%,-50%);background:#173b31;color:var(--paper);box-shadow:0 0 0 11px #173b3108,0 0 0 26px #173b3105;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:17px;text-align:center;gap:9px}.bridge-center>span{font-size:7px;letter-spacing:.12em;color:#c9d5bc}.bridge-center strong{font-size:14px;line-height:1.25}.bridge-center small{font-size:9px;color:#c9d5bc}.bridge-node{position:absolute;width:25%;max-width:190px;min-height:108px;border:1px solid #bbc9b1;border-radius:13px;background:#fffef8;text-align:left;padding:14px;transform:translate(-50%,-50%);box-shadow:0 9px 20px #173b310a;animation:bridge-node .65s both;animation-delay:var(--delay);transition:background .2s,border-color .2s,box-shadow .2s}.bridge-node small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#66745f;margin-bottom:6px}.bridge-node strong{display:block;font-size:12px;line-height:1.3}.bridge-node span{display:block;font-size:9px;margin-top:9px;color:#526748}.bridge-node[aria-pressed=true]{border-color:#805c8c;background:#eee7f0;box-shadow:0 0 0 2px #805c8c1a,0 12px 24px #805c8c15}.bridge-node[aria-pressed=true] small,.bridge-node[aria-pressed=true] span{color:#674c71}.bridge-node:hover{box-shadow:0 10px 22px #173b3122}.bridge-map-footer{padding:10px 20px 17px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:#53614e}.bridge-map-footer>div{display:flex;gap:6px}.bridge-map-footer button{border:1px solid #b9c7af;background:transparent;border-radius:50%;width:32px;height:32px}.bridge-map-footer button:disabled{opacity:.3}.bridge-detail{border:1px solid #d4c6da;border-radius:20px;background:#fffcf7;padding:26px;min-width:0;scroll-margin-top:115px;animation:bridge-rise .45s both}.bridge-detail .eyebrow{color:#70517e;font-size:9px}.bridge-detail h3{font-family:var(--serif);font-weight:400;font-size:32px;margin:12px 0 14px;line-height:1.05;letter-spacing:-.025em}.bridge-detail h4{font-size:12px;margin:19px 0 9px}.bridge-shared{display:flex;flex-wrap:wrap;gap:5px}.bridge-shared span{padding:5px 9px;border-radius:6px;background:#e2ecdb;font-size:10px;color:#284431}.bridge-detail ul{padding-left:17px;margin:8px 0;font-size:12px;line-height:1.65}.bridge-detail li+li{margin-top:5px}.bridge-detail details{border-block:1px solid var(--line);padding:12px 0;margin-top:18px;font-size:11px}.bridge-detail details ul{font-size:11px}.bridge-detail summary{cursor:pointer;font-weight:600}.bridge-detail p{font-size:11px;color:var(--muted);margin-top:10px}.bridge-next{margin-top:20px;padding-top:3px;border-top:1px solid var(--line)}.bridge-next a{display:flex;justify-content:space-between;align-items:center;gap:9px;border:1px solid var(--line);border-radius:9px;margin-top:8px;padding:12px;font-size:12px;background:#f4f4eb}.bridge-next a:first-of-type{background:var(--green);color:var(--paper);border-color:var(--green)}.bridge-next a span{flex:1}.bridge-next a b{font-size:16px;font-weight:400}.bridge-detail .bridge-source{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;text-decoration:underline;margin-top:20px;text-underline-offset:3px}.bridge-export{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.bridge-export strong{font-size:14px}.bridge-export p{font-size:12px;color:var(--muted);max-width:470px;margin-top:5px}.bridge-export>div:last-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bridge-empty{border:1px solid var(--line);border-radius:18px;background:#ecefe5;padding:38px;text-align:center}.bridge-empty>span{font-size:48px;color:#70517e}.bridge-empty h3{font-size:23px;margin-bottom:15px}.bridge-empty p{max-width:620px;margin:0 auto 24px;font-size:14px}.bridge-status{font-size:12px;color:var(--muted);min-height:25px}.bridge-method{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;padding-block:65px 95px;border-top:1px solid var(--line)}.bridge-method>div>p{font-size:15px;color:var(--muted);max-width:390px;margin-top:25px}.bridge-method details{border-bottom:1px solid var(--line);padding:19px 0;font-size:13px}.bridge-method summary{font-weight:600;cursor:pointer}.bridge-method details p{margin-top:12px;color:var(--muted)}.bridge-method a{text-decoration:underline;text-underline-offset:3px}.bridge-method li{margin:8px 0}.bridge-home{display:grid;grid-template-columns:1.1fr 1fr;gap:35px;align-items:center;padding:65px 55px;margin-block:55px;border:1px solid #cec7d0;border-radius:24px;background:#efebef}.bridge-home h2{font-size:clamp(35px,3.7vw,53px);margin:16px 0 22px}.bridge-home p{font-size:15px;max-width:440px;color:var(--muted);margin-bottom:25px}.bridge-home small{display:block;font-size:11px;margin-top:15px;color:var(--muted)}.bridge-map.is-list{aspect-ratio:auto;min-height:0;padding:22px}.bridge-map.is-list>svg,.bridge-map.is-list .bridge-center{display:none}.bridge-map.is-list [data-bridge-nodes]{display:grid;gap:10px;grid-template-columns:1fr 1fr}.bridge-map.is-list .bridge-node{position:static!important;transform:none!important;max-width:none;width:100%;animation:bridge-rise .3s both;min-height:110px}.bridge-map.is-compact{aspect-ratio:400/700;min-height:0}.bridge-map.is-compact .bridge-center{top:10.7%;width:116px;height:116px;padding:13px;gap:5px}.bridge-map.is-compact .bridge-center>span{font-size:6px}.bridge-map.is-compact .bridge-center strong{font-size:11px}.bridge-map.is-compact .bridge-node{width:39%;max-width:190px;padding:12px;min-height:116px}.bridge-map.is-compact .bridge-node strong{font-size:12px}.bridge-map.is-list.is-compact{aspect-ratio:auto}.bridge-motion-off *, .bridge-motion-off *:before,.bridge-motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@keyframes bridge-draw{from{stroke-dashoffset:700;opacity:0}to{stroke-dashoffset:0;opacity:1}}@keyframes bridge-rise{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}@keyframes bridge-node{from{opacity:0;translate:0 14px;scale:.94}to{opacity:1;translate:0 0;scale:1}}
@media(min-width:1500px){.bridge-results-layout{grid-template-columns:minmax(0,1.8fr) minmax(310px,1fr)}}
@media(max-width:1100px){.bridge-skills{grid-template-columns:1fr 1fr;gap:25px}.bridge-hero h1{font-size:65px}.bridge-results-layout{grid-template-columns:minmax(0,1.2fr) minmax(290px,1fr)}.bridge-detail{padding:21px}.bridge-home{padding:40px 30px}.bridge-art-tag{font-size:11px;padding:12px}.bridge-art-center{width:125px;height:125px;font-size:21px}.bridge-art-center em{font-size:25px}}
@media(max-width:800px){.bridge-hero{grid-template-columns:1fr;gap:0;padding-block:25px 40px}.bridge-hero h1{font-size:62px}.bridge-hero .bridge-art{max-width:540px;width:100%;justify-self:center;margin-top:25px}.bridge-section-head{align-items:start;flex-direction:column;gap:20px}.bridge-section-head>p{max-width:none}.bridge-controls{grid-template-columns:1fr;gap:14px;padding:22px}.bridge-tip{font-size:12px}.bridge-tip>span{font-size:26px}.bridge-results-layout{grid-template-columns:1fr}.bridge-detail h3{font-size:35px}.bridge-detail{padding:25px}.bridge-detail p,.bridge-detail ul{font-size:13px}.bridge-detail h4{font-size:14px}.bridge-result-tools{justify-content:flex-start}.bridge-map{min-height:0}.bridge-export{flex-direction:column}.bridge-method{grid-template-columns:1fr;gap:24px;padding-block:40px 60px}.bridge-home{grid-template-columns:1fr;gap:10px}.bridge-home .bridge-art{max-width:500px;width:100%;justify-self:center}.bridge-workshop{padding-top:45px}.bridge-ribbon>div{gap:8px;font-size:10px}.bridge-ribbon b{display:block;margin-bottom:4px}.bridge-launch{align-items:start;flex-direction:column}.bridge-launch>div:last-child{width:100%;justify-content:space-between}}
@media(max-width:450px){.bridge-hero h1{font-size:51px}.bridge-hero p{font-size:16px}.bridge-hero-actions{gap:8px}.bridge-art-center{width:105px;height:105px;font-size:19px}.bridge-art-center em{font-size:21px}.bridge-art-tag{font-size:10px;padding:10px 9px}.bridge-skills{gap:20px 10px}.bridge-skills legend{font-size:11px;min-height:34px}.bridge-skill{font-size:11px;min-height:95px;padding:10px 8px;gap:6px}.bridge-skill i{display:none}.bridge-skill input{width:13px;height:13px}.bridge-launch>div:last-child{gap:12px;flex-wrap:wrap}.bridge-launch .button{padding:15px 18px;font-size:12px}.bridge-home{padding:30px 22px}.bridge-home h2{font-size:33px}.bridge-map.is-compact .bridge-node{min-height:116px;padding:10px}.bridge-map.is-compact .bridge-node strong{font-size:10px}.bridge-map.is-compact .bridge-node span{font-size:8px}.bridge-map-top{padding-inline:15px;font-size:8px}.bridge-controls{padding:17px}.bridge-controls select{font-size:12px}.bridge-map.is-list [data-bridge-nodes]{grid-template-columns:1fr}.bridge-map.is-list .bridge-node strong{font-size:14px}.bridge-map.is-list .bridge-node span{font-size:11px}.bridge-map-footer{padding-inline:12px;font-size:9px}.bridge-detail{padding:20px}.bridge-result-tools button{font-size:11px}.bridge-map.is-compact .bridge-center{width:95px;height:95px;padding:10px}.bridge-map.is-compact .bridge-center strong{font-size:9px}.bridge-map.is-compact .bridge-center small{font-size:8px}}
.bridge-hero>div,.bridge-home>div{min-width:0}
.bridge-map.is-compact .bridge-center>span{display:none}.bridge-map.is-compact .bridge-center small{white-space:nowrap;font-size:7px}.bridge-return{display:none}
@media(max-width:800px){.bridge-return{display:block;border:0;background:none;font-size:12px;text-decoration:underline;text-underline-offset:4px;padding:18px 0 0}}
@media(max-width:450px){.bridge-hero h1{font-size:clamp(42px,11.5vw,51px)}.bridge-hero-actions .button{padding:15px 17px;font-size:12px;gap:14px}}
@media(prefers-reduced-motion:reduce){.bridge-page *, .bridge-home *{animation:none!important;transition:none!important}}
@media print{body:has(.bridge-page) .site-header,body:has(.bridge-page) .footer,body:has(.bridge-page) .search-overlay,.bridge-hero,.bridge-ribbon,.bridge-workshop,.bridge-result-tools,.bridge-map-panel,.bridge-export,.bridge-method,.bridge-status,.bridge-next,.bridge-demo-badge[hidden]{display:none!important}.bridge-results{display:block!important;padding:0}.bridge-results[hidden]{display:none!important}.bridge-results-layout{display:block}.bridge-detail{border:0;padding:0}.bridge-detail details{display:block}.bridge-detail details>*{display:block}.bridge-detail{animation:none!important}.bridge-results h2{font-size:30px}.bridge-results .page-width{width:100%}.bridge-source a:after{content:' (' attr(href) ')';font-size:8px;overflow-wrap:anywhere}.bridge-detail h4{break-after:avoid}.bridge-detail ul{break-inside:avoid}}
