/* Visitor tools keep page actions separate from reading and contact actions. */
.header-search{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border:1px solid transparent;border-radius:7px;color:var(--accent)}
.header-search svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.header-search:hover,.header-search[aria-current=page]{background:var(--soft);border-color:#d3dfd6}
.visitor-tools{display:flex;align-items:stretch;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0}
.visitor-tools-start{margin-bottom:24px}
.visitor-tools-end{margin-top:40px;padding-top:20px;border-top:1px solid var(--line)}
.visitor-tools-end:first-child{margin-top:0;padding-top:0;border-top:0}
.visitor-tools-inline{margin-top:24px}
.visitor-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 14px;background:#fff;border:1px solid var(--line);border-radius:5px;color:var(--accent);font-size:14px;font-weight:550;line-height:1.5;white-space:normal;text-align:center;transition:background .15s,border-color .15s}
.visitor-action svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.visitor-action:hover{background:#f0f5f1;border-color:#8ca994}
.visitor-action.is-saved{background:#eaf3ec;border-color:#a3bda9;color:#245736}
.visitor-action.is-saved svg{fill:#d0e4d5}
.visitor-action:disabled{cursor:wait;opacity:.65}
.visitor-calendar{margin-top:25px;padding-top:21px;border-top:1px solid var(--line)}
.visitor-calendar p{font-size:13px;color:#536c5b;line-height:1.85;margin-top:12px}
.visitor-calendar p:first-child{margin-top:0}
.visitor-analytics-notice{font-size:12px;line-height:1.85;color:#536c5b;margin-top:16px;max-width:920px}
.discovery-layout{max-width:960px}
.discovery-search{margin-bottom:23px}
.discovery-search>label{display:block;font-size:15px;font-weight:600;color:var(--ink);margin-bottom:9px}
.discovery-search-row{display:flex;align-items:stretch;gap:10px}
.discovery-input-wrap{position:relative;min-width:0;flex:1}
.discovery-input-wrap>svg{position:absolute;width:21px;height:21px;left:16px;top:50%;transform:translateY(-50%);fill:none;stroke:#456750;stroke-width:1.6;pointer-events:none}
.discovery-input-wrap input{height:54px;width:100%;min-width:0;padding:12px 45px;border:1px solid #b4c7ba;border-radius:7px;background:#fff;color:var(--ink);font-size:16px;appearance:none;-webkit-appearance:none}
.discovery-input-wrap input::placeholder{color:#607267;opacity:1}
.discovery-input-wrap input::-webkit-search-cancel-button{appearance:none}
.discovery-input-wrap input:focus{outline:2px solid #35634f;outline-offset:2px}
.discovery-input-wrap>button{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;padding:0;border:0;border-radius:4px;background:none;font-size:25px;line-height:1;color:#536c5b}
.discovery-input-wrap>button:hover{background:var(--soft)}
.discovery-search-row>.button{min-width:83px;border:0;border-radius:7px;justify-content:center;font-size:16px}
.discovery-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:21px;border-bottom:1px solid var(--line)}
.discovery-controls .filter-tabs{margin:0;border:0;padding:0;gap:7px}
.discovery-controls .filter-tabs button{font-size:14px;padding:8px 13px;min-height:42px}
.discovery-controls>.text-link{font-size:14px;min-height:42px;white-space:nowrap}
.discovery-summary{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:21px 0 8px;min-height:38px}
.discovery-summary>[role=status]{font-size:14px;color:#536c5b}
.visitor-text-button{background:none;border:0;padding:8px 0;min-height:42px;font-size:14px;color:#456750;text-decoration:underline;text-underline-offset:4px}
.discovery-row{display:flex;align-items:flex-start;gap:28px;justify-content:space-between;padding:25px 0;border-bottom:1px solid #dfe7e1;scroll-margin-top:16px}
.discovery-row-content{min-width:0;flex:1}
.discovery-category{font-size:13px;color:#536c5b;font-weight:550;display:block;margin-bottom:7px}
.discovery-row h2{font-size:22px;line-height:1.6;letter-spacing:-.025em;font-weight:600}
.discovery-row h2 a{display:inline-block;max-width:100%;text-underline-offset:5px;text-decoration-thickness:1px}
.discovery-row h2 a:hover{text-decoration:underline;color:var(--accent)}
.discovery-row-content>p{font-size:15px;line-height:1.85;color:#536c5b;margin-top:9px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.discovery-save{flex:none;max-width:150px;margin-top:24px}
.discovery-empty{padding:43px 24px;margin-top:15px;border:1px solid var(--line);border-radius:8px;background:var(--paper);text-align:center}
.discovery-empty>span{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 17px;border-radius:50%;background:#e6efe8;color:#42684e}
.discovery-empty svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.discovery-empty p{font-size:16px;line-height:1.9;color:#536c5b;max-width:510px;margin:auto}
.discovery-empty .button{margin-top:20px;font-size:15px}
.discovery-more{display:flex;justify-content:center;margin-top:27px}
.discovery-more:has([hidden]){display:none}
.discovery-more .button{font-size:15px;min-width:140px;justify-content:center}
.visitor-saved-notice{padding:19px 22px;background:#f3f7f3;border:1px solid #dde7df;border-radius:7px;font-size:15px;line-height:1.85;color:#45604d;margin-bottom:25px}
.visitor-small-note{font-size:13px;line-height:1.8;color:#536c5b;margin-top:22px}
.visitor-storage-warning{padding:14px 17px;margin:14px 0;border:1px solid #decba6;border-radius:6px;background:#fffaf0;color:#74531c;font-size:14px;line-height:1.8}
.visitor-share-dialog{width:min(550px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #c8d3e1;border-radius:16px;padding:30px;box-shadow:0 24px 80px #172b4d40;background:#fff;color:var(--text)}
.visitor-share-dialog::backdrop{background:#172b4d66;backdrop-filter:blur(3px)}
.visitor-share-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:8px}
.visitor-share-dialog h2{font-size:24px;line-height:1.4;margin:0;color:var(--ink)}
.visitor-share-close{display:grid;place-items:center;flex:none;width:44px;height:44px;margin:-6px -6px -6px 0;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}
.visitor-share-close:hover{background:var(--soft);color:var(--ink)}
.visitor-share-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.visitor-share-dialog p{font-size:14px;color:var(--muted);line-height:1.75;margin:0}
.visitor-share-dialog .visitor-share-subject{margin:21px 0 18px;padding:13px 15px;border-left:2px solid #b58a4c;border-radius:0 5px 5px 0;background:#f5f7fa;color:var(--ink);font-size:15px;line-height:1.7;font-weight:600;overflow-wrap:anywhere}
.visitor-social-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.visitor-social-link{display:flex;align-items:center;gap:9px;min-height:64px;min-width:0;padding:11px 12px;border:1px solid #dce1e8;border-radius:9px;background:#fff;color:var(--ink);text-decoration:none;font-size:13px;font-weight:600;line-height:1.45;transition:background .15s,border-color .15s}
.visitor-social-link:hover{border-color:#a8b9ce;background:#f5f7fa;text-decoration:none}
.visitor-social-link>span:last-child{overflow-wrap:anywhere}
.visitor-social-mark{display:grid;place-items:center;flex:none;width:29px;height:29px;border-radius:7px;font-family:Arial,sans-serif;font-size:18px;font-weight:800;line-height:1}
.social-naver{color:#087f43;background:#e6f5ec}
.social-band{color:#148328;background:#eaf5e9}
.social-facebook{color:#1877f2;background:#eaf1fe;font-size:23px}
.social-x{color:#17212f;background:#edf0f3;font-size:17px;font-weight:500}
.social-linkedin{color:#0a66c2;background:#eaf2fb;font-size:16px}
.visitor-native-section{margin-top:20px;padding-top:19px;border-top:1px solid var(--line)}
.visitor-native-section[hidden]{display:none}
.visitor-native-share{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:46px;padding:10px 15px;border:1px solid #c5d0df;border-radius:8px;background:#fff;color:var(--ink);font-size:14px;font-weight:600;cursor:pointer}
.visitor-native-share:hover{background:var(--soft)}
.visitor-native-share svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.visitor-native-section p{margin-top:9px;font-size:12px;line-height:1.75}
.visitor-share-copy{margin-top:21px;padding-top:19px;border-top:1px solid var(--line)}
.visitor-share-copy>label{display:block;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--ink)}
.visitor-share-copy-row{display:flex;align-items:stretch;gap:8px}
.visitor-share-dialog input{width:100%;min-width:0;border:1px solid #c5d0df;border-radius:7px;padding:11px 12px;font-size:13px;line-height:1.5;background:#f8f9fb;color:var(--text)}
.visitor-share-copy-row button{flex:none;min-height:46px;padding:10px 14px;border:1px solid var(--ink);border-radius:7px;background:var(--ink);color:#fff;font-size:13px;font-weight:600;cursor:pointer}
.visitor-share-copy-row button:hover{background:var(--accent);border-color:var(--accent)}
.visitor-share-dialog button:disabled{opacity:.6;cursor:wait}
.visitor-share-dialog .visitor-share-status{min-height:21px;margin-top:10px;font-size:12px;line-height:1.75;color:var(--accent)}
.visitor-share-dialog :is(a,button,input):focus-visible{outline:2px solid #244c78;outline-offset:3px}
.visitor-dialog-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin-top:21px}
.visitor-dialog-actions .button{font-size:14px;padding:10px 16px;min-height:43px}
@media(max-width:480px){.visitor-social-list{grid-template-columns:repeat(2,minmax(0,1fr))}.visitor-social-link{min-height:58px;padding:10px 11px}.visitor-share-copy-row{gap:6px}.visitor-share-copy-row button{padding-inline:11px}.visitor-share-dialog input{font-size:16px}}
@media(max-width:1100px){.header-inner{column-gap:16px}.header-actions{gap:7px}.brand-text{min-width:0}.brand{flex-shrink:1}.footer-utilities{justify-content:flex-start}}
@media(max-width:760px){.header-inner{column-gap:9px}.discovery-search-row>.button{min-width:66px;padding-inline:16px}.discovery-controls{align-items:flex-start;gap:12px}.discovery-controls .filter-tabs{flex-wrap:wrap}.discovery-row{gap:15px;padding:22px 0}.discovery-row h2{font-size:20px;line-height:1.65}.discovery-row-content>p{font-size:14px}.discovery-save{width:40px;min-width:40px;max-width:40px;height:40px;padding:8px;margin-top:26px}.discovery-save span{display:none}.discovery-input-wrap input{height:52px}.visitor-saved-notice{padding:17px 18px;font-size:14px}.visitor-tools{justify-content:flex-start;gap:8px}.visitor-tools-start{margin-bottom:24px}.visitor-tools-end{margin-top:32px;padding-top:20px}.visitor-tools-inline{margin-top:24px}.visitor-action{font-size:13px;min-height:44px;padding:8px;gap:6px}.visitor-action svg{width:16px;height:16px}.visitor-calendar p{font-size:13px}.visitor-analytics-notice{font-size:12px;line-height:1.85}.visitor-share-dialog{padding:24px 21px}.discovery-controls .filter-tabs button{padding:8px 11px}.discovery-more{margin-top:22px}}
@media(max-width:480px){.header-actions{gap:3px}.header-search{width:44px;height:44px}.header-write{width:auto;min-width:58px;min-height:44px;height:auto;padding:8px}.header-write .write-icon{display:none}.header-write .header-write-short{display:inline;font-size:13px}.header-write .header-write-label{display:none}.menu-toggle{width:44px;height:44px;padding:10px}.brand-name{word-break:normal;text-wrap:balance}.discovery-input-wrap input{padding-left:39px;padding-right:36px}.discovery-input-wrap>svg{left:12px;width:19px}.discovery-input-wrap>button{width:32px}.discovery-search-row{gap:8px}.discovery-search-row>.button{min-width:58px;padding-inline:12px;font-size:15px}.discovery-search-row input::placeholder{font-size:14px}.discovery-row h2{font-size:19px}.discovery-controls .filter-tabs button{font-size:13px;padding:8px 10px}.discovery-row{gap:12px}.discovery-empty{padding:32px 18px}.visitor-share-dialog h2{font-size:22px}}
@media(max-width:374px){.header-inner{column-gap:6px}.header-search,.menu-toggle{width:44px;min-width:44px}.header-write{width:auto;min-width:58px}.header-actions{gap:2px}.menu-toggle{padding:9px 7px}.brand-name{font-size:16px}.brand-sub{font-size:11px}.discovery-row h2{font-size:18px}.discovery-controls .filter-tabs{gap:5px}.discovery-controls .filter-tabs button{padding-inline:9px}.visitor-tools{gap:6px}}
@media(prefers-reduced-motion:reduce){.visitor-action,.visitor-social-link{transition:none}}
@media print{.visitor-tools,.visitor-calendar,.discovery-search,.discovery-controls,.discovery-summary,.discovery-save,.visitor-share-dialog,.visitor-analytics-notice,.visitor-storage-warning,.discovery-more{display:none!important}.discovery-row{break-inside:avoid}.discovery-row-content>p{display:block;overflow:visible}}
