:root{--rail:370px;--top:76px;--cream:#f5f0e8;--wine:#643747;--ink:#272322;--soft:#796f65}
button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #965e75;outline-offset:3px}
.edition,.eyebrow{display:block;font:11px/1.5 system-ui,sans-serif;letter-spacing:.2em;color:#796654;margin-bottom:6px}
#home{padding:0;background:#f7f2e9}.welcome-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:20px clamp(24px,6vw,90px);background:rgba(250,247,241,.94);border-bottom:1px solid #ded1c1;backdrop-filter:blur(14px)}.welcome-nav strong{font-weight:400;font-size:22px}.welcome-nav .edition{margin:0;font-size:9px}.welcome-nav a{font:13px system-ui;color:#593846;text-decoration:none;border-bottom:1px solid #a98895;padding:4px 0}.welcome-hero{min-height:660px;display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.9fr);gap:clamp(40px,7vw,110px);align-items:center;padding:80px clamp(24px,7vw,110px);background:radial-gradient(circle at 78% 40%,#eadde0 0,transparent 34%),linear-gradient(135deg,#f8f3ea 0%,#eee3d6 100%)}.welcome-copy{max-width:690px}.welcome-copy h1{font-size:clamp(54px,7.5vw,108px);font-weight:400;line-height:.92;letter-spacing:-.055em;margin:16px 0 30px}.welcome-lede{font:clamp(20px,2.1vw,28px)/1.5 Georgia,serif;max-width:670px;color:#4c403a}.welcome-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:34px 0 25px}.welcome-primary,.welcome-secondary{display:inline-block;padding:14px 21px;border-radius:3px;font:15px system-ui;text-decoration:none}.welcome-primary{background:var(--wine);border:1px solid var(--wine);color:#fff}.welcome-primary:hover{background:#482330}.welcome-secondary{color:#563645;border:1px solid #a88e97}.welcome-assurance{max-width:590px;font:14px/1.7 system-ui;color:#76675f}.welcome-visual{height:500px;position:relative;border:1px solid #cfbca9;background:rgba(255,253,248,.6);box-shadow:0 24px 70px #6044371b;overflow:hidden}.welcome-visual:before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,#c9bca9 1px,transparent 1px);background-size:28px 28px;opacity:.6}.welcome-visual svg{position:absolute;inset:90px 25px 0;width:calc(100% - 50px);height:280px}.welcome-visual path{fill:none;stroke:#8a745f;stroke-width:2}.sample-piece{position:absolute;width:240px;min-height:155px;padding:24px;box-shadow:0 8px 24px #49392d1c;z-index:2}.sample-piece span{font:10px system-ui;letter-spacing:.14em;text-transform:uppercase}.sample-piece p{font:19px/1.45 Georgia;margin-top:15px}.sample-own{left:35px;top:55px;background:#f8eddc;transform:rotate(-2deg)}.sample-ai{right:30px;bottom:55px;background:#e3e6ef;transform:rotate(2deg)}.sample-choice{position:absolute;right:45px;bottom:25px;z-index:3;background:#fff;border:1px solid #9c8a74;border-radius:15px;padding:5px 12px;font:11px system-ui;text-transform:uppercase;letter-spacing:.12em;color:#6b5d4d}.welcome-purpose,.welcome-boundaries{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(300px,1.1fr);gap:clamp(40px,8vw,130px);padding:100px clamp(24px,7vw,110px);align-items:start}.welcome-purpose h2,.welcome-boundaries h2,.welcome-steps h2,.maps-section h2{font-size:clamp(36px,4.4vw,64px);font-weight:400;line-height:1.06;letter-spacing:-.035em}.welcome-purpose>p{font:22px/1.65 Georgia;color:#4e433c;padding-top:25px}.welcome-steps{padding:100px clamp(24px,7vw,110px);background:#27221f;color:#f4eadc}.welcome-steps>.eyebrow{color:#c8b89a}.welcome-steps h2{max-width:760px;margin:14px 0 58px}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step-grid article{border-top:1px solid #786b5e;padding:24px 8px 20px 0}.step-grid b{font:12px system-ui;color:#c8b89a}.step-grid h3{font:26px/1.2 Georgia;margin:38px 0 14px}.step-grid p{font:15px/1.7 system-ui;color:#d2c7b8}.welcome-boundaries{background:#e8dfe3}.welcome-boundaries ul{list-style:none;padding:13px 0 0}.welcome-boundaries li{padding:18px 0;border-bottom:1px solid #c6b7be;font:18px/1.5 Georgia}.welcome-boundaries li:before{content:'—';margin-right:15px;color:#73465a}.maps-section{padding:100px clamp(24px,6vw,90px);scroll-margin-top:80px}.home-header{gap:20px;align-items:flex-end}.home-header h2{margin-top:8px}.home-intro{margin-top:12px;line-height:1.5;font-size:17px;max-width:480px}.home-actions{flex-wrap:wrap}.home-btn{font:14px system-ui;border-color:#ae9988;border-radius:4px;background:#fffdf8}.home-btn:last-child{background:var(--wine);color:white;border-color:var(--wine)}.local-note{font:14px/1.7 system-ui;color:#76695d;margin-top:38px}.card{border-radius:4px}.card small{font:14px/1.6 system-ui}.card:focus-visible{outline:3px solid var(--wine)}
#dcHeader{position:fixed;inset:0 0 auto;height:var(--top);display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:#faf7f1;border-bottom:1px solid #d9cbb8;z-index:11000;gap:16px}#dcHeader strong{font-weight:400;font-size:23px;white-space:nowrap}#dcHeader .edition{font-size:10px;margin-bottom:2px}#dcHeader nav{display:flex;gap:8px;align-items:center;overflow:auto}#dcHeader button,#conversation button,dialog button{padding:9px 13px;font:14px/1.2 system-ui;border:1px solid #cbbba7;border-radius:4px;background:#fffdf9;color:#443832;white-space:nowrap}#dcHeader button:hover,#conversation button:hover,dialog button:hover{border-color:#643747;background:#f3e9e8}#chatToggle{display:none}
#toolbar{top:var(--top);left:var(--rail);height:56px;padding:8px 12px;gap:7px}#toolbar .tb{font:14px system-ui;height:34px;color:#e3d6c4}#toolbar #title{display:none}#status{font:13px system-ui;color:#eee0ca}#wrap{top:calc(var(--top) + 56px);left:var(--rail);bottom:58px}#settled{left:var(--rail);height:30px;font-size:13px}#panHint{left:calc(var(--rail) + 12px);bottom:34px;font:11px/1.5 system-ui;text-transform:none;letter-spacing:0;opacity:1;color:#6f6054}#minimap{bottom:76px;width:154px;height:105px;opacity:.85}#mini{transform:scale(.7);transform-origin:top left;width:220px;height:150px}#hint{font:14px system-ui;color:white}
#conversation{position:fixed;top:var(--top);left:0;bottom:0;width:var(--rail);background:#fcfaf6;border-right:1px solid #d7c8b5;display:flex;flex-direction:column;z-index:5000;user-select:text;color:#302820}.conversation-top{padding:24px 23px 15px;border-bottom:1px solid #ece3d8}.conversation-top h2{font-size:25px;font-weight:400}.conversation-top p{font:13px/1.5 system-ui;color:#756354;margin-top:9px}#conversationScroll{flex:1;min-height:0;overflow:auto;padding:20px}#messages:empty:before{content:'You don’t have to know the answer to begin.';display:block;color:#82705e;font:italic 19px/1.6 Georgia;margin:16px 4px 28px}.message{margin:0 0 22px;white-space:pre-wrap;font:16px/1.6 Georgia}.message .message-label{display:block;font:11px/1.6 system-ui;text-transform:uppercase;letter-spacing:.14em;color:#8c7562;margin-bottom:6px}.message.user{padding:14px 16px;background:#f0e8dc;border-radius:5px}.message.assistant{padding:0 4px}.message-actions{margin-top:8px}.message-actions button{font-size:12px!important;padding:5px 9px!important}.suggestion{padding:15px;margin:12px 0;background:#fff;border:1px solid #dccbbd;border-left:3px solid #866476;border-radius:4px}.suggestion textarea{display:block;width:100%;font:16px/1.55 Georgia;color:#332c27;border:0;background:transparent;resize:vertical;min-height:78px;padding:8px 0}.suggestion-label{font:12px system-ui;color:#765265}.suggestion-actions{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.suggestion-actions .primary,#sendAI,dialog .primary{background:#643747!important;color:#fff!important;border-color:#643747!important}.suggestion .source-quote{font:13px/1.5 system-ui;color:#776858;border-top:1px solid #eee4db;padding-top:8px;white-space:pre-wrap}.empty-suggestions{font:13px/1.5 system-ui;color:#88725e;margin:8px 3px}#chatForm{padding:16px 20px 18px;border-top:1px solid #e7dacb;background:#fcfaf6}#chatForm label{display:block;font:14px system-ui;margin-bottom:8px}#chatInput{display:block;width:100%;resize:vertical;max-height:200px;min-height:88px;border:1px solid #cbb9a4;border-radius:4px;background:#fffdf9;padding:12px;font:16px/1.5 Georgia}#chatForm small{display:block;font:12px/1.5 system-ui;color:#766355;margin-top:8px}.composer-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:9px}#chatError{margin:0 15px 6px;padding:12px;border:1px solid #ab7067;background:#fff0e9;color:#853626;font:14px/1.5 system-ui}#chatError[hidden],#saveWarning[hidden]{display:none}
#saveWarning{position:fixed;top:132px;left:calc(var(--rail) + 15px);right:15px;z-index:13000;background:#fff0d9;border:2px solid #ae6d21;padding:12px 18px;font:14px/1.5 system-ui}
.note textarea{font-size:20px;line-height:1.5;padding:12px 16px}.note-handle{height:30px;touch-action:none}.origin-tag{display:block;border:0;border-top:1px solid #0001;background:#ffffff80;text-align:left;padding:6px 12px;flex-shrink:0;color:#654c48;font:13px/1.3 system-ui}.origin-tag:hover{background:#fff}.state-chip{font:13px system-ui;padding:4px 9px;cursor:pointer}.item .delete{width:27px;height:27px}.item .resize{width:18px;height:18px}.item[data-state="decided"] .note textarea{color:#384d30}
dialog{margin:auto;width:min(600px,calc(100vw - 32px));max-height:85vh;border:1px solid #bfae9b;border-radius:8px;padding:25px;background:#fcf8f1;color:#342922;box-shadow:0 20px 90px #0004;user-select:text}dialog::backdrop{background:#17110d88}dialog header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}dialog h2{font-size:25px;font-weight:400}dialog header button{border:0}dialog textarea,dialog input,dialog select{display:block;width:100%;font:16px/1.55 Georgia;border:1px solid #bfae9b;padding:12px;margin-top:10px;border-radius:4px;background:white}dialog textarea{min-height:140px}dialog label{font:14px/1.6 system-ui;display:block}dialog p{font:15px/1.65 system-ui;margin:10px 0}dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}dialog .record{padding:15px 0;border-bottom:1px solid #dfd0bf}dialog .record p{white-space:pre-wrap}dialog small{font:13px/1.5 system-ui;color:#78685c}dialog blockquote{padding:14px;background:#f0e7dc;margin:10px 0;white-space:pre-wrap;font:16px/1.6 Georgia}dialog details{margin:12px 0}dialog summary{cursor:pointer;font:14px system-ui}#dcDialog button{white-space:normal}
body.chat-hidden #conversation{display:none}body.chat-hidden{--rail:0px}
@media(max-width:1050px){:root{--rail:330px}#dcHeader{padding:12px 16px}#dcHeader nav{gap:5px}#dcHeader button{font-size:13px;padding:8px}.home-header{align-items:flex-start;flex-direction:column}.welcome-hero{grid-template-columns:1fr}.welcome-visual{height:420px;max-width:680px;width:100%}}
@media(max-width:750px){:root{--rail:0px;--top:100px}#dcHeader{align-items:flex-start;flex-direction:column;gap:8px;padding:10px 14px}#dcHeader>div{display:flex;gap:12px;align-items:center}#dcHeader strong{font-size:21px}#dcHeader .edition{margin:0}#dcHeader nav{width:100%;padding-bottom:4px}#conversation{width:min(370px,100vw);box-shadow:15px 0 60px #0003;z-index:10500}#chatToggle{display:inline-block}#panHint{max-width:65%;font-size:10px}.welcome-nav{padding:15px 20px}.welcome-hero{padding:60px 20px;min-height:auto}.welcome-copy h1{font-size:54px}.welcome-visual{height:440px}.sample-piece{width:220px}.sample-own{left:18px}.sample-ai{right:18px}.welcome-purpose,.welcome-boundaries{grid-template-columns:1fr;padding:72px 20px;gap:28px}.welcome-steps,.maps-section{padding:72px 20px}.step-grid{grid-template-columns:1fr}.step-grid article{padding-bottom:35px}#saveWarning{top:156px}#minimap{width:110px;height:75px}#mini{transform:scale(.5)}}
@media print{#conversation,#dcHeader,#panHint,#settled,#saveWarning{display:none!important}#wrap{left:0;top:0}}

#boardTools{position:fixed;top:132px;left:var(--rail);right:0;z-index:10000;display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:17px;background:#29251f;border-bottom:1px solid #ac957b;box-shadow:0 12px 20px #0002;max-height:260px;overflow:auto}#boardTools .tb{font:14px system-ui;color:#e3d6c4;height:35px}#boardTools #title{display:none}#activeMapTitle{overflow-wrap:anywhere;max-height:110px;overflow:auto}#toolbar .sep{display:none}
@media(max-width:750px){#boardTools{top:156px}}

#dialogNotice { padding:12px; border:1px solid #985d37; background:#fff2dc; color:#432b1a; border-radius:8px; }
#dialogNotice[hidden] { display:none; }
