:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:#333;background:#fff;--blue:#20b3f5;--line:#f0f0f0}*{box-sizing:border-box}body{margin:0;padding-top:48px;padding-bottom:env(safe-area-inset-bottom)}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px}a{color:var(--blue);text-decoration:none}header{height:48px;background:#fff;position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);z-index:5;font-size:15px}header button{position:absolute;left:12px;background:none;border:0;font-size:22px;color:#777}.content{padding:16px 20px}.title{font-size:20px;font-weight:600;margin:8px 0 14px}.body-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.65}.cover{display:block;max-width:100%;max-height:420px;object-fit:contain;margin:0 auto;background:#fafafa;cursor:zoom-in}.action-row{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.primary,.secondary,.danger{border:0;border-radius:5px;padding:10px 16px;color:white;background:var(--blue);font-size:14px}.secondary{background:#f4f5f6;color:#555}.danger{background:#ef4444}.section-title{display:flex;align-items:center;justify-content:space-between;border-top:8px solid #f7f8fa;padding:16px 20px}.section-title h2{font-size:17px;margin:0;font-weight:500}.empty{text-align:center;color:#999;padding:36px 15px;font-size:14px}.review{padding:18px 20px;border-bottom:1px solid var(--line)}.review-head{display:flex;gap:10px;align-items:center;margin-bottom:10px}.avatar{width:34px;height:34px;border-radius:50%;background:#e8f8ff;color:var(--blue);display:grid;place-items:center;font-size:15px;flex-shrink:0}.author{font-size:14px;color:#555}.time{font-size:11px;color:#aaa;margin-top:3px}.review-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;font-size:14px}.review-actions{display:flex;gap:18px;margin-top:14px}.review-actions button{background:none;border:0;color:#999;font-size:13px;padding:2px}.review-actions button.liked{color:var(--blue)}.photos{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.photos img{width:calc((100vw - 56px)/3);max-width:160px;height:120px;object-fit:cover;border-radius:4px;cursor:zoom-in}.reply-list{margin:12px 0 0 24px;background:#fafafa;border-radius:5px}.reply-list .review{padding:12px}.editor{padding:20px 16px}.editor textarea{resize:vertical;width:100%;min-height:200px;border:1px solid #eee;border-radius:5px;padding:12px;font-size:15px;line-height:1.6;outline-color:var(--blue)}.count{text-align:right;font-size:12px;color:#aaa;margin:5px 0}.editor-controls{display:flex;justify-content:space-between;align-items:center;margin:12px 0 20px}.switch{display:flex;align-items:center;gap:8px;font-size:13px}.switch input{appearance:none;width:36px;height:21px;background:#ddd;border-radius:20px;position:relative;transition:background .15s}.switch input:after{content:"";position:absolute;background:#fff;border-radius:50%;height:17px;width:17px;top:2px;left:2px;box-shadow:0 1px 2px #aaa}.switch input:checked{background:var(--blue)}.switch input:checked:after{left:17px}.upload-label{width:80px;height:80px;background:#f7f8fa;border:1px dashed #ddd;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#999;font-size:11px;cursor:pointer}.upload-label span{font-size:26px}.upload-input{position:absolute;opacity:0;width:1px;height:1px}.upload-preview{display:flex;gap:10px;flex-wrap:wrap}.upload-item{position:relative}.upload-item img{width:80px;height:80px;object-fit:cover}.upload-item button{position:absolute;top:-5px;right:-5px;border:0;background:#555;color:white;width:22px;height:22px;border-radius:50%;padding:0}.hint{font-size:12px;color:#999;line-height:1.5}.login-hint{background:#f3fbff;color:#45829b;padding:12px;margin-bottom:16px;font-size:13px}.search{display:flex;gap:8px;padding:12px;background:#fff}.search input{flex:1;min-width:0;border:0;background:#f5f5f5;border-radius:20px;padding:10px 14px}.search button{border:0;border-radius:20px;background:var(--blue);color:#fff;padding:0 18px}.categories{padding:0 12px 12px}.categories select{width:100%;border:1px solid #eee;background:#fff;border-radius:4px;padding:9px;color:#555}.shop-row{display:flex;gap:14px;padding:16px;border-bottom:1px solid var(--line);cursor:pointer;align-items:center;width:100%;background:white;text-align:left;color:#333;border-left:0;border-right:0;border-top:0}.shop-row img{width:70px;height:70px;object-fit:cover;border-radius:4px}.shop-name{font-size:16px;margin-bottom:8px}.shop-meta{font-size:12px;color:#999}.shop-meta.open{color:#44a765}.more{display:block;margin:18px auto;border:0;background:#f7f8fa;padding:10px 24px;border-radius:4px;color:#777}.gallery{display:flex;flex-direction:column;gap:18px;padding:20px}.gallery img{max-width:100%;height:auto;object-fit:contain;cursor:zoom-in}dialog{border:0;border-radius:10px;padding:20px;max-width:min(92vw,520px);max-height:90vh;overflow:auto;color:#333}dialog::backdrop{background:#0008}dialog h3{font-size:17px;margin-top:0}dialog textarea{width:100%;padding:10px;border:1px solid #eee;border-radius:4px;min-height:100px}dialog .action-row{justify-content:flex-end;margin-bottom:0}.report-choice{display:block;padding:9px 0;font-size:14px}.lightbox{padding:0;background:transparent;max-width:96vw;max-height:96vh}.lightbox img{max-width:94vw;max-height:88vh;object-fit:contain;display:block}.lightbox button{display:block;margin:8px auto;border:0;border-radius:20px;background:#fff;color:#555;padding:8px 20px}#notice{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#333e;color:#fff;padding:10px 16px;border-radius:5px;font-size:13px;z-index:20;max-width:88vw;display:none}#notice.visible{display:block}.error{text-align:center;padding:40px 20px;color:#888}.error button{margin-top:14px}.form-submit{min-width:82px}@media(min-width:800px){.content,.editor{padding-left:35px;padding-right:35px}.review{padding-left:35px;padding-right:35px}.photos img{height:150px}.cover{max-height:520px}}
