.place-banner{position:absolute;top:calc(env(safe-area-inset-top,0px) + 14px);left:50%;transform:translateX(-50%);z-index:32;max-width:240px;padding:7px 16px;color:#f7f0d5;background:#20392f;border:2px solid #f7f0d5;box-shadow:0 0 0 2px #20392f,3px 4px 0 2px #162b2580;border-radius:0;font:600 12px/1.3 "Cascadia Mono","Microsoft YaHei",monospace;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;cursor:pointer;pointer-events:auto}
.place-banner:hover,.place-banner:focus-visible{background:#48684d;outline:2px solid #abc89b;outline-offset:4px}
.place-banner[hidden]{display:none}
.place-announcement{position:absolute;top:0;left:0;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.place-detail{box-sizing:border-box;padding:0;border:3px solid #f7f0d5;border-radius:0;width:min(650px,calc(100vw - 34px));max-height:calc(100dvh - 48px);color:#f7f0d5;background:#20392f;box-shadow:0 0 0 3px #20392f,6px 7px 0 3px #162b2580;font-family:"Cascadia Mono","Microsoft YaHei",monospace;font-size:13px;overscroll-behavior:contain;scrollbar-color:#91aa83 #20392f;scrollbar-width:thin}
.place-detail::backdrop{background:#10281eb8}
.place-detail>header{position:relative;padding:23px 64px 21px 24px;border-bottom:2px solid #68836a;background:#314f3f}
.place-kicker{font-size:10px;color:#c0cdaa;letter-spacing:3px}
.place-detail h2{color:#f1d799;font-size:23px;line-height:1.45;margin:9px 0 0;font-weight:700;overflow-wrap:anywhere}
.place-close{position:absolute;top:16px;right:16px;width:34px;height:34px;padding:0;border:2px solid #91aa83;border-radius:0;color:#f7f0d5;background:#20392f;box-shadow:3px 3px 0 #162b2580;font:22px/1 "Cascadia Mono","Microsoft YaHei",monospace;cursor:pointer}
.place-close:hover{background:#48684d;border-color:#f7f0d5}
.place-close:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #162b2580}
.place-body{padding:23px 24px}
.place-memories{min-width:0}
.place-memories h3{color:#f1d799;font-size:15px;margin:0}
.place-memories h4{color:#f1d799;font-size:12px;margin:0 0 12px}
.place-memories p{line-height:1.8;overflow-wrap:anywhere}
.place-memories button{border:2px solid #91aa83;border-radius:0;padding:7px 12px;color:#f7f0d5;background:#294638;font:inherit;cursor:pointer;min-height:38px}
.place-memories button:hover{background:#48684d}
.place-memories button:disabled{opacity:.5;cursor:default}
.place-memories button.memory-primary{background:#f1d799;border-color:#f7f0d5;color:#20392f;font-weight:700;box-shadow:3px 3px 0 #162b25}
.memory-toolbar,.memory-nav,.memory-card-actions,.memory-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.memory-status{font-size:12px;color:#f1d799;margin:12px 0;min-height:22px}
.memory-nav{margin:0 0 12px}
.memory-arrow{width:44px;font-size:18px!important}
.memory-counter{color:#c0cdaa;font-size:12px}
.memory-card{border:2px solid #68836a;background:#294638;padding:18px;box-shadow:4px 4px 0 #162b2580;min-width:0}
.memory-author{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;color:#f1d799;font-size:12px;overflow-wrap:anywhere}
.memory-author time{font-size:10px;color:#b9c9a9}
.memory-text{font-size:14px;color:#f7f0d5;margin:18px 0;white-space:pre-wrap}
.memory-empty{font-size:12px;color:#b9c9a9;margin:12px 0}
.memory-images{display:grid;gap:10px}
.memory-images:empty{display:none}
.memory-images figure{margin:0;min-width:0}
.memory-images img{display:block;width:100%;max-height:360px;object-fit:contain;background:#162d25}
.memory-card-actions{border-top:1px solid #68836a;margin-top:18px;padding-top:12px;font-size:11px;color:#c0cdaa}
.memory-like[aria-pressed=true]{color:#f1d799;border-color:#f1d799}
.memory-replies{margin-top:18px;padding-top:16px;border-top:1px solid #68836a}
.memory-reply{padding:10px 0;border-bottom:1px solid #48684d}
.memory-reply-text{font-size:12px;color:#e2e9cd;margin:5px 0 0;white-space:pre-wrap}
.memory-reply-form{display:grid;gap:10px;margin-top:14px}
.place-memories textarea{box-sizing:border-box;width:100%;max-width:100%;resize:vertical;min-height:68px;padding:10px;border:2px solid #91aa83;border-radius:0;background:#162d25;color:#f7f0d5;font:13px/1.7 "Cascadia Mono","Microsoft YaHei",monospace}
.place-memories textarea::placeholder{color:#9daf98}
.place-memories textarea:focus-visible{outline:2px solid #f1d799;outline-offset:2px}
.memory-reply-submit{justify-self:end}
.memory-composer{margin-top:20px;padding:16px;border:2px solid #91aa83;background:#314f3f}
.memory-composer label{display:grid;gap:9px;font-size:12px;color:#f1d799}
.memory-file-label{margin-top:14px}
.memory-file-label input{font:11px/1.7 inherit;max-width:100%;color:#c0cdaa}
.memory-compose-actions{justify-content:flex-end;margin-top:16px}
.memory-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.memory-photos figure{margin:0;min-width:0}
.memory-photos img{display:block;width:100%;height:100px;object-fit:cover;margin-bottom:6px}
.memory-photos button{font-size:10px;width:100%;padding:5px}
.place-memories [hidden]{display:none!important}
.place-detail button:focus-visible{outline:2px solid #f1d799;outline-offset:4px}
@media(max-width:650px){.place-banner{top:calc(env(safe-area-inset-top,0px) + 69px);max-width:clamp(64px,calc(100vw - 276px),190px);padding:6px 12px;font-size:11px}.place-detail>header{padding:21px 58px 18px 18px}.place-body{padding:18px 14px}.place-detail h2{font-size:21px}.memory-card{padding:13px}.memory-images img{max-height:270px}.memory-text{font-size:13px}.memory-composer{padding:12px}.memory-toolbar{gap:8px}.memory-toolbar button{font-size:12px}}
