:root{--cream:#f5f1ea;--paper:#fffdfa;--charcoal:#1a1815;--muted:#6b655c;--gold:#b8935a;--line:rgba(26,24,21,.08);--accent:#0e6d66;--shadow:0 10px 30px rgba(37,30,20,.09);--parent-h:44px;--c-an:#B4552D;--c-uong:#8A6F3C;--c-chill:#5B4A78;--c-choi:#3E7A5E;--c-checkin:#2F6D8C;--c-o:#7A5C48;--c-qua:#A8763E;--c-tour:#37707A;--c-dichvu:#6E6A63}*{box-sizing:border-box}body,html{width:100%;height:100%;margin:0;overflow:hidden;background:var(--cream);color:var(--charcoal);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a,button,input,select{font:inherit;color:inherit}a,button{cursor:pointer}a{text-decoration:none}.app{height:100dvh;position:relative;overflow:hidden;background:radial-gradient(circle at 18px 18px,rgba(57,48,37,.1) 1px,transparent 1.15px) 0 0/32px 32px,linear-gradient(180deg,#f7f3ed,#f1ece3)}.topdock{position:fixed;z-index:120;isolation:isolate;top:max(8px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(1220px,calc(100vw - 16px));pointer-events:none;display:flex;flex-direction:column;gap:6px}.intentbar,.toprow{pointer-events:auto;border:1px solid rgba(26,24,21,.12);background:rgba(255,253,250,.94);backdrop-filter:blur(16px) saturate(1.06);box-shadow:0 7px 22px rgba(41,34,24,.09)}.toprow{height:50px;border-radius:14px;padding:6px;display:flex;align-items:center;gap:7px;overflow:hidden}.brand-name{font-family:Fraunces,Georgia,serif;font-style:italic;font-weight:700;font-size:20px;letter-spacing:-.6px;white-space:nowrap;padding:0 8px;flex:none;border:0;background:transparent;color:inherit;cursor:pointer}.brand-name:focus-visible{outline:2px solid rgba(184,147,90,.75);outline-offset:2px;border-radius:7px}.search{height:38px;display:flex;align-items:center;gap:7px;border:1px solid rgba(26,24,21,.1);background:white;border-radius:10px;padding:0 10px;min-width:110px;flex:1}.search svg{width:15px;opacity:.42;flex:none}.search input{border:0;outline:0;background:transparent;width:100%;min-width:0;font-size:12px}.search-clear{flex:none;width:16px;height:16px;border:0;border-radius:50%;background:rgba(26,24,21,.14);color:var(--charcoal);font-size:11px;line-height:1;display:none;align-items:center;justify-content:center;padding:0}.search.has-text .search-clear{display:flex}.search-clear:hover{background:rgba(26,24,21,.28)}.search-kbd{display:none;flex:none;font:700 11px/1 ui-sans-serif,system-ui,sans-serif;color:var(--muted);background:#f4f0e8;border:1px solid rgba(26,24,21,.1);border-radius:5px;padding:3px 5px;white-space:nowrap}.search:focus-within .search-kbd{display:inline-block}.seg{display:flex;align-items:center;padding:3px;border:1px solid rgba(26,24,21,.1);background:#faf8f4;border-radius:10px;white-space:nowrap;flex:none}.seg button{border:0;background:transparent;padding:7px 10px;border-radius:7px;font-size:11px;font-weight:750}.seg button.active{background:var(--charcoal);color:white}.priority-select{height:38px;border:1px solid rgba(26,24,21,.1);background:white;border-radius:10px;display:flex;align-items:center;flex:none}.priority-select select{border:0;outline:0;background:transparent;height:100%;padding:0 8px;font-size:12px;font-weight:850}.priority-select[hidden]{display:none}.lang-switch{height:38px;border:1px solid rgba(26,24,21,.1);background:white;border-radius:10px;display:flex;align-items:center;padding:3px;flex:none}.lang-switch button{height:30px;min-width:30px;border:0;background:transparent;border-radius:7px;font-size:11px;font-weight:900}.lang-switch button.active{background:var(--charcoal);color:#fff}.filter-btn,.reset-top{height:38px;border:1px solid rgba(26,24,21,.1);background:#fff;border-radius:10px;padding:0 11px;white-space:nowrap;font-size:11px;font-weight:850;flex:none}.reset-top{display:inline-flex;align-items:center;gap:4px}.reset-top:hover{border-color:rgba(184,147,90,.7);background:#f3ead8;color:#6f5113}.reset-top.active{background:var(--charcoal);color:#fff;border-color:var(--charcoal)}.intentbar{align-self:center;max-width:100%;min-height:40px;border-radius:12px;padding:5px;display:flex;align-items:center;gap:5px;overflow-x:auto;scrollbar-width:none}.intentbar::-webkit-scrollbar{display:none}.intent-chip{height:29px;border:1px solid rgba(26,24,21,.1);background:#fff;border-radius:999px;padding:0 10px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:11px;font-weight:850;flex:none}.intent-chip.active{background:var(--charcoal);color:#fff;border-color:var(--charcoal)}.intent-chip .live-count{font-size:11px;opacity:.75;font-weight:800}.intent-chip[data-cat=an].active{background:var(--c-an);border-color:var(--c-an)}.intent-chip[data-cat=uong].active{background:var(--c-uong)}.intent-chip[data-cat=chill].active{background:var(--c-chill)}.intent-chip[data-cat=choi].active{background:var(--c-choi)}.intent-chip[data-cat=checkin].active{background:var(--c-checkin)}.intent-chip[data-cat=o].active{background:var(--c-o)}.intent-chip[data-cat=qua].active{background:var(--c-qua)}.intent-chip[data-cat=tour].active{background:var(--c-tour)}.intent-chip[data-cat=dichvu].active{background:var(--c-dichvu)}.stage{z-index:2;inset:0 0 calc(var(--parent-h) + env(safe-area-inset-bottom)) 0;overflow:hidden;touch-action:none;cursor:default}.stage,.world{position:absolute}.world{left:0;top:0;transform-origin:0 0;will-change:transform}.board,.world{contain:layout style paint}.board{position:relative}.tile-layer{position:absolute;inset:0}.tile{position:absolute;background:rgba(255,253,250,.97);border:1px solid rgba(26,24,21,.12);border-radius:10px;box-shadow:0 4px 13px rgba(39,32,23,.045);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer;transition:box-shadow .14s ease,border-color .14s ease;contain:layout paint style}.tile:hover{box-shadow:0 10px 24px rgba(39,32,23,.12);border-color:rgba(26,24,21,.3);z-index:3}.tile.selected{outline:3px solid rgba(14,109,102,.38);outline-offset:2px;z-index:4}.tile.sponsored{border:1.5px dashed var(--gold)}.tile-core{height:100%;padding:9px;display:flex;flex-direction:column;gap:6px}.wm-face{flex:1;min-height:0;background:var(--cream);border:1px solid rgba(26,24,21,.1);border-radius:4px;display:flex;flex-direction:column;align-items:center;position:relative;overflow:hidden;padding:10px;text-align:center}.wm-name{margin:auto 0;max-width:100%;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-family:Fraunces,Georgia,serif;font-style:italic;font-size:18px;font-weight:700;line-height:1.15;letter-spacing:-.5px}.tile.hero .wm-name{font-size:28px}.tile.featured .wm-name{font-size:22px}.wm-style-mono-wide{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-style:normal;font-weight:700;letter-spacing:.06em}.wm-style-bold-condensed{font-family:Inter,sans-serif;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:-.02em}.wm-style-slab{font-family:Georgia,serif;font-style:normal;font-weight:700;letter-spacing:.01em}.wm-style-deco-strike{text-decoration:line-through;text-decoration-color:var(--gold);text-decoration-thickness:3px}.wm-style-outline{-webkit-text-stroke:1px var(--charcoal);color:transparent}.wm-style-script{font-family:Brush Script MT,Segoe Script,cursive;font-style:normal;font-weight:700}.wm-style-monogram-circle{display:inline-flex;align-items:center;justify-content:center;width:1.6em;height:1.6em;border:2px solid var(--charcoal);border-radius:50%}.tile .cat-dot{position:absolute;left:7px;top:6px;width:8px;height:8px;border-radius:50%}.wm-zone{flex:none;align-self:stretch;margin-top:3px;font-size:7px;line-height:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:900;visibility:hidden}.wm-zone-legible .wm-zone{visibility:visible}.sponsor-badge{position:absolute;right:5px;top:5px;border:1px solid rgba(184,147,90,.7);background:#fff9e8;color:#765619;border-radius:999px;padding:2px 5px;font-size:6px;line-height:1;font-weight:950;letter-spacing:1px;text-transform:uppercase;z-index:2}.micro-info{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:8px;color:#6d665d;letter-spacing:.05em}.micro-info .zone{text-transform:uppercase;letter-spacing:.14em;font-size:7px;font-weight:900}.micro-info .rating{font-weight:850;white-space:nowrap}.level-l1 .micro-info,.level-l2 .micro-info{display:none}.explain .tile:after{content:attr(data-explain);position:absolute;left:6px;right:6px;bottom:6px;background:rgba(14,109,102,.93);color:#fff;border-radius:5px;padding:4px 5px;font-size:7px;font-weight:850;line-height:1.15;pointer-events:none}.region-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.region-card{border:1px solid rgba(26,24,21,.12);background:rgba(255,253,250,.97);border-radius:18px;box-shadow:var(--shadow);cursor:pointer;display:flex;flex-direction:column;align-items:stretch;padding:14px;gap:10px;text-align:left;min-height:44px}.region-card:hover{border-color:rgba(26,24,21,.3)}.region-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.region-title{font-family:Fraunces,Georgia,serif;font-style:italic;font-size:24px;line-height:1.15}.region-count{font-weight:850;font-size:12px;color:var(--muted);white-space:nowrap}.region-names{display:flex;flex-wrap:wrap;gap:6px}.region-name{border:1px solid rgba(26,24,21,.1);border-radius:999px;background:var(--cream);padding:4px 9px;font-size:12px;font-weight:700;line-height:1.3}.region-foot{align-self:flex-end;font-size:14px;font-weight:900;color:var(--muted)}.listview{position:absolute;z-index:5;left:50%;top:0;transform:translateX(-50%);width:min(980px,calc(100vw - 24px));padding:116px 0 calc(var(--parent-h) + 24px + env(safe-area-inset-bottom));overflow:auto;height:calc(100% - var(--parent-h) - env(safe-area-inset-bottom));display:none;scrollbar-width:thin}.listview.visible{display:block}.listrow{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:11px;align-items:center;background:rgba(255,253,250,.96);border:1px solid rgba(26,24,21,.1);border-radius:12px;padding:9px 10px;margin-bottom:6px;box-shadow:0 3px 10px rgba(39,32,23,.04);cursor:pointer}.listlogo{width:46px;height:46px;border-radius:4px;background:var(--cream);border:1px solid rgba(26,24,21,.1);display:grid;place-items:center;overflow:hidden;font-family:Fraunces,Georgia,serif;font-style:italic;font-weight:700;font-size:14px}.listname{font-weight:900}.listsub{font-size:12px;margin-top:3px}.hud,.listsub{color:var(--muted)}.hud{position:absolute;z-index:40;left:66px;bottom:calc(var(--parent-h) + max(10px,env(safe-area-inset-bottom)));display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:9px;background:rgba(255,253,250,.84);border:1px solid rgba(26,24,21,.1);backdrop-filter:blur(10px);font-size:11px;pointer-events:none}.hud b{color:var(--charcoal)}.coach{position:absolute;z-index:45;left:50%;bottom:calc(var(--parent-h) + 17px + env(safe-area-inset-bottom));transform:translateX(-50%);padding:8px 11px;border-radius:999px;background:rgba(25,25,22,.88);color:#fff;font-size:11px;pointer-events:none;opacity:0;transition:.3s ease}.coach.show{opacity:.9;transform:translateX(-50%) translateY(-2px)}.fit-results{position:absolute;z-index:76;left:50%;top:calc(var(--dock-bottom,104px) + 8px);transform:translate(-50%,-8px);height:34px;border:0;border-radius:999px;background:var(--charcoal);color:#fff;padding:0 13px;font-size:12px;font-weight:900;box-shadow:0 9px 22px rgba(25,25,22,.18);opacity:0;pointer-events:none;transition:.18s ease}.fit-results.show{opacity:1;pointer-events:auto;transform:translate(-50%)}.empty{position:absolute;z-index:30;left:50%;top:50%;transform:translate(-50%,-50%);background:#fffdfa;border:1px solid rgba(26,24,21,.11);border-radius:14px;padding:17px 19px;text-align:center;box-shadow:var(--shadow);display:none;min-width:min(360px,calc(100vw - 28px))}.empty.show{display:block}.empty-actions{display:flex;justify-content:center;gap:7px;margin-top:12px}.empty-desc{font-size:12px;color:var(--muted);margin-top:5px}.empty-actions button{height:35px;border:1px solid rgba(26,24,21,.11);background:white;border-radius:999px;padding:0 12px;font-size:12px;font-weight:900}.empty-actions .primary{background:var(--charcoal);color:white;border-color:var(--charcoal)}.backdrop{position:absolute;z-index:78;inset:0;background:rgba(20,18,14,.22);backdrop-filter:blur(1.5px);display:none}.backdrop.show{display:block}.filter{position:absolute;z-index:98;top:calc(var(--dock-bottom,104px) + 8px);bottom:calc(var(--parent-h) + env(safe-area-inset-bottom));left:0;width:min(320px,85vw);height:auto;background:#fbf8f3;box-shadow:20px 0 45px rgba(31,26,19,.18);transform:translateX(-102%);transition:transform .22s ease;padding:12px 16px 10px;display:flex;flex-direction:column;overflow:hidden}.filter.open{transform:none}.filterhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.filterhead h2{margin:0;font-size:18px}.filter-head-actions{display:flex;align-items:center;gap:6px}.filter-pin{height:34px;border:1px solid rgba(26,24,21,.11);background:white;border-radius:9px;padding:0 9px;display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:850}.filter-pin.active{background:#f3ead8;border-color:rgba(184,147,90,.7);color:#6f5113}.closebtn{border:1px solid rgba(26,24,21,.11);background:white;border-radius:9px;width:34px;height:34px}.filter-note{font-size:11px;color:var(--muted);margin-bottom:8px}.filter-scroll{overflow:auto;min-height:0;flex:1;padding-right:2px}.fg{margin:14px 0}.fg h3,.popover-label,.pull-group h3{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin:0 0 8px;font-weight:900}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid rgba(26,24,21,.11);background:white;border-radius:999px;padding:7px 9px;font-size:12px}.chip.active{background:var(--charcoal);color:white;border-color:var(--charcoal)}.sponsor-toggle{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;cursor:pointer}.filter-bottom{position:sticky;bottom:0;margin:12px -2px 0;padding:10px 2px max(2px,env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(251,248,243,0),#fbf8f3 24%)}.filter-bottom button{width:100%;height:38px;border:1px solid rgba(26,24,21,.12);background:white;border-radius:10px;font-size:12px;font-weight:900}.sheet{position:absolute;z-index:90;right:12px;top:50%;transform:translate(120%,-50%);width:min(410px,calc(100vw - 24px));max-height:calc(100dvh - var(--parent-h) - 28px - env(safe-area-inset-bottom));overflow:auto;background:#fffdfa;border:1px solid rgba(26,24,21,.11);border-radius:20px;box-shadow:0 24px 60px rgba(33,27,19,.2);padding:16px;transition:transform .22s ease,opacity .16s ease;opacity:0;visibility:hidden;pointer-events:none}.sheet.open{transform:translateY(-50%);opacity:1;visibility:visible;pointer-events:auto}.sheet:not(.open) .grab,.sheet:not(.open) .sheet-handle{display:none!important}.sheet-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.sheet-zone{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:900;color:var(--muted)}.sheet h2{font-family:Fraunces,Georgia,serif;font-style:italic;font-size:29px;line-height:.98;letter-spacing:-1px;margin:11px 0 6px}.sheet-sub{font-size:12px;font-weight:850;color:#5e574e}.editorial{font-family:Fraunces,Georgia,serif;font-style:italic;font-size:17px;line-height:1.35;color:#4b453e;margin:15px 0}.kv{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.kv:empty{display:none}.kv .wide{grid-column:1/-1}.sheet-logo{display:block;max-width:132px;max-height:56px;-o-object-fit:contain;object-fit:contain;margin:10px 0 2px}.sheet-logo[hidden]{display:none}.kv div{border:1px solid rgba(26,24,21,.09);background:#fbf7f1;border-radius:9px;padding:8px;font-size:12px;color:var(--muted)}.kv b{display:block;color:var(--charcoal);font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:3px}.editorial.pending{font-size:14px;color:var(--muted)}.sheet-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}.sheet-actions [hidden]{display:none!important}.sheet-primary{min-height:48px;border-radius:11px;background:var(--accent);color:#fff;font-weight:900;font-size:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(14,109,102,.22)}.sheet-primary:hover{background:#0b5b55}.sheet-secondary{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px}.sheet-secondary a,.sheet-secondary button{min-height:44px;padding:4px 6px;border-radius:9px;border:1px solid rgba(26,24,21,.11);background:white;font-weight:900;font-size:12px;line-height:1.15;text-align:center;display:flex;align-items:center;justify-content:center}.save.active{background:#f8edd2;border-color:#d7b65e;color:#6f5113}.sheet-report{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px;border:1px dashed rgba(26,24,21,.18);border-radius:9px;font-size:12px;font-weight:800;color:#71695f;text-decoration:none;transition:background .15s}.sheet-report:hover{background:#fbf7f1}.coords{margin-top:8px;font-size:11px;color:var(--muted)}.tool-dock{position:absolute;z-index:74;left:16px;bottom:calc(var(--parent-h) + 18px + env(safe-area-inset-bottom));pointer-events:none}.tool-stack{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:7px}.dock-collapse,.edge-tab,.tool-card,.tool-more,.tool-popover{pointer-events:auto}.tool-card{border:1px solid rgba(26,24,21,.1);border-radius:8px;box-shadow:0 1px 4px rgba(0,0,0,.18);overflow:hidden}.tool-card,.tool-card button{width:40px;background:#fffdf8}.tool-card button{height:40px;border:0;font-size:19px;line-height:1;display:grid;place-items:center}.tool-card button+button{border-top:1px solid rgba(26,24,21,.08)}.tool-card button:hover,.tool-more:hover{background:#f6f1e9}.tool-more{height:34px;box-shadow:0 1px 4px rgba(0,0,0,.16);font-size:18px}.dock-collapse,.tool-more{width:40px;border:1px solid rgba(26,24,21,.1);border-radius:8px;background:#fffdf8}.dock-collapse{pointer-events:auto;height:30px;box-shadow:0 1px 4px rgba(0,0,0,.14);font-size:20px;line-height:1;display:grid;place-items:center}.tool-popover{position:absolute;left:48px;bottom:0;width:200px;background:#fffdf8;border:1px solid rgba(26,24,21,.1);border-radius:10px;box-shadow:0 8px 28px rgba(26,24,21,.16);padding:10px;display:none;z-index:2}.tool-popover.open{display:block}.popover-action{width:100%;height:34px;border:1px solid rgba(26,24,21,.1);background:white;border-radius:8px;margin-top:5px;text-align:left;padding:0 9px;font-size:12px;font-weight:850}.edge-tab,.popover-action.active{background:var(--charcoal);color:#fff}.edge-tab{position:fixed;left:0;bottom:calc(var(--parent-h) + 26px + env(safe-area-inset-bottom));width:27px;height:70px;border:1px solid rgba(26,24,21,.14);border-left:0;border-radius:0 10px 10px 0;writing-mode:horizontal-tb;transform:none;font-size:24px;letter-spacing:0;font-weight:500}.edge-tab,.tool-dock.collapsed .tool-stack{display:none}.tool-dock.collapsed .edge-tab{display:block}.emergency-parent{position:fixed;z-index:140;left:0;right:0;bottom:0;min-height:calc(var(--parent-h) + env(safe-area-inset-bottom));padding:0 10px env(safe-area-inset-bottom);background:rgba(26,24,21,.97);border-top:1px solid rgba(255,255,255,.1);box-shadow:0 -7px 22px rgba(28,22,15,.14);display:flex;align-items:center;justify-content:space-between;gap:10px;color:#fff}.parent-copy{font-size:11px;color:#d7d0c6;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.parent-actions{display:flex;align-items:center;gap:5px;flex:none;overflow-x:auto;scrollbar-width:none}.parent-actions::-webkit-scrollbar{display:none}.parent-actions button{height:30px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#fff;border-radius:999px;padding:0 10px;font-size:11px;font-weight:850}.parent-actions button.active,.parent-actions button.emg{background:#fff;color:#1a1815}.pullup{position:absolute;z-index:108;left:50%;bottom:calc(var(--parent-h) + env(safe-area-inset-bottom));transform:translate(-50%,110%);width:min(620px,calc(100vw - 16px));max-height:60vh;background:#fffdfa;border:1px solid rgba(26,24,21,.11);border-radius:18px 18px 0 0;box-shadow:0 -18px 48px rgba(26,24,21,.18);padding:9px 14px 18px;overflow:auto;transition:transform .22s ease}.pullup.open{transform:translate(-50%)}.grab{width:42px;height:4px;border-radius:999px;background:#d2cbc0;margin:0 auto 12px}.pull-panel{display:none}.pull-panel.active{display:block}.pull-group{padding:8px 0;border-top:1px solid rgba(26,24,21,.07)}.pull-group:first-of-type{border-top:0}.hotline-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.hotline{min-height:54px;border:1px solid rgba(26,24,21,.1);background:#fbf7f1;border-radius:10px;padding:8px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.hotline b{font-size:17px}.hotline span{font-size:11px;color:var(--muted);font-weight:800}.feedback-actions{display:flex;gap:6px;flex-wrap:wrap}.feedback-actions a{height:34px;border:1px solid rgba(26,24,21,.1);background:white;border-radius:8px;padding:0 10px;display:inline-flex;align-items:center;font-size:12px;font-weight:850}.partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.partner-card{border:1px solid rgba(26,24,21,.1);background:#fbf7f1;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px}.partner-card b{font-family:Fraunces,Georgia,serif;font-style:italic;font-size:17px}.partner-card span{font-size:12px;color:var(--muted);line-height:1.45}.partner-card em{font-style:normal;font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:var(--muted)}.premium-partner{border:1.5px solid var(--gold);background:#fff9ed}.toast-stack{position:fixed;z-index:180;left:50%;bottom:calc(var(--parent-h) + 14px + env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;flex-direction:column-reverse;align-items:center;gap:6px;pointer-events:none;width:min(430px,calc(100vw - 24px))}.toast{background:rgba(26,24,21,.94);color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:0 8px 24px rgba(26,24,21,.18);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;line-height:1.2;opacity:0;transform:translateY(7px);animation:toastIn .16s ease forwards}.toast.gold{background:#71531f}@keyframes toastIn{to{opacity:1;transform:none}}.ai-fab{position:fixed;z-index:1000;right:16px;bottom:calc(var(--parent-h) + 14px + env(safe-area-inset-bottom));min-height:44px}.app:has(.sheet.open,.filter.open,.pullup.open)~.ai-fab{display:none}.app:has(.sheet.open,.filter.open,.pullup.open)~.ai-fab~section{display:none!important}.filter-btn.active{background:var(--charcoal);color:#fff;border-color:var(--charcoal)}.filter-prefs{display:none}.app :is(button,a,input,select,.tile,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.priority-select:focus-within{outline:2px solid var(--accent);outline-offset:2px}.search:focus-within{border-color:var(--accent)}@media (prefers-reduced-motion:reduce){.app *,.app :after,.app :before{transition-duration:0s!important;animation-duration:0s!important}}#selfTestResult{position:fixed;z-index:999;left:8px;top:8px;max-width:calc(100vw - 16px);max-height:90vh;overflow:auto;background:#111;color:#b8ffb8;padding:10px;border-radius:8px;font:11px/1.4 monospace;white-space:pre-wrap}@media(max-width:820px){:root{--parent-h:52px}.topdock{width:calc(100vw - 10px);top:max(5px,env(safe-area-inset-top));gap:5px;z-index:120}.toprow{height:auto;padding:5px;gap:5px;border-radius:12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand search filter" "seg seg prio"}.toprow:has(.priority-select[hidden]){grid-template-areas:"brand search filter" "seg seg seg"}.brand-name{grid-area:brand;min-height:44px;font-size:15px;padding:0 6px;letter-spacing:-.3px}.search{grid-area:search;height:44px;min-width:0;padding:0 8px;gap:4px}.search svg{display:none}.search input{font-size:16px}.search-kbd{display:none!important}.search-clear{width:28px;height:28px;font-size:14px}.filter-btn{grid-area:filter;height:44px;padding:0 12px;font-size:13px}.seg{grid-area:seg;padding:0;gap:2px;min-width:0}.seg button{flex:1;min-width:0;height:44px;padding:0 6px;font-size:12px}.priority-select{grid-area:prio;height:auto;min-width:0}.priority-select select{height:44px;font-size:13px;padding:0 8px;max-width:100%}.reset-top,.toprow .lang-switch{display:none}.intentbar{align-self:stretch;min-height:44px;padding:7px;border-radius:11px}.intent-chip{position:relative;height:30px;padding:0 10px;font-size:12px}.intent-chip:after{content:"";position:absolute;inset:-7px 0}.intent-chip .live-count{font-size:11px}.filter{z-index:130;top:0;bottom:calc(var(--parent-h) + env(safe-area-inset-bottom));padding-top:max(10px,env(safe-area-inset-top));padding-bottom:8px}.filter .closebtn,.filter-pin{height:44px;min-width:44px;font-size:12px}.filter-note{font-size:11px}.chip{min-height:40px;padding:0 12px;font-size:12px}.sponsor-toggle{min-height:44px;font-size:12px}.filter-bottom button{height:44px;font-size:12px}.filter-prefs{display:block}.filter-prefs .lang-switch{height:auto;padding:0;gap:6px;border:0;background:transparent;display:inline-flex}.filter-prefs .lang-switch button{height:44px;min-width:56px;border:1px solid rgba(26,24,21,.12);background:#fff;font-size:12px}.filter-prefs .lang-switch button.active{background:var(--charcoal);color:#fff}.sheet .closebtn{width:44px;height:44px}.sheet{left:6px;right:6px;top:auto;bottom:calc(var(--parent-h) + env(safe-area-inset-bottom) + 6px);width:auto;max-height:72dvh;transform:translateY(115%);border-radius:18px}.sheet.open{transform:translateY(0)}.tool-dock{left:10px;bottom:calc(var(--parent-h) + 12px + env(safe-area-inset-bottom))}.tool-popover{left:47px;bottom:0}.hud{left:36px}.coach,.hud{font-size:11px}.coach{bottom:calc(var(--parent-h) + 72px + env(safe-area-inset-bottom))}.ai-fab{right:10px;bottom:calc(var(--parent-h) + 10px + env(safe-area-inset-bottom))}.hotline-grid{grid-template-columns:repeat(2,1fr)}.pullup{width:calc(100vw - 10px)}.parent-copy{display:none}.parent-actions{width:100%;justify-content:space-between;gap:3px}.parent-actions button{flex:1 1 0;min-width:0;height:44px;padding:0 4px;font-size:12px;line-height:1.1}.feedback-actions a{height:44px;font-size:12px;padding:0 12px}.partner-grid{grid-template-columns:1fr}.toast-stack{bottom:calc(var(--parent-h) + 72px + env(safe-area-inset-bottom))}.toast{font-size:12px}.listview{padding-top:96px}}@media(max-width:430px){.hud-note{display:none}}@media(max-width:360px){.brand-name{font-size:13px;padding:0 4px}.filter-btn{padding:0 9px;font-size:12px}.seg button{padding:0 4px;font-size:11px}.priority-select select{font-size:12px;padding:0 4px}}.wm-face .brand-logo{display:block;opacity:0;position:absolute;inset:18px 10px 14px;width:calc(100% - 20px);height:calc(100% - 32px);max-width:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;pointer-events:none}.wm-face.logo-loaded .brand-logo{opacity:1}.wm-face.logo-loaded .wm-name{visibility:hidden}.listlogo{position:relative}.listlogo .brand-logo{display:block;opacity:0;grid-area:1/1;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;padding:4px}.listlogo.logo-loaded .brand-logo{opacity:1}.listlogo.logo-loaded .list-monogram{display:none}.listlogo .list-monogram{grid-area:1/1}.chrome-handle,.filter-edge-tab{display:none}@keyframes vt-hint-pulse{0%,to{opacity:.55;transform:translateZ(0)}45%{opacity:1;transform:translate3d(0,2px,0)}}@keyframes vt-edge-nudge{0%,to{opacity:.6;transform:translateZ(0)}50%{opacity:1;transform:translate3d(3px,0,0)}}@media(max-width:820px){.topdock .top-handle{display:flex;pointer-events:auto;align-self:center;align-items:center;justify-content:center;height:25px;min-width:160px;gap:6px;padding:0 12px;border:1px solid rgba(26,24,21,.15);border-radius:0 0 14px 14px;background:rgba(255,253,250,.97);color:#514b43;box-shadow:0 4px 12px rgba(26,24,21,.07);font:700 10px/1 Inter,system-ui,sans-serif;touch-action:none}.chrome-handle .handle-track{display:block;flex:none;width:22px;height:3px;border-radius:999px;background:currentColor;opacity:.5}.chrome-handle .handle-arrow{font-size:17px;font-weight:900;line-height:1;animation:vt-hint-pulse 3.2s ease-in-out infinite}.topdock:not(.compact) .top-handle .handle-arrow{transform:rotate(180deg);animation:none}.topdock:not(.compact) .top-handle .handle-message{font-size:0}.topdock:not(.compact) .top-handle .handle-message:after{content:"Vuốt lên · Thu gọn";font-size:10px}.topdock.compact .intentbar,.topdock.compact .priority-select,.topdock.compact .seg{display:none!important}.topdock.compact .toprow{grid-template-areas:"brand search filter";grid-template-columns:auto minmax(0,1fr) auto}.topdock.compact .top-handle{margin-top:-5px}.emergency-parent{padding-bottom:env(safe-area-inset-bottom)}.emergency-parent .bottom-handle{display:flex;position:absolute;top:-23px;left:50%;transform:translateX(-50%);height:25px;min-width:157px;gap:7px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.28);border-bottom:0;border-radius:13px 13px 0 0;background:rgba(26,24,21,.96);color:#fff;font:700 10px/1 Inter,system-ui,sans-serif;padding:0 12px;box-shadow:0 -5px 13px rgba(26,24,21,.12);touch-action:none}.emergency-parent:not(.compact) .bottom-handle .handle-message{font-size:0}.emergency-parent:not(.compact) .bottom-handle .handle-message:after{content:"Vuốt xuống · Thu gọn";font-size:10px}.emergency-parent:not(.compact) .bottom-handle .handle-arrow{transform:rotate(180deg);animation:none}.emergency-parent.compact{min-height:calc(38px + env(safe-area-inset-bottom));justify-content:flex-end}.emergency-parent.compact .parent-actions{width:auto;justify-content:flex-end}.emergency-parent.compact .parent-actions button:not(.emg){display:none}.emergency-parent.compact .parent-actions .emg{height:34px;min-width:92px}.edge-tab,.filter-edge-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:34px;height:88px;min-height:44px;padding:4px 2px;background:rgba(26,24,21,.94);color:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 6px 18px rgba(26,24,21,.18);touch-action:none}.edge-tab{position:fixed;top:52%;left:0;bottom:auto;border-radius:0 12px 12px 0;z-index:75}.filter-edge-tab{position:absolute;z-index:75;right:0;top:52%;border-radius:12px 0 0 12px}.edge-tab .edge-chevron,.filter-edge-tab .edge-chevron{font-size:23px;line-height:1;animation:vt-edge-nudge 3.6s ease-in-out infinite}.filter-edge-tab .edge-chevron{animation-direction:reverse}.edge-tab .edge-hint,.filter-edge-tab .edge-hint{font-size:9px;line-height:1.1;font-weight:800;writing-mode:vertical-rl;letter-spacing:.02em}.app:has(.filter.open,.sheet.open,.pullup.open) .filter-edge-tab,.tool-dock:not(.collapsed) .edge-tab{display:none}.sheet .sheet-handle-mobile{display:flex;align-items:center;justify-content:center;gap:8px;height:30px;width:120px;margin:-8px auto 5px;background:transparent;border:0;color:#6b655c;touch-action:none}.sheet .sheet-handle-mobile .handle-track{width:44px;height:5px}.pullup .pullup-handle{display:flex;align-items:center;justify-content:center;gap:8px;height:30px;width:135px;margin:0 auto 8px;background:transparent;border:0;color:#6b655c;touch-action:none}.pullup .pullup-handle .handle-track{width:44px;height:5px}.mobile-billboard .tile{border-radius:9px}.mobile-billboard .wm-face{padding:7px}.mobile-billboard .tile-core{padding:6px;gap:3px}.mobile-billboard .tile .wm-name{font-family:Inter,ui-sans-serif,system-ui,sans-serif!important;font-size:clamp(15px,4.8vw,21px)!important;font-style:normal!important;font-weight:850!important;text-transform:none!important;letter-spacing:-.025em!important;line-height:1.15!important;text-decoration:none!important;-webkit-text-stroke:0!important;color:var(--charcoal)!important;max-height:100%;-webkit-line-clamp:4!important}.mobile-billboard .tile .wm-style-monogram-circle{height:auto!important;width:auto!important;border:0!important;border-radius:0!important}.mobile-billboard .wm-face .brand-logo{inset:12px 7px 10px;width:calc(100% - 14px);height:calc(100% - 22px)}.mobile-billboard .tile{backface-visibility:hidden}.mobile-billboard .world{will-change:transform}.mobile-billboard .coach{max-width:calc(100vw - 104px);font-size:10px;line-height:1.25;padding:6px 10px;text-align:center;bottom:calc(var(--parent-h) + 67px + env(safe-area-inset-bottom));box-shadow:0 4px 12px rgba(0,0,0,.1)}}@media(prefers-reduced-motion:reduce){.chrome-handle .handle-arrow,.edge-tab .edge-chevron,.filter-edge-tab .edge-chevron{animation:none!important}}