.place-demo{margin:2.5rem 0 3rem;--map-land:#173a32;--map-contour:#4f7660;--map-water:#326d82;--map-forest:#6f9c71;--map-road:#b0b58a;--map-text:#d4e5cf}
[data-theme=light] .place-demo{--map-land:#edf0db;--map-contour:#aabf93;--map-water:#95c6d1;--map-forest:#5b8a57;--map-road:#a49b71;--map-text:#294a36}
.place-demo-intro h3,.place-roles>h3{font-size:calc(29px * var(--font-scale));font-weight:500;line-height:1.7;margin:1rem 0}
.place-demo-intro>p,.place-practical p,.place-privacy p,.place-privacy li{font-size:calc(16px * var(--font-scale));line-height:2;color:var(--text-secondary)}
.place-demo-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:2.5rem;margin:2rem 0;align-items:start}.place-demo-layout>*{min-width:0}
.place-diagram{margin:0}.place-map-paper{position:relative;background:var(--map-land);border:1px solid var(--border);border-radius:5px;overflow:hidden}.place-map-paper svg{width:100%;height:auto;display:block}
.place-pin-buttons{display:none;position:absolute;inset:0;pointer-events:none}.place-demo[data-ready=true] .place-pin-buttons{display:block}
.place-pin{position:absolute;pointer-events:auto;display:flex;align-items:center;gap:.5rem;padding:.6rem .8rem;border-radius:4px;border:2px solid #d8e8d4;background:#142d24;color:#f3f7ed;font:calc(14px * var(--font-scale))/1.6 var(--font-ui);cursor:pointer;box-shadow:0 4px 12px #0004}
.place-pin[aria-pressed=true]{background:#d0e7a9;color:#153721;border-color:#fff}.place-pin:focus-visible{outline:3px solid #86daef;outline-offset:4px}
.pin-lake{left:15%;top:47%}.pin-inn{left:51%;top:25%}.pin-walk{left:61%;top:67%}
.place-diagram figcaption,.place-demo-caption,.place-selection-status{font-size:calc(12px * var(--font-scale));line-height:1.95;color:var(--text-secondary);margin-top:1rem}
.place-selection-status{color:var(--accent);min-height:2em}
.place-case{min-width:0}.place-case[hidden]{display:none!important}.place-case>img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:4px;margin-bottom:1.3rem}
.place-case-label{font-size:calc(13px * var(--font-scale));color:var(--accent);line-height:1.8}.place-case h4{font-size:calc(25px * var(--font-scale));font-weight:500;line-height:1.7;margin:.5rem 0 1rem}
.place-case dl{margin:1rem 0}.place-case dl>div{border-top:1px solid var(--border);padding:.8rem 0}.place-case dt{font-size:calc(14px * var(--font-scale));font-weight:600;line-height:1.8}.place-case dd{font-size:calc(15px * var(--font-scale));line-height:1.95;color:var(--text-secondary);margin:.3rem 0 0}
.place-case>a,.place-roles a,.place-practical a{font-size:calc(14px * var(--font-scale));line-height:1.9}
.place-roles{border-top:1px solid var(--border);padding-top:1.5rem}.place-roles>dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin:1.7rem 0}
.place-roles>dl>div{min-width:0;border-top:2px solid var(--accent);padding-top:1.1rem}.place-roles dt{font-size:calc(21px * var(--font-scale));font-weight:500;line-height:1.8}.place-roles dd{font-size:calc(15px * var(--font-scale));line-height:1.95;color:var(--text-secondary);margin:1rem 0 0}.place-roles strong{display:block;font-weight:500;color:var(--text-primary);margin-bottom:.6rem}
.place-practical{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem;margin:3rem 0}.place-practical h3,.place-privacy h3{font-size:calc(22px * var(--font-scale));font-weight:500;line-height:1.7}.place-practical article{min-width:0;border-top:1px solid var(--border);padding-top:1rem}
.place-privacy{border-left:3px solid var(--accent);padding:1rem 1.5rem;background:var(--bg-secondary);margin:2rem 0}.place-privacy h3{margin:.5rem 0 1rem}.place-privacy ul{padding-left:1.3rem}.place-privacy li{margin:.5rem 0}
.reading-index{border-top:1px solid var(--border);margin-top:2rem;padding:1.2rem 0}.reading-index summary{cursor:pointer;font-size:calc(16px * var(--font-scale));line-height:1.9}.reading-index nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin:1.5rem 0}.reading-index h3{font-size:calc(18px * var(--font-scale));font-weight:500;line-height:1.8}.reading-index a{display:block;font-size:calc(15px * var(--font-scale));line-height:1.9;padding:.4rem 0}
.reading-return{display:flex;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:1.5rem;margin-top:2.5rem;font-size:calc(14px * var(--font-scale));line-height:1.95}.local-ai-section>.reading-return{width:min(1240px,calc(100% - 80px));margin:1rem auto 2rem}
[data-large-text=true] .place-demo-layout,[data-large-text=true] .place-roles>dl,[data-large-text=true] .place-practical,[data-large-text=true] .reading-index nav{grid-template-columns:1fr}
[data-large-text=true] .place-demo[data-ready=true] .place-pin-buttons{position:static;display:grid;gap:.6rem;padding:1rem}[data-large-text=true] .place-pin{position:static;width:100%;box-shadow:none}
@media(max-width:900px){.place-demo-layout,.place-roles>dl,.place-practical,.reading-index nav{grid-template-columns:1fr}.place-diagram{max-width:700px}.place-demo-layout{gap:1.5rem}.place-roles>dl{gap:1.3rem}}
@media(max-width:600px){.place-demo[data-ready=true] .place-pin-buttons{position:static;display:grid;gap:.6rem;padding:1rem}.place-pin{position:static;width:100%;box-shadow:none}.place-demo-intro h3,.place-roles>h3{font-size:calc(25px * var(--font-scale))}.place-case h4{font-size:calc(23px * var(--font-scale))}.place-privacy{padding:.8rem 1rem}.local-ai-section>.reading-return{width:calc(100% - 40px)}}
