/* L111 "Refresh A: Photo first". Loaded only for requests that carry the preview cookie; every rule is scoped under [data-look="a"].
   Sections follow design/L111_REFRESH_A_BRIEF.md: §1 tokens · §2 type · §3 header · §4 lists · §5 café page · §6 My Journey · §7–§10 the rest. */
@font-face{font-family:Jost;src:url('/fonts/Jost-600-v1.woff2') format('woff2');font-weight:600;font-display:optional}
@font-face{font-family:Jost;src:url('/fonts/Jost-800-v1.woff2') format('woff2');font-weight:800;font-display:optional}
@font-face{font-family:"Dela Gothic One";src:url('/fonts/DelaGothicOne-400-v1.woff2') format('woff2');font-weight:400;font-display:swap}

/* ---------- §1 tokens: the classic names keep their roles; a- tokens are new ---------- */
html[data-look="a"]{
  color-scheme:light;
  /* L113 "One More Tokyo Coffee": cream soda cherry, used the way One More Sauna uses its blue */
  --page:#FFFFFF; --paper:#FFFFFF; --rule:#F1E4E8; --ink:#1A1214; --soft:#4A3A40; --muted:#7A6268; --faint:#7A6268; --tint:#F6F3F4;
  --mast:#FFFFFF; --mast-sample:#F7F7F7; --mast-ink:#1A1214; --score:#C8174A; --score-ink:#C8174A; --num:#1A1214; --stamp:#C8174A; --dots:none;
  --joa-ink:#7A4F86; --sk-ink:#30606C; --joa-bg:#B490B4; --sk-bg:#30606C; --shadow:none;
  --act:#1A1214; --act-ink:#FFFFFF; --accent:#7A6268;
  --cherry:#FF3D6E; --cherry-deep:#C8174A; --cherry-deep-ink:#FFFFFF; --cherry-tint:#FFE3EA; --cherry-tint-ink:#8E0F35; --line-strong:#E6CDD5; --danger:#C8174A;
  --a-small:#7A6268; --a-tabrule:#F1E4E8; --a-btn:#F6F3F4; --a-mustard:#C8174A; --a-mustard-ink:#FFFFFF;
  --a-open-bg:#EAF3EC; --a-open-dot:#2E8B57; --a-open-ink:#1F5E3B; --a-want-bg:#1A1214; --a-want-ink:#FFFFFF;
  --a-bar:#1A1214; --a-bar-tile:#2E2327; --a-bar-ink:#FBEAEE; --a-photo-btn:rgba(255,255,255,.94); --a-photo-ink:#1A1214; --a-photo-edge:transparent;
  --a-joa-dot:#B490B4; --a-sk-dot:#30606C; --a-stamp-red:#C8174A; --a-stamp-ink:#A8123C; --a-ph-gap:rgba(26,18,20,.78);
  --a-tile:#F6F3F4; --a-silhouette:brightness(0); --a-silhouette-o:.13;
  --a-sheet-bg:#FFFFFF;
}
@media (prefers-color-scheme: dark){
  html[data-look="a"]:not([data-theme="light"]){
    color-scheme:dark;
    --a-sheet-bg:color-mix(in srgb,var(--page) 82%,transparent);
    --page:#1E1518; --paper:#271B1F; --rule:#3D2A30; --ink:#F3E6EA; --soft:#D9C5CC; --muted:#B39CA3; --faint:#B39CA3; --tint:#3B1C26;
    --mast:#1E1518; --mast-sample:#150D12; --mast-ink:#F3E6EA; --score:#FF8FAB; --score-ink:#FF8FAB; --num:#F3E6EA; --stamp:#FF8FAB;
    --joa-ink:#D3B8D5; --sk-ink:#8DC0C9; --act:#F3E6EA; --act-ink:#1E1518; --accent:#B39CA3;
    --cherry:#FF7396; --cherry-deep:#FF8FAB; --cherry-deep-ink:#1E1518; --cherry-tint:#3B1C26; --cherry-tint-ink:#FFB3C5; --line-strong:#5A3D46; --danger:#FF8E7A;
    --a-small:#B39CA3; --a-tabrule:#3D2A30; --a-btn:#33222A; --a-mustard:#FF8FAB; --a-mustard-ink:#1E1518; --a-open-bg:#22352A; --a-open-ink:#8FD3A8; --a-want-bg:#F3E6EA; --a-want-ink:#1E1518;
    --a-bar:#120C0E; --a-bar-tile:#271B1F; --a-photo-btn:rgba(20,12,14,.55); --a-photo-ink:#F3E6EA; --a-photo-edge:rgba(243,230,234,.35);
    --a-stamp-red:#FF8FAB; --a-stamp-ink:#FF8FAB; --a-tile:#3B1C26; --a-silhouette:brightness(0) invert(1); --a-silhouette-o:.12;
  }
}
html[data-look="a"][data-theme="dark"]{
  color-scheme:dark;
  --a-sheet-bg:color-mix(in srgb,var(--page) 82%,transparent);
  --page:#1E1518; --paper:#271B1F; --rule:#3D2A30; --ink:#F3E6EA; --soft:#D9C5CC; --muted:#B39CA3; --faint:#B39CA3; --tint:#3B1C26;
  --mast:#1E1518; --mast-sample:#150D12; --mast-ink:#F3E6EA; --score:#FF8FAB; --score-ink:#FF8FAB; --num:#F3E6EA; --stamp:#FF8FAB;
  --joa-ink:#D3B8D5; --sk-ink:#8DC0C9; --act:#F3E6EA; --act-ink:#1E1518; --accent:#B39CA3;
  --cherry:#FF7396; --cherry-deep:#FF8FAB; --cherry-deep-ink:#1E1518; --cherry-tint:#3B1C26; --cherry-tint-ink:#FFB3C5; --line-strong:#5A3D46; --danger:#FF8E7A;
  --a-small:#B39CA3; --a-tabrule:#3D2A30; --a-btn:#33222A; --a-mustard:#FF8FAB; --a-mustard-ink:#1E1518; --a-open-bg:#22352A; --a-open-ink:#8FD3A8; --a-want-bg:#F3E6EA; --a-want-ink:#1E1518;
  --a-bar:#120C0E; --a-bar-tile:#271B1F; --a-photo-btn:rgba(20,12,14,.55); --a-photo-ink:#F3E6EA; --a-photo-edge:rgba(243,230,234,.35);
  --a-stamp-red:#FF8FAB; --a-stamp-ink:#FF8FAB; --a-tile:#3B1C26; --a-silhouette:brightness(0) invert(1); --a-silhouette-o:.12;
}
[data-look="a"] .site-surface{background:var(--page);background-image:none;color:var(--ink)}
/* iPad Safari tints its own bar from the root background-colour, brighter than painted: the sampled colour is darker, the page colour is painted on top (#250). */
html[data-look="a"],html[data-look="a"] body{background-color:var(--mast-sample);background-image:linear-gradient(var(--page),var(--page));color:var(--ink)}
/* the classic masthead, its scroll bar and the fixed menu button are replaced by the A header */
[data-look="a"] .mast,[data-look="a"] .home-scrollbar,[data-look="a"] #homeMenu{display:none!important}

/* ---------- §2 type ---------- */
[data-look="a"] body{font:400 16px/24px var(--sans);-webkit-font-smoothing:antialiased}
:lang(ja)[data-look="a"] body,[data-look="a"]:lang(ja) body{font-family:var(--ja)}
[data-look="a"] :is(h1,h2,h3,.a-title,.a-name,.a-hero-text b){text-wrap:balance}
[data-look="a"]:lang(ja) :is(h1,h2,h3,.a-title){font-family:var(--ja);font-weight:700;word-break:keep-all;overflow-wrap:anywhere}
[data-look="a"] .ja-phrases{word-break:keep-all}
[data-look="a"] .num{font-variant-numeric:tabular-nums}

/* ---------- §3 header ---------- */
[data-look="a"] .a-head{position:sticky;top:0;z-index:30;background:var(--page);padding-top:env(safe-area-inset-top,0px);transition:box-shadow .15s ease}
[data-look="a"] .a-head.is-scrolled{box-shadow:0 1px 0 var(--rule)}
[data-look="a"] .a-head-in{max-width:1120px;margin:0 auto;min-height:54px;padding:10px max(20px,env(safe-area-inset-right)) 10px max(20px,env(safe-area-inset-left));display:flex;align-items:center;gap:10px}
[data-look="a"] .a-logo{display:inline-flex;align-items:center;gap:9px;margin-right:auto;min-width:0;background:none;border:0;padding:0;color:var(--ink);cursor:pointer;text-align:left}
[data-look="a"] .a-logo img{width:28px;height:28px;border-radius:8px;flex:none}
[data-look="a"] .a-logo b{font:800 16px/20px var(--sans);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-look="a"] .a-head-r{display:inline-flex;align-items:center;gap:10px;flex:none}
[data-look="a"] .a-lang{font:500 14px/18px var(--sans);color:var(--muted);text-decoration:none;white-space:nowrap;padding:8px 0}
[data-look="a"] .a-lang[lang="ja"]{font-family:var(--ja)}
[data-look="a"] .a-pill,[data-look="a"] .a-menu{position:relative;display:inline-flex;align-items:center;height:34px;border:0;background:var(--a-btn);color:var(--ink);cursor:pointer;padding:0;flex:none}
[data-look="a"] .a-pill::after,[data-look="a"] .a-menu::after{content:"";position:absolute;inset:-5px}
[data-look="a"] .a-pill{border-radius:17px;gap:6px;padding:0 12px 0 8px}
[data-look="a"] .a-hanko{box-sizing:border-box;width:20px;height:20px;border-radius:50%;border:2px solid var(--a-stamp-red);background:color-mix(in srgb,var(--a-stamp-red) 9%,transparent);transform:rotate(-8deg);display:grid;place-items:center;font:900 10px/12px var(--ja);color:var(--a-stamp-ink)}
[data-look="a"] .a-pill.is-empty .a-hanko{border:1.5px dashed var(--rule);background:none}
[data-look="a"] .a-count{display:inline-flex;align-items:baseline;gap:1px}
[data-look="a"] .a-count b{font:700 15px/18px var(--sans);color:var(--ink)}
[data-look="a"] .a-count small{font:600 12px/18px var(--sans);color:var(--muted)}
[data-look="a"] .a-pill[aria-current="page"]{background:var(--ink)}
[data-look="a"] .a-pill[aria-current="page"] .a-count b{color:var(--page)}
[data-look="a"] .a-pill[aria-current="page"] .a-count small{color:color-mix(in srgb,var(--page) 82%,var(--ink))}
[data-look="a"] .a-pill[aria-current="page"] .a-hanko{border-color:#EE8A6E;color:#EE8A6E;background:color-mix(in srgb,#EE8A6E 12%,transparent)}
[data-look="a"] .a-menu{width:34px;border-radius:50%;justify-content:center}
[data-look="a"] .a-menu svg{width:16px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
[data-look="a"] .a-head :is(button,a):focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media (max-width:370px){[data-look="a"] .a-logo b{font-size:15px}[data-look="a"] .a-head-r{gap:7px}[data-look="a"] .a-lang{font-size:13px}}

/* title, underline tabs, filter pills */
[data-look="a"] .page{max-width:1120px;padding-inline:20px;padding-block:6px 120px}
[data-look="a"] .a-top{display:block;margin:0 0 4px}
[data-look="a"] .a-title{margin:8px 0 14px;font:600 30px/34px var(--sans);letter-spacing:-.02em;color:var(--ink)}
[data-look="a"] .a-tabs{position:relative;display:flex;gap:22px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--a-tabrule);margin:0 0 14px}
[data-look="a"] .a-tabs::-webkit-scrollbar{display:none}
[data-look="a"] .a-tabs>button{position:relative;flex:none;background:none;border:0;padding:0 0 10px;margin:0;font:500 15px/18px var(--sans);color:var(--muted);cursor:pointer;white-space:nowrap}
[data-look="a"] .a-tabs>button::after{content:"";position:absolute;inset:-12px -8px -2px}
[data-look="a"] .a-tabs>button[aria-pressed="true"]{font-weight:600;color:var(--ink)}
[data-look="a"]:lang(ja) .a-tabs>button{font-family:var(--ja)}
[data-look="a"] .a-underline{position:absolute;left:var(--u-left,0);bottom:-1px;width:var(--u-w,0);height:3px;background:var(--a-mustard);border-radius:2px;pointer-events:none}
[data-look="a"] .a-underline.slides{transition:left .22s cubic-bezier(.3,.7,.2,1),width .22s cubic-bezier(.3,.7,.2,1)}
@media (prefers-reduced-motion:reduce){[data-look="a"] .a-underline.slides{transition:none}}
[data-look="a"] .qf-wrap{position:relative;margin:0 -20px 4px;overflow-x:clip}
[data-look="a"] .qf{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;margin:0;padding:2px 20px 4px}
[data-look="a"] .qf button,[data-look="a"] .qf .qf-select{flex:none;display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 13px;border:1px solid var(--rule);border-radius:999px;background:var(--paper);color:var(--ink);font:500 14px/18px var(--sans);white-space:nowrap;cursor:pointer;position:relative}
[data-look="a"]:lang(ja) .qf button,[data-look="a"]:lang(ja) .qf .qf-select{font-family:var(--ja)}
[data-look="a"] .qf button img{width:22px;height:22px;margin:0 0 0 -5px}
[data-look="a"] .qf button[aria-pressed="true"]{background:var(--cherry-deep);color:var(--cherry-deep-ink);border-color:var(--cherry-deep)}
[data-look="a"] .qf .qf-select select{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
[data-look="a"] .qf-arrow{font-size:10px;opacity:.8}
[data-look="a"] .qf-fade{display:none}

/* ---------- §4 lists ---------- */
[data-look="a"] .contents{display:block}
[data-look="a"] .a-row{position:relative;display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid var(--rule);background:none;cursor:pointer;width:auto;text-align:left}
[data-look="a"] .a-row.dim{opacity:.6}
[data-look="a"] .a-thumb{position:relative;flex:none;width:76px;height:76px;border-radius:14px;overflow:hidden;background:var(--a-tile)}
[data-look="a"] .a-thumb img{width:76px;height:76px;object-fit:cover;object-position:50% 50%;display:block}
[data-look="a"] .a-thumb.is-tile{display:grid;place-items:center}
[data-look="a"] .a-thumb.is-tile img{width:58px;height:58px;object-fit:contain}
[data-look="a"] .a-rank{position:absolute;left:6px;bottom:6px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--cherry-tint);color:var(--cherry-tint-ink);box-shadow:0 0 0 2px var(--page);font:800 12px/22px var(--sans);text-align:center;letter-spacing:0}
[data-look="a"] .a-mid{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
[data-look="a"] .a-name{display:block;font:600 18px/22px var(--sans);color:var(--ink);letter-spacing:0}
[data-look="a"] .a-name .ja{display:inline-block;max-width:100%;vertical-align:baseline;margin-left:7px;font:400 12px/16px var(--ja);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}   /* L112i: the Japanese name is one unbreakable unit; if it does not fit on the name's last line the whole of it moves down (#252) */
[data-look="a"] .a-name{overflow-wrap:anywhere}
[data-look="a"] .a-ord{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font:400 14px/19px var(--sans);color:#4A453E;white-space:normal}
html[data-look="a"]:lang(ja) .a-ord{font-family:var(--ja)}
@media (prefers-color-scheme:dark){html[data-look="a"]:not([data-theme="light"]) .a-ord{color:var(--soft)}}
html[data-look="a"][data-theme="dark"] .a-ord{color:var(--soft)}
[data-look="a"] .a-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;font:500 13px/16px var(--sans);color:var(--a-small);margin-top:2px}
[data-look="a"] .a-meta .lines{display:inline-flex;gap:3px;align-items:center}
[data-look="a"] .a-meta .lb.mini i{width:14px;height:14px;min-width:14px;font-size:9px;line-height:14px;padding:0}
[data-look="a"] .a-meta .walk{color:var(--a-small)}
[data-look="a"] .a-st{display:inline}
[data-look="a"] .a-st .walk::before{content:" · "}
[data-look="a"] .a-meta .dm{color:var(--a-small);font-weight:500}
[data-look="a"] .a-mid .hours-reason{font:400 12px/16px var(--sans);color:var(--a-small)}
[data-look="a"] .a-mid .host-been-marker{font:600 12px/16px var(--sans);color:var(--a-small)}
[data-look="a"] .a-mid .note{font-size:13px}
[data-look="a"] .visit-mark{display:inline-block;margin-left:7px;padding:0 7px;border:1px solid var(--rule);border-radius:999px;font:600 11px/16px var(--sans);letter-spacing:0;text-transform:none;color:var(--muted);background:var(--paper);vertical-align:2px;white-space:nowrap}
[data-look="a"] .a-score{flex:none;width:44px;display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:0}
[data-look="a"] .a-score .score{gap:0;justify-items:end;text-align:right}
[data-look="a"] .a-score .score b{font:800 19px/24px var(--sans);color:var(--ink)}
[data-look="a"] .a-score .score span{font:600 9px/12px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--a-small)}
[data-look="a"] .a-score .score.prov b,[data-look="a"] .a-score .score.prov span{color:var(--joa-ink)}
[data-look="a"] .a-score .tag-cell{font-size:11px}
[data-look="a"] .a-score .list-states{margin-top:3px;gap:0!important;justify-content:flex-end}
[data-look="a"] .a-score .list-states .state-toggle{position:relative;min-width:22px;min-height:22px;width:22px;height:22px}
[data-look="a"] .a-score .list-states .state-toggle::after{content:"";position:absolute;inset:-9px -3px}
[data-look="a"] .a-score .list-states .journey-icon{width:18px;height:18px}
[data-look="a"] .a-score.is-dist{width:54px}
[data-look="a"] .a-score .dk b{font:800 17px/22px var(--sans);color:var(--ink)}
[data-look="a"] .a-score .dk small{font:600 11px/14px var(--sans);color:var(--a-small)}
[data-look="a"] .a-row:has([data-list-key]:focus-visible){background:color-mix(in srgb,var(--paper) 70%,transparent)}
[data-look="a"] .a-row .row-link:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:14px}
@media (hover:hover) and (pointer:fine){[data-look="a"] .a-row:hover .a-name{text-decoration:underline;text-underline-offset:3px}}
/* group headings and presenter blocks */
[data-look="a"] .chap{font:600 15px/18px var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);padding:22px 0 4px}
[data-look="a"] .chap a{color:inherit;text-decoration:none}
[data-look="a"] .chap .ja{font:400 12px/16px var(--ja);color:var(--muted);margin-left:6px}
[data-look="a"] .pres{padding:16px 0 2px}
[data-look="a"] .pres .bub{background:none;border:0;box-shadow:none;padding:0;display:flex;align-items:baseline;gap:10px}
[data-look="a"] .pres h2{font:700 20px/24px var(--sans);letter-spacing:-.01em;margin:0}
[data-look="a"] .pres span{font:500 14px/18px var(--sans);color:var(--a-small)}
[data-look="a"] .pres img,[data-look="a"] .pres .face{display:none}
/* the #1 hero */
[data-look="a"] .a-hero{position:relative;display:block;width:100%;aspect-ratio:1/.67;max-height:280px;margin:2px 0 8px;border-radius:18px;overflow:hidden;background:var(--a-tile);border:0;padding:0;cursor:pointer}
[data-look="a"] .a-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%;display:block}
[data-look="a"] .a-hero::before{content:"";position:absolute;left:0;right:0;bottom:0;height:150px;background:linear-gradient(to bottom,transparent,var(--a-ph-gap));pointer-events:none}
[data-look="a"] .a-hero .a-rank{left:14px;top:14px;bottom:auto;height:30px;min-width:30px;border-radius:15px;padding:0 9px;font:800 14px/30px var(--sans);z-index:2}
[data-look="a"] .a-flag{position:absolute;right:14px;top:14px;z-index:3;width:34px;height:34px;border-radius:50%;border:1px solid var(--a-photo-edge);background:var(--a-photo-btn);color:var(--a-photo-ink);display:grid;place-items:center;padding:0;cursor:pointer}
[data-look="a"] .a-flag::after{content:"";position:absolute;inset:-5px}
[data-look="a"] .a-flag svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
[data-look="a"] .a-flag[aria-pressed="true"] svg{fill:currentColor}
[data-look="a"] .a-hero-text{position:absolute;left:16px;right:112px;bottom:14px;z-index:2;display:grid;gap:2px;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.35)}
[data-look="a"] .a-hero-text b{font:700 28px/30px var(--sans);letter-spacing:-.01em}
[data-look="a"] .a-hero-text span{font:500 14px/18px var(--sans);color:rgba(255,255,255,.88)}
[data-look="a"] .a-hero-score{position:absolute;right:16px;bottom:14px;z-index:2;display:grid;justify-items:end;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.35)}
[data-look="a"] .a-hero-score b{font:800 24px/26px var(--sans)}
[data-look="a"] .a-hero-score small{font:600 10px/12px var(--sans);letter-spacing:.1em;color:rgba(255,255,255,.8)}
[data-look="a"] .a-hero .row-link{z-index:1}
/* the quiet "your journey" invitation and other classic blocks keep working on the new tokens */
[data-look="a"] .invite{background:var(--paper);border:1px solid var(--rule);border-radius:18px;box-shadow:none;color:var(--ink)}

/* ---------- desktop (§10): the header and page are centred in 1120; titles grow ---------- */
@media (min-width:1100px){[data-look="a"]:where(:not([data-app])) .a-title{font:600 40px/44px var(--sans)}}

/* ---------- §5 café page ---------- */
[data-look="a"] .sheet{background-color:var(--mast-sample);background-image:linear-gradient(var(--page),var(--page))}
[data-look="a"] .a-dtop{position:absolute;top:0;left:0;right:0;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(14px + env(safe-area-inset-top,0px)) 16px 0;background:none;border:0;box-shadow:none;color:var(--a-photo-ink)}
[data-look="a"] .a-dtop-r{display:inline-flex;gap:10px;margin-left:auto}
[data-look="a"] .a-round{position:relative;width:38px;height:38px;min-height:0;padding:0;border-radius:50%;border:1px solid var(--a-photo-edge);background:var(--a-photo-btn);color:var(--a-photo-ink);display:inline-grid;place-items:center;cursor:pointer;font-size:0;letter-spacing:0;text-transform:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
[data-look="a"] .a-round::after{content:"";position:absolute;inset:-4px}
[data-look="a"] .a-round svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
[data-look="a"] .a-round span{display:none}
[data-look="a"] .a-dtop :focus-visible{outline:2px solid var(--ink);outline-offset:3px}
[data-look="a"] .a-wrap{display:block;max-width:none;margin:0;padding:0 0 0;gap:0}
[data-look="a"] .a-main{--a-hero-h:min(80vw,46vh);position:relative;display:block;padding:0;min-width:0}
[data-look="a"] .a-main>.combined-photos{position:relative;margin:0;padding:0}
[data-look="a"] .a-main>.combined-photos::before{content:"";position:absolute;left:0;right:0;top:0;height:110px;z-index:2;pointer-events:none;background:linear-gradient(to bottom,rgba(20,16,10,.45),rgba(20,16,10,0))}
[data-look="a"] .a-main .cafe-photo-strip{display:flex;gap:0;height:var(--a-hero-h);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0;padding:0;background:var(--a-tile)}
[data-look="a"] .a-main .cafe-photo-strip::-webkit-scrollbar{display:none}
[data-look="a"] .a-main .cafe-photo-tile{flex:0 0 100%;width:100%;height:100%;margin:0;scroll-snap-align:center;border:0;border-radius:0;box-shadow:none;background:var(--a-tile)}
[data-look="a"] .a-main .cafe-photo-tile button{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer}
[data-look="a"] .a-main .cafe-photo-tile img{width:100%;height:100%;object-fit:cover;display:block}
[data-look="a"] .a-main .cafe-photo-actions{position:absolute;left:16px;bottom:34px;z-index:3;display:flex;gap:8px;margin:0;padding:0}
[data-look="a"] .a-main .cafe-photo-actions button{height:26px;padding:0 12px;border:0;border-radius:999px;background:rgba(20,16,10,.6);color:#fff;font:600 12px/16px var(--sans);cursor:pointer}
[data-look="a"] .a-main .photo-hint{position:relative;margin:8px 20px 0;font-size:13px;color:var(--a-small)}
[data-look="a"] .a-hero-pill{position:absolute;right:16px;top:calc(var(--a-hero-h) - 62px);z-index:3;height:26px;padding:0 12px;border-radius:999px;background:rgba(20,16,10,.6);color:#fff;font:600 12px/26px var(--sans);pointer-events:none}
[data-look="a"] .a-hero-tile{height:220px;display:grid;place-items:center;background:var(--a-tile)}
[data-look="a"] .a-hero-tile img{width:160px;height:160px;object-fit:contain}
[data-look="a"] .a-sheet{position:relative;z-index:4;margin-top:-22px;border-radius:22px 22px 0 0;background:var(--page);padding:22px 20px 170px;display:grid;gap:14px;min-width:0}
[data-look="a"] .a-wrap.no-photo .a-sheet{margin-top:0;border-radius:0;padding-top:16px}
[data-look="a"] .a-intro{display:grid;gap:14px;min-width:0}
[data-look="a"] .a-kick{display:flex;align-items:center;gap:10px;margin:0;font:500 14px/18px var(--sans);color:var(--muted)}
[data-look="a"] .a-kick .a-rank{position:static;height:24px;min-width:24px;border-radius:12px;padding:0 8px;font:800 13px/24px var(--sans)}
[data-look="a"] .a-name-block h1{margin:6px 0 0;font:700 34px/36px var(--sans);letter-spacing:-.02em;color:var(--ink)}
[data-look="a"] .a-sub{margin:6px 0 0;font:400 14px/18px var(--sans);color:var(--muted)}
[data-look="a"] .a-sub [lang="ja"]{font-family:var(--ja)}
[data-look="a"] .a-chiprow{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
[data-look="a"] .a-chip{display:inline-flex;align-items:center;gap:7px;height:30px;padding:6px 12px;border-radius:999px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);font:600 14px/18px var(--sans);white-space:nowrap}
[data-look="a"] .a-chip i{width:7px;height:7px;border-radius:50%;background:var(--a-small)}
[data-look="a"] .a-open.is-open{background:var(--a-open-bg);border-color:transparent;color:var(--a-open-ink)}
[data-look="a"] .a-open.is-open i{background:var(--a-open-dot)}
[data-look="a"] .a-open.is-later i{background:var(--a-mustard)}
[data-look="a"] .a-open.is-closed i{background:var(--a-stamp-red)}
[data-look="a"] .a-want{cursor:pointer;background:transparent;border:1px solid var(--ink)}
[data-look="a"] .a-want svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
[data-look="a"] .a-want.is-on{background:var(--a-want-bg);color:var(--a-want-ink);border-color:var(--a-want-bg)}
[data-look="a"] .a-want.is-on svg{fill:currentColor}
[data-look="a"] .a-want::after{content:"";position:absolute;inset:-7px 0}
[data-look="a"] .a-want{position:relative}
[data-look="a"] .a-plaque{height:28px;width:auto}
[data-look="a"] .a-label{margin:0 0 7px;font:600 13px/16px var(--sans);color:var(--a-small)}
[data-look="a"] .a-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
[data-look="a"] .a-kchip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 5px;border:1px solid var(--rule);border-radius:999px;background:var(--paper);font:500 14px/18px var(--sans);color:var(--ink)}
[data-look="a"] .a-kchip img{width:26px;height:26px;object-fit:contain;flex:none}
[data-look="a"]:lang(ja) :is(.a-kchip,.a-chip,.a-label){font-family:var(--ja)}
[data-look="a"] .a-scores{display:flex;gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--rule);border-radius:18px;background:var(--paper)}
[data-look="a"] .a-scores.is-tap{cursor:pointer}
[data-look="a"] .a-scores.is-tap:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
[data-look="a"] .a-omk{flex:none;width:92px;display:grid;gap:2px}
[data-look="a"] .a-omk b{font:800 34px/36px var(--sans);color:var(--ink)}
[data-look="a"] .a-omk small{font:600 11px/14px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--a-small)}
[data-look="a"] .a-who{flex:1;min-width:0;list-style:none;margin:0;padding:0;display:grid;gap:6px}
[data-look="a"] .a-who li{display:flex;align-items:center;gap:8px;font:500 14px/18px var(--sans);color:var(--ink)}
[data-look="a"] .a-who b{margin-left:auto;font:700 15px/18px var(--sans)}
[data-look="a"] .a-who b.joa{color:var(--joa-ink)}
[data-look="a"] .a-who b.sk{color:var(--sk-ink)}
[data-look="a"] .a-dot{width:10px;height:10px;border-radius:50%;flex:none}
[data-look="a"] .a-dot.joa{background:var(--a-joa-dot)}
[data-look="a"] .a-dot.sk{background:var(--a-sk-dot)}
[data-look="a"] .a-dot.you{border:1.5px dashed var(--a-small);background:none}
[data-look="a"] .a-rate-link{margin-left:auto;padding:0;border:0;background:none;font:700 15px/18px var(--sans);color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer;position:relative}
[data-look="a"] .a-rate-link::after{content:"";position:absolute;inset:-12px -8px}
[data-look="a"] .a-prev{justify-self:start}
/* sections: one heading style */
[data-look="a"] .a-sec,[data-look="a"] .sec{display:block;margin:0}
[data-look="a"] .a-sec>h2,[data-look="a"] .sec>h2,[data-look="a"] .a-sec .sch,[data-look="a"] .sec .sch{margin:10px 0 6px;font:700 20px/24px var(--sans);letter-spacing:-.01em;text-transform:none;color:var(--ink)}
[data-look="a"]:lang(ja) :is(.a-sec,.sec)>h2{font-family:var(--ja);font-weight:700}
[data-look="a"] .a-sheet .lead{margin:0;font:400 16px/24px var(--sans);color:var(--soft)}
[data-look="a"]:lang(ja) .a-sheet .lead{font-family:var(--ja)}
[data-look="a"] .a-faint{color:var(--a-small)}
[data-look="a"] .a-details .a-links{margin:8px 0 0;font:500 15px/22px var(--sans)}
[data-look="a"] .a-details a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
[data-look="a"] .a-address{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
[data-look="a"] .a-address p{margin:0 0 2px;font:400 15px/22px var(--sans)}
[data-look="a"] .copy-address{flex:none;height:32px;padding:0 14px;border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font:600 13px/16px var(--sans);cursor:pointer}
/* the floating action bar */
[data-look="a"] .a-side{position:static;display:block;padding:0}
[data-look="a"] .a-side::before{content:"";position:fixed;left:0;right:0;bottom:0;height:130px;z-index:14;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--page))}
[data-look="a"] .a-bar{position:fixed;z-index:15;left:50%;bottom:calc(26px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:min(calc(100% - 28px),520px);display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:7px;padding:8px;background:var(--a-bar);border-radius:20px;box-shadow:0 14px 30px -8px rgba(20,16,10,.55)}
[data-look="a"] .a-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:62px;min-width:0;border:0;border-radius:13px;background:var(--a-bar-tile);color:var(--a-bar-ink);cursor:pointer;text-decoration:none;padding:0 4px;font-family:var(--sans)}
[data-look="a"] .a-tile svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
[data-look="a"] .a-tile small{font:700 12px/16px var(--sans);color:inherit;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
[data-look="a"]:lang(ja) .a-tile small{font-family:var(--ja)}
[data-look="a"] .a-walk{background:var(--a-mustard);color:var(--a-mustard-ink)}
[data-look="a"] .a-walk b{font:900 18px/18px var(--sans)}
[data-look="a"] .a-walk small{font:500 11px/12px var(--sans)}
[data-look="a"] .a-rate b{font:800 20px/22px var(--sans)}
[data-look="a"] .a-been.is-on{background:#F4EDE0;color:#141414}
[data-look="a"] .a-tile:focus-visible{outline:2px solid #F4EDE0;outline-offset:2px}
[data-look="a"] .a-walk:focus-visible{outline-color:#141414}
/* classic cards inside the sheet: one white card style (no 2 px ink border) */
[data-look="a"] .visit-card,[data-look="a"] .cm,[data-look="a"] .cm-card,[data-look="a"] .cafe-comments .cm{background:var(--paper);border:1px solid var(--rule);border-radius:18px;box-shadow:none}
[data-look="a"] .cafe-language{margin:6px 0 0;font:500 14px/18px var(--sans)}
[data-look="a"] .cafe-language a{color:var(--muted)}
/* iPad / short-wide: the bar stays at most 520 wide and centred (above); the desktop layout follows */
@media (min-width:1100px){
  [data-look="a"]:where(:not([data-app])) .a-dtop{position:sticky;top:0;max-width:1120px;margin:0 auto;padding:12px 20px;background-color:var(--mast-sample);background-image:linear-gradient(var(--page),var(--page));box-shadow:0 -100vh 0 100vh var(--page)}
  [data-look="a"]:where(:not([data-app])) .a-dtop .a-round{background:var(--a-btn);color:var(--ink);border-color:transparent}
  [data-look="a"]:where(:not([data-app])) .a-wrap{display:grid;grid-template-columns:minmax(0,680px) 360px;gap:40px;max-width:1120px;margin:0 auto;padding:0 20px 80px;align-items:start}
  [data-look="a"]:where(:not([data-app])) .a-main{--a-hero-h:auto}
  [data-look="a"]:where(:not([data-app])) .a-main>.combined-photos::before{display:none}
  [data-look="a"]:where(:not([data-app])) .a-main .cafe-photo-strip{height:auto;aspect-ratio:16/10;border-radius:18px}
  [data-look="a"]:where(:not([data-app])) .a-main .cafe-photo-actions{bottom:14px}
  [data-look="a"]:where(:not([data-app])) .a-hero-pill{top:auto;bottom:14px;right:16px}
  [data-look="a"]:where(:not([data-app])) .a-hero-tile{border-radius:18px}
  [data-look="a"]:where(:not([data-app])) .a-sheet{margin-top:20px;border-radius:0;padding:0 0 60px}
  [data-look="a"]:where(:not([data-app])) .a-side{position:sticky;top:76px;display:grid;gap:14px}
  [data-look="a"]:where(:not([data-app])) .a-side::before{display:none}
  [data-look="a"]:where(:not([data-app])) .a-bar{position:static;transform:none;width:auto;grid-auto-flow:row;grid-template-columns:1fr 1fr;box-shadow:none;background:none;padding:0;gap:10px;border-radius:0}
  [data-look="a"]:where(:not([data-app])) .a-tile{height:72px}
  [data-look="a"]:where(:not([data-app])) .a-name-block h1{font:700 44px/46px var(--sans)}
}
html[data-look="a"].cafe-open .a-head{display:none}
[data-look="a"] .a-main .cafe-photo-actions button{min-height:0;height:26px;line-height:26px;text-decoration:none;border:0}
[data-look="a"] .a-main .cafe-photo-actions button span{text-decoration:none;font:600 12px/26px var(--sans);color:#fff}
[data-look="a"] #dTitle:focus{outline:none}
/* café sections: Our visit card, stations, hours */
[data-look="a"] .a-sec>h2,[data-look="a"] .sec>h2{border:0;padding:0}
[data-look="a"] .visit-card-min{font:600 12px/16px var(--sans);letter-spacing:.04em;text-transform:none;color:var(--a-small)}
[data-look="a"] .visit-card-title{font:700 20px/24px var(--sans);letter-spacing:-.01em}
[data-look="a"] .visit-card-go{font:600 14px/18px var(--sans)}
[data-look="a"] .visit-card:hover{background:var(--paper)}
[data-look="a"] .stbl{font-size:14px}
[data-look="a"] .stbl thead{display:none}
[data-look="a"] .stbl,[data-look="a"] .stbl tbody{display:block}
[data-look="a"] .stbl tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:12px 0;border-bottom:1px solid var(--rule)}
[data-look="a"] .stbl td{border:0;padding:0}
[data-look="a"] .stbl td:nth-child(2){grid-row:2;grid-column:1/-1}
[data-look="a"] .stbl td:nth-child(3){grid-row:1;grid-column:2;text-align:right;color:var(--muted);white-space:nowrap}
[data-look="a"] .stbl .station-area b{font:600 16px/22px var(--sans);text-decoration:none}
[data-look="a"] .stbl .lines{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
[data-look="a"] .stbl .lb{text-decoration:none;border:0;background:none;padding:0;gap:5px}
[data-look="a"] .stbl .lb em{font:500 13px/16px var(--sans);text-decoration:none;color:var(--muted)}
[data-look="a"] .week{gap:4px}
[data-look="a"] .week div{border:1px solid var(--rule);border-radius:10px;padding:7px 0;font:600 12px/16px var(--sans);background:var(--paper)}
[data-look="a"] .week .o{border-color:var(--rule)}
[data-look="a"] .week .today{background:var(--ink);color:var(--page);border-color:var(--ink)}
[data-look="a"] .week .c{border-color:var(--rule);color:var(--a-small)}
[data-look="a"] .week .today.c{background:var(--a-stamp-red);color:#fff;border-color:var(--a-stamp-red)}
[data-look="a"] .hlist{font:400 15px/22px var(--sans);gap:4px}
[data-look="a"] .hint,[data-look="a"] .hours-source,[data-look="a"] .hours-reason,[data-look="a"] .reference-sources{font:400 13px/18px var(--sans);color:var(--a-small)}
[data-look="a"] .cash-chip{display:inline-block;margin-top:8px;padding:0 10px;border:1px solid var(--rule);border-radius:999px;font:600 12px/22px var(--sans);color:var(--ink);background:var(--paper)}
[data-look="a"] .hours-details{display:block}
[data-look="a"] .hours-walk-note{margin:8px 0 0;font:400 13px/18px var(--sans);color:var(--a-small)}

/* ---------- §6 My Journey ---------- */
[data-look="a"] .a-journey-head .a-top{position:relative}
[data-look="a"] .a-duo{position:absolute;right:0;top:-6px;height:72px;width:auto;pointer-events:none}
[data-look="a"] .a-journey-head .hosts-intro{margin:0 0 14px;font:400 15px/22px var(--sans);color:var(--soft)}
[data-look="a"] .a-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:2px 0 22px}
[data-look="a"] .a-stat{padding:12px 14px;border:1px solid var(--rule);border-radius:16px;background:var(--paper);display:grid;gap:2px;min-width:0}
[data-look="a"] .a-stat b{font:800 28px/30px var(--sans);color:var(--ink)}
[data-look="a"] .a-stat b.is-red{color:var(--a-stamp-red)}
[data-look="a"] .a-stat b small{font:600 14px/18px var(--sans);color:var(--a-small);margin-left:2px}
[data-look="a"] .a-stat span{font:500 13px/16px var(--sans);color:var(--muted)}
[data-look="a"] .a-stickers header,[data-look="a"] .a-stampcard header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
[data-look="a"] .a-stickers h2{margin:0 0 12px;font:700 20px/24px var(--sans);letter-spacing:-.01em;color:var(--ink)}
[data-look="a"] .a-seeall{padding:8px 0;border:0;background:none;color:var(--ink);font:500 14px/18px var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
[data-look="a"] .a-sticker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:12px 0;margin:0 0 22px}
[data-look="a"] .a-sticker{display:flex;flex-direction:column;align-items:center;gap:3px;padding:0 2px;color:var(--ink);text-decoration:none;min-width:0;text-align:center}
[data-look="a"] .a-sticker-art{display:grid;place-items:center;width:92px;height:76px}
[data-look="a"] .a-sticker img{width:70px;height:70px;object-fit:contain;transform:rotate(var(--tilt,0deg));filter:drop-shadow(0 3px 4px rgba(0,0,0,.18))}
[data-look="a"] .a-sticker.is-find img{filter:var(--a-silhouette);opacity:var(--a-silhouette-o);transform:none}
[data-look="a"] .a-sticker b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font:700 12px/14px var(--sans);color:var(--ink)}
[data-look="a"] .a-sticker small{font:400 11px/12px var(--sans);color:var(--a-small)}
[data-look="a"] .a-sticker.is-find b{font-weight:500;color:var(--a-small)}
[data-look="a"]:lang(ja) .a-sticker :is(b,small){font-family:var(--ja)}
[data-look="a"] .a-sticker:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:10px}
[data-look="a"] .a-empty{margin:-4px 0 22px;font:400 14px/20px var(--sans);color:var(--muted)}
[data-look="a"] .a-card,[data-look="a"] .a-stampcard{border:1px solid var(--rule);border-radius:18px;background:var(--paper);padding:14px 16px 16px;margin:0 0 22px}
[data-look="a"] .a-stampcard header{justify-content:flex-start;align-items:center;gap:10px;margin-bottom:12px}
[data-look="a"] .a-top50{display:inline-block;height:22px;padding:0 9px;border-radius:11px;background:var(--a-mustard);color:var(--a-mustard-ink);font:800 12px/22px var(--sans)}
[data-look="a"] .a-stampcard h2{margin:0;font:700 16px/20px var(--sans);color:var(--ink);letter-spacing:0}
[data-look="a"] .a-stampcard header b{margin-left:auto;font:700 15px/18px var(--sans);color:var(--a-stamp-red)}
[data-look="a"] .a-slots{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;justify-items:center}
[data-look="a"] .a-slot,[data-look="a"] .a-stamp{box-sizing:border-box;width:min(100%,27px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center}
[data-look="a"] .a-slot{border:1.5px dashed var(--rule);font:400 10px/12px var(--sans);color:var(--a-small)}
[data-look="a"] .a-stamp{border:2px solid var(--a-stamp-red);background:color-mix(in srgb,var(--a-stamp-red) 9%,transparent);color:var(--a-stamp-ink);font:900 13px/16px var(--ja);text-decoration:none;transform:rotate(var(--rot,0deg))}
[data-look="a"] .a-stamp:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
[data-look="a"] .a-stampcard>p{margin:12px 0 0;font:400 13px/18px var(--sans);color:var(--a-small)}
@media (prefers-reduced-motion:reduce){[data-look="a"] .a-stamp.is-new{animation:none}}
/* journey filters become pills */
[data-look="a"] .journey-controls{display:grid;gap:10px;margin:0 0 6px}
[data-look="a"] .journey-tab-scroll{margin:0 -20px;padding:0 20px;overflow-x:auto;scrollbar-width:none}
[data-look="a"] .journey-tabs{display:inline-flex;gap:7px;border:0;background:none;padding:0}
[data-look="a"] .journey-tabs button{flex:none;display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 13px;border:1px solid var(--rule);border-radius:999px;background:var(--paper);color:var(--ink);font:500 14px/18px var(--sans);white-space:nowrap;cursor:pointer}
[data-look="a"] .journey-tabs button[aria-pressed="true"]{background:var(--cherry-deep);color:var(--cherry-deep-ink);border-color:var(--cherry-deep)}
[data-look="a"] .journey-tabs .journey-icon{width:16px;height:16px}
[data-look="a"] .journey-selects{display:flex;gap:7px}
[data-look="a"] .journey-selects .sel{height:34px;padding:0 12px;border:1px solid var(--rule);border-radius:999px;background:var(--paper);color:var(--ink);font:500 14px/18px var(--sans)}
[data-look="a"] .banner{border:1px solid var(--rule);border-radius:18px;background:var(--paper);box-shadow:none;color:var(--ink)}
[data-look="a"] .guest-journey-banner{margin:0 0 14px}
@media (min-width:1100px){[data-look="a"]:where(:not([data-app])) .a-journey-head,[data-look="a"]:where(:not([data-app])) .a-stats,[data-look="a"]:where(:not([data-app])) .a-stickers,[data-look="a"]:where(:not([data-app])) .a-stampcard{max-width:880px;margin-inline:auto}
  [data-look="a"]:where(:not([data-app])) .a-slots{grid-template-columns:repeat(10,minmax(0,1fr))}
  [data-look="a"]:where(:not([data-app])) .a-slot,[data-look="a"]:where(:not([data-app])) .a-stamp{width:min(100%,32px)}
  [data-look="a"]:where(:not([data-app])) .a-sticker-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}

/* ---------- §8 buttons, menu, sheets and overlays, toasts, footer ---------- */
[data-look="a"] .btn,[data-look="a"] .gbtn{min-height:48px;padding:0 22px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--page);font:600 16px/20px var(--sans);letter-spacing:0;box-shadow:none}
[data-look="a"]:lang(ja) :is(.btn,.gbtn){font-family:var(--ja)}
[data-look="a"] .btn.out,[data-look="a"] .gbtn.out{background:transparent;color:var(--ink)}
[data-look="a"] .btn.red{background:var(--ink);border-color:var(--ink);color:var(--page)}
[data-look="a"] .btn[aria-pressed="true"].out{background:var(--tint);border-color:var(--ink);color:var(--ink)}
[data-look="a"] .overlay{background:rgba(20,16,10,.5)}
[data-look="a"] .card{background:var(--page);border-top:0;border-radius:22px 22px 0 0;box-shadow:none;color:var(--ink)}
[data-look="a"] .card h2{font:700 24px/28px var(--sans);letter-spacing:-.01em;text-align:left}
[data-look="a"]:lang(ja) .card h2{font-family:var(--ja)}
[data-look="a"] .card p{text-align:left;font:400 15px/22px var(--sans);color:var(--muted)}
[data-look="a"] .card.account-card,[data-look="a"] .card.share-card,[data-look="a"] .card.welcome-card{border-top:0}
[data-look="a"] .card input,[data-look="a"] .card textarea,[data-look="a"] .card select,[data-look="a"] .add input{border:1px solid var(--rule);border-radius:12px;background:var(--paper);color:var(--ink)}
@media (min-width:1100px){[data-look="a"]:where(:not([data-app])) .home-menu-card{width:320px;border-radius:18px;align-self:flex-start;margin:64px max(20px,calc((100vw - 1120px)/2 + 20px)) 0 auto}[data-look="a"]:where(:not([data-app])) .overlay:has(.home-menu-card){align-items:flex-start;justify-content:flex-end}}
[data-look="a"] .menu-row{min-height:52px;font:500 16px/22px var(--sans);border-top:1px solid var(--rule)}
[data-look="a"] .menu-row small{font:500 13px/16px var(--sans);color:var(--a-small)}
[data-look="a"] .menu-language button{border-radius:999px}
[data-look="a"] .menu-look[aria-checked="true"] small{color:var(--a-open-ink);font-weight:600}
[data-look="a"] .toast{border-radius:999px;background:var(--ink);color:var(--page);padding:10px 18px;font:600 14px/20px var(--sans)}
[data-look="a"] .toast .undo-action{color:var(--page);text-decoration:underline}
[data-look="a"] .site-foot,[data-look="a"] footer,[data-look="a"] .foot{font:400 13px/18px var(--sans);color:var(--a-small)}
[data-look="a"] .guest-signbar{border-radius:18px 18px 0 0;background:var(--paper);color:var(--ink);border:1px solid var(--rule);box-shadow:none}

/* ---------- §7 Along my line and Near me ---------- */
[data-look="a"] .disc-cafe{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border:0;border-bottom:1px solid var(--rule);border-radius:0;background:none;color:var(--ink);text-decoration:none;box-shadow:none}
[data-look="a"] .disc-cafe>img{flex:none;width:76px;height:76px;border-radius:14px;object-fit:cover;background:var(--a-tile);border:0}
[data-look="a"] .disc-cafe>span{min-width:0;display:flex;flex-direction:column;gap:2px}
[data-look="a"] .disc-cafe b{font:600 18px/22px var(--sans);color:var(--ink);letter-spacing:0}
[data-look="a"] .disc-cafe b small{margin-left:7px;font:400 12px/16px var(--ja);color:var(--muted)}
[data-look="a"] .disc-meta{font:500 13px/16px var(--sans);color:var(--a-small)}
[data-look="a"] .disc-cafe.is-map-current{outline:2px solid var(--ink);outline-offset:2px;border-radius:14px}
[data-look="a"] .disc-name b{font:600 15px/18px var(--sans);color:var(--ink)}
[data-look="a"] .disc-name small{font:400 12px/16px var(--a-small)}
[data-look="a"] .disc-switch button,[data-look="a"] .disc-pill{border:1px solid var(--rule);border-radius:999px;background:var(--paper);color:var(--ink);font:500 14px/18px var(--sans)}
[data-look="a"] .disc-switch button[aria-pressed="true"]{background:var(--cherry-deep);color:var(--cherry-deep-ink);border-color:var(--cherry-deep)}
[data-look="a"] .line-view-head h2{font:700 20px/24px var(--sans);letter-spacing:-.01em}
[data-look="a"] .near-drawer{border-top:0;border-radius:22px 22px 0 0;background:var(--page);box-shadow:0 -8px 24px -12px rgba(20,16,10,.35)}
[data-look="a"] .near-item{border-bottom:1px solid var(--rule);background:none;color:var(--ink)}
[data-look="a"] .near-item b{font:600 16px/20px var(--sans)}
[data-look="a"] .near-item small,[data-look="a"] .near-item .near-meta{font:500 13px/16px var(--sans);color:var(--a-small)}
[data-look="a"] .near-popcard,[data-look="a"] .desktop-map-preview{border:1px solid var(--rule);border-radius:18px;background:var(--paper);box-shadow:none}
@media (min-width:1100px){[data-look="a"]:where(:not([data-app])) .desktop-list-map,[data-look="a"]:where(:not([data-app])) .near-frame{border:1px solid var(--rule);border-radius:18px;overflow:hidden}}
/* menu pieces left boxy above */
[data-look="a"] .menu-google,[data-look="a"] .menu-apple{border:1px solid var(--rule);border-radius:999px;background:var(--paper);color:var(--ink);box-shadow:none}
[data-look="a"] .menu-language{border:1px solid var(--rule);border-radius:999px;padding:3px;gap:3px;background:var(--paper)}
[data-look="a"] .menu-language button{border:0;border-radius:999px}
[data-look="a"] .menu-language button[aria-pressed="true"]{background:var(--cherry-deep);color:var(--cherry-deep-ink)}

/* ---------- §9 chip picker ---------- */
[data-look="a"] .a-pick{border:0;margin:0;padding:0;min-width:0;display:grid;gap:8px}
[data-look="a"] .a-pick legend{padding:0;margin:0 0 6px;font:600 13px/16px var(--sans);color:var(--a-small)}
[data-look="a"] .a-pick-search{height:40px;padding:0 14px;border:1px solid var(--rule);border-radius:999px;background:var(--paper);color:var(--ink);font:400 15px/20px var(--sans)}
[data-look="a"] .a-pick-chips{display:flex;flex-wrap:wrap;gap:7px;max-height:260px;overflow:auto;padding:2px}
[data-look="a"] .a-pchip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 5px;border:1px solid var(--rule);border-radius:999px;background:var(--paper);color:var(--ink);font:500 14px/18px var(--sans);cursor:pointer;position:relative}
[data-look="a"] .a-pchip[hidden]{display:none}
[data-look="a"] .a-pchip img{width:26px;height:26px;object-fit:contain}
[data-look="a"] .a-pchip[aria-pressed="true"]{background:var(--cherry-deep);color:var(--cherry-deep-ink);border-color:var(--cherry-deep)}
[data-look="a"] .a-pick-note{margin:0;min-height:18px;font:500 13px/18px var(--sans);color:var(--a-stamp-red)}
@keyframes a-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
[data-look="a"] .a-pchip.is-shake{animation:a-shake .35s ease}
@media (prefers-reduced-motion:reduce){[data-look="a"] .a-pchip.is-shake{animation:none;outline:2px solid var(--a-stamp-red)}}

/* ---------- §8 Our visit page ---------- */
[data-look="a"] .visit-sheet .dtop{position:sticky;top:0;z-index:5;background-color:var(--mast-sample);background-image:linear-gradient(var(--page),var(--page));border:0;box-shadow:0 -100vh 0 100vh var(--page);padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px}
[data-look="a"] .visit-top #vBack{font:500 14px/18px var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);display:inline-flex;align-items:center;gap:8px}
[data-look="a"] .visit-title{font:700 34px/36px var(--sans);letter-spacing:-.02em;color:var(--ink)}
[data-look="a"] .visit-title .ja{font:700 16px/22px var(--ja)}
[data-look="a"] .visit-by{font:500 14px/18px var(--sans);color:var(--muted)}
[data-look="a"] .visit-photo{border:0;border-radius:18px;background:var(--a-tile)}
[data-look="a"] .visit-page .story{font:400 17px/27px var(--sans);color:var(--soft)}
[data-look="a"]:lang(ja) .visit-page .story{font-family:var(--ja);line-height:1.9}
[data-look="a"] .visit-end{border:1px solid var(--rule);border-radius:18px;background:var(--paper)}
[data-look="a"] .visit-end b{font:700 18px/22px var(--sans)}
[data-look="a"] .visit-end span{font:500 14px/18px var(--sans)}
@media(hover:hover) and (pointer:fine){[data-look="a"] .visit-end:hover{background:var(--paper)}}
[data-look="a"] .a-journey-head .a-top:has(.a-duo) .a-title{padding-right:84px}
@media (max-width:360px){[data-look="a"] .a-journey-head .a-top:has(.a-duo) .a-title{font-size:26px;line-height:30px;padding-right:70px}[data-look="a"] .a-duo{height:60px}}

/* ======================================================================================================================
   L111b: glass, calm motion, the capsule tabs, the bottom bar, the wordmark header (briefs #261–#265;
   prototype design/prototype/kissa-motion.html holds the exact values)
   ====================================================================================================================== */
html[data-look="a"]{--spring:cubic-bezier(.25,1.06,.45,1);--pop:cubic-bezier(.25,1.22,.45,1);--glass-rim:rgba(255,255,255,.78);--glow:0 10px 30px rgba(20,16,10,.16),0 2px 6px rgba(20,16,10,.08);--a-track:#F6F3F4;--a-solid:#C8174A;--a-on-solid:#FFFFFF;--a-badge:#C8174A}
@media (prefers-color-scheme: dark){html[data-look="a"]:not([data-theme="light"]){--glass-rim:rgba(244,237,224,.18);--glow:0 10px 30px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.3);--a-track:#33222A;--a-solid:#FF8FAB;--a-on-solid:#1E1518}}
html[data-look="a"][data-theme="dark"]{--glass-rim:rgba(244,237,224,.18);--glow:0 10px 30px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.3);--a-track:#33222A;--a-solid:#FF8FAB;--a-on-solid:#1E1518}
[data-look="a"] .a-glass{background:color-mix(in srgb,var(--paper) 62%,transparent);-webkit-backdrop-filter:blur(18px) saturate(190%);backdrop-filter:blur(18px) saturate(190%);border:1px solid var(--glass-rim);box-shadow:inset 0 1px 1px var(--glass-rim),var(--glow)}
/* header: the wordmark on the page, glass once scrolled, tucks going down and springs back on a flick up */
[data-look="a"] .a-head{background:transparent;border-bottom:1px solid transparent;transition:transform .45s var(--spring),background-color .25s,box-shadow .25s,border-color .25s;box-shadow:none}
[data-look="a"] .a-head.is-scrolled{background:color-mix(in srgb,var(--page) 70%,transparent);-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);border-bottom-color:var(--rule);box-shadow:none}
[data-look="a"] .a-head.tucked{transform:translateY(-110%);transition:transform .35s cubic-bezier(.4,0,.6,1)}
[data-look="a"] .a-head-in{justify-content:space-between}
/* the top views: title, glass capsule, filter pills */
[data-look="a"] .page[data-a-view="top"]{display:block}
[data-look="a"] .page[data-a-view="top"] .a-title{margin:6px 0 0}
[data-look="a"] .a-dock{position:sticky;z-index:20;top:calc(env(safe-area-inset-top,0px) + 62px);margin:14px 0 0;transition:top .45s var(--spring)}
[data-look="a"] .a-dock.high{top:calc(env(safe-area-inset-top,0px) + 10px)}
[data-look="a"] .a-seg{position:relative;display:flex;padding:3px;border-radius:999px;touch-action:none;user-select:none;-webkit-user-select:none}
[data-look="a"] .a-track{position:absolute;inset:3px;border-radius:999px;background:color-mix(in srgb,var(--a-track) 82%,transparent);pointer-events:none}
[data-look="a"] .a-drop{position:absolute;left:3px;top:3px;bottom:3px;width:80px;border-radius:999px;background:var(--a-mustard);transform-origin:50% 50%;will-change:transform,width;pointer-events:none}
[data-look="a"] .a-tab{position:relative;flex:1 1 auto;height:38px;padding:0 12px;border:0;border-radius:999px;background:none;font:500 15px/18px var(--sans);color:var(--muted);white-space:nowrap;display:grid;place-items:center;cursor:pointer}
[data-look="a"]:lang(ja) .a-tab{font-family:var(--ja)}
[data-look="a"] .a-tab span{display:inline-block;will-change:transform}
@media(max-width:430px){[data-look="a"] .a-dock .a-tab{padding:0 8px;font-size:14px}[data-look="a"]:lang(ja) .a-dock .a-tab{font-size:12.5px;padding:0 6px}}
@media(max-width:360px){[data-look="a"] .a-dock .a-tab{padding:0 5px;font-size:13px}[data-look="a"]:lang(ja) .a-dock .a-tab{font-size:12px;padding:0 4px}}
[data-look="a"] .a-tab.lit{color:var(--a-mustard-ink);font-weight:600}
[data-look="a"] .a-tab:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
[data-look="a"] .a-seg.boing{animation:a-boing .4s ease-out}
@keyframes a-boing{0%{transform:scale(1)}35%{transform:scale(1.008,.995)}100%{transform:scale(1)}}
[data-look="a"] .page[data-a-view="top"] .qf-wrap{margin-top:12px}
[data-look="a"] .page[data-a-view="top"] #results{margin-top:6px}
[data-look="a"] #page.a-pull{animation:a-pull .5s cubic-bezier(.3,1.05,.45,1)}
@keyframes a-pull{0%{transform:translateY(0)}40%{transform:translateY(9px)}100%{transform:translateY(0)}}
/* Near me list: the station start and the locate button */
[data-look="a"] .a-from{display:flex;align-items:center;gap:8px;margin:12px 0 0}
[data-look="a"] .a-fromsel{position:relative;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border:1px solid var(--rule);border-radius:999px;background:var(--paper);font:500 14px/18px var(--sans);color:var(--ink)}
[data-look="a"] .a-fromsel select{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}
[data-look="a"] .a-fromsel .a-from-l::after{content:" ▾";font-size:10px;opacity:.8}
[data-look="a"] .a-locate{position:relative;width:34px;height:34px;border-radius:50%;border:1px solid var(--rule);background:var(--paper);color:var(--ink);display:grid;place-items:center;cursor:pointer}
[data-look="a"] .a-locate::after{content:"";position:absolute;inset:-5px}
[data-look="a"] .a-locate svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
[data-look="a"] .disc-switch{display:none}
/* the bottom bar */
[data-look="a"] .a-nav{position:fixed;z-index:46;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 18px);transform:translateX(-50%);display:flex;align-items:center;gap:4px;padding:5px;border-radius:999px;transition:transform .45s var(--spring)}
[data-look="a"] .a-nav.away{transform:translate(-50%,calc(100% + 18px + env(safe-area-inset-bottom,0px) + 24px));opacity:0;pointer-events:none;transition:transform .3s cubic-bezier(.4,0,.6,1),opacity .2s ease .1s}
[data-look="a"] .a-nav[hidden]{display:none}
[data-look="a"] .a-seg2{padding:0}
[data-look="a"] .a-seg2 .a-track{inset:0;background:color-mix(in srgb,var(--a-track) 70%,transparent)}
[data-look="a"] .a-seg2 .a-drop{left:0;top:0;bottom:0}
[data-look="a"] .a-seg2 .a-tab{height:46px;padding:0 16px;font-weight:600;font-size:14px}
[data-look="a"] .a-seg2 .a-tab span{display:flex;align-items:center;gap:6px}
[data-look="a"] .a-seg2 svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
[data-look="a"] .a-lbl{font-style:normal;display:inline-block;max-width:60px;overflow:hidden;white-space:nowrap;transition:max-width .35s cubic-bezier(.2,.9,.25,1.02),opacity .25s}
[data-look="a"] .a-nav.tuck .a-lbl{max-width:0;opacity:0}
[data-look="a"] .a-nav.tuck .a-seg2 .a-tab span{gap:0}
[data-look="a"] .a-bub{position:relative;flex:none;width:46px;height:46px;border-radius:50%;border:0;background:none;display:grid;place-items:center;font:700 13px/16px var(--sans);color:var(--ink);cursor:pointer;transition:width .35s cubic-bezier(.2,.9,.25,1.02),opacity .25s,transform .4s cubic-bezier(.3,1.1,.5,1),background-color .25s}
[data-look="a"] .a-langb span{font-family:var(--ja);white-space:nowrap;font-size:12px;letter-spacing:-.02em}
[data-look="a"]:lang(ja) .a-langb span{font-family:var(--sans)}
[data-look="a"] .a-nav.tuck .a-langb{width:0;opacity:0;overflow:hidden;pointer-events:none}
[data-look="a"] .a-you .a-hanko{width:28px;height:28px;font-size:13px;border-width:2px;line-height:1}
[data-look="a"] .a-you.is-on{background:var(--a-solid)}
[data-look="a"] .a-you.is-on .a-hanko{border-color:#EE8A6E;color:#EE8A6E;background:rgba(238,138,110,.16)}
[data-look="a"] .a-ycount{position:absolute;top:2px;right:0;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--a-badge);color:#fff;font:800 10px/13px var(--sans);display:grid;place-items:center;border:2px solid var(--page)}
[data-look="a"] .a-bub.bump{animation:a-bump .55s var(--pop)}
@keyframes a-bump{0%{transform:scale(1)}40%{transform:scale(1.05)}100%{transform:scale(1)}}
[data-look="a"] .down{transform:scale(1.035);transition:transform .3s var(--pop)}
[data-look="a"] .a-nav :focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
/* the desktop header carries the same bubbles */
[data-look="a"] .a-head-r .a-bub{background:var(--a-btn)}
[data-look="a"] .a-head-r .a-you.is-on{background:var(--a-solid)}
[data-look="a"] .a-head-r .a-ycount{border-color:var(--page)}
/* the page keeps clear of the bar */
[data-look="a"] .page{padding-bottom:calc(130px + env(safe-area-inset-bottom,0px))}
@media (prefers-reduced-motion: reduce){
  [data-look="a"] *,[data-look="a"] *::before,[data-look="a"] *::after{animation:none!important;transition-duration:.01ms!important}
}
/* Settings row at the end of My Journey, and the appearance control in the menu */
[data-look="a"] .a-settings{display:flex;align-items:center;justify-content:center;width:100%;height:44px;margin:22px 0 0;border:1px solid var(--ink);border-radius:22px;background:transparent;color:var(--ink);font:600 15px/20px var(--sans);cursor:pointer}
[data-look="a"] .menu-appearance{display:flex;gap:3px;padding:3px;margin:8px 0;border:1px solid var(--rule);border-radius:999px;background:var(--paper)}
[data-look="a"] .menu-appearance button{flex:1;height:38px;border:0;border-radius:999px;background:transparent;color:var(--ink);font:500 14px/18px var(--sans);cursor:pointer}
[data-look="a"] .menu-appearance button[aria-pressed="true"]{background:var(--a-solid);color:var(--a-on-solid);font-weight:600}

/* ---------- L111b §4: the glass café action bar, glass sheets, calm entrances ---------- */
[data-look="a"] .a-bar{background:color-mix(in srgb,var(--paper) 62%,transparent);-webkit-backdrop-filter:blur(18px) saturate(190%);backdrop-filter:blur(18px) saturate(190%);border:1px solid var(--glass-rim);box-shadow:inset 0 1px 1px var(--glass-rim),var(--glow);border-radius:22px;padding:7px;gap:6px}
[data-look="a"] .a-tile{background:transparent;color:var(--ink);height:60px;border-radius:15px;gap:4px;font:700 12px/16px var(--sans)}
[data-look="a"] .a-tile svg{width:22px;height:22px}
[data-look="a"] .a-walk{background:var(--a-mustard);color:var(--a-mustard-ink)}
[data-look="a"] .a-been.is-on{background:var(--a-solid);color:var(--a-on-solid)}
[data-look="a"] .a-tile:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
[data-look="a"] .a-walk:focus-visible{outline-color:var(--ink)}
[data-look="a"] .a-bar.in{animation:a-bar-in .45s cubic-bezier(.22,1.02,.36,1) both}
@keyframes a-bar-in{0%{transform:translateX(-50%) translateY(140%)}100%{transform:translateX(-50%) translateY(0)}}
[data-look="a"] .a-bar.boing{animation:a-bar-boing .4s ease-out}
@keyframes a-bar-boing{0%{transform:translateX(-50%) scale(1)}35%{transform:translateX(-50%) scale(1.008,.992)}100%{transform:translateX(-50%) scale(1)}}
@media (min-width:1100px){
  [data-look="a"]:where(:not([data-app])) .a-bar{background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;box-shadow:none;padding:0;gap:10px;border-radius:0}
  [data-look="a"]:where(:not([data-app])) .a-tile{background:color-mix(in srgb,var(--paper) 62%,transparent);border:1px solid var(--rule);height:72px}
  [data-look="a"]:where(:not([data-app])) .a-walk{background:var(--a-mustard);border-color:transparent}
  [data-look="a"]:where(:not([data-app])) .a-been.is-on{background:var(--a-solid)}
  [data-look="a"]:where(:not([data-app])) .a-bar.in,[data-look="a"]:where(:not([data-app])) .a-bar.boing{animation:none}
}
/* the café page slides in over the list */
[data-look="a"] #sheet.a-enter{animation:a-view-in .42s cubic-bezier(.22,1,.36,1) both}
@keyframes a-view-in{0%{transform:translateX(105%)}100%{transform:translateX(0)}}
/* sheets: glass, 24 px corners, a grab handle, springing up */
[data-look="a"] .overlay .card{background:color-mix(in srgb,var(--page) 82%,transparent);-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);border-top:1px solid var(--glass-rim);border-radius:24px 24px 0 0;box-shadow:0 -10px 40px rgba(20,16,10,.18);padding-top:calc(18px + 14px)}
[data-look="a"] .card>.sheet-grab::before{content:"";display:block;width:36px;height:4px;border-radius:2px;background:var(--rule)}
[data-look="a"] .overlay .card.a-in{animation:a-sheet-in .45s cubic-bezier(.22,1.03,.36,1) both}
@keyframes a-sheet-in{0%{transform:translateY(105%)}100%{transform:translateY(0)}}
[data-look="a"] .overlay .card.a-drag{transition:none}
[data-look="a"] .overlay .card.a-settle{transition:transform .35s cubic-bezier(.22,1.03,.36,1)}
@keyframes a-press{0%{transform:rotate(var(--rot,0deg)) scale(1.5);opacity:0}60%{transform:rotate(var(--rot,0deg)) scale(.97);opacity:1}100%{transform:rotate(var(--rot,0deg)) scale(1)}}
[data-look="a"] .a-stamp.is-new{animation:a-press .7s var(--pop) both}

/* ---------- L111b §5: Your visit (score, comment and photos in one sheet) ---------- */
[data-look="a"] .card.a-visit-card{padding:0;display:flex;flex-direction:column;max-height:92vh;overflow:hidden;gap:0;width:min(520px,100%)}
[data-look="a"] .a-visit{display:flex;flex-direction:column;min-height:0;max-height:92vh}
[data-look="a"] .a-vhead{padding:34px 20px 8px;touch-action:none}
[data-look="a"] .a-vtop{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
[data-look="a"] .a-vname{margin:0;font:700 20px/24px var(--sans);text-align:left;letter-spacing:-.01em}
[data-look="a"]:lang(ja) .a-vname{font-family:var(--ja)}
[data-look="a"] .a-vsub{margin:0;font:500 13px/18px var(--ja);color:var(--a-small);text-align:left}
[data-look="a"] .a-vbig b{display:inline-block;font:800 40px/40px var(--sans);letter-spacing:-.02em;color:var(--ink)}
[data-look="a"] .a-vbig b.bump{animation:a-bump .55s var(--pop)}
[data-look="a"] .a-vscroll{overflow-y:auto;overscroll-behavior:contain;padding:4px 20px calc(env(safe-area-inset-bottom,0px) + 14px);touch-action:pan-y}
[data-look="a"] .a-cats{border-top:1px solid var(--rule)}
[data-look="a"] .a-cat{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--rule)}
[data-look="a"] .a-cat span{font:500 15px/20px var(--sans)}
[data-look="a"]:lang(ja) .a-cat span{font-family:var(--ja)}
[data-look="a"] .a-cat small{margin-left:4px;font:500 11px/14px var(--sans);color:var(--a-small)}
[data-look="a"] .a-cups{display:flex;gap:6px;padding:4px 0;cursor:pointer;touch-action:none;border-radius:12px}
[data-look="a"] .a-cups:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
[data-look="a"] .a-cup{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--a-small);transition:transform .35s var(--pop)}
[data-look="a"] .a-cup.full{background:var(--a-mustard);border-color:var(--a-mustard)}
[data-look="a"] .a-cup.half{background:linear-gradient(90deg,var(--a-mustard) 50%,transparent 50%);border-color:var(--a-mustard)}
[data-look="a"] .a-cup.pop{transform:scale(1.12)}
[data-look="a"] .a-vlab{display:block;padding:18px 0 8px;font:700 16px/20px var(--sans);color:var(--ink)}
[data-look="a"] .a-cmt{width:100%;min-height:84px;resize:none;border:1px solid var(--rule);border-radius:14px;background:var(--paper);color:var(--ink);font:400 16px/24px var(--sans);padding:10px 12px}
[data-look="a"]:lang(ja) .a-cmt{font-family:var(--ja)}
[data-look="a"] .a-cmt:focus{outline:2px solid var(--a-mustard);outline-offset:1px}
[data-look="a"] .a-cmt[aria-invalid="true"]{border-color:var(--a-stamp-red)}
[data-look="a"] .a-phgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
[data-look="a"] .a-ph{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--a-tile);padding:0;border:0}
[data-look="a"] .a-ph img{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer}
[data-look="a"] .a-x{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;border:1px solid var(--a-photo-edge);background:var(--a-photo-btn);color:var(--a-photo-ink);display:grid;place-items:center;padding:0;cursor:pointer}
[data-look="a"] .a-x::after{content:"";position:absolute;inset:-8px}
[data-look="a"] .a-ph-add{border:1.5px dashed var(--a-small);background:transparent;display:grid;place-items:center;color:var(--muted);cursor:pointer}
[data-look="a"] .a-ph.is-in{animation:a-phin .5s var(--pop)}
@keyframes a-phin{0%{transform:scale(.85);opacity:0}100%{transform:scale(1);opacity:1}}
[data-look="a"] .a-declare{display:flex;gap:10px;align-items:flex-start;margin:12px 0 0;font:400 14px/20px var(--sans);color:var(--soft);cursor:pointer}
[data-look="a"] .a-declare input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--ink)}
[data-look="a"] .a-declare.is-bad{color:var(--a-stamp-red)}
[data-look="a"] .a-credit{display:inline-flex;gap:3px;padding:3px;margin:10px 0 0;border:1px solid var(--rule);border-radius:999px;background:var(--paper)}
[data-look="a"] .a-credit button{height:30px;padding:0 12px;border:0;border-radius:999px;background:transparent;color:var(--ink);font:500 13px/16px var(--sans);cursor:pointer}
[data-look="a"] .a-credit button[aria-pressed="true"]{background:var(--a-solid);color:var(--a-on-solid)}
[data-look="a"] .a-policy{display:inline-block;margin:10px 0 0 12px;font:500 13px/18px var(--sans);color:var(--muted);text-decoration:underline;text-underline-offset:3px}
[data-look="a"] .a-signin{width:100%}
[data-look="a"] .a-verror{margin:12px 0 0;font:600 14px/20px var(--sans);color:var(--a-stamp-red);text-align:left}
[data-look="a"] .a-vsave{position:sticky;bottom:0;width:100%;margin-top:14px;z-index:2}
[data-look="a"] .a-phmenu{position:absolute;left:12px;right:12px;bottom:12px;z-index:6;display:flex;flex-direction:column;gap:2px;padding:6px;border-radius:18px;background:color-mix(in srgb,var(--paper) 82%,transparent);-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);border:1px solid var(--glass-rim);box-shadow:var(--glow)}
[data-look="a"] .a-phmenu button{height:44px;border:0;border-radius:12px;background:transparent;color:var(--ink);font:600 15px/20px var(--sans);cursor:pointer}
/* From members: a sideways row; your card leads once you have left something */
[data-look="a"] .a-mrow{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 0 4px;margin:0 -20px;padding-inline:20px}
[data-look="a"] .a-mrow::-webkit-scrollbar{display:none}
[data-look="a"] .a-mcard{flex:0 0 78%;max-width:300px;scroll-snap-align:start;display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--rule);border-radius:18px;background:var(--paper);text-align:left;color:var(--ink);font:inherit;cursor:default}
[data-look="a"] .a-mcard .cm{border:0;border-radius:0;background:none;padding:0;box-shadow:none}
[data-look="a"] button.a-mine{cursor:pointer}
[data-look="a"] .a-mh{display:flex;align-items:center;gap:8px;font:600 14px/18px var(--sans)}
[data-look="a"] .a-ms{margin-left:auto;font:800 14px/18px var(--sans)}
[data-look="a"] .a-mine p{margin:0;font:400 15px/22px var(--sans);color:var(--soft);display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
[data-look="a"] .a-mthumbs{display:flex;gap:6px}
[data-look="a"] .a-mthumbs img{width:44px;height:44px;border-radius:8px;object-fit:cover}
[data-look="a"] .a-pend{align-self:flex-start;padding:1px 8px;border:1px solid var(--rule);border-radius:999px;font:600 11px/16px var(--sans);color:var(--a-small)}
[data-look="a"] .a-madd{flex-basis:44%;align-items:center;justify-content:center;min-height:110px;border:1.5px dashed var(--a-small);background:transparent;color:var(--muted);cursor:pointer}

/* L111c: look-A fixes (#1-#4 from Design Kissaten) */
/* 1: the current-row highlight of the desktop list map must not bleed a white panel around the #1 hero photo */
[data-look="a"] .desktop-list-layout .row.a-hero.is-map-current{box-shadow:none;background:var(--a-tile)}
[data-look="a"] .desktop-list-layout .row.a-hero.is-map-current::before{display:none}
/* 2: the Our visit page header: round back button and the café name */
[data-look="a"] .visit-sheet .a-vtop{display:flex;align-items:center;gap:12px}
[data-look="a"] .visit-sheet .a-vtop .a-round{background:var(--a-btn);color:var(--ink);border-color:transparent;flex:none}
[data-look="a"] .a-vname{min-width:0;font:600 15px/20px var(--sans);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 3: a distance reads "700 m" on one line, the unit smaller; the approximate-via note sits under it */
[data-look="a"] .a-score .dk{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:0 3px;white-space:nowrap;line-height:1}
[data-look="a"] .a-score .dk em{flex-basis:100%;text-align:right}
[data-look="a"] .a-score.is-dist{width:auto;min-width:54px}
/* 4: the English secondary name in Japanese rows stays whole: on its own line, one line, ellipsis if it is longer than the column */
[data-look="a"] .a-name .ja[lang="en"]{display:block;margin:2px 0 0;font:400 12px/16px var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}

/* ---------- L112: maps (MapLibre on our own tiles; the pins, you dot and zoom are in /map/v3/omk-map-gl.css) ---------- */
/* the map's own attribution replaces classic's credit line */
[data-look="a"] .near-credit{display:none}
/* panel maps: radius 18 and a hairline frame; full-bleed on phones */
[data-look="a"] .desktop-list-map,[data-look="a"] .visit-directions-map{border-radius:18px;overflow:hidden;border:1px solid var(--rule)}
[data-look="a"] .desktop-list-map .near-canvas,[data-look="a"] .visit-directions-map .near-canvas{border-radius:inherit}
/* desktop list map: the "follows the list" badge and the preview card in the look-A voice (item 5 of Design's L111c list) */
[data-look="a"] .desktop-map-label{top:12px;left:12px;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--paper) 88%,transparent);color:var(--muted);border:1px solid var(--rule);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font:500 12.5px/16px var(--sans);letter-spacing:0;text-transform:none}
[data-look="a"] .desktop-map-preview{border:1px solid var(--rule);border-radius:18px;background:var(--paper);box-shadow:var(--glow,0 10px 30px rgba(20,16,10,.16));padding:12px 16px}
[data-look="a"] .desktop-preview-score b{color:var(--ink)}
[data-look="a"] .desktop-map-preview b{font-weight:700}

/* the phone map sheet: three stops (low: the headline; mid: the card row; high: the list), above the glass bar */
[data-look="a"] .near-frame{--a-sheet-h:0px;--a-navpad:96px}
[data-look="a"] .near-frame .maplibregl-ctrl-bottom-left,[data-look="a"] .near-frame .maplibregl-ctrl-bottom-right{bottom:var(--a-sheet-h);transition:bottom .45s var(--spring)}
[data-look="a"] .near-frame[data-sheet="high"] .near-search-row{display:none}
[data-look="a"] .a-msheet{position:absolute;left:0;right:0;bottom:0;z-index:6;display:flex;flex-direction:column;background:var(--page);border-radius:22px 22px 0 0;box-shadow:0 -8px 24px -12px rgba(20,16,10,.35);overflow:hidden;transition:height .45s var(--spring);padding-bottom:var(--a-navpad)}
[data-look="a"] .a-grab{flex:none;display:block;width:100%;height:22px;border:0;padding:0;background:none;cursor:pointer;touch-action:none;position:relative}
[data-look="a"] .a-grab::before{content:"";position:absolute;left:50%;top:9px;width:38px;height:4px;margin-left:-19px;border-radius:2px;background:var(--rule)}
[data-look="a"] .a-grab::after{content:"";position:absolute;inset:-6px 0 -10px}
[data-look="a"] .a-mhead{flex:none;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 20px 8px;touch-action:none}
[data-look="a"] .a-mhead b{font:700 17px/22px var(--sans);color:var(--ink)}
[data-look="a"] .a-mhead span{font:500 12.5px/16px var(--sans);color:var(--a-small,var(--muted));white-space:nowrap}
[data-look="a"] .a-mcar{flex:none;display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding:2px calc((100% - min(84%,400px)) / 2) 12px;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x;-webkit-overflow-scrolling:touch}
[data-look="a"] .a-mcar::-webkit-scrollbar{display:none}
[data-look="a"] .a-mcar[hidden],[data-look="a"] .a-mlist[hidden]{display:none}
[data-look="a"] .a-mcar:focus-visible{outline:2px solid var(--ink);outline-offset:-2px;border-radius:14px}
[data-look="a"] .a-mc{flex:0 0 min(84%,400px);scroll-snap-align:center;box-sizing:border-box;display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:96px;padding:10px 14px 10px 10px;border:1px solid var(--rule);border-radius:18px;background:var(--paper);color:var(--ink);text-decoration:none}
[data-look="a"] .a-mc.on{box-shadow:inset 0 0 0 1.5px var(--ink)}
[data-look="a"] .a-mc:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
[data-look="a"] .a-mc-tile{display:grid;place-items:center;width:72px;height:72px;border-radius:14px;background:var(--tint)}
[data-look="a"] .a-mc-tile img{width:62px;height:62px;object-fit:contain}
[data-look="a"] .a-mc-txt{display:grid;gap:3px;min-width:0}
[data-look="a"] .a-mc-top{display:flex;align-items:center;gap:6px;min-width:0}
[data-look="a"] .a-mc-rank{flex:none;display:inline-grid;place-items:center;min-width:24px;height:20px;padding:0 6px;box-sizing:border-box;border-radius:999px;background:#E4A824;color:#141414;font:700 12px/13px var(--sans);font-style:normal}
[data-look="a"] .a-mc-name{min-width:0;font:600 16px/20px var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-look="a"] .a-mc-meta{font:500 12.5px/16px var(--sans);color:var(--a-small,var(--muted));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-look="a"] .a-mc-score{display:grid;justify-items:end;gap:1px}
[data-look="a"] .a-mc-score b{font:800 22px/24px var(--sans);color:var(--ink)}
[data-look="a"] .a-mc-score small{font:600 9px/12px var(--sans);letter-spacing:.1em;color:var(--a-small,var(--muted));text-transform:uppercase}
[data-look="a"] .a-mlist{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 20px 12px;-webkit-overflow-scrolling:touch}
[data-look="a"] .a-mempty{margin:16px 0;font:500 14px/20px var(--sans);color:var(--muted)}
/* tap Map again: a ripple from the middle of the map and the view's name under the top bar */
[data-look="a"] .a-mripple{position:absolute;left:50%;top:44%;z-index:5;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;border:3px solid color-mix(in srgb,var(--ink) 60%,transparent);pointer-events:none;animation:a-ripple 1.1s ease-out forwards}
@keyframes a-ripple{from{transform:scale(.2);opacity:.9}to{transform:scale(6);opacity:0}}
[data-look="a"] .a-mtoast{position:absolute;left:50%;top:76px;z-index:7;transform:translateX(-50%);padding:6px 14px;border-radius:999px;background:var(--paper);color:var(--ink);border:1px solid var(--rule);box-shadow:var(--glow,0 10px 30px rgba(20,16,10,.16));font:600 13px/18px var(--sans);white-space:nowrap;pointer-events:none}
[data-look="a"] .a-mtoast[hidden]{display:none}
@media (prefers-reduced-motion:reduce){[data-look="a"] .a-msheet,[data-look="a"] .near-frame .maplibregl-ctrl-bottom-left,[data-look="a"] .near-frame .maplibregl-ctrl-bottom-right{transition:none}}

/* L112 §5b: Maps choice in the menu, under Appearance */
[data-look="a"] .menu-maps-label{display:block;margin:10px 4px 0;color:var(--muted);font:600 12.5px/16px var(--sans)}
[data-look="a"] .menu-maps-wrap .menu-maps{margin-top:4px}
/* L112: Our visit header, the café name centred like an iOS title (one line, ellipsis) */
[data-look="a"] .a-vtop{position:relative;min-height:44px;align-items:center}
[data-look="a"] .a-vtop .a-vname{position:absolute;left:56px;right:56px;top:50%;transform:translateY(-50%);text-align:center;font:600 16px/22px var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
[data-look="a"]:lang(ja) .a-vtop .a-vname{font-family:var(--ja)}
[data-look="a"] .visit-map-credit{display:none}
/* L112: the sheet below the desktop layout (701-1099): a centred card of at most 560 px; L112i adds the full iPad layout */
@media (min-width:701px){[data-look="a"] .a-msheet{left:50%;right:auto;width:min(560px,100%);transform:translateX(-50%)}}

/* L112b: the phone Map tab is a full-screen map with a compact glass top over it (OMS .maptop) */
html[data-amap]{--a-topbar:calc(env(safe-area-inset-top,0px) + 116px);overflow:hidden;overscroll-behavior:none}
html[data-amap] .a-head,html[data-amap] .page[data-a-view="top"] .a-title{display:none}
html[data-amap] .page{padding-top:0;min-height:0}
html[data-amap] .a-dock{position:fixed;top:calc(env(safe-area-inset-top,0px) + 8px);left:12px;right:12px;margin:0;z-index:40}
html[data-amap] .qf-wrap{position:fixed;top:calc(env(safe-area-inset-top,0px) + 60px);left:0;right:0;margin:0;z-index:40}
html[data-amap] .qf-wrap .qf{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
html[data-amap] #results{margin:0;padding:0}
html[data-amap] #results .near-frame{position:fixed;inset:0;width:auto;height:100dvh;min-height:0;max-height:none;margin:0;border:0;border-radius:0;z-index:30}
html[data-amap] .near-search-row{top:calc(var(--a-topbar) + 4px);left:12px;right:12px;width:auto}
html[data-amap] .a-nav{z-index:46}
.a-mtop{display:none}
html[data-amap] .a-mtop{display:block;position:fixed;top:0;left:0;right:0;height:var(--a-topbar);z-index:35;pointer-events:none;border-radius:0 0 22px 22px;background:color-mix(in srgb,var(--paper) 66%,transparent);-webkit-backdrop-filter:blur(18px) saturate(190%);backdrop-filter:blur(18px) saturate(190%);border-bottom:1px solid var(--glass-rim);box-shadow:var(--glow)}
/* Safari tints its bar from the sampled colour at the very top edge (#250): a 4 px opaque strip carries it; the glass below stays see-through */
html[data-amap] .a-mtop::before{content:"";position:absolute;left:0;right:0;top:0;height:max(4px,env(safe-area-inset-top,0px));background-color:var(--mast-sample);background-image:linear-gradient(var(--mast),var(--mast))}

/* the place field and the locate button: a 44 px rounded field and a round glass button */
[data-look="a"] .near-search-row{gap:10px;align-items:center}
[data-look="a"] .near-search-field input{height:44px;padding:0 44px 0 18px;border:1px solid var(--rule);border-radius:22px;background:var(--paper);box-shadow:0 6px 18px -8px rgba(20,16,10,.3);font:600 15px/20px var(--sans);color:var(--ink);-webkit-appearance:none;appearance:none}
[data-look="a"] .near-search-field input::placeholder{color:var(--muted);opacity:1}
[data-look="a"] .near-search-field input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
[data-look="a"] .near-clear{width:44px;height:44px;right:0;top:0;border-radius:22px;font-size:20px;line-height:44px;color:var(--muted)}
[data-look="a"] .near-search-row>.near-locate{position:relative;display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid var(--glass-rim);background:color-mix(in srgb,var(--paper) 62%,transparent);-webkit-backdrop-filter:blur(18px) saturate(190%);backdrop-filter:blur(18px) saturate(190%);box-shadow:inset 0 1px 1px var(--glass-rim),var(--glow);color:var(--muted)}
[data-look="a"] .near-search-row>.near-locate.on{color:var(--ink)}
[data-look="a"] .near-search-row>.near-locate.off::after{content:"";position:absolute;top:6px;right:6px;width:10px;height:10px;border-radius:50%;background:#E4A824;border:2px solid var(--page);box-sizing:content-box}
[data-look="a"] .near-search-row>.near-locate svg{display:block}
[data-look="a"] .near-options{top:50px;border:1px solid var(--rule);border-radius:18px;background:var(--paper);box-shadow:0 12px 30px -10px rgba(20,16,10,.35);overflow-y:auto}
[data-look="a"] .near-options button{border-bottom:1px solid var(--rule);font:600 14px/18px var(--sans)}
[data-look="a"] .near-options button:last-child{border-bottom:0}
@media (min-width:701px){[data-look="a"] .near-search-row{right:auto;width:420px}}
/* Along my line on a phone: its map fills the screen the same way (the stops list returns with List) */
html[data-amap="line"] .line-view-main{display:none}
html[data-amap="line"] .page,html[data-amap="line"] #results,html[data-amap="line"] .line-view{margin:0;padding:0;border:0}
html[data-amap="line"] #results .line-map-panel{position:fixed;inset:0;width:auto;height:100dvh;min-height:0;max-height:none;margin:0;border:0;border-radius:0;z-index:30}
html[data-amap="line"] #results .line-map-panel .desktop-map-preview,html[data-amap="line"] #results .line-map-panel .near-popcard{bottom:calc(env(safe-area-inset-bottom,0px) + 92px)}

/* ---------- L112i: the touch app layout, roomier (OMS's way). html[data-layout="app"] is every phone and tablet width and every touch iPad, desktop mice keep the desktop layout ---------- */
@media (min-width:760px){
  /* the list: two columns, 40 px apart; section headers span both */
  html[data-layout="app"][data-look="a"] #results .contents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;align-items:start}
  html[data-layout="app"][data-look="a"] #results .contents>:not(.row){grid-column:1/-1}
  /* the featured card spans both columns, about 21:9 and at most 360 px tall; the rows start two-up beneath it */
  html[data-layout="app"][data-look="a"] #results .contents>.a-hero{grid-column:1/-1;aspect-ratio:21/9;max-height:360px;margin-bottom:12px}
}
@media (min-width:600px){
  /* sheets and panels (Your visit, You, filters, menus): a centred card, radius 22, hairline, no grab handle */
  html[data-layout="app"][data-look="a"] .overlay{align-items:center}
  html[data-layout="app"][data-look="a"] .overlay .card{border:1px solid var(--rule);border-top:1px solid var(--rule);border-radius:22px;box-shadow:0 24px 60px -24px rgba(20,16,10,.45);width:min(560px,92vw);max-width:92vw;padding-top:24px}
  html[data-layout="app"][data-look="a"] .overlay .card.a-visit-card{padding-top:0}
  html[data-layout="app"][data-look="a"] .card>.sheet-grab{display:none}
  html[data-layout="app"][data-look="a"] .overlay .card.a-in{animation:a-card-in .32s cubic-bezier(.22,1.03,.36,1) both}
}
@keyframes a-card-in{0%{opacity:0;transform:translateY(14px) scale(.97)}100%{opacity:1;transform:none}}
@media (min-width:701px){
  /* the café page and Our visit: the phone layout with content at most about 680 px, centred; the floating café bar stays at most 520 px */
  html[data-layout="app"][data-look="a"] #sheet .dwrap,html[data-layout="app"][data-look="a"] #visitSheet .dwrap{max-width:680px;margin-inline:auto}
}
@media (min-width:780px){
  /* map views on a tablet: the sheet is a centred card, so the corners are free: the credit sits in the bottom-left corner (Dusk tokens make it dark), zoom at the bottom right */
  html[data-layout="app"][data-look="a"] .near-frame .maplibregl-ctrl-attrib{position:fixed;left:10px;bottom:10px;max-width:calc((100vw - 560px) / 2 - 20px);min-width:110px;white-space:normal;line-height:1.35;border-radius:10px}
  html[data-layout="app"][data-look="a"] .near-frame .maplibregl-ctrl-bottom-left{bottom:calc(env(safe-area-inset-bottom,0px) + 74px)}
  html[data-layout="app"][data-look="a"] .near-frame .maplibregl-ctrl-bottom-right{bottom:calc(env(safe-area-inset-bottom,0px) + 18px)}
}
/* the glass top over a tablet map: the pill and field keep a readable width, centred */
@media (min-width:701px){
  html[data-layout="app"][data-look="a"][data-amap] .a-dock{left:50%;right:auto;width:min(calc(100% - 24px),640px);transform:translateX(-50%)}
  html[data-layout="app"][data-look="a"][data-amap] .near-search-row{left:50%;right:auto;width:min(calc(100% - 24px),640px);transform:translateX(-50%)}
}
/* L112i: the Google sign-in button is an iframe: in Dusk, a colour-scheme mismatch paints it as a white box (seen on iPad); the container stays light (as One More Sauna does) */
[data-look="a"] #googleAuth,[data-look="a"] #googleButton{color-scheme:light}

/* ---------- L113: the masthead and the two doors, the curl, the cherry details ---------- */
[data-look="a"] .a-wm{--pill:131px;--em:5.5;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"top top" "door swap";align-items:center;column-gap:10px;margin:16px 0 0}
html[data-door="kissaten"][data-look="a"] .a-wm{--pill:107px;--em:7.2}
html:lang(ja)[data-door="coffee"][data-look="a"] .a-wm{--pill:127px}
html:lang(ja)[data-door="kissaten"][data-look="a"] .a-wm{--pill:142px}
[data-look="a"] .a-wm-l{display:contents;color:var(--cherry);text-decoration:none}
[data-look="a"] .a-wm-top{grid-area:top;font:400 13px/1.1 "Dela Gothic One",var(--sans);letter-spacing:.12em;color:var(--cherry);white-space:nowrap}
/* the door word: up to the clamp, stepped down so it always sits on one line beside the pill */
[data-look="a"] .a-wm-door{grid-area:door;display:block;overflow:hidden;white-space:nowrap;font:400 min(clamp(36px,10.6vw,60px),calc((100vw - 40px - var(--pill) - 10px) / var(--em)))/1.04 "Dela Gothic One","Murecho",var(--sans);color:var(--cherry)}
/* two kanji are narrow: the Japanese door word runs up to the clamp maximum so it carries the same weight as the Latin word */
[data-look="a"] .a-wm-door[lang="ja"]{--em:2.15;font-size:min(clamp(48px,14.2vw,60px),calc((100vw - 40px - var(--pill) - 10px) / 2.2));font-family:"Dela Gothic One","Murecho",var(--ja)}
[data-look="a"] .a-wm-door .roll{display:inline-block;animation:a-roll .5s cubic-bezier(.2,1.3,.4,1) calc(var(--i) * 45ms) both}
@keyframes a-roll{from{transform:translateY(70%);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){[data-look="a"] .a-wm-door .roll{animation:none}}
[data-look="a"] .a-swap{grid-area:swap;align-self:center;display:inline-flex;align-items:center;gap:5px;min-height:44px;border:1.5px solid var(--line-strong);border-radius:999px;padding:0 13px 0 11px;background:var(--paper);color:var(--cherry-deep);font:700 12px/1 var(--sans);cursor:pointer;-webkit-tap-highlight-color:transparent}
[data-look="a"] .a-swap .ja{font-weight:700;font-size:13px}
[data-look="a"] .a-swap i{font-style:normal;font-family:"Dela Gothic One",var(--sans);font-size:11px;letter-spacing:.08em}
[data-look="a"] .a-swap:focus-visible,[data-look="a"] .a-wm-l:focus-visible{outline:2px solid var(--cherry-deep);outline-offset:3px;border-radius:12px}
@media (max-width:360px){[data-look="a"] .a-wm-top{font-size:11px;letter-spacing:.08em}[data-look="a"] .a-swap{padding:0 11px 0 9px}}
/* the bar no longer takes room above the masthead (its mini wordmark only appears once the masthead has scrolled away) */
html[data-layout="app"].has-wm .a-head{margin-bottom:-54px}
[data-look="a"] .nb{white-space:nowrap}
/* the mini wordmark in the bar appears once the big masthead has scrolled away */
html.has-wm [data-look="a"] .a-head:not(.is-scrolled) .a-logo,html.has-wm[data-look="a"] .a-head:not(.is-scrolled) .a-logo{opacity:0;pointer-events:none}
[data-look="a"] .a-logo b{font:400 15px/20px "Dela Gothic One","Murecho",var(--sans);letter-spacing:.01em;color:var(--cherry)}
/* the lazy S (one period = C10 -11 30 11 40 0 per 40 px, stroke 2.4, round caps) repeated across the width, never stretched; hosts may choose the Loop */
[data-look="a"] .a-curl{height:16px;width:100vw;margin:4px 0 2px calc(50% - 50vw);background:var(--cherry);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='16' viewBox='0 -8 40 16'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M-40 0C-30 -11 -10 11 0 0'/%3E%3Cpath d='M0 0C10 -11 30 11 40 0'/%3E%3Cpath d='M40 0C50 -11 70 11 80 0'/%3E%3C/g%3E%3C/svg%3E") repeat-x 0 50%/40px 16px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='16' viewBox='0 -8 40 16'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M-40 0C-30 -11 -10 11 0 0'/%3E%3Cpath d='M0 0C10 -11 30 11 40 0'/%3E%3Cpath d='M40 0C50 -11 70 11 80 0'/%3E%3C/g%3E%3C/svg%3E") repeat-x 0 50%/40px 16px}
[data-look="a"] .a-curl-loop{height:20px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='20' viewBox='0 -18 40 20'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M-40 0C-14 0 -14 -16 -22 -16C-30 -16 -28 0 0 0'/%3E%3Cpath d='M0 0C26 0 26 -16 18 -16C10 -16 12 0 40 0'/%3E%3Cpath d='M40 0C66 0 66 -16 58 -16C50 -16 52 0 80 0'/%3E%3C/g%3E%3C/svg%3E") repeat-x 0 100%/40px 20px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='20' viewBox='0 -18 40 20'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M-40 0C-14 0 -14 -16 -22 -16C-30 -16 -28 0 0 0'/%3E%3Cpath d='M0 0C26 0 26 -16 18 -16C10 -16 12 0 40 0'/%3E%3Cpath d='M40 0C66 0 66 -16 58 -16C50 -16 52 0 80 0'/%3E%3C/g%3E%3C/svg%3E") repeat-x 0 100%/40px 20px}
/* the launch screen of the saved app */
.a-launch{position:fixed;inset:0;z-index:2000;display:grid;place-content:center;justify-items:center;gap:20px;background:#FF3D6E;color:#fff;transition:transform .36s cubic-bezier(.5,0,.2,1)}
.a-launch.is-lift{transform:translateY(-100%)}
.a-launch-curl{overflow:visible}
.a-launch-curl path{stroke-dasharray:1;stroke-dashoffset:1}
.a-launch.is-go .a-launch-curl path{animation:a-launch-draw .5s cubic-bezier(.4,0,.2,1) forwards}
.a-launch.is-go .a-launch-curl{animation:a-launch-drift .8s ease-out forwards}
@keyframes a-launch-draw{to{stroke-dashoffset:0}}
@keyframes a-launch-drift{from{transform:translateX(-8px)}to{transform:translateX(8px)}}
.a-launch-wm{display:grid;justify-items:center;gap:2px;text-align:center;opacity:0}
.a-launch-wm span{font:400 13px/1.1 "Dela Gothic One",var(--sans);letter-spacing:.14em}
.a-launch-wm b{font:400 44px/1 "Dela Gothic One","Murecho",var(--sans)}
.a-launch.is-go .a-launch-wm{animation:a-launch-fade .25s ease-out .38s forwards}
@keyframes a-launch-fade{to{opacity:1}}
.a-launch.is-static .a-launch-curl path{stroke-dashoffset:0}
.a-launch.is-static .a-launch-wm{opacity:1}
@media (prefers-reduced-motion:reduce){.a-launch{transition:none}}

/* ---------- L113 §4: the You menu ---------- */
[data-look="a"] .a-you-card{padding-top:20px}
[data-look="a"] .overlay .card.a-you-card,[data-look="a"] .overlay .card.a-add-card{background:var(--a-sheet-bg)}
[data-look="a"] .a-you-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px}
[data-look="a"] .a-you-hi{margin:0;font:400 clamp(26px,8vw,34px)/1.1 "Dela Gothic One","Murecho",var(--sans);color:var(--cherry);overflow-wrap:anywhere}
[data-look="a"] .a-you-edit{flex:none;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:var(--paper);color:var(--cherry-deep);cursor:pointer}
[data-look="a"] .a-you-why{margin:0 0 12px;color:var(--muted);font:500 15px/22px var(--sans)}
[data-look="a"] .a-you-signin{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;margin:0 0 10px;border:1px solid var(--line-strong);border-radius:24px;background:var(--paper);color:var(--ink);font:600 15px/20px var(--sans);cursor:pointer}
[data-look="a"] .a-you-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}
[data-look="a"] .a-you-tiles button{display:grid;gap:2px;justify-items:start;padding:16px 16px 14px;border:1px solid var(--rule);border-radius:20px;background:var(--paper);color:var(--ink);cursor:pointer;text-align:left}
[data-look="a"] .a-you-tiles b{font:400 40px/1 "Dela Gothic One",var(--sans);color:var(--cherry)}
[data-look="a"] .a-you-tiles span{font:600 14px/18px var(--sans);color:var(--muted)}
[data-look="a"] .a-you-invite{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;margin:0 0 10px;border:0;border-radius:25px;background:var(--cherry-tint);color:var(--cherry-tint-ink);font:700 16px/20px var(--sans);cursor:pointer}
[data-look="a"] .a-you-add{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;margin:0 0 14px;border:1.5px solid var(--cherry-deep);border-radius:25px;background:transparent;color:var(--cherry-deep);font:700 15px/20px var(--sans);cursor:pointer}
[data-look="a"] .a-you-set-box{display:grid;gap:2px;margin:0 0 10px}
[data-look="a"] .a-set{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;border-top:1px solid var(--rule)}
[data-look="a"] .a-set-l{font:600 15px/20px var(--sans);color:var(--ink)}
[data-look="a"] .a-set-seg{display:inline-flex;padding:3px;border-radius:999px;background:var(--a-track)}
[data-look="a"] .a-set-seg button{min-height:36px;padding:0 13px;border:0;border-radius:999px;background:transparent;color:var(--ink);font:600 13.5px/18px var(--sans);cursor:pointer}
[data-look="a"] .a-set-seg button[aria-pressed="true"]{background:var(--cherry-deep);color:var(--cherry-deep-ink)}
[data-look="a"] .a-you-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 10px;margin:12px 0 4px;color:var(--muted);font:500 14px/20px var(--sans)}
[data-look="a"] .a-you-foot a,[data-look="a"] .a-you-foot button{min-height:44px;padding:0 6px;border:0;background:none;color:var(--muted);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;display:inline-flex;align-items:center}
[data-look="a"] .a-you-foot .a-you-del{color:var(--danger);flex:0 0 100%;justify-content:center}
[data-look="a"] .a-you-card .menu-row{border-color:var(--rule)}

/* ---------- L113 §5: the Add to Home Screen nudge and sheet ---------- */
.a-add-nudge{position:fixed;z-index:44;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 88px);width:min(calc(100% - 28px),480px);transform:translate(-50%,16px);opacity:0;display:flex;align-items:center;gap:4px;padding:6px 6px 6px 8px;border-radius:22px;transition:transform .45s cubic-bezier(.25,1.06,.45,1),opacity .3s}
.a-add-nudge.in{transform:translate(-50%,0);opacity:1}
.a-add-open{flex:1;min-width:0;display:flex;align-items:center;gap:10px;min-height:48px;border:0;background:none;color:var(--ink);text-align:left;cursor:pointer}
.a-add-open img{width:36px;height:36px;border-radius:9px;flex:none}
.a-add-open b{display:block;font:700 15px/18px var(--sans)}
.a-add-open small{display:block;font:500 12.5px/16px var(--sans);color:var(--muted)}
.a-add-x{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:none;color:var(--muted);font-size:16px;cursor:pointer}
[data-look="a"] .a-add-card{padding-bottom:28px}
.a-add{display:grid;justify-items:center;gap:6px;text-align:center}
.a-add-icon{width:84px;height:84px;border-radius:20px;box-shadow:0 8px 24px -10px rgba(200,23,74,.55)}
.a-add-name{margin:6px 0 10px;font:400 30px/1.1 "Dela Gothic One","Murecho",var(--sans);color:var(--cherry)}
.a-add-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px;width:100%;max-width:340px}
.a-add-steps li{display:grid;grid-template-columns:34px 44px 1fr;align-items:center;gap:12px;min-height:52px;padding:0 14px 0 10px;border:1px solid var(--rule);border-radius:16px;background:var(--paper);text-align:left}
.a-add-n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--cherry-deep);color:var(--cherry-deep-ink);font:800 14px/1 var(--sans)}
.a-add-s{display:grid;place-items:center;color:var(--ink)}
.a-add-t{font:600 15px/20px var(--sans);color:var(--ink)}
.a-add-arrow{margin-top:6px;color:var(--cherry);animation:a-bob 1.1s ease-in-out infinite}
@keyframes a-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
@media (prefers-reduced-motion:reduce){.a-add-arrow{animation:none}.a-add-nudge{transition:none}}
.a-add-go{margin-top:8px}
/* L113: the parent-site link, quiet like the Privacy link beside it */
[data-look="a"] .a-tokyo-link{color:var(--muted)}
[data-look="a"] .quiet-foot{color:var(--muted)}
[data-look="a"] .a-you-top{padding-right:46px}   /* the sheet's close button sits at the top right */
/* location denied: one muted line in the sheet, no button */
[data-look="a"] .a-mloc{flex:none;margin:0;padding:0 20px 8px;color:var(--muted);font:500 13px/18px var(--sans)}
[data-look="a"] .a-mloc[hidden]{display:none}

/* ---------- L113c: the returning top bar (R014, S39), the language label ---------- */
[data-look="a"] .a-logo-stack{display:grid;gap:1px;justify-items:start;text-align:left;padding:0;border:0;background:none;cursor:pointer}
[data-look="a"] .a-lt{font:700 8.5px/10px var(--sans);letter-spacing:.14em;color:var(--cherry)}
[data-look="a"] .a-logo-stack b{font:400 16px/18px "Dela Gothic One","Murecho",var(--sans);letter-spacing:.01em;color:var(--cherry)}
[data-look="a"] .a-ret{display:none;align-items:center;gap:8px;flex:none}
[data-look="a"] .a-head.is-ret .a-ret{display:inline-flex}
[data-look="a"] .a-ret-s{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:var(--a-btn);color:var(--ink);cursor:pointer}
[data-look="a"] .a-ret-tabs{display:none;gap:4px;margin:0 max(20px,env(safe-area-inset-right)) 8px max(20px,env(safe-area-inset-left));padding:4px;border-radius:999px;background:var(--a-btn)}
[data-look="a"] .a-head.is-ret .a-ret-tabs{display:flex}
[data-look="a"] .a-ret-t{flex:1 1 auto;min-width:0;height:34px;padding:0 9px;border:0;border-radius:17px;background:transparent;color:var(--ink);font:600 13px/34px var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
[data-look="a"]:lang(ja) .a-ret-t{font-family:var(--ja);font-size:12px;padding:0 7px}
[data-look="a"] .a-ret-t[aria-pressed="true"]{background:var(--a-mustard);color:var(--a-mustard-ink)}
/* one bar: while it is showing the in-page capsule gives way to it (it keeps its place, so the list does not jump) */
html.a-ret-on[data-look="a"] .a-dock{visibility:hidden}
[data-look="a"] .a-ret :is(button):focus-visible{outline:2px solid var(--ink);outline-offset:2px}
/* calm: no overshoot when the bar comes back (#262) */
[data-look="a"] .a-head{transition:transform .3s cubic-bezier(.22,.7,.3,1),background-color .25s,box-shadow .25s,border-color .25s}
[data-look="a"]:lang(ja) .a-nav:not(.tuck) .a-langb{width:auto;min-width:46px;padding:0 11px;border-radius:23px}
[data-look="a"]:lang(ja) .a-langb span{font-size:12px;letter-spacing:0}
