@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-italic-BicUS2cM.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-italic-BfTTTDIL.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-italic-Py8at3oI.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Libre Franklin;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/libre-franklin-latin-400-normal-DNAyL8lK.woff2) format("woff2"),url(/assets/libre-franklin-latin-400-normal-B5qoBLOl.woff) format("woff")}@font-face{font-family:Libre Franklin;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/libre-franklin-latin-500-normal-Cbta7Jiu.woff2) format("woff2"),url(/assets/libre-franklin-latin-500-normal-BQKhRarp.woff) format("woff")}@font-face{font-family:Libre Franklin;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/libre-franklin-latin-600-normal-BBKMvfE-.woff2) format("woff2"),url(/assets/libre-franklin-latin-600-normal-DjS29Py2.woff) format("woff")}@font-face{font-family:Fragment Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fragment-mono-latin-400-normal-yxdJ5AmL.woff2) format("woff2"),url(/assets/fragment-mono-latin-400-normal-BYwT3kSJ.woff) format("woff")}:root{--bg: #F4EFE3;--bg2: #EDE7D8;--ink: #1C1C1E;--soft: #6B6250;--brass: #7A5F22;--brass-soft: #C4B896;--acc: #283C35;--cream: #F2EAD8;--stamp: #9C3B2E;--edge: rgba(0, 0, 0, .08);--edge2: rgba(0, 0, 0, .14);--serif: "Fraunces Variable", Georgia, serif;--sans: "Libre Franklin", system-ui, sans-serif;--mono: "Fragment Mono", ui-monospace, monospace;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px)}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}.soft{color:var(--soft)}.ink{color:var(--ink)}.strong{font-weight:600}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mono{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:1.2px;color:var(--soft)}.mono.ink{color:var(--ink)}.app{max-width:560px;margin:0 auto;min-height:100vh;min-height:100dvh;padding-bottom:calc(120px + var(--safe-b))}.hdr{padding:calc(var(--safe-t) + 20px) 20px 0;display:flex;align-items:flex-end;justify-content:space-between}.hdr .mono{display:block;margin-top:8px}.title{font-family:var(--serif);font-weight:600;font-size:36px;line-height:1;letter-spacing:-.5px}.icon-btn{position:relative;width:44px;height:44px;border-radius:12px;border:1px solid var(--edge2);background:#fff;display:flex;align-items:center;justify-content:center;padding:0}.icon-btn.plain{border:none;background:none}.dot{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--acc);color:var(--cream);font-family:var(--mono);font-size:11px;display:flex;align-items:center;justify-content:center}.seg{margin:16px 20px 0;height:52px;border-radius:14px;background:var(--bg2);padding:4px;display:flex;gap:4px}.seg button{flex:1;height:44px;border:none;border-radius:10px;background:transparent;font-size:14px;font-weight:500;color:var(--soft);display:flex;align-items:center;justify-content:center;gap:8px;padding:0;transition:background .15s,box-shadow .15s}.seg button.on{background:#fff;box-shadow:0 1px 3px #00000024;font-weight:600;color:var(--ink)}.sheet .seg,.screen .seg{margin:6px 0 0}.chips{display:flex;gap:8px;padding:4px 20px 0;overflow-x:auto;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip-btn{height:44px;background:none;border:none;padding:0;flex:none}.chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:17px;font-size:13px;font-weight:500;background:#fff;color:var(--ink);border:1px solid var(--edge2);transition:background .15s,color .15s}.chip.on{background:var(--acc);color:var(--cream);border-color:var(--acc)}.chip-count{font-family:var(--mono);font-size:11px;opacity:.8}.wrap-chips{display:flex;flex-wrap:wrap;gap:0 8px}.wrap-chips.tight{gap:6px 8px;margin:6px 0}.filterrow{display:flex;justify-content:space-between;padding:0 20px;border-top:1px solid var(--edge);margin-top:2px}.link-btn{height:44px;background:none;border:none;padding:0;display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500}.text-btn{min-height:44px;background:none;border:none;padding:0 4px;font-size:14px;font-weight:600;color:var(--acc)}.text-btn.soft{color:var(--soft);font-weight:500;font-size:13px}.text-btn:disabled{opacity:.4}.grp{display:flex;align-items:center;gap:8px;padding:16px 20px 6px}.grp .name{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--brass)}.grp .line{flex:1;height:1px;background:var(--brass-soft)}.row{width:100%;display:flex;align-items:center;gap:12px;padding:12px 20px;border:none;border-bottom:1px solid var(--edge);background:none;text-align:left}.row:active{background:#0000000a}.row-tile{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:none}.row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;overflow-wrap:break-word}.row-name{display:flex;align-items:center;gap:6px;font-family:var(--serif);font-weight:600;font-size:17px;line-height:1.2}.row-sub{font-size:13px;color:var(--soft)}.row-via{font-size:11px;display:flex;align-items:center;gap:4px}.row-via.past{color:var(--stamp)}.row-right{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.badge{border:1px solid var(--brass-soft);border-radius:10px;padding:2px 8px;font-size:11px;color:var(--brass)}.verdict-mini{width:28px;height:28px;border-radius:14px;border:1.5px solid var(--acc);color:var(--acc);display:flex;align-items:center;justify-content:center}.empty{padding:48px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.empty-title{font-family:var(--serif);font-size:20px;font-weight:600}.notice{margin:16px 20px 0;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid var(--edge2);font-size:14px;line-height:1.4}.notice.error{border-color:var(--stamp)}.foot-links{display:flex;flex-direction:column;align-items:center;margin-top:24px}.fab{position:fixed;bottom:calc(var(--safe-b) + 24px);right:max(20px,calc(50% - 260px));width:56px;height:56px;border-radius:28px;background:var(--acc);border:none;box-shadow:0 8px 20px #00000040;display:flex;align-items:center;justify-content:center;z-index:30}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1c1e80;z-index:50;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:560px;max-height:90vh;max-height:90dvh;background:var(--bg);border-radius:24px 24px 0 0;display:flex;flex-direction:column;box-shadow:0 -8px 32px #0003}.grip{width:40px;height:5px;border-radius:3px;background:var(--brass-soft);margin:10px auto 4px;flex:none}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:0 20px;flex:none}.sheet-head h2{font-family:var(--serif);font-weight:600;font-size:24px}.sheet-body{padding:0 20px 8px;overflow-y:auto;flex:1}.sheet-foot{padding:12px 20px calc(var(--safe-b) + 16px);flex:none;border-top:1px solid var(--edge)}.fsec{margin-top:14px}.screen{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:40;overflow-y:auto}.screen-inner{max-width:560px;margin:0 auto;min-height:100%;display:flex;flex-direction:column}.topbar{padding:calc(var(--safe-t) + 12px) 12px 0 20px;display:flex;align-items:center;justify-content:space-between;min-height:56px}.screen .topbar{padding-left:12px}.form-title{font-family:var(--serif);font-weight:600;font-size:26px;padding-left:8px}.screen-body{flex:1;padding:0 20px 24px}.screen-foot{position:sticky;bottom:0;padding:12px 20px calc(var(--safe-b) + 16px);background:var(--bg);border-top:1px solid var(--edge)}.field{margin-top:16px}.label{display:block;margin-bottom:6px}.hint{font-size:12px;color:var(--soft);margin-top:6px}.hint.err{color:var(--stamp)}.input{width:100%;height:52px;border-radius:12px;border:1px solid var(--edge2);background:#fff;padding:0 14px;font-size:16px}.input:focus{outline:none;border:2px solid var(--acc);padding:0 13px}.textarea{height:auto;min-height:92px;padding:12px 14px;line-height:1.4;resize:vertical}.textarea:focus{padding:11px 13px}.input-wrap{position:relative}.input-wrap .input{padding-right:52px}.input-btn{position:absolute;right:4px;top:4px;width:44px;height:44px;border:none;border-radius:10px;background:var(--bg2);color:var(--acc);display:flex;align-items:center;justify-content:center;padding:0}.more-btn{margin-top:12px;padding:0}.suggest{margin-top:8px;background:#fff;border:1px solid var(--edge2);border-radius:14px;overflow:hidden}.suggest-row{width:100%;display:flex;align-items:center;gap:12px;padding:10px 14px;min-height:56px;border:none;border-bottom:1px solid var(--edge);background:none;text-align:left}.suggest-ic{width:32px;height:32px;border-radius:16px;background:var(--bg2);display:flex;align-items:center;justify-content:center;flex:none}.suggest-tx{display:flex;flex-direction:column;gap:2px}.suggest-name{font-size:15px;font-weight:600}.suggest-adr{font-size:13px;color:var(--soft)}.suggest-foot{padding:8px 14px;font-size:11px}.tag-x{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 10px 0 12px;border-radius:17px;border:1px solid var(--acc);background:#283c3514;font-size:13px;font-weight:500}.btn{width:100%;height:52px;border-radius:14px;border:none;font-size:16px;font-weight:600;background:var(--acc);color:var(--cream);display:flex;align-items:center;justify-content:center;gap:8px}.btn:disabled{opacity:.45}.btn.ghost{background:transparent;color:var(--acc);border:1px solid var(--acc)}.btn.danger{background:transparent;color:var(--stamp);border:1px solid var(--stamp)}.cat-label{display:flex;align-items:center;gap:6px;font-size:12px;margin-top:8px}.place-title{font-family:var(--serif);font-weight:600;font-size:32px;line-height:1.1;margin-top:8px}.place-sub{font-size:14px;margin-top:6px}.tagline{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tag{font-size:12px;color:var(--soft);background:var(--bg2);border-radius:8px;padding:3px 8px}.acts{display:flex;gap:10px;margin-top:20px}.act{flex:1;min-height:60px;border-radius:14px;background:#fff;border:1px solid var(--edge2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:600;color:var(--ink);text-decoration:none}.card{margin-top:16px;background:#fff;border-radius:14px;border:1px solid var(--edge);padding:2px 14px}.info-row{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--edge);font-size:14px}.info-row:last-child{border-bottom:none}.info-val{font-weight:500;text-align:right}.verdict-card{padding:14px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.verdict-line{display:flex;width:100%;justify-content:space-between;align-items:center}.verdict-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--serif);font-weight:600;font-size:20px;color:var(--acc)}.avis{font-family:var(--serif);font-style:italic;font-size:16px;line-height:1.45}.notes{font-family:var(--serif);font-style:italic;font-size:16px;line-height:1.45;white-space:pre-wrap}.vopts{display:flex;gap:10px}.vopt{flex:1;height:88px;border-radius:14px;border:1px solid var(--edge2);background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:600;color:var(--soft);padding:0}.vopt.on{border:2px solid var(--acc);background:#283c3514;color:var(--acc)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--safe-b) + 100px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:12px;z-index:100;font-size:14px;max-width:90%}.login{max-width:420px;margin:0 auto;padding:calc(var(--safe-t) + 72px) 24px 24px}.login .soft{margin-top:8px}.label-row{display:flex;align-items:center;justify-content:space-between}.label-row .label{margin-bottom:0}.screen-body .notice{margin:16px 0 0}.past-line{display:flex;align-items:center;gap:6px;color:var(--stamp)}.ville-row{display:flex;gap:10px}.ville-main{flex:1;min-width:0}.ville-dept{width:92px;flex:none}.input[aria-invalid=true]{border-color:var(--stamp)}
