:root{color-scheme:light;--bg:#f7f5ef;--paper:#fffefa;--ink:#183a30;--muted:#5b6960;--gold:#b28c51;--line:#dcded3;--shadow:0 16px 48px #17382a12;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:var(--gold)}button{font:600 14px system-ui;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button:disabled{opacity:.35;cursor:default}.top{position:sticky;top:0;z-index:5;min-height:78px;padding:14px 36px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap;font:700 22px Georgia,serif}.brand img{width:36px;height:36px}.top-nav{display:flex;align-items:center;gap:24px}.top-nav a{font-size:14px;font-weight:600;padding:7px 0;border-bottom:2px solid transparent;white-space:nowrap}.top-nav a[aria-current=page]{color:var(--gold);border-color:var(--gold)}.demo{font-size:12px;border:1px solid var(--line);border-radius:30px;padding:4px 12px;color:var(--muted);white-space:nowrap}.workspace{display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px;max-width:1600px;margin:0 auto;padding:34px 36px 24px;min-height:calc(100dvh - 78px)}aside{display:flex;flex-direction:column;padding:26px 18px;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.library-heading{padding:0 10px 24px}.eyebrow{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}h1,h2{font-family:Georgia,serif;line-height:1.16}h1{font-size:29px;margin:11px 0 12px;letter-spacing:-.035em}p{font-size:14px;line-height:1.65;color:var(--muted);margin:0}#map-list{display:grid;gap:12px}.map-button{display:flex;align-items:flex-start;gap:12px;width:100%;padding:17px 12px;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink)}.map-button:hover{border-color:var(--gold);background:#f7f5ef}.map-button[aria-current=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.map-number{font:700 14px Georgia,serif;color:var(--gold);padding-top:4px}.map-button[aria-current=true] .map-number{color:#dfbc7b}.map-button strong{display:block;font-size:15px;font-weight:600;line-height:1.5}.map-button small{display:block;font-size:12px;margin-top:6px;color:var(--muted);font-weight:400}.map-button[aria-current=true] small{color:#d3ddd3}.sidebar-note{display:flex;gap:10px;margin-top:auto;padding:28px 10px 20px}.sidebar-note p{font-size:12px}.note-icon{display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;width:18px;height:18px;flex-shrink:0;font:12px Georgia,serif;color:var(--gold);margin-top:3px}.sidebar-footer{display:flex;justify-content:space-between;padding:16px 10px 0;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.sidebar-footer span:last-child{letter-spacing:.1em;color:var(--gold)}main{min-width:0;padding:0}.map-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px 0 28px}.map-kicker{display:flex;align-items:center;gap:12px;color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.14em}.file-tag{font-size:11px;font-weight:500;letter-spacing:.08em;color:var(--muted);border:1px solid var(--line);border-radius:30px;padding:2px 10px}h2{font-size:clamp(30px,3vw,43px);letter-spacing:-.035em;margin:11px 0 12px}.map-heading p{font-size:16px}.download{display:flex;align-items:center;gap:8px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--paper);padding:11px 18px;font-size:14px;font-weight:600;white-space:nowrap}.download:hover{background:var(--gold);border-color:var(--gold);color:#15231e}.viewer{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--paper);box-shadow:var(--shadow)}.toolbar{min-height:59px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;background:var(--paper);border-bottom:1px solid var(--line);font-size:14px}.page-controls,.zoom-controls{display:flex;align-items:center;gap:9px}.toolbar button{display:grid;place-items:center;min-width:32px;height:32px;background:transparent;color:var(--ink);border:1px solid transparent;border-radius:999px;font-size:20px}.toolbar button:hover:not(:disabled){background:var(--ink);color:var(--paper)}.toolbar .fit{font-size:13px;padding:0 13px;border-color:var(--line)}.divider{width:1px;height:19px;background:var(--line);margin:0 4px}#zoom-label{min-width:44px;text-align:center;font-size:13px;color:var(--muted)}.canvas-area{height:calc(100dvh - 345px);min-height:360px;overflow:auto;padding:26px;background:#eeece3;position:relative}canvas{display:block;margin:0 auto;background:white;box-shadow:0 8px 30px #17382a18;max-width:none}canvas[hidden]{display:none}#status{padding:80px 12px;text-align:center;font-size:16px;color:var(--muted)}#status[hidden]{display:none}.viewer-footer{display:flex;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);background:var(--paper)}.main-footer{display:flex;justify-content:space-between;gap:16px;padding-top:22px;color:var(--muted);font-size:12px}.main-footer span:first-child{font-size:11px;letter-spacing:.14em;color:var(--gold);font-weight:700}@media(max-width:1100px){.workspace{grid-template-columns:235px minmax(0,1fr);gap:22px;padding:28px 24px}.top{padding:14px 24px}.top-nav{gap:18px}.demo{display:none}aside{padding:22px 12px}.download{padding:10px 14px}.map-heading{align-items:flex-start}h2{font-size:34px}}@media(max-width:950px){.workspace{grid-template-columns:215px minmax(0,1fr);gap:18px;padding:24px 20px}.canvas-area{padding:16px}.map-heading p{font-size:14px}.download span{display:none}.download{width:40px;height:40px;justify-content:center;padding:0}.viewer-footer span:last-child{display:none}.toolbar{padding:9px 10px}.page-controls,.zoom-controls{gap:3px}.toolbar .fit{padding:0 9px}}@media(max-width:650px){.top{flex-direction:column;align-items:flex-start;gap:12px;padding:15px 20px 12px}.brand{font-size:21px}.top-nav{width:100%;gap:22px;overflow-x:auto;padding-bottom:2px}.top-nav a{font-size:14px}.workspace{display:block;padding:20px 16px;min-height:0}aside{padding:18px 14px;border-radius:18px;margin-bottom:24px}.library-heading{padding:0 4px 14px}.library-heading h1{font-size:24px;margin:7px 0}.library-heading p,.sidebar-note,.sidebar-footer{display:none}#map-list{display:flex;overflow-x:auto;gap:8px;padding:3px}.map-button{min-width:185px;padding:12px}.map-number{display:none}.map-button small{margin-top:4px}.map-heading{padding:0 2px 22px}h2{font-size:32px}.map-kicker{font-size:11px}.canvas-area{height:56dvh;min-height:310px;padding:16px}.toolbar{font-size:12px;gap:4px}.toolbar button{min-width:27px}.toolbar .fit{font-size:12px;padding:0 7px}#zoom-label{min-width:36px}.main-footer{justify-content:center;text-align:center}.main-footer span:first-child{display:none}}@media(prefers-reduced-motion:no-preference){a,button{transition:background-color .15s,color .15s,border-color .15s}}@media print{.top,aside,.toolbar,.download,.main-footer{display:none}.workspace{display:block;padding:0}.viewer{box-shadow:none}.canvas-area{height:auto;overflow:visible;background:white}canvas{max-width:100%;height:auto!important}}

/* Navigation uses the supplied template's centered header and plain links. */
.top{display:block;min-height:70px;padding:0;background:var(--paper)}.header-wrap{max-width:1100px;margin:0 auto;padding:0 24px;min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:block;font:700 19px Georgia,serif;white-space:nowrap}.top-nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0;width:auto;overflow:visible;padding:0}.top-nav a{font:600 14px system-ui;line-height:1.65;padding:5px 0;text-decoration:none;border-bottom:1px solid transparent}.top-nav a:hover{color:var(--gold);background:transparent}.top-nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--gold);background:transparent}.top-nav a[aria-current=page]:hover{color:var(--gold)}
@media(max-width:760px){.header-wrap{align-items:flex-start;flex-direction:column;gap:8px;padding-top:14px;padding-bottom:14px}.top-nav{gap:10px 16px;width:100%;flex-wrap:wrap}.top-nav a{font-size:14px;padding:3px 0}}
