/* A quiet, shared margin for readers' memories and annotations. */
.annotations{--annotation-paper:#faf7ef;--annotation-rule:#d5ccbc;position:relative;z-index:49;font:15px/1.55 var(--sans);color:var(--ink)}
.annotations [hidden]{display:none!important}
.annotations button,.annotations input,.annotations textarea{font:inherit}
.annotations button{min-height:44px}
.annotations button:disabled{cursor:not-allowed;opacity:.55}
.annotations :focus-visible{outline:3px solid var(--red);outline-offset:3px}
.annotation-dock{position:fixed;right:22px;bottom:max(22px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;border:1px solid #8b30292b;border-radius:3px;background:var(--annotation-paper);color:var(--red);padding:11px 16px;box-shadow:0 3px 20px #241b1724;font-size:14px!important;letter-spacing:.01em}
.annotation-dock:before{content:'+';font:25px/1 var(--serif);padding-right:2px}
.is-open .annotation-dock:before{content:'−'}
.annotation-dock:hover{background:#eee6d6}
.annotation-dock-count{display:grid;place-items:center;min-width:23px;height:23px;padding:0 5px;border-radius:50%;background:var(--red);color:var(--annotation-paper);font-size:12px}
.annotation-panel{position:fixed;right:22px;bottom:85px;width:min(420px,calc(100vw - 44px));max-height:calc(100dvh - var(--nav-height,76px) - 105px);overflow-y:auto;overscroll-behavior:contain;padding:25px;background:var(--annotation-paper);border:1px solid var(--annotation-rule);border-radius:4px;box-shadow:0 12px 48px #241b1733;scrollbar-width:thin;animation:annotation-appear .18s ease-out}
.annotation-header{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:12px}
.annotation-eyebrow{color:var(--red);font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:7px}
.annotation-header h2{font:29px/1.15 var(--serif);letter-spacing:-.035em}
html[lang=zh-Hant] .annotation-header h2{font-family:var(--brush);letter-spacing:.03em}
.annotation-close{flex:0 0 38px;min-width:38px;background:transparent;border:1px solid var(--annotation-rule);font:26px/1 var(--sans)!important;margin-top:-3px;min-height:38px!important}
.annotation-close:hover{background:#eee6d6}
.annotation-intro{font:16px/1.6 var(--serif);color:var(--muted);margin:0 0 21px}
.annotation-tabs{display:flex;gap:24px;border-bottom:1px solid var(--annotation-rule);margin-bottom:22px}
.annotation-tabs button{background:transparent;padding:9px 0;border-bottom:2px solid transparent;color:var(--muted);font-size:14px}
.annotation-tabs button[aria-pressed=true]{color:var(--red);border-color:var(--red);font-weight:600}
.annotation-count{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.annotation-empty{font:22px/1.45 var(--serif);padding-top:16px}
.annotation-empty+.annotation-small{margin-top:10px}
.annotation-small{font:12px/1.6 var(--sans);color:var(--muted)}
.annotation-public-note{border-top:1px solid var(--annotation-rule);margin-top:25px;padding-top:15px}
.annotation-card{padding:20px 0;border-top:1px solid var(--annotation-rule);overflow-wrap:anywhere}
.annotation-card:first-child{border-top:0}
.annotation-card-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.annotation-card h3{font:600 15px/1.45 var(--sans)}
.annotation-card time{font:11px/1.5 var(--sans);color:var(--muted);flex-shrink:0}
.annotation-card-body{white-space:pre-wrap;font:15px/1.7 var(--sans)}
.annotation-card-target{display:block;width:100%;max-height:120px;overflow:auto;background:#eee8db;border-left:2px solid var(--red);padding:10px 12px;margin:0 0 12px;text-align:left;color:#6c4b3c;font:13px/1.6 var(--serif)!important}
.annotation-card-target:hover{background:#e5ddcd;text-decoration:underline;text-underline-offset:3px}
.annotation-attachment{display:block;margin-top:13px;color:var(--red);font-size:12px;min-height:44px;padding:10px 0}
.annotation-target{padding:15px;background:#eee8db;border:1px solid #e2d9c9;margin-bottom:20px}
.annotation-target-value{font:16px/1.5 var(--serif);max-height:112px;overflow-y:auto;margin:5px 0 12px;overflow-wrap:anywhere}
.annotation-target-actions{display:flex;align-items:center;flex-wrap:wrap;gap:2px 12px}
.annotation-secondary{background:transparent;color:var(--red);border:1px solid #a48171;padding:8px 11px;font-size:13px!important;line-height:1.4!important}
.annotation-secondary:hover{background:#e7ddcc}
.annotation-text-button{padding:7px 0;background:transparent;color:var(--red);text-decoration:underline;text-underline-offset:3px;font-size:12px!important}
.annotation-label{display:block;font-size:13px;font-weight:600;margin:18px 0 7px;line-height:1.5}
.annotation-form input:not([type=file]),.annotation-form textarea{width:100%;border:1px solid #bcb19e;border-radius:0;background:#fffdf8;padding:10px 11px;min-height:44px;color:var(--ink);font-size:16px;line-height:1.5}
.annotation-form textarea{resize:vertical;min-height:138px}
.annotation-form input::placeholder,.annotation-form textarea::placeholder{color:#716b60;font-size:14px;opacity:1}
.annotation-file{display:block;max-width:100%;font-size:12px!important;line-height:1.5;padding:4px 0;color:var(--muted)}
.annotation-file::file-selector-button{padding:8px 10px;min-height:42px;margin:0 9px 4px 0;border:1px solid #a48171;background:transparent;color:var(--red);font:13px var(--sans);cursor:pointer}
.annotation-moderation{border-top:1px solid var(--annotation-rule);padding-top:14px;margin-top:18px!important}
.annotation-captcha{margin:16px 0}
.annotation-captcha-mount{min-width:0;max-width:100%}
.annotation-captcha-mount iframe{max-width:100%}
.annotation-captcha .annotation-label{margin-bottom:8px}
.annotation-status{font:13px/1.6 var(--sans);color:var(--red);margin:12px 0;overflow-wrap:anywhere}
.annotation-status:empty{display:none}
.annotation-primary{display:block;width:100%;background:var(--red);color:#fffaf0;padding:12px 15px;font-size:14px!important;margin:18px 0 0}
.annotation-primary:hover:not(:disabled){background:#70251f}
.annotation-notice{padding:13px;background:#eee8db;border-left:2px solid var(--red);font-size:13px;margin-bottom:18px}
.annotation-success{padding:8px 0;font:20px/1.6 var(--serif)}
.annotation-success .annotation-secondary{margin-top:20px}
.annotation-pick-bar{position:fixed;bottom:max(22px,env(safe-area-inset-bottom));right:22px;width:min(410px,calc(100vw - 44px));padding:17px 20px;background:var(--annotation-paper);border:1px solid var(--red);box-shadow:0 4px 25px #241b172e}
.annotation-pick-bar p{font-size:14px;line-height:1.6;margin:0 0 12px}
.annotation-picking main .annotation-pickable{cursor:crosshair}
.annotation-hover-target,.annotation-picking main .annotation-pickable:focus{outline:3px solid var(--red)!important;outline-offset:5px;background-color:#b8914d18}
.annotation-source-highlight{outline:3px solid #ab7d31!important;outline-offset:6px}
.chapters-open .annotations{visibility:hidden}
@keyframes annotation-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:700px){
  .annotation-dock{right:12px;bottom:max(12px,env(safe-area-inset-bottom));padding:9px 12px;font-size:12px!important;gap:6px}
  .annotation-dock:before{font-size:22px}.annotation-dock-count{min-width:20px;height:20px;font-size:11px}
  .annotation-panel{right:12px;bottom:74px;width:calc(100vw - 24px);max-height:calc(100dvh - var(--nav-height,70px) - 88px);padding:22px}
  .annotation-header h2{font-size:28px}.annotation-pick-bar{right:12px;bottom:74px;width:calc(100vw - 24px)}
  .annotation-card-meta{flex-wrap:wrap;gap:3px 12px}.annotation-captcha-mount{overflow-x:auto}
}
@media(max-width:360px){.annotation-panel{padding:17px}.annotation-dock{padding-inline:10px}.annotation-header h2{font-size:25px}.annotation-tabs{gap:22px}}
@media(prefers-reduced-motion:reduce){.annotation-panel{animation:none}}
@media print{.annotations{display:none!important}.annotation-source-highlight{outline:none!important}}
.annotation-manage{display:block;border-top:1px solid var(--annotation-rule);margin:20px 0 -8px;padding:14px 0 0;color:var(--muted);font-size:11px;min-height:36px;text-align:right}
.annotation-load-more{width:100%;margin-top:10px}
.annotation-context-marker{display:flex;align-items:center;gap:7px;position:relative;z-index:9;min-height:36px;background:var(--paper);border:1px solid #b9a68d;color:var(--red);font:12px/1.4 var(--sans);padding:6px 10px;margin:10px 0 14px;width:fit-content;max-width:100%;cursor:pointer}
.annotation-context-marker:before{content:'+';font:18px/1 var(--serif)}
.annotation-context-marker:hover{background:#e8dfcf}
.annotation-context-marker:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.annotation-picking .annotation-context-marker{visibility:hidden}
@media print{.annotation-context-marker{display:none!important}}
@media(max-width:480px){
  .story-edition .annotation-dock{bottom:calc(72px + env(safe-area-inset-bottom))}
  .story-edition .annotation-panel{bottom:calc(134px + env(safe-area-inset-bottom));max-height:calc(100dvh - var(--nav-height,70px) - 148px - env(safe-area-inset-bottom))}
  .story-edition .annotation-pick-bar{bottom:calc(74px + env(safe-area-inset-bottom))}
}
/* Direct annotations are discoverable at the words and photographs themselves. */
.annotation-selection-bubble{position:fixed;z-index:59;max-width:calc(100vw - 24px)}
.annotation-context-action{display:flex;align-items:center;gap:9px;min-height:44px;background:var(--annotation-paper);color:var(--red);border:1px solid #9d7360;box-shadow:0 4px 18px #241b1738;padding:10px 14px;font:14px/1.4 var(--sans);white-space:nowrap}
.annotation-context-action:before{content:'+';font:23px/1 var(--serif)}
.annotation-context-action:hover{background:#eee6d6}
.annotation-photo-frame{position:relative}
.annotation-photo-action{position:absolute;z-index:11;display:flex;align-items:center;justify-content:center;gap:0;min-width:44px;min-height:44px;max-width:calc(100% - 20px);padding:8px 11px;border:1px solid #b69b7e;border-radius:3px;background:#faf7eff2;box-shadow:0 2px 10px #241b1733;color:var(--red);font:12px/1.4 var(--sans);cursor:pointer}
.annotation-photo-icon{font:25px/1 var(--serif);flex:0 0 auto}
.annotation-photo-label{display:block;max-width:0;overflow:hidden;opacity:0;white-space:nowrap;text-overflow:ellipsis;transition:max-width .15s,opacity .15s}
.annotation-photo-affordance:hover>.annotation-photo-action .annotation-photo-label,.annotation-photo-action:hover .annotation-photo-label,.annotation-photo-action:focus-visible .annotation-photo-label{max-width:210px;opacity:1;margin-left:8px}
.annotation-photo-action:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.annotation-photo-focused{outline:3px solid #ad8038!important;outline-offset:5px}
.annotation-has-notes{outline:2px solid #b08a4890;outline-offset:5px;background-color:#ba995d15}
img.annotation-has-notes{outline:3px solid #b08a48;outline-offset:4px}
.annotation-target-preview{display:block;width:100%;max-height:130px;object-fit:contain;object-position:left;margin:0 0 10px;background:#e4dac8}
.annotation-reply{margin-top:10px}
.annotation-original-source{display:block;font:12px/1.5 var(--sans);color:var(--red);margin:0 0 12px;min-height:32px}
.annotation-conversations{display:block;margin-top:22px;padding:12px 0;border-top:1px solid var(--annotation-rule);color:var(--red);font:14px/1.5 var(--sans);min-height:44px}
.annotation-picking .annotation-photo-action{visibility:hidden}
@media(hover:none){.annotation-photo-action .annotation-photo-label{max-width:140px;opacity:1;margin-left:7px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.annotation-photo-label{transition:none}}
@media print{.annotation-photo-action{display:none!important}.annotation-has-notes{outline:none!important;background:none!important}}
.annotation-read-context{padding:14px;background:#eee8db;border-left:2px solid var(--red);margin:0 0 17px}
.annotation-context-quote{font:16px/1.5 var(--serif);max-height:110px;overflow-y:auto;overflow-wrap:anywhere;margin:6px 0}
.annotation-read-context .annotation-text-button{min-height:36px}
