:root{font-family:Georgia,Times New Roman,serif;color:#1d1f19;background:#f8f4eb}body{margin:0;background:radial-gradient(circle at top left,rgba(116,87,43,.16),transparent 26rem),linear-gradient(180deg,#fbf6ec,#f2ebdc)}.header{padding:calc(24px + env(safe-area-inset-top,0px)) 32px 24px;background:#fbf8f0eb;border-bottom:1px solid rgba(94,79,51,.16);position:relative;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-compact{min-height:calc(env(safe-area-inset-top,0px) + 44px);padding:calc(8px + env(safe-area-inset-top,0px)) 16px 8px}.topSafeSpacer{min-height:calc(env(safe-area-inset-top,0px) + 12px)}.header h1{margin:0;font-size:2.2rem;color:#2b281f}.header p{margin:8px 0 0;font-size:1.08rem;color:#5c584e;font-style:italic}.fullscreenButton{position:absolute;right:16px;top:calc(16px + env(safe-area-inset-top,0px));background:transparent;border:none;color:#8c8065;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .15s ease}.fullscreenButton:hover{color:#5f573f}.fullscreenButton-static{position:static;margin-left:auto}.layout{display:grid;grid-template-columns:1fr 360px}.main{padding:24px}.sidebar{padding:24px;border-left:1px solid rgba(94,79,51,.16);overflow:auto;background:#faf6eceb}.readerStatus{display:grid;gap:4px;padding:12px 14px;margin-bottom:20px;border-radius:16px;border:1px solid rgba(94,79,51,.12);background:#fffcf7e6}.readerStatus strong{color:#2f2a22;font-size:.96rem}.readerStatus span{color:#5c584e;font-size:.92rem}.readerStatus-success{border-color:#21553b2e;background:#f1f9f3f0}.readerStatus-error{border-color:#a32a2a29;background:#fff2f2f0}.secretPanel{width:min(520px,100%)}.sidebarHelper{margin:14px 0 0;color:#5c584e;cursor:default;-webkit-user-select:none;user-select:none}.secretToggle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 8px;font-weight:600}.secretField{display:grid;gap:6px;margin-top:12px}.secretField select{width:100%;border:1px solid #c8bfad;border-radius:12px;padding:10px 12px;font:inherit;box-sizing:border-box;background:#fffdf8fa}.passwordField{position:relative}.passwordField input{padding-right:46px}.passwordToggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:#6c6254;cursor:pointer}.secretHelp{margin:0 0 8px;color:#5c584e}.settingsPage{min-height:calc(100vh - 120px);padding:24px;display:grid;gap:18px}.settingsPageHeader{display:flex;align-items:flex-start;gap:14px}.settingsPageHeader h2{margin:0;font-size:1.8rem}.settingsPageHeader p{margin:6px 0 0;color:#5c584e}.settingsBack{width:42px;height:42px;border-radius:999px;border:1px solid rgba(94,79,51,.16);background:#fffcf7f0;color:#4d4638;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.settingsCard{display:grid;gap:12px;padding:16px 18px;border-radius:20px;border:1px solid rgba(94,79,51,.14);background:#fffcf7eb}.settingsCopy{display:grid;gap:4px}.settingsCopy span{color:#5c584e}.sidebar h2{margin-top:0;font-size:1.45rem;margin-bottom:12px}.mapWrap{max-width:1200px;margin:0 auto}.poi-section{padding:16px 32px;border-top:1px solid rgba(94,79,51,.16);background-color:#fffcf7f0}.poi-section h2{margin-top:0;margin-bottom:.75rem;font-size:1rem;text-transform:uppercase;letter-spacing:.05em;color:#706148}.poi-list{column-count:4;column-gap:32px;padding-left:1.5rem;margin:0}.poi-list li{margin-bottom:.3rem;break-inside:avoid}.poi-list a,.sidebar a{text-decoration:none;color:#0c5ea8;font-weight:500;transition:color .15s ease}.poi-list a:hover,.poi-list a:focus,.sidebar a:hover,.sidebar a:focus{text-decoration:underline;color:#083c6b}.poiLink{display:inline-flex;align-items:center;gap:8px}.poiTick{color:#0c7bdc;font-weight:700;min-width:.8rem}.poiTick-hidden{visibility:hidden}.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;background-color:#21553b;color:#fff!important;text-decoration:none!important;border-radius:999px;font:inherit;font-weight:600;border:none;cursor:pointer;transition:background-color .15s ease}.btn-primary:hover,.btn-primary:focus{background-color:#173c29}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:999px;border:1px solid rgba(12,94,168,.28);background:#0c5ea814;color:#0c5ea8;font:inherit;font-weight:600;cursor:pointer}.btn-secondary:hover,.btn-secondary:focus{background:#0c5ea824}.visitPanel{display:grid;gap:10px;padding:14px 16px;border-radius:18px;background:#fffaeff2;border:1px solid rgba(110,91,56,.14)}.visitPanel strong{color:#2f2a22}.visitPanel span,.visitLogEmpty,.emailStatus{color:#5e584c}.progressDockActions{display:flex;flex-wrap:wrap;gap:10px}.visitLog,.emailSavePanel{padding:12px 14px;border-radius:16px;background:#fffcf6eb;border:1px solid rgba(110,91,56,.12)}.sheetBackdrop{position:fixed;inset:0;z-index:950;display:flex;align-items:flex-end;justify-content:center;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px));background:#14110c5c}.sheetBackdrop-password{align-items:stretch;justify-content:center;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px);background:#14110c80}.sheetPanel{width:min(640px,100%);max-height:75vh;overflow:auto;padding:16px 18px 18px;border-radius:24px;background:#fffaeffa;border:1px solid rgba(110,91,56,.14);box-shadow:0 18px 48px #2920103d}.sheetPanel-password{width:min(720px,100%);max-height:none;height:100%;border-radius:0;padding-top:calc(18px + env(safe-area-inset-top,0px));padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))}.sheetHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.sheetClose{border:none;background:transparent;color:#6d665b;font-size:1.5rem;line-height:1;cursor:pointer}.visitLog h3,.emailSavePanel h3{margin-top:0;margin-bottom:10px}.visitLog ol{margin:0;padding-left:0;list-style:none;display:grid;gap:10px}.visitLog li{display:grid;gap:4px}.visitLog li span{display:block;padding-left:1.45rem}.emailField{display:grid;gap:6px;margin-top:10px}.emailField input{width:100%;border:1px solid #c8bfad;border-radius:12px;padding:10px 12px;font:inherit;box-sizing:border-box;background:#fffdf8fa}svg [id^=fill-]{pointer-events:none;opacity:1;fill:#ffc20a!important;transition:fill .24s ease,opacity .24s ease,transform .24s ease}svg [id^=fill-].is-visited{fill:#0c7bdc!important}svg [id^=fill-].is-revealing{animation:pulseReveal 1.05s ease-in-out 1;fill:#0c7bdc!important}@keyframes pulseReveal{0%{opacity:1;filter:brightness(1)}45%{opacity:.72;filter:brightness(1.18)}to{opacity:1;filter:brightness(1)}}svg [id^=hit-]{cursor:pointer}.modalBackdrop{position:fixed;inset:0;background:#14110c75;display:flex;align-items:center;justify-content:center;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px));z-index:1000}.modal{width:100%;height:100%;max-height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 32px);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 12px 40px #00000040;display:flex;flex-direction:column}.modalHeader{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #eee}.modalTitle{font-weight:600}.modalClose{font-size:22px;line-height:1;padding:6px 10px;border:0;background:transparent;cursor:pointer}.modalFrame{flex:1;width:100%;border:0}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:1100;max-width:min(90vw,480px);padding:12px 16px;border-radius:999px;color:#fff;box-shadow:0 10px 32px #150f083d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toast-success{background:#21553bf5}.toast-error{background:#a32a2af5}.toast-info{background:#273a56f0}@media(orientation:landscape)and (min-width:901px){.sheetBackdrop{align-items:stretch;justify-content:flex-end;padding-left:max(16px,calc(100vw - 420px));background:linear-gradient(to right,#14110c00 0 calc(100% - 420px),#14110c4d calc(100% - 420px) 100%)}.sheetPanel{width:min(380px,100%);max-height:none;height:100%;border-radius:24px 0 0 24px}}@media(max-width:1100px){.poi-list{column-count:2}}@media(max-width:900px){.header{padding:calc(16px + env(safe-area-inset-top,0px)) 16px 16px}.header h1{font-size:1.8rem}.layout{grid-template-columns:1fr;display:flex;flex-direction:column}.main{order:1}.sidebar{order:2;border-left:none;border-bottom:1px solid rgba(94,79,51,.16);border-top:1px solid rgba(94,79,51,.16)}.poi-list{column-count:1}}
