@font-face{font-family:Kanit;src:url(/fonts/Kanit-Regular.ttf)}@font-face{font-family:Kanit;src:url(/fonts/Kanit-Medium.ttf);font-weight:500}@font-face{font-family:Kanit;src:url(/fonts/Kanit-SemiBold.ttf);font-weight:600}@font-face{font-family:Kanit;src:url(/fonts/Kanit-Bold.ttf);font-weight:700}:root{--bg:#fff9f2;--surface:#fff;--ink:#2d2a26;--muted:#6b645c;--divider:#f0e9df;--primary:#0e7a5e;--mint:#9ee6c8;--soft:#dff6ec;--blush:#ffb8c6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Kanit,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:transparent}a{color:inherit;text-decoration:none}a,button,input,select,textarea{outline-offset:3px;-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #3b5bdb}button:disabled{opacity:.5;cursor:not-allowed}button:hover:not(:disabled){filter:brightness(.97)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}input,select,textarea{min-width:0}input,textarea{background:transparent;border:0}input::placeholder,textarea::placeholder{color:#8b8278}select{min-height:44px;border:0;background:transparent;cursor:pointer}svg{flex-shrink:0}.muted{color:var(--muted)}.eyebrow{font-size:11px;color:var(--primary);letter-spacing:.7px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:999px;padding:10px 21px;background:var(--mint);color:#0b3f2f;font-size:14px;font-weight:500}.secondary{background:#f5efe6}.app-header{height:72px;gap:30px;padding:0 24px;border-bottom:1px solid var(--divider);background:var(--bg)}.app-header,.logo{display:flex;align-items:center}.logo{font-size:25px;font-weight:600;letter-spacing:-.8px;color:#0b3f2f;gap:7px;white-space:nowrap}.logo>span{font-weight:400;margin-left:-7px}.app-header nav{display:flex;gap:28px;font-size:14px;margin-left:35px;align-items:center}.nav-active{color:var(--primary);font-weight:500}.header-tag{margin-left:auto;font-size:12px;color:var(--muted)}.map-first{padding:18px 20px 16px}.discover-top{display:flex;align-items:center;gap:30px;margin-bottom:14px}.discover-top h1{font-size:26px;line-height:1.3;margin:3px 0 0;letter-spacing:-.6px}.discover-top h1>span{color:var(--primary)}.search-controls{display:flex;gap:10px;flex:1;max-width:1000px;margin-left:auto}.search{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--divider);border-radius:13px;padding:0 13px;min-height:48px;flex:1;color:var(--muted)}.search input{width:100%;outline:none;font-size:14px}.search button{display:grid;place-items:center;min-height:42px;min-width:30px}.province{display:flex;align-items:center;gap:5px;background:var(--surface);border:1px solid var(--divider);border-radius:13px;padding:0 12px;color:var(--primary);max-width:240px}.province select{max-width:100%;font-size:14px;color:var(--ink)}.location{display:flex;align-items:center;justify-content:center;gap:7px;background:var(--soft);border-radius:999px;padding:0 17px;min-height:48px;color:var(--primary);font-size:13px}.location.active{background:var(--mint)}.chips,.filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-bar{margin-bottom:16px;flex-wrap:nowrap;overflow:auto;scrollbar-width:thin;padding:1px 0 5px}.filter-label{display:flex;align-items:center;gap:7px;color:var(--muted);margin-right:5px}.chip,.filter-label{font-size:12px;white-space:nowrap}.chip{padding:8px 14px;min-height:42px;border:1px solid var(--divider);background:var(--surface);border-radius:999px;flex-shrink:0}.chip.active{background:var(--soft);border-color:#a8d8bf;color:#0b3f2f}.filter-divider{width:1px;height:23px;background:#e3dcd1;flex-shrink:0;margin:0 3px}.reset{font-size:11px;color:var(--muted);text-decoration:underline;white-space:nowrap;min-height:42px;margin-left:4px}.view-toggle{display:grid;place-items:center;margin-left:auto;border:1px solid var(--divider);border-radius:12px;min-width:42px;min-height:42px;background:var(--surface);color:var(--primary)}.explorer{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,31%);gap:18px;height:calc(100dvh - 235px);min-height:420px}.map-panel{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--divider);border-radius:22px;overflow:hidden;min-width:0;min-height:0}.map-top{padding:12px 18px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.map-top>span:last-child{font-size:10px;color:var(--muted)}.live-dot{display:inline-block;width:6px;height:6px;background:var(--primary);border-radius:50%;margin-right:6px}.map-panel iframe{width:100%;flex:1;border:0;min-height:0;filter:saturate(.85)}.map-footer{height:70px;display:flex;align-items:center;padding:5px 16px 5px 4px;gap:8px}.mascot-mini{width:80px;height:65px;overflow:hidden;flex-shrink:0}.mascot-mini svg{height:68px;width:88px}.map-footer b{font-size:14px;font-weight:500;display:block}.map-footer small{display:block;font-size:11px;color:var(--muted)}.map-footer>a{display:grid;place-items:center;background:var(--soft);border-radius:50%;width:42px;height:42px;margin-left:auto;color:var(--primary)}.list-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden;background:#fffdf9;border:1px solid var(--divider);border-radius:22px}.rating-tabs{display:grid;grid-template-columns:1fr 1fr;margin:12px 12px 0;background:#f2eee7;border-radius:999px;padding:4px;flex-shrink:0}.rating-tabs button{display:flex;align-items:center;justify-content:center;gap:5px;font-size:13px;min-height:43px;border-radius:999px;white-space:nowrap}.rating-tabs small{font-size:9px;opacity:.7}.rating-tabs .selected{background:var(--mint);color:#0b3f2f;font-weight:500}.result-toolbar{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;gap:8px;flex-shrink:0}.result-toolbar b{font-weight:500;font-size:15px}.result-toolbar small{display:block;font-size:10px;color:var(--muted)}.result-toolbar select{max-width:125px;font-size:11px}.cards-scroll{overflow:auto;padding:0 12px 12px;overscroll-behavior:contain;scrollbar-width:thin}.card{border:1px solid var(--divider);border-radius:18px;background:var(--surface);overflow:hidden;margin-bottom:10px;transition:border-color .15s}.card.active-card{border-color:#9dcdb6;box-shadow:0 0 0 1px #9dcdb630}.card-content{display:block;text-align:left;width:100%;padding:16px 15px 12px;min-height:100px}.card-heading{display:flex;align-items:start;justify-content:space-between;gap:15px}.card-heading h3{font-size:17px;line-height:1.4;margin:0 0 7px}.rating{font-size:25px;color:var(--primary);display:flex;align-items:baseline;gap:3px;line-height:1.2;font-weight:500;white-space:nowrap}.rating small{font-size:9px;color:var(--muted);font-weight:400}.address{font-size:11px;color:var(--muted);align-items:center;gap:4px;margin:0 0 8px}.address,.tags{display:flex;flex-wrap:wrap}.tags{gap:5px}.tags span{background:var(--soft);color:var(--primary);padding:2px 8px;border-radius:999px;font-size:10px}.tags .dining-type{background:#fff0d4;color:#8a4b00}.card-footer{margin:0 15px;padding:9px 0;display:flex;justify-content:space-between;align-items:center;gap:4px;border-top:1px solid var(--divider);font-size:11px;color:var(--muted)}.card-footer b{font-size:15px;color:var(--ink);font-weight:500}.card-footer small{font-size:9px}.card-footer button{display:flex;gap:3px;align-items:center;font-size:11px;min-height:32px}.list-bottom{text-align:center;padding:12px 0 4px}.list-bottom>button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;font-size:12px;color:var(--primary)}.list-bottom p,.list-bottom>a{font-size:10px;color:var(--muted);margin:5px 0}.list-bottom a:hover{text-decoration:underline}.empty{text-align:center;padding:38px 18px;background:var(--surface);border:1px dashed #d6e2d7;border-radius:18px;color:var(--primary)}.empty h3{font-size:19px;margin:12px 0}.empty p{font-size:13px;line-height:1.8;color:var(--muted)}.empty>span:not(.loader){font-size:35px}.empty .primary{font-size:12px;padding:8px 16px}.notice{padding:13px 16px;background:#fff0d4;color:#805000;border-radius:13px;font-size:13px;margin:8px 0 14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.notice button{min-height:35px;text-decoration:underline}.notice.danger{background:#ffe8e5;color:#a12820}.toast{position:fixed;z-index:100;bottom:24px;left:50%;transform:translateX(-50%);background:#0b3f2f;color:white;padding:14px 22px;border-radius:20px;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);font-size:14px;box-shadow:0 5px 24px #0b3f2f30}.list-only{grid-template-columns:1fr}.list-only .cards-scroll{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;align-items:start}.list-only .rating-tabs{max-width:450px}.list-only .list-bottom{grid-column:1/-1}.overlay{position:fixed;inset:0;background:#143d2c66;backdrop-filter:blur(4px);z-index:60;display:flex;align-items:center;justify-content:center;padding:20px}.dialog{position:relative;max-height:92dvh;overflow:auto;background:var(--bg);border-radius:28px;padding:30px;width:640px;max-width:100%}.dialog>h2{font-size:26px;padding-right:35px;margin:0 0 8px;line-height:1.4}.dialog>.muted{font-size:13px}.close{position:absolute;top:16px;right:16px;border-radius:50%;background:var(--surface);display:grid;place-items:center;width:42px;height:42px}.field{display:flex;flex-direction:column;gap:6px;font-size:14px;margin:16px 0}.field>input,.field>select,.field>textarea{background:var(--surface);border:1px solid var(--divider);border-radius:12px;padding:11px 12px;width:100%}.field>.search{flex:auto}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-two .field{margin:0}.form-actions{display:flex;gap:12px;align-items:center;margin-top:20px;flex-wrap:wrap}.shop-options{display:flex;flex-direction:column;gap:7px}.google-review-search>button,.shop-options>button{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--divider);border-radius:13px;min-height:55px;padding:10px 14px;background:var(--surface)}.selected-shop b,.shop-options b{font-weight:500;font-size:14px;display:block}.selected-shop small,.shop-options small{display:block;font-size:11px;color:var(--muted)}.shop-options .add-shop{border-color:#b9dfcb;justify-content:center;font-size:13px}.selected-shop,.shop-options .add-shop{color:var(--primary);background:var(--soft)}.selected-shop{display:flex;gap:10px;align-items:center;border-radius:14px;padding:14px;margin:16px 0}.selected-shop button{margin-left:auto;white-space:nowrap;font-size:12px;text-decoration:underline;min-height:35px}.dialog form h3{font-size:18px;margin:24px 0 4px}.dialog form>.muted{font-size:12px}.ratings-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ratings-form label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.ratings-form select{border:1px solid var(--divider);border-radius:12px;background:var(--surface);padding:0 8px;font-size:13px}.fineprint{font-size:11px;color:var(--muted)}.fineprint a{text-decoration:underline}.score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.score-grid>div{display:flex;flex-direction:column;border:1px solid var(--divider);padding:12px;background:var(--surface);border-radius:16px;font-size:12px}.score-grid b{font-size:24px;font-weight:500;color:var(--primary)}.detail-tabs{background:var(--soft);border-radius:12px;padding:8px 12px;font-size:13px;color:var(--primary)}.reviews-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.reviews-head h3{font-size:16px;margin:0}.reviews-head .primary{font-size:12px;padding:8px 15px}.review{background:var(--surface);border-radius:16px;border:1px solid var(--divider);padding:16px;margin:12px 0}.review-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.review-meta b{font-weight:500}.review-meta small{font-size:10px;color:var(--muted)}.review p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;margin:12px 0}.report-button{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);min-height:40px;margin-top:8px}.empty-review{font-size:13px;text-align:center;background:var(--surface);padding:24px;border-radius:16px;color:var(--muted)}.source-link{display:inline-flex;align-items:center;gap:5px;color:var(--primary);font-size:12px;min-height:42px}.google-score{font-size:50px;color:var(--primary);margin:20px 0}.google-score small{font-size:13px;color:var(--muted);margin-left:8px}.load-more{display:flex;align-items:center;justify-content:center;width:100%;gap:8px;padding:12px;background:var(--soft);border-radius:999px;color:var(--primary);font-size:13px}.loader{display:inline-block;width:24px;height:24px;border-radius:50%;border:3px solid var(--soft);border-top-color:var(--primary);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.auth-page{display:grid;place-items:center;min-height:100dvh;padding:24px}.auth-card{max-width:480px;background:var(--surface);border:1px solid var(--divider);border-radius:28px;padding:36px}.auth-card h1{font-size:30px;margin:12px 0}.auth-card p{font-size:15px;color:var(--muted)}.auth-card>a{display:flex;margin-top:18px;font-size:14px}.prose-page{max-width:780px;padding:40px 24px;margin:auto}.prose-page h1{font-size:34px;margin:30px 0 18px}.prose-page h2{font-size:22px}.prose-page li,.prose-page p{color:var(--muted);line-height:1.9}.prose-page a{color:var(--primary);text-decoration:underline}.admin-dashboard>header{display:flex;align-items:center;gap:30px;padding:20px 32px;border-bottom:1px solid var(--divider)}.admin-dashboard>header>span{font-size:15px}.admin-dashboard>header>a:last-child{margin-left:auto;font-size:13px;color:var(--primary)}.admin-dashboard>main{max-width:1400px;padding:30px;margin:auto}.admin-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-title h1{font-size:30px;margin:8px 0}.admin-title p{font-size:13px}.stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin:24px 0}.stat{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--divider);padding:18px;border-radius:20px;gap:6px;color:var(--primary)}.stat span{font-size:12px;color:var(--muted)}.stat b{font-size:30px;font-weight:500}.admin-overview{display:grid;grid-template-columns:1.7fr 1fr;gap:18px;margin:24px 0}.admin-box{padding:22px;background:var(--surface);border:1px solid var(--divider);border-radius:22px}.admin-box h3{font-size:17px;margin:0 0 20px}.bar-chart{height:165px;display:flex;gap:8px;align-items:end}.bar-chart>div{display:flex;flex:1;flex-direction:column;gap:5px;align-items:center}.bar-chart span{background:var(--mint);width:100%;border-radius:5px 5px 0 0}.bar-chart small{font-size:9px;color:var(--muted)}.metric-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--divider);padding:8px 0;font-size:13px}.metric-row b{font-weight:500;color:var(--primary)}.admin-tabs{display:flex;gap:8px;margin:26px 0 16px}.admin-tabs button{min-height:46px;border-radius:999px;padding:10px 20px;border:1px solid var(--divider);font-size:13px;background:var(--surface)}.admin-tabs button.selected{background:var(--mint);border-color:var(--mint)}.admin-tabs b{font-weight:500;margin-left:5px}.moderation-list{display:grid;gap:16px}.moderation-card{border:1px solid var(--divider);padding:24px;background:var(--surface);border-radius:22px}.moderation-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.moderation-head h3{font-size:19px;margin:0}.moderation-card>.muted{font-size:12px;margin:8px 0}.status-pill{font-size:11px;background:#fff0d4;padding:4px 10px;border-radius:999px;color:#8a4b00}.risk-tags{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.risk-tags span{display:flex;align-items:center;gap:5px;background:#ffe8e5;color:#b42318;border-radius:999px;padding:4px 10px;font-size:11px}.post-text{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);padding:16px;border-radius:12px;font-size:14px}.danger-button{color:#b42318;border:1px solid #efcdc8;border-radius:999px;min-height:44px;padding:10px 20px;font-size:13px}@media (min-width:1800px){.app-header{padding:0 32px}.map-first{padding:20px 28px}.explorer{grid-template-columns:minmax(0,1fr) minmax(460px,30%)}.discover-top h1{font-size:30px}.card-heading h3{font-size:19px}.card-content{padding:20px}.card-footer{margin:0 20px}.search-controls{max-width:1350px}}@media (max-width:1050px){.header-tag{display:none}.app-header .primary{margin-left:auto}.app-header nav{margin-left:0}.discover-top{gap:18px}.discover-top h1{font-size:23px}.search-controls{gap:8px}.province{max-width:195px}.location{padding:0 12px}.explorer{grid-template-columns:minmax(0,1fr) minmax(340px,40%)}.rating-tabs button{font-size:12px}.filter-label,.rating-tabs small{display:none}.stat-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:760px){.app-header{height:64px;padding:0 16px;gap:12px}.logo{font-size:22px;gap:5px}.logo svg{width:22px}.app-header nav{display:none}.app-header .primary{min-height:42px;padding:8px 14px;font-size:12px}.map-first{padding:14px 12px}.discover-top{display:block;margin-bottom:12px}.discover-top h1{font-size:24px}.discover-top .eyebrow{font-size:10px}.search-controls{display:grid;grid-template-columns:1fr auto;margin:14px 0 0;gap:8px}.search-controls>.search{grid-column:1/-1}.search{min-height:46px}.province{max-width:none;min-height:44px}.province select{width:100%;font-size:12px}.location{min-height:44px;font-size:12px;padding:0 16px}.filter-bar{gap:7px;margin-bottom:10px}.chip{min-height:40px;padding:7px 12px;font-size:11px}.reset{font-size:10px}.view-toggle{display:none}.explorer{display:flex;flex-direction:column;height:auto;gap:12px;min-height:0}.map-panel{height:290px;flex-shrink:0;border-radius:18px}.map-top{padding:8px 12px;font-size:11px}.map-footer{height:54px;padding:4px 12px 4px 0}.map-footer b{font-size:12px}.map-footer small{font-size:9px}.mascot-mini{height:48px;width:62px}.mascot-mini svg{height:50px;width:66px}.map-footer>a{width:36px;height:36px}.list-panel{border-radius:18px}.cards-scroll,.list-panel{overflow:visible}.rating-tabs button{font-size:13px}.rating-tabs small{display:block;font-size:9px}.result-toolbar{padding:10px 16px}.card-heading h3{font-size:17px}.card-content{min-height:90px}.card-footer small{display:none}.list-only .cards-scroll{display:block}.overlay{padding:10px}.dialog{padding:26px 18px;max-height:94dvh}.dialog>h2{font-size:23px}.ratings-form{gap:10px}.ratings-form label{font-size:12px}.ratings-form select{font-size:12px;max-width:93px}.form-two{gap:10px}.dialog form>.muted{font-size:11px}.score-grid{gap:7px}.review-meta{align-items:start}.reviews-head h3{font-size:15px}.reviews-head .primary{padding:8px 12px}.admin-dashboard>header{padding:16px;gap:12px;flex-wrap:wrap}.admin-dashboard>header>span{display:none}.admin-dashboard>main{padding:20px 14px}.admin-title{align-items:start}.admin-title h1{font-size:24px}.admin-title .primary{padding:8px 12px;font-size:11px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:15px}.admin-overview{grid-template-columns:1fr}.moderation-card{padding:18px}.moderation-head{align-items:start;flex-wrap:wrap}.auth-card{padding:28px}.admin-tabs button{padding:8px 16px}.toast{font-size:12px;padding:12px 16px}.list-bottom p{font-size:9px}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.admin-dashboard>header>button{margin-left:auto;min-height:44px;color:var(--primary);font-size:13px}.rating-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}.rating-tabs button{font-size:11px;gap:4px;min-width:0;white-space:normal;line-height:1.4;padding:7px 4px}.rating-tabs small{display:none}.rating-tabs svg{width:14px}.promotion-card{border:1px solid #d8dfcf;border-radius:18px;background:linear-gradient(150deg,#fffefa,#f4f8ee);padding:17px;margin-bottom:12px}.promotion-label{margin-bottom:10px}.promotion-label>span{display:inline-flex;align-items:center;gap:5px;background:#f5ecd4;color:#755512;border-radius:999px;padding:3px 9px;font-size:10px}.promotion-heading{width:100%;padding:0;text-align:left;display:block}.promotion-heading:disabled{opacity:1;cursor:default}.promotion-heading h3{font-size:20px;line-height:1.4;color:#234e38;margin:0 0 7px}.promotion-heading b{font-size:13px;font-weight:500;display:block}.promotion-heading small{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--muted);margin:4px 0}.promotion-card>p{font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0}.promotion-period{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted)}.promotion-link{display:flex;justify-content:space-between;align-items:center;min-height:42px;margin-top:12px;padding-top:10px;border-top:1px solid #dce5d7;color:var(--primary);font-size:12px}.contact-main{max-width:1160px;margin:auto;display:grid;grid-template-columns:1fr 1.12fr;gap:65px;padding:60px 28px}.contact-intro{padding-top:16px}.contact-intro h1{font-size:52px;line-height:1.25;letter-spacing:-1px;margin:18px 0 22px}.contact-intro h1 span{color:var(--primary)}.contact-intro>p{font-size:15px;line-height:1.9;color:var(--muted)}.contact-benefits{margin:32px 0}.contact-benefits>p{display:flex;align-items:start;gap:12px;margin:20px 0;color:var(--primary)}.contact-benefits b{display:block;font-size:14px;font-weight:500}.contact-benefits small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.contact-form-card{background:var(--surface);border:1px solid var(--divider);border-radius:28px;padding:30px}.contact-form-card h2{font-size:24px;margin:6px 0}.contact-form-card>.muted{font-size:12px}.contact-form-card .form-two .field{margin:10px 0}.consent{display:flex;align-items:start;gap:10px;font-size:11px;color:var(--muted);margin:18px 0}.consent input{margin:3px 0 0;accent-color:var(--primary);width:17px;height:17px;flex-shrink:0}.consent a{color:var(--primary);text-decoration:underline}.contact-success{text-align:center;padding:65px 8px;color:var(--primary)}.contact-success h2{margin:18px 0 10px}.contact-success p{font-size:14px;color:var(--muted);line-height:1.9}.contact-success .primary{margin-top:12px}.page-stat-box{margin:22px 0}.table-scroll{overflow:auto}.stats-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.stats-table th{font-size:11px;font-weight:500;color:var(--muted);padding:10px}.stats-table td,.stats-table th{border-bottom:1px solid var(--divider)}.stats-table td{padding:12px 10px}.stats-table td:not(:first-child){color:var(--primary)}.stats-table small{font-size:10px;color:var(--muted);margin-left:7px}.advertising-admin-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:24px 0}.advertising-admin-head h2{font-size:24px;margin:0 0 5px}.advertising-admin-head p{font-size:13px;margin:0}.ad-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.promotion-editor{margin:24px 0}.inquiry-list,.promotion-admin-list{display:grid;gap:14px}.inquiry-list .form-actions>select{border:1px solid var(--divider);padding:0 10px;border-radius:12px;background:var(--bg)}.promotion-admin-metrics{display:flex;gap:20px;font-size:12px;color:var(--primary);margin:14px 0}.promotion-admin-metrics span{display:flex;align-items:center;gap:6px}.section-gap{margin-top:35px}@media (min-width:1800px){.rating-tabs button{font-size:12px}}@media (max-width:1050px){.contact-main{gap:30px;padding-top:35px}.contact-intro h1{font-size:42px}}@media (max-width:760px){.rating-tabs button{font-size:11px;min-height:43px}.rating-tabs small{display:none}.contact-main{display:block;padding:25px 16px}.contact-intro{padding:0}.contact-intro h1{font-size:37px;margin:12px 0}.contact-intro>p{font-size:13px}.contact-benefits{margin:20px 0}.contact-benefits>p{margin:14px 0}.contact-benefits b{font-size:13px}.contact-benefits small{font-size:11px}.contact-form-card{padding:24px 18px;margin-top:20px;border-radius:22px}.contact-form-card h2{font-size:21px}.contact-page .app-header nav{display:flex;margin-left:auto;font-size:11px;gap:13px}.contact-page .logo{font-size:19px}.contact-page .logo svg{width:20px}.advertising-admin-head{align-items:start}.advertising-admin-head h2{font-size:21px}.advertising-admin-head p{font-size:11px}.advertising-admin-head .primary{font-size:11px;padding:8px 13px}.ad-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-table{font-size:12px}.stats-table small{display:block;margin:0}.promotion-heading h3{font-size:19px}}.shop-photo{position:relative;overflow:hidden;border-radius:18px 18px 0 0;background:#e8f5ee;aspect-ratio:16/7}.shop-photo-image{width:100%;height:100%;object-fit:cover;display:block}.shop-photo-placeholder{height:100%;display:flex;align-items:center;justify-content:center;gap:20px;background:linear-gradient(120deg,#e7f5ed,#f7efe5);color:#577266;font-size:12px}.shop-photo-placeholder svg{width:112px;height:112px}.shop-photo-credit{position:absolute;bottom:0;left:0;right:0;padding:14px 12px 8px;display:flex;flex-wrap:wrap;gap:4px 9px;background:linear-gradient(transparent,rgba(0,0,0,.8));color:white;font-size:10px}.shop-photo-credit a{color:white;text-decoration:underline;text-underline-offset:2px}.restaurant-card{display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;padding:12px}.restaurant-card .shop-photo{grid-column:1;grid-row:1/3;width:96px;height:112px;aspect-ratio:auto;border-radius:12px;align-self:start}.restaurant-card .shop-photo-placeholder{flex-direction:column;gap:0;font-size:9px}.restaurant-card .shop-photo-placeholder svg{width:78px;height:78px}.restaurant-card .card-content{grid-column:2;grid-row:1;padding:0 0 8px;min-height:0;min-width:0}.restaurant-card .card-heading{gap:8px}.restaurant-card .card-heading h3{font-size:15px}.restaurant-card .rating{font-size:21px}.restaurant-card .card-footer{grid-column:2;grid-row:2;margin:0;padding:6px 0 0;min-width:0;align-self:end}.restaurant-card .card-footer b{font-size:13px}.restaurant-card .card-footer>span{min-width:0}.restaurant-card .card-footer button{flex-shrink:0}.restaurant-card .shop-photo-credit{padding:10px 5px 4px;font-size:8px;max-height:65%;overflow:auto}@media(max-width:600px){.restaurant-card{grid-template-columns:76px minmax(0,1fr);column-gap:10px;padding:10px}.restaurant-card .shop-photo{width:76px;height:96px;border-radius:10px}.restaurant-card .shop-photo-placeholder svg{width:66px;height:66px}.restaurant-card .card-heading h3{font-size:14px}.restaurant-card .rating{font-size:19px}}.restaurant-map{position:relative;flex:1;min-height:320px}.restaurant-map-canvas,.restaurant-map>iframe{width:100%;height:100%;min-height:320px;border:0;position:absolute;inset:0}.map-pin-status{position:absolute;bottom:12px;left:12px;right:12px;padding:9px 12px;border-radius:10px;background:rgba(255,255,255,.94);color:#174b3c;font-size:11px;box-shadow:0 2px 8px #0001;pointer-events:none}.google-review-search{width:100%}.google-review-link{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;margin:12px 0 6px;border:1px solid #a5dcca;border-radius:12px;background:#e1f5ec;color:#0e7a5e;font-size:14px;font-weight:500;text-decoration:none}.google-review-link:hover{background:#cdefe0}.google-review-link:focus-visible{outline:3px solid #0e7a5e;outline-offset:3px}h1{font-weight:600}h2,h3{font-weight:500}.logo{font-size:27px;letter-spacing:-1px}.card-heading h3{font-weight:500}@media(max-width:760px){.logo{font-size:23px}}.logo>.brand-mascot{width:42px;height:50px;margin:0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.brand-mascot svg{width:38px;height:50px;display:block;overflow:visible}@media(max-width:760px){.logo>.brand-mascot{width:35px;height:44px}.brand-mascot svg{width:33px;height:44px}}.shop-photo-placeholder[data-pose=eat]{background:linear-gradient(120deg,#fff0df,#f9f3e8)}.shop-photo-placeholder[data-pose=heart]{background:linear-gradient(120deg,#ffedf1,#f6f0e9)}.shop-photo-placeholder[data-pose=full]{background:linear-gradient(120deg,#ecf1ff,#f4f1f8)}.shop-photo-placeholder[data-pose=search]{background:linear-gradient(120deg,#e4f2f8,#eff7ec)}.shop-photo-placeholder[data-pose=wave]{background:linear-gradient(120deg,#fff5dc,#edf7ee)}.shop-photo-placeholder svg{width:136px;height:120px;flex-shrink:0}.terms-mascot-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0;padding:20px 24px;border-radius:24px;background:#e7f5ed}.terms-mascot-heading h1{margin:8px 0}.terms-mascot-heading p{margin:0;font-size:14px}.terms-mascot{flex-shrink:0;width:205px}.terms-mascot svg{display:block;width:100%;height:auto}.contact-mascot{width:235px;margin:0 0 16px;border-radius:24px;background:linear-gradient(120deg,#ffedf1,#fff4e7)}.contact-mascot svg{display:block;width:100%;height:auto}@media(max-width:600px){.terms-mascot-heading{padding:16px;gap:6px}.terms-mascot{width:130px}.terms-mascot-heading h1{font-size:25px}.terms-mascot-heading p{font-size:12px}.contact-mascot{width:185px}}.osm-map{isolation:isolate}.osm-map .restaurant-map-canvas{z-index:0;background:#e7efe9;font-family:inherit}.osm-map .map-pin-status{z-index:1001;bottom:30px}.osm-map .leaflet-control-attribution{font-family:inherit;font-size:10px;max-width:100%;background:rgba(255,255,255,.94)}.osm-map .leaflet-control-attribution a{color:#175c47;text-decoration:underline}.osm-map .leaflet-control-zoom a{color:#175c47}.restaurant-pin{background:none;border:0}.restaurant-pin-dot{display:block;width:29px;height:29px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#0e7a5e;border:3px solid white;box-shadow:0 2px 6px #0005}.restaurant-pin-dot:after{content:"";display:block;width:9px;height:9px;background:var(--surface);border-radius:50%;margin:7px}.restaurant-pin-selected .restaurant-pin-dot{background:#dc6b89;box-shadow:0 0 0 4px #ffb8c666,0 2px 6px #0004}.score-map-marker{display:flex!important;flex-direction:column;align-items:center;justify-content:center;border:3px solid white;border-radius:50%;box-shadow:0 2px 9px #163e333b;font-family:Kanit,sans-serif;color:#173c2e;background:#edf1ee;line-height:1}.score-marker-number{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.marker-great{background:#0e7a5e;color:white}.marker-good{background:#ffd45d;color:#3c3011}.marker-fair{background:#f6a589;color:#542d24}.marker-unrated{background:#eef1ed;color:#657469;border-color:#fff}.marker-cluster{background:#0e7a5e;color:white;box-shadow:0 0 0 7px #9ee6c866,0 3px 10px #163e3333}.marker-cluster .score-marker-number{font-size:22px}.score-cluster-unit{font-size:9px;margin-top:3px;font-weight:400}.score-marker-selected{box-shadow:0 0 0 5px #ffb8c6b0,0 3px 10px #163e334d;border-color:white}.score-map-marker:focus-visible{outline:3px solid #174b3c;outline-offset:5px}.map-score-legend{position:absolute;z-index:1001;left:12px;top:12px;display:flex;flex-wrap:wrap;gap:5px 12px;max-width:calc(100% - 75px);padding:7px 10px;border-radius:10px;background:#fffffff0;color:#345447;font-size:10px;box-shadow:0 2px 6px #0001;pointer-events:none}.cluster-shop-list{display:flex;flex-direction:column;gap:4px;font-family:Kanit,sans-serif}.cluster-shop-list button{text-align:left;padding:10px;border-radius:8px;background:#e7f5ed;font-size:12px}.score-filter{font-weight:500;min-width:44px}.score-filter:disabled{opacity:.4;cursor:default}@media(max-width:760px){.map-panel{height:400px}.restaurant-map,.restaurant-map-canvas{min-height:0}.map-score-legend{top:8px;left:8px;font-size:9px}.map-pin-status{font-size:10px}}.rating-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.price-filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:-2px 0 16px}.price-filter-bar>span{font-size:12px;color:var(--muted);margin-right:5px}.price-filter-bar .chip{min-height:40px;padding:8px 16px}.price-filter-bar small{font-size:10px;color:var(--muted)}.price-manager{margin-top:24px}.price-manager-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.price-manager-heading h3{margin:0}.price-manager-heading p{margin:5px 0}.price-manager-heading>button{flex-shrink:0;min-height:44px}@media(max-width:760px){.price-filter-bar{gap:6px}.price-filter-bar>span{flex-basis:100%;font-size:11px}.price-filter-bar .chip{min-height:42px;padding:8px 13px;font-size:12px}.price-filter-bar small{flex-basis:100%}.price-manager-heading{flex-wrap:wrap}}.longdo-map{isolation:isolate}.longdo-map .restaurant-map-canvas{z-index:0;background:#e7efe9}.longdo-map .map-pin-status{z-index:5;bottom:30px}.longdo-map .map-score-legend{z-index:5}.map-unavailable{height:100%;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px 25px 65px;background:linear-gradient(130deg,#e7f5ed,#fff5e5);color:#174b3c}.map-unavailable svg{width:185px;height:150px}.map-unavailable p{font-size:12px}.marker-longdo{background:#fff9f2;color:#0e7a5e;border-color:#0e7a5e}.map-cluster-choices{position:absolute;z-index:10;left:15px;right:15px;top:50px;max-height:240px;overflow:auto;display:flex;flex-direction:column;padding:12px;gap:6px;background:var(--surface);border-radius:14px;box-shadow:0 4px 20px #0002}.map-cluster-choices button{text-align:left;padding:10px;background:#e7f5ed;border-radius:8px}.longdo-results{width:100%;text-align:left;margin:16px 0}.longdo-results h3{display:flex;gap:7px;align-items:center;font-size:16px}.longdo-place{border:1px solid var(--divider);border-radius:13px;padding:13px;background:var(--surface);margin:8px 0}.longdo-place p{font-size:12px;margin:6px 0}.longdo-place>div{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:12px}.longdo-place button{display:flex;align-items:center;gap:5px;padding:8px 10px;border-radius:8px;background:var(--soft)}.longdo-place a{color:var(--primary);text-decoration:underline}.restaurant-card .price-source{display:block;margin-top:2px;font-size:9px}.price-source a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}.shop-visit-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding-top:7px;margin-top:5px;border-top:1px solid var(--divider);font-size:11px;color:var(--muted)}.shop-visit-row>button{display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:999px;padding:5px 9px;background:var(--soft);color:var(--primary);min-height:32px;font-size:11px}.shop-visit-row>button.visited{background:var(--primary);color:white}.restaurant-card .card-footer{flex-wrap:wrap}.restaurant-card .shop-visit-row{flex-basis:100%}.shop-contacts{padding:12px 0}.shop-contacts h3{font-size:15px;margin:0 0 8px}.shop-contact-links{display:flex;flex-wrap:wrap;gap:8px}.shop-contact-links a{padding:8px 11px;border:1px solid var(--divider);border-radius:12px;color:var(--primary);font-size:13px}.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.shop-contact-details{margin:14px 0;border:1px solid var(--divider);border-radius:12px;padding:12px}.shop-contact-details summary{cursor:pointer;color:var(--primary);font-size:13px}.shop-contact-details[open] summary{margin-bottom:12px}.policy-switch{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--divider);cursor:pointer}.policy-switch>span{flex:1}.policy-switch small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.policy-switch input{width:22px;height:22px;accent-color:var(--primary)}.policy-switch strong{font-size:12px;min-width:40px}.community-settings .notice{line-height:1.8;margin-top:18px}.comments-toggle{font-size:12px;color:var(--primary);padding:8px 0}.review-comments{margin-top:8px}.comment-thread{padding:12px 0 0 16px;border-left:2px solid var(--divider)}.community-comment{padding:12px;margin-bottom:10px;background:var(--cream,#fffaf4);border-radius:12px}.community-comment p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.comment-thread .field{font-size:12px}.comment-parent{margin:10px 0;padding:10px 14px;border-left:3px solid var(--divider);color:var(--muted);font-size:13px;white-space:pre-wrap}.visit-ranking-note{padding:8px 12px}.visited-leaderboard{margin-bottom:20px}@media(max-width:600px){.contact-fields{grid-template-columns:1fr}.shop-visit-row{font-size:10px;gap:5px}.shop-visit-row>button{font-size:10px;padding:5px 7px}.policy-switch{gap:8px}}:root{color-scheme:light;--cream:#fffaf4}:root[data-theme=dark]{color-scheme:dark;--bg:#111b19;--surface:#1b2925;--ink:#eef3ee;--muted:#b0beb6;--divider:#35453e;--primary:#92dfbd;--mint:#9ee6c8;--soft:#29463a;--cream:#22332b}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;flex-shrink:0;border:1px solid var(--divider);border-radius:50%;background:var(--surface);color:var(--primary)}.app-header .theme-toggle{margin-left:0}.admin-dashboard>header>.theme-toggle{margin-left:auto}.admin-dashboard>header>.theme-toggle+button{margin-left:0}.auth-theme{position:absolute;top:20px;right:20px}.prose-navigation{display:flex;align-items:center;justify-content:space-between;gap:15px}.prose-navigation .theme-toggle{text-decoration:none}:root[data-theme=dark] .logo{color:var(--primary)}:root[data-theme=dark] :is(input,textarea)::placeholder{color:#91a398}:root[data-theme=dark] :is(.secondary,.rating-tabs,.filter-divider){background:#2b3932}:root[data-theme=dark] .secondary{color:var(--ink)}:root[data-theme=dark] :is(.chip.active,.tags span,.detail-tabs,.location,.selected-shop,.report-button,.map-cluster-choices button,.cluster-shop-list button){color:var(--primary);background:var(--soft)}:root[data-theme=dark] .location.active{color:#103d2c;background:var(--mint)}:root[data-theme=dark] :is(.rating-tabs .selected,.admin-tabs button.selected){color:#103d2c;background:var(--mint)}:root[data-theme=dark] :is(.results-panel,.list-panel){background:var(--bg)}:root[data-theme=dark] .card.active-card{border-color:#75b398}:root[data-theme=dark] :is(.notice,.status-pill,.tags .dining-type,.promotion-label>span){background:#453b24;color:#f3d28b}:root[data-theme=dark] :is(.notice.danger,.risk-tags span){background:#462b2b;color:#ffb9ac}:root[data-theme=dark] .danger-button{color:#ffb9ac;border-color:#905e54}:root[data-theme=dark] .overlay{background:#020b09b8}:root[data-theme=dark] :is(.shop-photo,.shop-photo-placeholder,.shop-photo-placeholder[data-pose]){background:linear-gradient(130deg,#263e34,#33332d);color:var(--muted)}:root[data-theme=dark] :is(.terms-mascot-heading,.contact-mascot,.map-unavailable){background:linear-gradient(130deg,#203b31,#39302c);color:var(--ink)}:root[data-theme=dark] .promotion-card{background:linear-gradient(150deg,#23352b,#2e3426);border-color:var(--divider)}:root[data-theme=dark] .promotion-heading h3{color:var(--primary)}:root[data-theme=dark] .promotion-link{border-color:var(--divider)}:root[data-theme=dark] .google-review-link{background:var(--soft);color:var(--primary);border-color:var(--divider)}:root[data-theme=dark] :is(.map-pin-status,.map-score-legend){background:#172820ed;color:#d0ebda}:root[data-theme=dark] .longdo-map .restaurant-map-canvas{background:#14221c}:root[data-theme=dark] .marker-unrated{background:#2b3f34;color:#d1ded5;border-color:#c8d8ce}:root[data-theme=dark] .marker-longdo{background:#203d30;color:#b1efd1;border-color:#b1efd1}:root[data-theme=dark] .score-map-marker:focus-visible{outline-color:#a8dfc2}:root[data-theme=dark] .shop-visit-row>button.visited{color:#103d2c}@media(max-width:760px){.app-header .theme-toggle{width:40px;height:40px;min-width:40px}}:root[data-theme=dark] .longdo-map .ldmap-button{color:#233b2e}@media(max-width:760px){.admin-dashboard>header{gap:12px;padding:14px 16px;flex-wrap:wrap}.admin-dashboard>header>span{display:none}}.promotion-banner{display:block;aspect-ratio:1;width:100%;margin:0 0 16px;border-radius:13px;overflow:hidden;background:var(--soft)}.promotion-banner img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:contain}button.promotion-banner{padding:0;border:0;cursor:pointer}button.promotion-link{width:100%;text-align:left}.promotion-detail>p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;margin:16px 0}.promotion-detail>b{display:block;margin-bottom:8px}.promotion-banner-editor{border:1px solid var(--divider);border-radius:16px;padding:16px;margin:18px 0}.promotion-banner-editor h4{margin:0 0 6px}.promotion-banner-crop,.promotion-banner-saved img{display:block;width:min(100%,340px);aspect-ratio:1;height:auto;border:1px solid var(--divider);border-radius:12px;object-fit:contain;background:var(--soft)}.promotion-banner-saved button{margin-top:12px}.banner-crop-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.banner-crop-controls input{accent-color:var(--primary);padding:0}.promotion-social-editor{border:1px solid var(--divider);border-radius:16px;padding:16px;min-width:0}.promotion-social-editor legend{padding:0 7px;font-weight:500}.promotion-social-links{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.promotion-social-links a{display:flex;flex-direction:column;gap:1px;border:1px solid var(--divider);padding:7px 10px;border-radius:10px;color:var(--primary);font-size:12px;overflow-wrap:anywhere;max-width:100%}.promotion-social-links small{color:var(--muted);font-size:9px}.admin-shop-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin:24px 0 10px}.admin-shop-heading h2{margin:0}.admin-shop-heading p{font-size:13px;margin:6px 0}.shop-admin-filters{display:grid;grid-template-columns:1fr 240px;gap:18px}.shop-admin-list{display:grid;gap:10px}.admin-shop-row{display:flex;justify-content:space-between;gap:20px;text-align:left;border:1px solid var(--divider);border-radius:18px;padding:18px 20px;background:var(--surface);width:100%}.admin-shop-row h3{font-size:17px;margin:0 0 4px}.admin-shop-row p,.admin-shop-row small{color:var(--muted);font-size:12px;margin:0}.admin-shop-row>span{display:flex;flex-direction:column;gap:10px;flex-shrink:0;align-items:end}.admin-shop-row strong{color:var(--primary);font-size:12px;font-weight:500}.shop-management-tabs{display:flex;gap:8px;overflow:auto;margin:18px 0}.shop-management-tabs button{white-space:nowrap;padding:10px 16px;background:var(--surface);border:1px solid var(--divider);border-radius:999px;font-size:13px}.shop-management-tabs .selected{background:var(--mint);color:#103d2c}.admin-tabs{flex-wrap:wrap}@media(max-width:760px){.shop-admin-filters{grid-template-columns:1fr;gap:0}.admin-shop-row{padding:14px;gap:10px}.admin-shop-row h3{font-size:15px}.admin-shop-row>span{max-width:100px}.admin-shop-heading{flex-wrap:wrap}.banner-crop-controls{grid-template-columns:1fr;gap:0}}