/* QGuide V5.1 visual lock: approved traveler-facing design references are the source of truth. */
body.ql-visual-lock{
  --ql-paper:#fbf6ec;
  --ql-paper-2:#fffaf3;
  --ql-navy:#07375b;
  --ql-orange:#d94b10;
  --ql-green:#53652c;
  --ql-line:#dccfb9;
  --ql-muted:#6d6659;
  background:
    radial-gradient(circle at 18% 10%,rgba(211,180,132,.08),transparent 25%),
    radial-gradient(circle at 80% 18%,rgba(118,139,91,.06),transparent 26%),
    linear-gradient(180deg,#fffaf3 0%,#fbf6ec 100%);
  color:var(--ql-navy);
  font-family:var(--ql-font-display);
}
body.ql-visual-lock::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.07'/%3E%3C/svg%3E");z-index:9999;mix-blend-mode:multiply}
body.ql-visual-lock .site-header{position:sticky;top:0;z-index:80;background:rgba(255,250,243,.96);border-bottom:1px solid rgba(128,103,57,.18);backdrop-filter:blur(14px);box-shadow:none}
body.ql-visual-lock .site-footer{background:#073a5a;color:#fff;border:0;margin-top:0;position:relative;z-index:20}
body.ql-visual-lock #main-content{outline:none;min-height:0}
body.ql-visual-lock button,body.ql-visual-lock input,body.ql-visual-lock select{font:inherit}
body.ql-visual-lock .button,body.ql-visual-lock button{letter-spacing:.02em}
.ql-desktop-header-inner,.ql-mobile-header-inner,.ql-editor-header{width:min(1480px,calc(100% - 68px));margin:auto;height:98px;display:flex;align-items:center;gap:28px}
.ql-desktop-brand{display:flex;align-items:baseline;color:var(--ql-navy);text-decoration:none;min-width:220px}
.ql-brand-q{font-size:47px;line-height:1;font-weight:600;letter-spacing:-.08em;font-style:italic}
.ql-brand-guide{font-size:34px;line-height:1;font-weight:600;letter-spacing:.03em}
.ql-brand-office{font-size:25px;margin-left:10px;font-weight:600;letter-spacing:.08em}
.ql-desktop-nav{display:flex;align-self:stretch;justify-content:center;gap:52px;flex:1}
.ql-desktop-nav a{position:relative;display:flex;align-items:center;text-decoration:none;color:#2e332e;font-size:20px;white-space:nowrap}
.ql-desktop-nav a.is-active{color:var(--ql-orange)}
.ql-desktop-nav a.is-active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--ql-orange)}
.ql-header-cta{border:0;border-radius:999px;background:linear-gradient(180deg,#e45418,#be3508);color:#fff;padding:13px 28px;font-size:17px;box-shadow:none}
.ql-header-cta svg{width:17px;margin-left:8px}
.ql-mobile-header-inner,.ql-editor-header{display:none}
.ql-footer-inner{width:min(1520px,calc(100% - 60px));height:66px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px}
.ql-footer-brand{color:#fff;text-decoration:none;font-size:21px;display:flex;align-items:center;gap:9px}
.ql-footer-pin{width:17px;height:22px;border:2px solid #f1c741;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:inline-block}
.ql-footer-inner nav{display:flex;gap:68px}
.ql-footer-inner nav button,.ql-social span{border:0;background:none;color:#fff;font-size:14px}
.ql-social{display:flex;align-items:center;gap:26px;font-family:sans-serif;font-weight:700}
.ql-desktop-page{display:block;width:min(1600px,calc(100% - 34px));margin:auto;padding:0 0 0}
.ql-mobile-page{display:none}
.ql-desktop-hero{height:132px;display:grid;grid-template-columns:130px minmax(480px,1fr) auto 430px;align-items:center;gap:24px;position:relative;overflow:hidden;padding:0 56px}
.ql-hero-mascot{width:114px;max-height:116px;object-fit:contain;align-self:end}
.ql-desktop-hero h1{font-size:45px;line-height:1.12;margin:0 0 9px;letter-spacing:.08em;color:var(--ql-navy);font-weight:700}
.ql-desktop-hero p{margin:0;color:#383a34;font-size:20px;letter-spacing:.16em}
.ql-campus-art{position:absolute;right:32px;top:0;width:460px;height:132px;object-fit:contain;opacity:.73;z-index:-1}
.ql-scope-select{position:relative;z-index:2;min-width:267px;max-width:340px;height:48px;border:1px solid #c8baa1;border-radius:999px;background:rgba(255,252,247,.94);display:flex;align-items:center;justify-content:center;gap:10px;color:var(--ql-navy);padding:0 18px}
.ql-scope-select span{flex:none;font-size:14px}.ql-scope-select strong{flex:1;min-width:0;font-size:16px;letter-spacing:.07em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ql-scope-select svg{flex:none;width:17px}
.ql-discovery-layout{display:grid;grid-template-columns:210px minmax(0,1fr) 394px;gap:16px;align-items:stretch}
.ql-panel{background:rgba(255,252,247,.82);border:1px solid var(--ql-line);border-radius:16px;box-shadow:0 3px 12px rgba(82,59,22,.03)}
.ql-filter-panel{padding:18px 15px;display:grid;align-content:start;gap:9px}
.ql-discovery-sidebar{display:grid;gap:14px;align-content:start}
.ql-mobile-guide-section{display:grid;gap:12px}
.ql-home-guide{padding:18px 15px;display:grid;gap:12px}
.ql-home-guide-progress{display:flex;gap:6px}
.ql-home-guide-progress i{flex:1;height:4px;border-radius:999px;background:#e7dcc9;display:block}
.ql-home-guide-progress i.is-current{background:var(--ql-orange)}
.ql-home-guide-progress i.is-done{background:var(--ql-green)}
.ql-home-guide-step h2{font-size:16px;margin:0 0 10px;color:var(--ql-navy);display:flex;align-items:center;gap:6px}
.ql-home-guide-step h2 svg{width:18px;height:18px;color:var(--ql-orange)}
.ql-guide-chip{font-size:13px;border:1px solid #d7cebf;border-radius:999px;padding:7px 13px;background:#fffdf8;color:var(--ql-navy)}
.ql-guide-chip:hover{border-color:var(--ql-orange)}
.ql-guide-skip,.ql-guide-skip-all{display:block;width:100%;text-align:center;border:0;background:none;color:#8a8377;font-size:12px;padding:6px 0;margin-top:2px}
.ql-guide-skip:hover,.ql-guide-skip-all:hover{color:var(--ql-navy)}
.ql-guide-locate{width:100%;height:44px;display:flex;align-items:center;justify-content:center;gap:8px}
.ql-guide-locate:disabled{opacity:.6}
.ql-guide-hint{font-size:12px;color:#8a8377;margin:0}
.ql-guide-hint-warn{color:var(--ql-orange)}
.ql-home-guide-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 16px;border:1px solid var(--ql-line);border-radius:999px;background:rgba(255,252,247,.82)}
.ql-home-guide-summary p{margin:0;font-size:13px;color:var(--ql-navy);display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ql-home-guide-summary p svg{flex:none;width:15px;height:15px;color:var(--ql-green)}
.ql-guide-edit{flex:none;border:1px solid var(--ql-line);border-radius:999px;background:#fffdf8;color:var(--ql-navy);font-size:12px;padding:5px 13px}
.ql-advanced-toggle{width:100%;display:flex;align-items:center;gap:6px;border:0;background:none;color:var(--ql-navy);font-size:13px;padding:0}
.ql-advanced-toggle svg:last-child{margin-left:auto;transition:transform 160ms ease}
.ql-advanced-toggle.is-open svg:last-child{transform:rotate(180deg)}
.ql-filter-panel h2{font-size:15px;margin:4px 0 0;display:flex;align-items:center;gap:7px;color:#45552d}.ql-filter-panel h2 svg{width:18px;height:18px}
.ql-filter-panel select{width:100%;height:34px;border:1px solid #d5cab7;border-radius:12px;background:#fffdf9;padding:0 12px;color:#5a564d}
.ql-chips{display:flex;gap:6px;flex-wrap:wrap}.ql-chips button{font-size:12px;border:1px solid #d7cebf;border-radius:999px;padding:4px 9px;background:#fffdf8;color:#615d54}.ql-chips button.is-active{background:var(--ql-green);color:#fff;border-color:var(--ql-green)}
.ql-primary{background:linear-gradient(180deg,#dd541b,#c63a09)!important;color:#fff!important;border:0!important;border-radius:9px!important}
.ql-filter-reset{height:40px;margin-top:auto}
.ql-discovery-main{overflow:hidden}
.ql-tabs{height:46px;border-bottom:1px solid var(--ql-line);display:flex;align-items:stretch;padding:0 20px;gap:38px}
.ql-tabs button{border:0;background:none;position:relative;padding:0 5px;color:#53534d;font-size:16px}.ql-tabs button.is-active{color:var(--ql-orange)}.ql-tabs button.is-active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--ql-orange)}
.ql-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px 12px 10px}
.ql-place-card{border:1px solid #d9cfbf;border-radius:13px;background:#fffdf8;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.ql-place-card>img{width:100%;aspect-ratio:1.55/1;object-fit:cover}.ql-place-card h3{margin:10px 10px 5px;font-size:20px;color:var(--ql-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ql-place-card p{margin:0 10px 8px;color:#57544c;font-size:13px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:39px}.ql-meta{display:flex;gap:14px;padding:0 10px 9px;color:#656158;font-size:12px}.ql-meta span{display:flex;align-items:center;gap:4px}.ql-meta svg{width:13px}.ql-place-card>div:last-child{display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:5px;padding:0 9px 10px}.ql-place-card>div:last-child button{height:31px;border:1px solid #c7b99f;border-radius:8px;background:#fffdf8;color:#6c6250;font-size:12px}
.ql-subtitle{font-size:20px;margin:2px 14px 7px;color:var(--ql-navy)}
.ql-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0 12px 12px}.ql-mini-grid button{position:relative;height:92px;border:1px solid #d8cdbc;border-radius:12px;overflow:hidden;padding:0;background:#fff}.ql-mini-grid img{width:100%;height:100%;object-fit:cover;filter:brightness(.78)}.ql-mini-grid span{position:absolute;left:0;right:0;bottom:0;height:38px;color:#fff;background:linear-gradient(transparent,rgba(43,50,27,.86));display:flex;align-items:center;gap:8px;padding:0 11px;font-size:15px}.ql-mini-grid span svg:last-child{margin-left:auto}
.ql-map-panel{padding:13px 14px;display:grid;grid-template-rows:auto 1fr auto auto}.ql-map-panel h2{font-size:19px;margin:0 0 8px}.ql-map-panel>button:first-of-type{padding:0;border:0;background:none}.ql-map-panel img{width:100%;height:280px;object-fit:cover;border:1px solid #d3c7b2;border-radius:11px}.ql-map-legend{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px;font-size:12px;color:#58554e;padding:11px 8px}.ql-map-legend span{display:flex;align-items:center;gap:8px}.ql-map-legend i{width:8px;height:8px;border-radius:50%;background:#53652c}.ql-map-legend i.c0{background:#c94b19}.ql-map-legend i.c1{background:#53652c}.ql-map-legend i.c2{background:#e7952a}.ql-map-legend i.c3{background:#62549d}.ql-map-link{height:36px;border:1px solid #d6cab5;border-radius:11px;background:#fffdf8;color:#c84b19}
.ql-quick-strip{height:88px;display:grid;grid-template-columns:250px repeat(5,1fr);align-items:center;gap:12px;padding:0 55px;position:relative}.ql-quick-strip h2{font-size:23px;margin:0;color:var(--ql-navy)}.ql-quick-strip button{height:50px;border:1px solid #d5c8b2;border-radius:12px;background:#fffdf9;color:#58554c;display:flex;align-items:center;padding:0 18px;gap:12px;font-size:16px}.ql-quick-strip button svg{color:var(--ql-green);width:24px;height:24px}.ql-quick-strip button svg:last-child{margin-left:auto;width:16px}
.ql-ai-hero{grid-template-columns:130px minmax(530px,1fr) auto 275px}.ql-profile-pill{z-index:2;border:1px solid #dacfbf;border-radius:18px;background:rgba(255,252,247,.95);height:49px;display:flex;align-items:center;gap:12px;padding:0 17px;font-size:15px;color:#272a26}.ql-profile-pill img{width:33px;height:33px;border-radius:50%;object-fit:cover}.ql-profile-pill svg{width:15px}
.ql-ai-layout{display:grid;grid-template-columns:362px minmax(0,1fr) 462px;gap:16px;padding-bottom:18px}.ql-itinerary,.ql-chat-panel,.ql-ai-side>.ql-panel{padding:17px}.ql-itinerary h2,.ql-chat-panel>h2,.ql-ai-side h2{font-size:19px;margin:0 0 10px}.ql-current-place{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ded4c4;padding:8px 0 12px}.ql-current-place div{display:grid;gap:4px}.ql-current-place small{display:flex;gap:5px}.ql-current-place strong{font-size:18px;color:#333}.ql-current-place img{width:78px;height:50px;border-radius:8px;object-fit:cover}.ql-itinerary-row{min-height:68px;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;border-bottom:1px solid #ded4c4}.ql-itinerary-row>svg{color:var(--ql-green)}.ql-itinerary-row span{display:grid;gap:3px}.ql-itinerary-row small{color:#777}.ql-itinerary-row strong{color:#353732}.ql-itinerary-row img{width:78px;height:48px;object-fit:cover;border-radius:8px}.ql-itinerary-row b{font-size:20px;color:var(--ql-orange)}.ql-stop-list{padding:10px 0;display:grid;gap:7px}.ql-stop-list div{display:grid;grid-template-columns:27px 1fr auto;align-items:center;gap:8px}.ql-stop-list span{width:25px;height:25px;background:var(--ql-green);color:#fff;border-radius:50%;display:grid;place-items:center}.ql-stop-list em{font-style:normal;border:1px solid #c8bea8;border-radius:999px;padding:2px 8px;font-size:11px;color:#6a6559}.ql-two-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ql-two-actions button{height:45px;border:1px solid #a99e85;border-radius:9px;background:#fffdf9;color:#445130}.ql-chat-panel{display:flex;flex-direction:column}.ql-chat-panel>h2{display:flex;align-items:center;gap:8px}.ql-chat-log{flex:1;display:flex;flex-direction:column;gap:12px;min-height:425px}.ql-user-message{display:flex;justify-content:flex-end;align-items:center;gap:9px}.ql-user-message p{margin:0;border:1px solid #d8c9ae;border-radius:15px 15px 3px 15px;background:#f4ead7;padding:12px 18px;color:#45433e}.ql-user-message img{width:34px;height:34px;border-radius:50%}.ql-user-message small{color:#777}.ql-ai-message{display:flex;align-items:flex-start;gap:9px}.ql-ai-message>img{width:42px;height:42px;object-fit:contain}.ql-ai-message article{border:1px solid #d7cab4;border-radius:3px 15px 15px 15px;background:#fffdf9;padding:13px 16px;max-width:90%;color:#48453f}.ql-ai-message p{margin:0 0 8px;line-height:1.55}.ql-route-suggestion{border-top:1px solid #e0d5c5;padding-top:10px;margin-top:8px}.ql-route-suggestion h3{font-size:19px;margin:7px 0;text-align:center}.ql-route-icons{display:flex;justify-content:center;align-items:center;gap:25px;font-size:26px;color:var(--ql-green)}.ql-route-icons svg{width:28px;height:28px}.ql-route-suggestion>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ql-route-suggestion button{height:39px;border:1px solid #a99e85;border-radius:8px;background:#fffdf9;color:#4c5535}.ql-chat-compose{height:53px;display:grid;grid-template-columns:1fr 42px 42px 42px 49px;border:1px solid #d2c4ab;border-radius:14px;overflow:hidden;margin-top:auto}.ql-chat-compose input{border:0;background:#fffdf9;padding:0 15px;font-size:15px;color:#4a4742}.ql-chat-compose button{border:0;background:#fffdf9;color:#41423b}.ql-chat-compose .ql-send{background:var(--ql-orange);color:#fff;border-radius:50%;width:42px;height:42px;margin:5px}.ql-prompt-row{display:flex;gap:8px;margin-top:8px}.ql-prompt-row button{border:1px solid #d8cbb7;border-radius:999px;background:#fffdf9;padding:6px 12px;color:#665f52;font-size:12px}.ql-ai-side{display:grid;grid-template-rows:auto auto auto 1fr;gap:10px}.ql-nearby-list{display:grid;gap:8px}.ql-nearby-list button{height:59px;display:grid;grid-template-columns:88px 1fr 16px;align-items:center;border:1px solid #ded3c2;border-radius:9px;background:#fffdf9;padding:0;overflow:hidden;text-align:left;color:#403f3a}.ql-nearby-list img{width:88px;height:59px;object-fit:cover}.ql-nearby-list span{display:grid;padding:0 10px}.ql-nearby-list strong{font-size:14px}.ql-nearby-list small{font-size:11px;color:#777}.ql-services{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.ql-services button{border:0;background:none;color:#4b522f;display:grid;justify-items:center;gap:4px;font-size:12px}.ql-services svg{width:27px;height:27px}.ql-ai-note{border:1px solid #d8cbb8;border-radius:10px;padding:11px 13px;display:flex;gap:9px;align-items:center;color:#625c51;font-size:12px}.ql-ai-mascot{display:flex;align-items:flex-end;justify-content:flex-end;gap:13px}.ql-ai-mascot p{border:1px solid #d2c4ad;border-radius:13px;padding:13px 18px;background:#fffdf9;color:#55524b;max-width:220px}.ql-ai-mascot img{width:116px;height:120px;object-fit:contain}
body.ql-visual-lock .mobile-bottom-nav{display:none}
body.ql-visual-lock .v3-ai-fab{display:none}
.ql-avatar{display:block;width:28px;height:28px;max-width:28px;border-radius:50%;object-fit:cover}

@media (max-width:900px){
  body.ql-visual-lock{padding-bottom:91px;background:#fffaf1}
  body.ql-visual-lock::before{opacity:.12}
  .ql-desktop-header-inner{display:none}.ql-mobile-header-inner,.ql-editor-header{width:100%;height:102px;padding:0 18px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;box-sizing:border-box}
  .ql-editor-header{grid-template-columns:auto minmax(130px,1fr) auto}
  .ql-mobile-brand{display:flex;align-items:baseline;text-decoration:none;color:var(--ql-navy);white-space:nowrap}.ql-mobile-brand .ql-brand-q{font-size:35px}.ql-mobile-brand .ql-brand-guide{font-size:27px}.ql-mobile-brand .ql-brand-office{font-size:19px;margin-left:7px}
  .ql-mobile-destination{justify-self:center;min-width:0;max-width:210px;height:49px;padding:0 16px;border:1px solid #cabb9f;border-radius:999px;background:#fffaf3;color:#393c35;display:flex;align-items:center;gap:7px;font-size:16px;white-space:nowrap;overflow:hidden}.ql-mobile-destination svg{width:17px;flex:none}
  .ql-mobile-head-actions{display:flex;gap:10px}.ql-mobile-head-actions button,.ql-editor-actions button{border:0;background:none;color:#243d25;width:38px;height:56px;display:flex;align-items:center;justify-content:center;position:relative}.ql-mobile-head-actions button svg{width:29px;height:29px}.ql-mobile-head-actions .has-dot::after{content:"";position:absolute;top:8px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--ql-orange)}.ql-mobile-head-actions .ql-mobile-line-cta::after{content:"";position:absolute;top:8px;right:4px;width:7px;height:7px;border-radius:50%;background:#06bf65}
  .ql-editor-actions{display:flex;align-items:center;gap:8px}.ql-editor-actions button{width:40px;height:66px;display:grid;grid-template-rows:31px 20px;justify-items:center;font-size:12px}.ql-editor-actions svg{width:28px;height:28px}
  body.ql-visual-lock .site-header{height:102px}
  body.ql-visual-lock .site-footer{display:none!important}
  body.ql-visual-lock .mobile-bottom-nav{display:grid!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;height:91px!important;grid-template-columns:repeat(5,1fr)!important;background:rgba(255,252,247,.98)!important;border-top:1px solid #d9cdb9!important;border-radius:24px 24px 0 0!important;box-shadow:0 -5px 18px rgba(73,49,17,.08)!important;padding:5px 8px max(5px,env(safe-area-inset-bottom))!important;z-index:100!important}
  body.ql-visual-lock .mobile-bottom-nav a{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:3px!important;color:#595a54!important;text-decoration:none!important;font-size:15px!important;border:0!important;background:none!important}
  body.ql-visual-lock .mobile-bottom-nav a svg{width:31px!important;height:31px!important}
  body.ql-visual-lock .mobile-bottom-nav a.is-active{color:var(--ql-orange)!important}
  body.ql-visual-lock .v3-ai-fab{display:flex!important;position:fixed!important;right:18px!important;bottom:104px!important;width:75px!important;height:86px!important;border-radius:50%!important;background:linear-gradient(180deg,#e8651d,#c83d09)!important;border:3px solid #fff!important;box-shadow:0 7px 20px rgba(111,49,8,.25)!important;z-index:98!important;align-items:center!important;justify-content:center!important;padding:5px!important;overflow:visible!important}
  body.ql-visual-lock .v3-ai-fab img{width:63px!important;height:63px!important;object-fit:contain!important}.v3-ai-fab span{position:absolute!important;bottom:-15px!important;background:var(--ql-orange)!important;color:#fff!important;padding:5px 8px!important;border-radius:7px!important;font-size:12px!important;white-space:nowrap!important}
  .ql-desktop-page{display:none}.ql-mobile-page{display:block;width:100%;box-sizing:border-box;padding:0 16px 30px}
  .ql-mobile-hero{height:176px;position:relative;display:flex;align-items:center;overflow:hidden;padding:0 7px}.ql-mobile-hero>div{position:relative;z-index:3;width:67%}.ql-mobile-hero h1{font-size:32px;line-height:1.28;margin:0 0 8px;letter-spacing:.05em}.ql-mobile-hero p{font-size:16px;color:#4a4741;margin:0;line-height:1.55}.ql-mobile-hero>img:nth-of-type(1){position:absolute;right:-5px;top:10px;width:240px;height:140px;object-fit:contain;opacity:.55}.ql-mobile-hero>img:nth-of-type(2){position:absolute;right:8px;bottom:2px;width:104px;height:104px;object-fit:contain;z-index:2}
  .ql-mobile-search{width:100%;height:58px;border:1px solid #cab99e;border-radius:999px;background:#fffdf8;color:#77716a;display:flex;align-items:center;gap:12px;padding:0 20px;font-size:17px}.ql-mobile-search svg{width:25px;height:25px;color:#343632}
  .ql-mobile-categories{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0 23px}.ql-mobile-categories button{height:82px;border:1px solid #d7c8b1;border-radius:15px;background:#fffdf8;color:var(--ql-navy);display:grid;place-items:center;align-content:center;gap:7px;font-size:15px}.ql-mobile-categories svg{width:31px;height:31px;color:var(--ql-green)}
  .ql-mobile-section{margin-bottom:24px}.ql-mobile-section>header,.ql-past-trips>header,.ql-mobile-nearby>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ql-mobile-section h2,.ql-past-trips h2,.ql-mobile-nearby h2{font-size:25px;margin:0;letter-spacing:.05em}.ql-mobile-section header button,.ql-past-trips header button,.ql-mobile-nearby header button{border:0;background:none;color:var(--ql-orange);display:flex;align-items:center;gap:4px}
  .ql-mobile-feature{border:1px solid #d8cbb7;border-radius:19px;background:#fffdf8;overflow:hidden;box-shadow:0 4px 14px rgba(69,45,12,.07)}.ql-mobile-feature>img{width:100%;aspect-ratio:1.55/1;object-fit:cover}.ql-mobile-feature>div{padding:15px}.ql-mobile-feature h3{font-size:25px;margin:0 0 9px;color:var(--ql-navy)}.ql-mobile-feature p{margin:5px 0;color:#4f4d46;display:flex;gap:6px;align-items:center}.ql-mobile-feature .ql-primary{width:100%;height:49px;margin-top:12px;font-size:17px}.ql-dots{display:flex;justify-content:center;gap:7px;padding:10px}.ql-dots i{width:8px;height:8px;border-radius:50%;background:#d7cbb8}.ql-dots i:first-child{background:var(--ql-orange)}
  .ql-theme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.ql-theme-grid button{height:115px;border:1px solid #d3c4ad;border-radius:15px;background:#fffdf8;position:relative;overflow:hidden;padding:0;color:var(--ql-navy)}.ql-theme-grid img{width:100%;height:73px;object-fit:cover}.ql-theme-grid span{position:absolute;left:7px;top:55px;width:41px;height:41px;border-radius:50%;background:#fffdf8;border:1px solid #d5c6ad;display:grid;place-items:center;color:var(--ql-green)}.ql-theme-grid span svg{width:23px}.ql-theme-grid strong{display:block;font-size:13px;padding:10px 4px 0}
  .ql-nearby-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ql-nearby-grid article{position:relative;border:1px solid #d4c6af;border-radius:15px;background:#fffdf8;overflow:hidden}.ql-nearby-grid article>button:first-child{width:100%;border:0;background:none;text-align:left;padding:0;color:var(--ql-navy)}.ql-nearby-grid img{width:100%;height:111px;object-fit:cover}.ql-nearby-grid h3{font-size:18px;margin:9px 10px 4px}.ql-nearby-grid p{font-size:13px;line-height:1.45;color:#716c63;margin:0 10px 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ql-nearby-grid article>button:last-child{position:absolute;right:7px;bottom:7px;border:0;background:none;color:#4f5536}
  .ql-ai-mobile{padding-top:12px}.ql-ai-mobile-context{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center;border:1px solid #d7cab6;border-radius:14px;background:#fffdf8;padding:13px}.ql-ai-mobile-context>div{display:flex;align-items:center;gap:8px}.ql-ai-mobile-context>div:nth-child(2){display:grid;grid-template-columns:auto auto;column-gap:8px}.ql-ai-mobile-context small{color:#777}.ql-ai-mobile-context strong{font-size:17px}.ql-ai-mobile-context i{grid-column:1/3;height:5px;background:#d9d5c8;border-radius:9px;overflow:hidden}.ql-ai-mobile-context i b{display:block;height:100%;background:var(--ql-green)}.ql-ai-mobile-context button{height:49px;border:1px solid #a99c83;border-radius:10px;background:#fffdf8;color:#38442d;display:flex;align-items:center;gap:6px;padding:0 12px}
  .ql-ai-mobile-welcome{position:relative;overflow:hidden;border:1px solid #d9cdb9;border-radius:15px;background:#fffdf8;margin:12px 0;padding:18px 12px;display:grid;grid-template-columns:83px 1fr;gap:10px;min-height:138px}.ql-ai-mobile-welcome>img:first-child{width:82px;height:92px;object-fit:contain}.ql-ai-mobile-welcome>div{z-index:2}.ql-ai-mobile-welcome h1{font-size:20px;line-height:1.55;margin:0 0 8px}.ql-ai-mobile-welcome p{margin:0;color:#6c675d;font-size:13px}.ql-ai-mobile-welcome>img:last-child{position:absolute;right:-15px;bottom:-18px;width:150px;opacity:.24}
  .ql-ai-mobile-thread{display:grid;gap:13px}.ql-mobile-user-msg{display:flex;align-items:center;justify-content:flex-end;gap:7px}.ql-mobile-user-msg time{color:#6c6860}.ql-mobile-user-msg p{max-width:72%;border:1px solid #d7c8ad;border-radius:15px 15px 3px 15px;background:#f5ead6;padding:11px 13px;margin:0;color:#46443f}.ql-mobile-user-msg>svg{width:35px;height:35px;border:1px solid #d7c9b3;border-radius:50%;padding:7px;color:var(--ql-green)}
  .ql-mobile-ai-msg{display:grid;grid-template-columns:48px 1fr;gap:7px}.ql-mobile-ai-msg>img{width:46px;height:52px;object-fit:contain}.ql-mobile-ai-msg article{border:1px solid #d7c9b2;border-radius:4px 15px 15px 15px;background:#fffdf8;padding:12px}.ql-mobile-ai-msg p{margin:0;line-height:1.6;color:#45433e}.ql-mobile-route-card{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.ql-mobile-route-card h3,.ql-mobile-route-card img{grid-column:1/3}.ql-mobile-route-card h3{margin:0;color:var(--ql-navy);font-size:17px}.ql-mobile-route-card img{width:100%;height:110px;object-fit:cover;border-radius:10px}.ql-mobile-route-card span{display:flex;align-items:center;gap:5px;color:#596242;font-size:13px}.ql-mobile-route-card button{height:43px;border:1px solid #afa38a;border-radius:9px;background:#fffdf8;color:#455130}.ql-mobile-nearby{margin-top:15px;border:1px solid #d8cbb7;border-radius:15px;background:#fffdf8;padding:13px}.ql-mobile-nearby>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.ql-mobile-nearby>div button{border:1px solid #d9cdbb;border-radius:10px;background:#fff;padding:0 0 9px;overflow:hidden;color:#3f403b}.ql-mobile-nearby img{width:100%;height:67px;object-fit:cover}.ql-mobile-nearby strong,.ql-mobile-nearby small{display:block;padding:0 7px;text-align:left}.ql-mobile-nearby strong{font-size:13px;margin-top:6px}.ql-mobile-nearby small{font-size:11px;color:#716c63}.ql-ai-mobile-prompts{display:flex;gap:7px;overflow:auto;padding:14px 0 9px}.ql-ai-mobile-prompts button{white-space:nowrap;border:1px solid #d5c7b0;border-radius:999px;background:#fffdf8;padding:8px 12px;color:#56534c}.ql-ai-mobile-compose{height:59px;border:1px solid #d1c2a8;border-radius:999px;background:#fffdf8;display:grid;grid-template-columns:1fr 38px 38px 38px 48px;align-items:center;padding:0 6px}.ql-ai-mobile-compose input{border:0;background:none;padding:0 12px;color:#555}.ql-ai-mobile-compose button{border:0;background:none;color:#555}.ql-ai-mobile-compose .ql-send{width:43px;height:43px;border-radius:50%;background:var(--ql-orange);color:#fff}
  .ql-footprint-hero{height:150px;position:relative;overflow:hidden;padding:12px 2px;display:flex;align-items:flex-start}.ql-footprint-hero>div{position:relative;z-index:3}.ql-footprint-hero h1{font-size:37px;margin:5px 0 8px;letter-spacing:.06em}.ql-footprint-hero p{font-size:16px;color:#46443e;margin:0}.ql-footprint-hero>img:nth-of-type(1){position:absolute;left:45%;bottom:6px;width:94px;height:92px;object-fit:contain;z-index:2}.ql-footprint-hero>img:nth-of-type(2){position:absolute;right:-5px;top:0;width:250px;height:135px;object-fit:contain;opacity:.65}
  .ql-foot-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:1px 0 11px}.ql-foot-stats article{height:102px;border:1px solid #d7cab6;border-radius:14px;background:#fffdf8;display:flex;align-items:center;justify-content:center;gap:11px}.ql-foot-stats article>svg{width:47px;height:47px;padding:11px;border-radius:50%;background:#eef0df;color:var(--ql-green)}.ql-foot-stats article:nth-child(2)>svg{background:#f9eadc;color:var(--ql-orange)}.ql-foot-stats span{display:grid;color:#4e4b45}.ql-foot-stats strong{font-size:36px;color:var(--ql-navy);font-weight:500;line-height:1.05}
  .ql-foot-card{border:1px solid #d8cbb7;border-radius:18px;background:#fffdf8;padding:12px;box-shadow:0 3px 10px rgba(69,45,12,.05)}.ql-foot-card>header{display:flex;align-items:center;justify-content:space-between;padding:0 2px 9px}.ql-foot-card h2{font-size:24px;margin:0}.ql-foot-card h2 small{font-size:15px;color:#4f4b44}.ql-foot-card>header>span{border-radius:999px;background:var(--ql-green);color:#fff;padding:7px 12px;font-size:12px}.ql-foot-map{width:100%;height:191px;object-fit:cover;border-radius:12px}.ql-foot-card>h3{font-size:23px;margin:9px 4px}.ql-foot-timeline{display:grid}.ql-foot-timeline article{display:grid;grid-template-columns:49px 35px 82px minmax(0,1fr);gap:7px;align-items:center;min-height:69px;position:relative}.ql-foot-timeline article::before{content:"";position:absolute;left:64px;top:0;bottom:0;border-left:1px solid #cfc1aa}.ql-foot-timeline time{font-size:13px;color:#56524b}.ql-foot-number{position:relative;z-index:2;width:31px;height:31px;border-radius:50%;background:var(--ql-green);color:#fff;display:grid;place-items:center;font-size:12px}.ql-foot-number.is-blue{width:41px;border-radius:8px;background:#1188d0}.ql-foot-timeline img{width:82px;height:55px;border-radius:8px;object-fit:cover}.ql-foot-timeline article>div:nth-of-type(1){display:grid;gap:4px}.ql-foot-timeline strong{font-size:17px;color:var(--ql-navy)}.ql-foot-timeline small{font-size:12px;color:#746e64}.ql-foot-actions{grid-column:4;display:flex;gap:6px}.ql-foot-actions button{border:1px solid #cbbda5;border-radius:8px;background:#fff;padding:5px 8px;color:#4d5637}.ql-foot-cta{margin-top:10px;background:linear-gradient(180deg,#db4f10,#c13908);color:#fff;border-radius:12px;min-height:130px;display:grid;grid-template-columns:93px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px}.ql-foot-cta img{width:90px;height:105px;object-fit:contain}.ql-foot-cta h3{font-size:25px;margin:0 0 6px}.ql-foot-cta p{font-size:14px;margin:0;line-height:1.5}.ql-foot-cta a{height:59px;border-radius:999px;background:#fffaf3;color:var(--ql-orange);display:flex;align-items:center;padding:0 18px;text-decoration:none;font-size:16px;white-space:nowrap}.ql-past-trips{margin-top:14px}.ql-past-trips>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ql-past-trips article{min-width:0;border:1px solid #d5c7af;border-radius:13px;background:#fffdf8;display:grid;grid-template-columns:82px 1fr auto;align-items:center;gap:8px;overflow:hidden;padding-right:8px}.ql-past-trips article img{width:82px;height:74px;object-fit:cover}.ql-past-trips article span{display:grid;gap:3px}.ql-past-trips article strong{font-size:14px;color:var(--ql-navy)}.ql-past-trips article small{font-size:10px;color:#6f6960}.ql-past-trips article em{font-style:normal;border-radius:999px;background:#edf0df;color:#576337;padding:4px 7px;font-size:10px}
  .ql-cocreate-mobile{padding-top:0}.ql-cocreate-intro{height:142px;position:relative;overflow:hidden;display:grid;grid-template-columns:91px 1fr;align-items:center}.ql-cocreate-intro>img:first-child{width:91px;height:103px;object-fit:contain;z-index:2}.ql-cocreate-intro>div{z-index:2}.ql-cocreate-intro h1{font-size:37px;margin:0 0 7px}.ql-cocreate-intro p{font-size:16px;color:#4e4b44;margin:0}.ql-cocreate-intro>img:last-child{position:absolute;right:-5px;top:0;width:235px;height:135px;object-fit:contain;opacity:.6}
  .ql-five-step{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;margin:0 0 12px;padding:8px;border:1px solid #d6c9b5;border-radius:14px;background:#fffdf8}.ql-five-step li{position:relative}.ql-five-step li:not(:last-child)::after{content:"";position:absolute;top:17px;left:65%;right:-35%;border-top:1px dashed #c5b59c}.ql-five-step button{width:100%;border:0;background:none;display:grid;justify-items:center;gap:4px;color:#3f403b;font-size:10px}.ql-five-step span{position:relative;z-index:2;width:34px;height:34px;border:1px solid #b9aa91;border-radius:50%;background:#fffdf8;display:grid;place-items:center;font-size:15px}.ql-five-step li.is-current span{background:var(--ql-orange);color:#fff;border-color:var(--ql-orange)}.ql-five-step li.is-current strong{color:var(--ql-orange)}.ql-five-step li.is-complete span{background:var(--ql-green);color:#fff;border-color:var(--ql-green)}.ql-five-step strong{font-size:10px;white-space:nowrap}
  .ql-trip-source{border:1px solid #d6c8b1;border-radius:14px;background:#fffdf8;padding:13px;display:grid;grid-template-columns:35px 1fr auto;gap:9px;align-items:center;margin-bottom:12px}.ql-trip-source>svg{width:30px;color:var(--ql-green)}.ql-trip-source div{display:grid;gap:4px}.ql-trip-source small{color:#706a5f;font-size:11px}.ql-trip-source strong{font-size:13px;color:#393b36}.ql-trip-source button{border:0;background:none;color:var(--ql-orange);display:flex;align-items:center;gap:4px;font-size:12px}
  .ql-location-search{display:flex;gap:8px;margin-top:10px}.ql-location-search input{flex:1;height:48px;padding:0 14px;border:1px solid #d6c8b1;border-radius:12px;background:#fffdf8}.ql-location-search button{width:48px;height:48px;border:1px solid #d6c8b1;border-radius:12px;background:#fffdf8;display:grid;place-items:center;color:var(--ql-green)}.ql-location-search svg{width:20px}
  .ql-location-results{display:grid;gap:8px;margin-top:12px}.ql-location-result{display:grid;gap:3px;padding:11px 14px;border:1px solid #d6c8b1;border-radius:12px;background:#fffdf8;text-align:left}.ql-location-result strong{color:var(--ql-navy);font-size:15px}.ql-location-result small{color:#6d6659;font-size:12px}
  .ql-location-hint{margin-top:10px;color:#6d6659;font-size:13px}
  .ql-location-confirmed{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:12px;padding:12px 14px;border:1px solid var(--ql-orange);border-radius:12px;background:#fffdf8}.ql-location-confirmed>svg{width:22px;color:var(--ql-orange)}.ql-location-confirmed strong{color:var(--ql-navy);font-size:15px}.ql-location-confirmed small{color:#6d6659;font-size:12px}.ql-location-confirmed button{border:1px solid #d6c8b1;border-radius:999px;padding:6px 12px;background:#fff;color:var(--ql-navy);font-size:12px}
  .ql-cocreate-card,.ql-ai-draft,.ql-visibility,.ql-locked-share{border:1px solid #d6c8b1;border-radius:15px;background:#fffdf8;margin-bottom:12px;padding:13px}.ql-cocreate-card>header{display:grid;grid-template-columns:35px 1fr auto;align-items:center}
  /* 只有標題、沒有編號圓點與按鈕的 header（照片心得那一步）會被放進 35px 的第一欄，
     手機上變成一字一行的直排。唯一子元素就跨滿整列。 */
  .ql-cocreate-card>header>:only-child{grid-column:1/-1}
  .ql-cocreate-card>header>span{width:35px;height:35px;border-radius:50%;background:var(--ql-orange);color:#fff;display:grid;place-items:center;font-size:17px}.ql-cocreate-card h2{font-size:22px;margin:0}.ql-cocreate-card>header button{border:0;background:none;color:#333}.ql-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:11px 0}.ql-photo-grid figure{margin:0;position:relative}.ql-photo-grid img{width:100%;height:88px;object-fit:cover;border-radius:8px}.ql-photo-grid figure button{position:absolute;right:-4px;top:-4px;width:24px;height:24px;border-radius:50%;border:0;background:var(--ql-green);color:#fff;padding:4px}.ql-add-photo{height:88px;border:1px dashed #726c60;border-radius:8px;background:#fffdf8;color:#50563b;display:grid;place-items:center;align-content:center;gap:3px}.ql-add-photo svg{width:26px}.ql-entry-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #d9ccba}.ql-entry-tabs button{height:42px;border:0;background:none;color:#4e4b44;position:relative}.ql-entry-tabs button.is-active{color:var(--ql-orange)}.ql-entry-tabs button.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--ql-orange)}.ql-recorder{width:100%;height:102px;border:1px solid #d5c7af;border-radius:12px;background:#fffdf8;display:grid;grid-template-columns:52px 1fr auto;grid-template-rows:52px 30px;align-items:center;padding:8px 13px;gap:0 9px;color:#4a4741}.ql-recorder>span{grid-row:1/3;width:48px;height:48px;border-radius:50%;background:var(--ql-orange);color:#fff;display:grid;place-items:center}.ql-recorder>span svg{width:25px}.ql-recorder i{height:27px;background:repeating-linear-gradient(90deg,#0d4b73 0 3px,transparent 3px 7px);clip-path:polygon(0 40%,4% 30%,8% 60%,12% 10%,16% 70%,20% 35%,24% 75%,28% 22%,32% 62%,36% 12%,40% 78%,44% 26%,48% 56%,52% 18%,56% 70%,60% 31%,64% 64%,68% 19%,72% 73%,76% 34%,80% 59%,84% 28%,88% 67%,92% 35%,96% 61%,100% 40%,100% 60%,0 60%)}.ql-recorder em{font-style:normal;font-size:13px}.ql-recorder small{grid-column:2/4;text-align:center;font-size:12px;color:#5d584e}.ql-note-prompts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.ql-note-prompts button{height:35px;border:1px solid #d5c7af;border-radius:999px;background:#fffdf8;color:#52554b;font-size:11px}
  .ql-ai-draft header{display:flex;justify-content:space-between;align-items:flex-start}.ql-ai-draft h2{font-size:23px;margin:0 0 6px}.ql-ai-draft h2 small{font-size:11px;border-radius:999px;background:#ebe9d7;color:#5d6243;padding:4px 8px}.ql-ai-draft h3{font-size:20px;margin:0;color:var(--ql-navy)}.ql-ai-draft header button{border:0;background:none;color:#4b5336;display:flex;align-items:center;gap:5px}.ql-ai-draft>div{padding:10px 0;border-bottom:1px solid #ded2c0}.ql-ai-draft>div strong{display:flex;align-items:center;gap:6px;color:#53652c}.ql-ai-draft>div p{font-size:13px;line-height:1.55;color:#4e4b45;margin:5px 0 0}.ql-ai-draft>small{display:block;padding-top:9px;color:#6f695e;font-size:11px}
  .ql-visibility{display:grid;grid-template-columns:120px 1fr 1fr;padding:0;overflow:hidden}.ql-visibility legend{display:none}.ql-visibility>svg{display:none}.ql-visibility::before{content:"公開設定";display:flex;align-items:center;padding:0 12px;border-right:1px solid #ddd1be;color:#46483e}.ql-visibility label{display:flex;align-items:center;gap:8px;padding:10px;border-right:1px solid #ddd1be}.ql-visibility label:last-child{border:0}.ql-visibility input{width:21px;height:21px;accent-color:var(--ql-green)}.ql-visibility span{display:grid}.ql-visibility strong{font-size:14px}.ql-visibility small{font-size:10px;color:#777}
  .ql-cocreate-primary{width:100%;height:62px;border:0;border-radius:999px;background:linear-gradient(180deg,#de5419,#c83c09);color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;gap:9px}.ql-cocreate-primary svg{width:23px}.ql-locked-share{display:grid;grid-template-columns:76px 1fr;align-items:center;gap:11px;margin-top:12px;opacity:.72}
  /* 發布成功卡沿用上鎖卡的 class，但只有一個 div、沒有左邊的圖示：會被塞進 76px
     的第一欄變得很窄，還帶著上鎖狀態的 .72 透明度，看起來像沒成功。 */
  .ql-locked-share.is-published{display:block;opacity:1}
  .ql-locked-share.is-published .ql-cocreate-primary{margin-top:14px}
  .ql-locked-share>span{width:66px;height:66px;border-radius:50%;background:#e7e1d4;display:grid;place-items:center;color:#777}.ql-locked-share>span svg{width:35px}.ql-locked-share h3{font-size:17px;margin:0 0 5px}.ql-locked-share p{font-size:12px;line-height:1.5;margin:0;color:#6a645a}
}

@media (min-width:901px) and (max-width:1250px){
  .ql-desktop-nav{gap:24px}.ql-desktop-nav a{font-size:17px}.ql-discovery-layout{grid-template-columns:190px minmax(0,1fr) 320px}.ql-card-grid{grid-template-columns:repeat(2,1fr)}.ql-map-panel img{height:330px}.ql-ai-layout{grid-template-columns:300px minmax(0,1fr) 330px}.ql-desktop-hero h1{font-size:38px}
}
/* fidelity fixes after screenshot comparison */
.ql-desktop-hero>div,.ql-desktop-hero>.ql-hero-mascot,.ql-desktop-hero>.ql-scope-select,.ql-desktop-hero>.ql-profile-pill{position:relative;z-index:2}
.ql-campus-art{z-index:1;opacity:.62}
.ql-ai-hero{grid-template-columns:130px minmax(650px,1fr) 255px 250px}
.ql-ai-hero h1{font-size:40px;letter-spacing:.035em;white-space:nowrap}
.ql-ai-hero p{font-size:18px;letter-spacing:.12em}
@media (max-width:900px){
  .ql-mobile-header-inner{grid-template-columns:145px minmax(105px,1fr) 72px;padding:0 10px;gap:7px}
  .ql-editor-header{grid-template-columns:145px minmax(100px,1fr) 72px;padding:0 10px;gap:5px}
  .ql-mobile-brand{min-width:0;overflow:hidden}
  .ql-mobile-brand .ql-brand-q{font-size:31px}.ql-mobile-brand .ql-brand-guide{font-size:23px}.ql-mobile-brand .ql-brand-office{font-size:15px;margin-left:5px}
  .ql-mobile-destination{width:100%;max-width:none;height:46px;padding:0 10px;font-size:13px;justify-content:center}
  .ql-mobile-head-actions{gap:2px}.ql-mobile-head-actions button{width:34px}.ql-mobile-head-actions button svg{width:25px;height:25px}
  .ql-editor-actions{gap:0}.ql-editor-actions button{width:36px;font-size:10px}.ql-editor-actions svg{width:24px;height:24px}
  .ql-footprint-hero{height:162px}.ql-footprint-hero h1{font-size:34px}.ql-footprint-hero p{width:225px;font-size:15px;line-height:1.55}.ql-footprint-hero>img:nth-of-type(1){left:50%;width:86px;height:86px}.ql-footprint-hero>img:nth-of-type(2){right:-18px;width:235px;opacity:.52}
  .ql-foot-stats article{height:96px;gap:6px;padding:0 4px}.ql-foot-stats article>svg{width:42px;height:42px;padding:10px}.ql-foot-stats span{font-size:12px;white-space:nowrap}.ql-foot-stats strong{font-size:32px}
  .ql-foot-card h2{font-size:22px}.ql-foot-card h2 small{font-size:13px}.ql-foot-card>header>span{font-size:11px;padding:7px 9px}
  .ql-foot-cta{grid-template-columns:78px minmax(0,1fr) 132px;gap:8px;min-height:122px}.ql-foot-cta img{width:75px;height:92px}.ql-foot-cta h3{font-size:20px;line-height:1.25;word-break:keep-all}.ql-foot-cta p{font-size:11px;word-break:normal}.ql-foot-cta a{height:52px;padding:0 12px;font-size:14px}
  .ql-past-trips article{grid-template-columns:76px 1fr;position:relative;padding-right:4px}.ql-past-trips article img{width:76px;height:76px}.ql-past-trips article em{position:absolute;right:5px;bottom:5px}.ql-past-trips article strong{font-size:13px}.ql-past-trips article small{font-size:9px}
  .ql-visibility{grid-template-columns:96px 1fr 1fr}.ql-visibility::before{padding:0 8px;font-size:12px}.ql-visibility label{padding:8px 6px;gap:5px}.ql-visibility strong{font-size:12px}.ql-visibility small{font-size:9px}
}
@media (max-width:900px){
  .ql-mobile-header-inner,.ql-editor-header{grid-template-columns:152px minmax(100px,1fr) 70px}
  .ql-mobile-brand{gap:0}
  .ql-mobile-brand-pin{width:24px;height:31px;border-radius:50% 50% 50% 0;background:linear-gradient(180deg,#e6641e,#c43c08);transform:rotate(-45deg);display:inline-block;margin-right:7px;position:relative;flex:none}
  .ql-mobile-brand-pin::after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;left:8px;top:7px}
  .ql-mobile-brand .ql-brand-q{font-size:28px}.ql-mobile-brand .ql-brand-guide{font-size:21px}.ql-mobile-brand .ql-brand-office{font-size:14px;margin-left:4px}
  .ql-footprint-hero p{width:190px}
}

/* 「我的」桌機＋手機共用元件：足跡／旅程／收藏／我的攻略／攻略圖五個分頁的
   分頁切換 nav、清單列、CTA 條、狀態小標籤與空狀態。桌機版原本完全沒有這些
   class（一直落回 v3- 舊版型），這裡是新增，不影響其他頁面既有規則。 */
.ql-my-tabs{display:flex;gap:22px;overflow-x:auto;padding:2px 4px 12px;margin:18px 0 16px;border-bottom:1px solid var(--ql-line)}
.ql-my-tabs a{flex:none;position:relative;padding:8px 2px;color:#53534d;font-size:15px;text-decoration:none;white-space:nowrap}
.ql-my-tabs a.is-active{color:var(--ql-orange);font-weight:650}
.ql-my-tabs a.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-13px;height:3px;background:var(--ql-orange)}
.ql-my-body{display:grid;gap:14px;padding-bottom:20px}
.ql-my-panel{padding:20px}
.ql-my-panel h2{font-size:19px;margin:0 0 14px;color:var(--ql-navy)}
.ql-my-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.ql-my-panel-head h2{margin:0}
.ql-my-panel-head button{border:0;background:none;color:var(--ql-orange);display:flex;align-items:center;gap:4px;font-size:13px;white-space:nowrap}
.ql-my-cta{display:flex;align-items:center;gap:18px;background:linear-gradient(180deg,#db4f10,#c13908);color:#fff;border-radius:16px;padding:18px 22px}
.ql-my-cta img{width:74px;height:84px;object-fit:contain;flex:none}
.ql-my-cta h2{margin:0 0 6px;font-size:19px;color:#fff}
.ql-my-cta p{margin:0;font-size:13px;line-height:1.5}
.ql-my-cta a{margin-left:auto;flex:none;height:44px;border-radius:999px;background:#fffaf3;color:var(--ql-orange)!important;display:inline-flex;align-items:center;padding:0 18px;text-decoration:none;font-size:14px;white-space:nowrap}
.ql-my-row-list{display:grid;gap:10px}
.ql-my-row{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;padding:12px;border:1px solid var(--ql-line);border-radius:13px;background:#fffdf8}
.ql-my-row img{width:72px;height:72px;border-radius:10px;object-fit:cover}
.ql-my-row-body{min-width:0;display:grid;gap:5px}
.ql-my-row-body h3{margin:0;font-size:16px;color:var(--ql-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ql-my-row-body p{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:12.5px;color:#6d6659}
.ql-my-row-body p span{display:flex;align-items:center;gap:4px}
.ql-my-row-body p svg{width:13px;height:13px}
.ql-my-row-actions{display:flex;gap:8px;flex:none}
.ql-my-row-actions button{height:36px;padding:0 14px;border:1px solid #c7b99f;border-radius:999px;background:#fffdf8;color:#6c6250;font-size:12.5px;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.ql-status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:650;white-space:nowrap}
.ql-status-pill.tone-success{background:#eef0df;color:#4c5836}
.ql-status-pill.tone-warning{background:#faecd4;color:#8a5a17}
.ql-status-pill.tone-neutral{background:#eee9df;color:#6b6558}
.ql-status-pill.tone-accent{background:#fbe3d6;color:var(--ql-orange)}
/* 「我的」票夾與任務分頁的摘要數字列。沿用 .ql-my-panel 既有的暖色卡片樣式，
   欄數固定 3 是因為兩邊都剛好是三個指標（可使用/已使用/可領取、已完成/進行中/全部）。 */
.ql-my-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.ql-my-stat-row article{border:1px solid #d7cab6;border-radius:14px;background:#fffdf8;padding:12px 8px;display:grid;gap:2px;justify-items:center;text-align:center}
.ql-my-stat-row strong{font-size:26px;line-height:1.1;color:var(--ql-navy);font-weight:600}
.ql-my-stat-row span{font-size:12px;color:#6b6558}
/* 場域公告。放在首頁最上面——它的用途就是在旅客開始安排行程之前先看到。 */
.ql-announcements{display:grid;gap:8px;margin-bottom:14px}
.ql-announcements article{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;padding:12px 14px;border:1px solid #d7cab6;border-radius:14px;background:#fffdf8}
.ql-announcements article.is-warning{border-color:#e2b877;background:#fdf3e3}
.ql-announcements svg{width:20px;height:20px;color:var(--ql-green);margin-top:2px}
.ql-announcements article.is-warning svg{color:var(--ql-orange)}
.ql-announcements strong{display:block;font-size:15px;color:var(--ql-navy);margin-bottom:3px}
.ql-announcements p{margin:0;font-size:13px;color:#5b564d;line-height:1.55}
.ql-my-empty{padding:46px 20px;text-align:center;color:var(--ql-muted)}
.ql-my-empty strong{display:block;font-size:17px;color:var(--ql-navy);margin-bottom:8px}
.ql-my-empty-action{display:flex;justify-content:center;padding-bottom:24px}
.ql-icon-quiet{border:0;background:none;color:#6c6250;padding:4px}
.ql-icon-quiet.is-active{color:var(--ql-orange)}
/* 「我的攻略」／「攻略圖」／收藏攻略沿用 v52 既有的旅人攻略卡片格線（.ql-v52-more-guides
   桌機／.ql-v52-mobile-more 手機），只補上 pages.js myGuidesPanel 縮圖不包 <button> 時
   （非攻略圖那顆卡）img 也要縮放，避免整張原圖撐爆版面。 */
.ql-v52-more-guides article>img{width:100%;height:120px;object-fit:cover;display:block}

@media (max-width:900px){
  .ql-my-tabs{gap:16px;margin:14px 0 12px}
  .ql-my-row{grid-template-columns:56px 1fr;padding:10px}
  .ql-my-row img{width:56px;height:56px}
  .ql-my-row-actions{grid-column:1/-1;justify-content:flex-end;margin-top:2px}
  .ql-my-cta{flex-wrap:wrap;padding:16px}
  .ql-my-cta a{margin-left:0;width:100%;justify-content:center}
  .ql-my-card-grid{grid-template-columns:1fr 1fr;padding:0;gap:10px}
  .ql-v52-mobile-more article>img{height:108px}
}
