:root{--main:#a6333d;--dark:#72232b;--soft:#fbe3df;--ink:#2f2425;--line:#e5d4d0;--surface:#fff}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font:16px/1.6 system-ui,"Noto Sans TC",sans-serif;color:var(--ink);background:#f8f3ed}button,select{font:inherit}.skip{position:fixed;left:1rem;top:-5rem;z-index:100;padding:.6rem 1rem;color:#fff;background:#111}.skip:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.site-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem max(3vw,1rem);color:#fff;background:var(--dark)}.brand{display:flex;align-items:center;gap:.7rem}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#fff;color:var(--dark);font-size:1.45rem;font-weight:900}.brand strong,.brand small{display:block}.brand small{opacity:.72;letter-spacing:.13em}.language select{min-height:42px;padding:.45rem 2.3rem .45rem .8rem;border:1px solid #ffffff80;border-radius:10px;color:#fff;background:var(--dark)}.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,440px);align-items:end;gap:1.5rem;padding:clamp(1.5rem,4vw,3.5rem) max(4vw,1rem);background:linear-gradient(135deg,var(--soft),#fff)}.eyebrow{margin:0;color:var(--main);font-size:.78rem;font-weight:900;letter-spacing:.17em}.intro h1{margin:.3rem 0;font-size:clamp(2rem,5vw,4.4rem);line-height:1.1}.intro>div>p:last-child{max-width:760px;margin:.7rem 0 0;font-size:clamp(1rem,2vw,1.25rem)}.hint{margin:0;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:14px;background:#ffffffc9;font-weight:700}.map-shell{position:relative;padding:clamp(.7rem,2vw,1.5rem)}.map-toolbar{position:absolute;z-index:10;top:2.2rem;left:2.2rem;display:flex;align-items:center;gap:.35rem;padding:.4rem;border:1px solid #ffffffbb;border-radius:14px;background:#281c1cdd;box-shadow:0 8px 24px #0003}.map-toolbar button,.map-toolbar output{min-width:44px;min-height:42px;display:grid;place-items:center;padding:.4rem .7rem;border:0;border-radius:9px;color:#fff;background:#ffffff18;font-weight:800}.map-toolbar button:hover,.map-toolbar button:focus-visible{background:var(--main)}#reset-map{min-width:auto}.map-stage{position:relative;height:min(70vh,760px);min-height:480px;overflow:hidden;border:4px solid #fff;border-radius:22px;background:#bcd6d7;box-shadow:0 14px 40px #4c34252a;cursor:grab;touch-action:none;user-select:none}.map-stage.is-dragging{cursor:grabbing}.map-world{position:absolute;width:1600px;height:1100px;transform-origin:0 0;will-change:transform}.map-world>img{display:block;width:1600px;height:1100px;pointer-events:none}.map-marker{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:52px;border:4px solid #fff;border-radius:50% 50% 50% 12%;color:#fff;background:var(--point);box-shadow:0 5px 16px #0006;font-weight:900;cursor:pointer}.map-marker:hover,.map-marker:focus-visible{z-index:3;transform:translate(-50%,-50%) scale(1.16);outline:3px solid #fff;outline-offset:3px}.place-index{display:flex;align-items:flex-start;gap:1rem;padding:1rem .3rem}.place-index>strong{padding-top:.45rem}.place-index>div{display:flex;gap:.5rem;flex-wrap:wrap}.place-link{padding:.45rem .75rem;border:1px solid var(--line);border-radius:99px;color:var(--ink);background:#fff;font-weight:700}.place-link span{color:var(--point);font-weight:900}dialog{width:min(720px,94vw);max-height:min(88vh,850px);padding:0;border:0;border-radius:22px;background:transparent;box-shadow:0 30px 90px #0007}dialog::backdrop{background:#1b1717b8;backdrop-filter:blur(3px)}.dialog-card{--point:var(--main);overflow:hidden;border-top:9px solid var(--point);border-radius:20px;background:#fff}.dialog-head{display:flex;justify-content:space-between;gap:1rem;padding:1.2rem 1.3rem .8rem;background:var(--point-soft,#fff)}.dialog-head h2{margin:.1rem 0;font-size:clamp(1.6rem,4vw,2.4rem)}.dialog-head p{margin:.35rem 0}.dialog-head span{color:var(--point);font-weight:900}.dialog-head button{flex:0 0 44px;width:44px;height:44px;border:0;border-radius:50%;color:#fff;background:var(--point);font-size:1.6rem}.dialog-scroll{max-height:calc(88vh - 145px);overflow:auto;padding:0 1.3rem 1.5rem;overscroll-behavior:contain}.dialog-scroll figure{margin:0 0 1.2rem}.dialog-scroll img{width:100%;max-height:330px;object-fit:cover;border-radius:0 0 16px 16px}.dialog-scroll figcaption{padding:.45rem;color:#665b59;font-size:.9rem}.dialog-scroll section{padding:.3rem .2rem}.dialog-scroll h3{margin:.7rem 0 .2rem;color:var(--point)}.dialog-scroll p{margin:.2rem 0 1rem}.theme-琥珀暖陽{--point:#a86418;--point-soft:#fff2d5}.theme-朱砂映霞{--point:#a6333d;--point-soft:#fbe3df}.theme-櫻粉晨霧{--point:#b25d78;--point-soft:#fff0f4}.theme-葡萄暮紫{--point:#79538f;--point-soft:#f2e9f7}.theme-靛藍星夜{--point:#385b91;--point-soft:#e8f0fb}.theme-海灣青碧{--point:#23858b;--point-soft:#e1f5f3}.theme-松林深翠{--point:#36714e;--point-soft:#e5f2e8}.theme-苔蘚清晨{--point:#718044;--point-soft:#f0f4df}.theme-麥穗金秋{--point:#b17c22;--point-soft:#fff5d9}.theme-陶土微光{--point:#a85e43;--point-soft:#f8e8df}.theme-墨灰雅韻{--point:#596168;--point-soft:#edf0f2}.theme-雪白極簡{--point:#65727a;--point-soft:#f7f9fa}.theme-珊瑚夕照{--point:#c65f55;--point-soft:#fff0e9}.theme-薰衣晚風{--point:#8870ad;--point-soft:#f3effb}.theme-天空晴藍{--point:#3f82bd;--point-soft:#eaf5ff}.theme-湖水晨光{--point:#2f8fa2;--point-soft:#e5f7f8}.theme-翡翠新芽{--point:#288569;--point-soft:#e6f6ee}.theme-薄荷微風{--point:#4c9b86;--point-soft:#edfaf5}.theme-奶茶午後{--point:#9b7658;--point-soft:#f8f0e7}.theme-石墨冷調{--point:#4b5865;--point-soft:#e9eef2}@media(max-width:700px){.intro{grid-template-columns:1fr}.map-shell{padding:.5rem}.map-stage{position:relative;height:67vh;min-height:430px;border-width:2px;border-radius:14px}.map-toolbar{top:1rem;left:1rem}.map-toolbar output{display:none}.place-index{display:block}.place-index>strong{display:block;margin-bottom:.5rem}.dialog-scroll{padding:0 1rem 1.2rem}}