.routes-page{max-width:1240px}.routes-hero{margin:0 0 35px;border:1px solid var(--rule)}.routes-hero img{display:block;width:100%;height:auto}.routes-hero figcaption{padding:12px 16px;font:12px/1.8 Arial,sans-serif;color:var(--muted);background:var(--panel)}.routes-index{display:flex;gap:12px 24px;flex-wrap:wrap;padding:15px 0 25px;border-bottom:1px solid var(--rule);font:14px/1.8 Arial,sans-serif}.scumm-section{margin:35px 0;padding-top:25px;border-top:1px solid var(--rule)}.scumm-section h2{font-size:clamp(27px,3vw,36px)}.scumm-section p{max-width:83ch;line-height:1.9}.scumm-number{font:12px/1.8 Arial,sans-serif;letter-spacing:3px;color:var(--accent)}.scumm-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:25px;background:var(--panel);border:1px solid var(--rule);margin:32px 0}.scumm-flow p{margin:0;font:16px/1.8 Arial,sans-serif}.scumm-flow strong{font:28px Georgia,serif;color:var(--accent);display:block}.scumm-lab{margin:40px 0;background:var(--panel);padding:30px;border:1px solid var(--accent)}.scumm-stage{display:flex;align-items:center;justify-content:center;gap:35px;padding:30px;min-height:230px;background:#172d34;border:1px solid #79938e;color:#f5ecd6}.scumm-door{width:120px;height:160px;background:#79512f;border:6px solid #bc905b;position:relative;transition:background .2s}.scumm-door:after{content:'';position:absolute;width:10px;height:10px;right:12px;top:80px;background:#e4bc74;border-radius:50%}.scumm-stage[data-open=true] .scumm-door{background:#07191e;border-right-width:24px}.scumm-key{font:60px Georgia,serif;color:#e4bc74}.scumm-inventory{font:13px/1.8 Arial,sans-serif;border-block:1px solid var(--rule);padding:15px 0}.routes-actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.routes-actions button,.scumm-lab button{font:14px/1.7 Arial,sans-serif;border:1px solid var(--accent);background:var(--paper);color:var(--ink);padding:11px 17px;cursor:pointer}.routes-actions button:hover,.scumm-lab button:hover{background:var(--panel)}.routes-actions button:focus-visible,.scumm-lab button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.scumm-output{min-height:4em;line-height:1.8}.passport-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px;align-items:start;margin:35px 0}.passport-form{min-width:0}.passport-form fieldset{margin:0 0 25px;padding:22px;border:1px solid var(--rule)}.passport-form legend{font-size:23px;padding:0 8px}.passport-form label{display:block;font:14px/1.8 Arial,sans-serif;margin:14px 0 6px}.passport-form input,.passport-form select,.passport-form textarea{display:block;width:100%;max-width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--rule);font:16px/1.6 Arial,sans-serif;padding:11px 12px;border-radius:0}.passport-form select{min-height:46px}.passport-form textarea{resize:vertical;min-height:100px}.passport-form input:focus-visible,.passport-form select:focus-visible,.passport-form textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.passport-hint,.passport-privacy{font:13px/1.8 Arial,sans-serif;color:var(--muted)}.passport-preview-shell{min-width:0}.passport-card{background:#f4e6c5;color:#183a3c;border:1px solid #a78146;box-shadow:0 9px 25px #0002;padding:25px;position:relative;overflow-wrap:anywhere}.passport-card:before{content:'';position:absolute;inset:8px;border:1px solid #a7814677;pointer-events:none}.passport-card .passport-brand{font:11px/1.7 Arial,sans-serif;letter-spacing:2px;color:#79501e;margin:0 0 18px}.passport-card h3{font-size:clamp(25px,3vw,35px);line-height:1.2;margin:10px 0 25px}.passport-card dl{display:grid;grid-template-columns:1fr;gap:0;margin:0}.passport-card dt{font:11px/1.8 Arial,sans-serif;text-transform:uppercase;letter-spacing:1px;margin:12px 0 3px;color:#765328}.passport-card dd{margin:0;font-size:21px;line-height:1.4}.passport-card .passport-counts{font:13px/1.8 Arial,sans-serif;padding-top:18px;border-top:1px solid #a7814677;margin-top:22px}.passport-stamps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:23px 0}.passport-stamp{border:1px dashed #967a52;padding:12px;min-width:0;opacity:.58}.passport-stamp[data-state="1"],.passport-stamp[data-state="2"]{opacity:1}.passport-stamp[data-state="2"]{border:2px solid #427267}.passport-stamp b{font:12px/1.6 Arial,sans-serif;display:block}.passport-stamp span{font:11px/1.8 Arial,sans-serif;display:block;color:#765328}.passport-seal{display:inline-block;border:2px solid #427267;border-radius:50%;padding:15px 22px;font:11px/1.8 Arial,sans-serif;letter-spacing:1px;transform:rotate(-6deg);margin:10px 0;color:#315e56}.passport-message{min-height:2em;font:13px/1.8 Arial,sans-serif;color:var(--muted)}.routes-sources{font:13px/1.9 Arial,sans-serif;padding-left:20px}.routes-sources li{margin:12px 0;overflow-wrap:anywhere}.routes-related{display:flex;gap:15px 25px;flex-wrap:wrap;font:14px/1.8 Arial,sans-serif;padding:25px 0;border-top:1px solid var(--rule)}.routes-feature{display:grid;grid-template-columns:1fr 1.3fr;gap:30px;align-items:center;border:1px solid var(--rule);background:var(--panel);padding:26px;margin:35px 0}.routes-feature>a{display:block}.routes-feature img{width:100%;height:auto;display:block}.routes-feature h2{font-size:clamp(27px,3vw,36px);line-height:1.2;margin:12px 0 18px}.routes-feature p{margin:0 0 18px}.routes-feature a{font-size:14px;text-underline-offset:5px}.routes-feature .eyebrow{display:block;font-size:11px}@media(max-width:760px){.passport-workspace,.routes-feature{grid-template-columns:1fr;gap:25px}.passport-preview-shell{position:static}.scumm-flow{grid-template-columns:1fr;gap:18px}.scumm-flow p{display:flex;align-items:baseline;gap:15px}.scumm-lab{padding:22px}.passport-card{padding:24px}.routes-feature{padding:22px}.routes-actions button{flex:1 1 160px}}@media(max-width:360px){.passport-stamps{grid-template-columns:1fr}.scumm-stage{padding:20px;gap:20px}}@media print{header,footer,.page-intro,.routes-hero,.passport-form,.routes-actions,.passport-message,.passport-privacy,.language-controls,.time-controls,.mis-discrete-ad{display:none!important}.passport-workspace{display:block}.passport-card{box-shadow:none}.passport-preview-shell{max-width:600px;margin:auto}}

.pirate-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.pirate-fields>div{min-width:0}.pirate-fields input[type=color]{height:46px;padding:5px;cursor:pointer}.pirate-random{border:1px solid var(--accent);background:var(--paper);color:var(--ink);font:14px/1.7 Arial,sans-serif;padding:11px 16px;margin-top:22px;cursor:pointer}.passport-logo{display:block;width:240px!important;max-width:100%;height:auto!important;max-height:none!important;margin:0 0 12px!important}.passport-identity{display:grid;grid-template-columns:minmax(0,1fr) 124px;gap:18px;align-items:start}.passport-identity h3{font-size:27px;margin:10px 0 20px}.pirate-portrait{display:block;width:124px;height:155px;border:1px solid #98713c;margin-top:10px}.passport-identity dd{font-size:18px}.passport-card .passport-brand{margin-bottom:12px}.passport-actions button:disabled{opacity:.6;cursor:wait}@media(max-width:440px){.passport-identity{grid-template-columns:minmax(0,1fr) 96px;gap:12px}.pirate-portrait{width:96px;height:120px}.passport-identity h3{font-size:23px}.passport-identity dd{font-size:16px}.pirate-fields{grid-template-columns:1fr}}

/* Nautical document illustration and Wally validation. */
.passport-map{display:block;width:100%;height:auto;margin:18px 0 22px;border:0}.passport-validation{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}.passport-validation .passport-seal{border:0;border-radius:0;padding:0;transform:none;flex:0 1 auto;font-size:10px;letter-spacing:.5px}.passport-signature{display:block;width:220px;max-width:100%;height:auto;flex:0 1 220px}@media(max-width:440px){.passport-signature{width:190px;flex-basis:190px}.passport-validation{gap:0}}
