:root{--shilu-botanical-green:#2F5E4C;--shilu-deep-forest:#234437;--shilu-sage-green:#A9B9AA;--shilu-moss-green:#BFCABC;--shilu-warm-ivory:#F8F7F2;--shilu-warm-beige:#E8E1D8;--shilu-charcoal:#2E2E2E;--shilu-muted-gold:#C7A56B;--shilu-font-platform-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,"PingFang TC","Microsoft JhengHei","Noto Sans TC","Noto Sans CJK TC",sans-serif;--shilu-font-english-headline:var(--shilu-font-platform-sans);--shilu-font-english-body-ui:var(--shilu-font-platform-sans);--shilu-font-chinese-headline:var(--shilu-font-platform-sans);--shilu-font-chinese-body-ui:var(--shilu-font-platform-sans);--shilu-font-admin-ui:var(--shilu-font-platform-sans);--shilu-font-display:var(--shilu-font-english-headline);--shilu-font-body:var(--shilu-font-chinese-body-ui);--shilu-surface-sage:#EDF2EE;--shilu-surface-moss:#F1F4F0;--shilu-surface-beige:#F1ECE6;--shilu-border:#D4DED7;--shilu-muted-text:#58655D;--shilu-on-primary:#F8F7F2;--shilu-focus:#2F5E4C;--shilu-shadow-soft:0 4px 8px rgb(35 68 55/7%);--shilu-focus-ring:rgb(47 94 76/36%);--shilu-focus-soft:rgb(47 94 76/12%)}.popup-dialog{width:min(560px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:16px;background:var(--shilu-warm-ivory);color:var(--shilu-charcoal);box-shadow:0 12px 40px rgb(23 40 32/22%);font-family:var(--shilu-font-chinese-body-ui)}.popup-dialog::backdrop{background:rgb(23 40 32/50%)}.popup-frame{display:flex;flex-direction:column;max-height:calc(100dvh - 32px)}.popup-heading{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:16px;padding:8px 12px 8px 24px;color:var(--shilu-deep-forest);font-size:14px}.popup-dialog button{min-width:44px;min-height:44px;border:0;background:transparent;color:var(--shilu-deep-forest);cursor:pointer;font:inherit}.popup-close{display:grid;place-items:center}.popup-close svg{width:22px;height:22px}.popup-body{min-height:0;padding:0 24px 28px;overflow-y:auto;overscroll-behavior:contain;overflow-wrap:anywhere;touch-action:pan-y}.popup-image{display:block;width:100%;max-height:min(44dvh,420px);margin:0 auto 24px;object-fit:contain}.popup-body h2{margin:0 0 16px;color:var(--shilu-deep-forest);font-family:var(--shilu-font-chinese-headline);font-size:26px;font-weight:500;line-height:1.5}.popup-text{margin:0 0 24px;white-space:pre-wrap;font-size:16px;line-height:1.85}.popup-image-error{margin:24px 0;color:var(--shilu-muted-text);font-size:16px;line-height:1.8}.popup-action{display:flex;min-height:48px;align-items:center;justify-content:center;padding:12px 20px;border-radius:8px;background:var(--shilu-deep-forest);color:var(--shilu-on-primary);text-decoration:none;text-align:center;font-size:16px}.popup-pagination{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:16px;padding:8px 16px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--shilu-border);font-size:14px}.popup-pagination button{padding:8px}.popup-pagination button:disabled{color:var(--shilu-muted-text);cursor:default;opacity:.65}.popup-action:focus-visible,.popup-dialog button:focus-visible{outline:3px solid var(--shilu-focus-ring);outline-offset:-3px}@media (max-width:640px){.popup-dialog{width:100%;margin:auto 0 0;border-radius:16px 16px 0 0}.popup-dialog,.popup-frame{max-height:90dvh}.popup-body{padding-inline:20px}.popup-body h2{font-size:24px}}