/* home tab (next-plan ticket, today block, welcome) */
.todaybtn{display:grid;gap:2px;width:100%;margin:22px 0 4px;padding:22px 52px 22px 22px;border:0;border-radius:var(--r-xl);text-align:left;color:var(--on-indigo);position:relative;overflow:hidden;
  background:radial-gradient(220px 160px at 88% 50%,color-mix(in srgb,var(--glow) 45%,transparent),transparent 70%),var(--indigo);box-shadow:var(--shadow-2)}
.todaybtn::before{content:"›";position:absolute;right:20px;top:50%;transform:translateY(-52%);font-size:30px;line-height:1;opacity:.75;z-index:1}
.todaybtn::after,.slot::after{content:"";position:absolute;right:-40px;top:50%;width:170px;height:170px;transform:translateY(-50%);border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 13px,color-mix(in srgb,var(--on-indigo) 14%,transparent) 13px 14px);pointer-events:none}
.tb-t{font-family:var(--brush);font-size:25px;letter-spacing:.06em;line-height:1.3}
.tb-s{font-size:12px;opacity:.8}
.today{margin:24px 0 4px}
.topseg{display:flex;margin:18px 0 4px}
.topseg button{flex:1;padding:8px 6px}
.welcome{text-align:center;padding:30px 12px 10px}
.welcome h2{font-size:21px;margin:0 0 6px}
.welcome p{color:var(--sub);font-size:13px;margin:0 0 16px}
/* before joining: start, invited, or come back */
body.gating .tabs{display:none}
.gate{margin:26px 0 0;display:grid;gap:16px}
.gate-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);padding:22px 20px;box-shadow:var(--shadow-1)}
.gate-t{font-family:var(--serif);font-weight:700;font-size:21px;line-height:1.4;margin:0 0 8px}
.gate-google{text-align:center;padding:4px 8px}
.gate-google .hint{margin-bottom:10px}
/* scope strip under the noren: 自分 / グループ */
.sc-cap{font-size:12px;color:var(--sub)}
.sc-now{font-size:14px;font-weight:700;color:var(--ink)}
.sc-inv{margin-left:auto;border:0;background:none;color:var(--red);font-size:13px;padding:6px 0}
/* だるま greeting */
.dm-row{display:flex;align-items:center;gap:12px;margin:16px 0 4px}
.daruma{flex:none;width:64px;height:66px;padding:0;border:0;background:none;cursor:pointer;color:var(--sub);-webkit-tap-highlight-color:transparent}
.daruma svg{display:block;width:100%;height:100%;overflow:visible}
.daruma .dm-body{transform-box:view-box;transform-origin:32px 60px}
.daruma .dm-f,.daruma .dm-zzz{display:none}
.daruma:not(.happy):not(.sleep) .dm-normal,.daruma.happy .dm-happy,.daruma.sleep:not(.happy) .dm-sleep,.daruma.sleep:not(.happy) .dm-zzz{display:inline}
.daruma .dm-eyes{transform-box:fill-box;transform-origin:center}
.daruma.blink .dm-eyes{animation:dmBlink .3s steps(2)}
.daruma.wobble .dm-body{animation:dmWobble 1.1s cubic-bezier(.3,1.6,.5,1)}
.daruma.hop .dm-body{animation:dmHop .8s cubic-bezier(.3,1.4,.5,1)}
@media (prefers-reduced-motion:no-preference){ .daruma.sleep .dm-body{animation:dmNod 3.4s ease-in-out infinite} .daruma .dm-zzz{animation:dmZ 2.4s ease-in-out infinite} }
@keyframes dmBlink{50%{transform:scaleY(.1)}}
@keyframes dmWobble{0%{transform:rotate(0)}20%{transform:rotate(-14deg)}45%{transform:rotate(10deg)}65%{transform:rotate(-6deg)}82%{transform:rotate(3deg)}100%{transform:rotate(0)}}
@keyframes dmHop{0%,100%{transform:translateY(0) scale(1)}25%{transform:translateY(0) scale(1.06,.92)}50%{transform:translateY(-12px) scale(.96,1.05)}75%{transform:translateY(0) scale(1.04,.95)}}
@keyframes dmNod{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes dmZ{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:.9;transform:translateY(-2px)}}
.dm-bub{position:relative;margin:0;flex:1;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:10px 14px;font-size:14px;line-height:1.5;box-shadow:var(--shadow-1)}
.dm-bub::before{content:"";position:absolute;left:-7px;top:50%;width:12px;height:12px;background:var(--card);border-left:1px solid var(--line);border-bottom:1px solid var(--line);transform:translateY(-50%) rotate(45deg)}
/* home actions */
.homeacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 8px}
.hact{display:grid;justify-items:start;align-content:start;gap:2px;text-align:left;padding:12px 12px 10px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-1);color:var(--ink);font:inherit}
.hact.main{grid-column:1/-1;background:var(--red);border-color:var(--red);color:var(--on-red)}
@media (prefers-reduced-motion:no-preference){ .hact:active{transform:scale(.97)} }
/* だるま maker (設定) */
.dm-mtop{display:flex;align-items:center;gap:16px;margin:4px 0 8px}
.daruma.dm-prev{width:96px;height:99px}
.dm-parts{display:grid;gap:10px}
.dm-prow{display:grid;gap:4px}
.dm-pl{font-size:12px;font-weight:700;color:var(--sub)}
.dm-prow .chips{flex-wrap:wrap;margin:0}
.dm-colors{gap:8px}
.dm-sw{width:30px;height:30px;border-radius:50%;border:2px solid var(--line);padding:0;box-shadow:var(--shadow-1)}
.dm-sw[aria-checked="true"]{border-color:var(--ink);box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--ink)}
.dm-colors{padding:4px}
/* 設定 → 友達 */
.fr-code{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px 14px;box-shadow:var(--shadow-1)}
.fr-cl{font-size:12px;color:var(--sub);width:100%}
.fr-cv{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:24px;letter-spacing:.12em;flex:1}
.fr-h{font-size:13px;margin:16px 0 0}
.fr-av{width:36px;height:36px;border-radius:50%;display:inline-grid;place-items:center;font-weight:700;background:color-mix(in srgb,var(--red) 16%,var(--card))}
.dm-fold{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:9px 16px;font:inherit;font-size:14px;font-weight:700;color:var(--ink);box-shadow:var(--shadow-1)}
.dm-fi{transition:transform .2s;font-size:12px;color:var(--sub)}
.dm-fold[aria-expanded="true"] .dm-fi{transform:rotate(180deg)}
.dm-mbody[hidden]{display:none}
.dm-pre{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 12px}
/* "けんとのリスト" caption when a friend's flap is up */
/* member icons: color + shape (shapes from ますせん) + letter or emoji */
.ph.av{border-radius:50%;background:var(--avbg)!important;color:var(--avfg)!important;display:inline-grid;place-items:center;font-weight:800;line-height:1}
.av.shape-badge{border-radius:0;clip-path:polygon(100.0% 50.0%,99.6% 52.2%,98.6% 54.2%,97.1% 56.2%,95.5% 58.0%,94.3% 59.8%,93.5% 61.6%,93.2% 63.6%,93.5% 65.8%,93.9% 68.2%,94.2% 70.6%,94.1% 72.9%,93.3% 75.0%,91.9% 76.7%,89.9% 78.0%,87.7% 78.9%,85.4% 79.7%,83.4% 80.6%,81.8% 81.8%,80.6% 83.4%,79.7% 85.4%,78.9% 87.7%,78.0% 89.9%,76.7% 91.9%,75.0% 93.3%,72.9% 94.1%,70.6% 94.2%,68.2% 93.9%,65.8% 93.5%,63.6% 93.2%,61.6% 93.5%,59.8% 94.3%,58.0% 95.5%,56.2% 97.1%,54.2% 98.6%,52.2% 99.6%,50.0% 100.0%,47.8% 99.6%,45.8% 98.6%,43.8% 97.1%,42.0% 95.5%,40.2% 94.3%,38.4% 93.5%,36.4% 93.2%,34.2% 93.5%,31.8% 93.9%,29.4% 94.2%,27.1% 94.1%,25.0% 93.3%,23.3% 91.9%,22.0% 89.9%,21.1% 87.7%,20.3% 85.4%,19.4% 83.4%,18.2% 81.8%,16.6% 80.6%,14.6% 79.7%,12.3% 78.9%,10.1% 78.0%,8.1% 76.7%,6.7% 75.0%,5.9% 72.9%,5.8% 70.6%,6.1% 68.2%,6.5% 65.8%,6.8% 63.6%,6.5% 61.6%,5.7% 59.8%,4.5% 58.0%,2.9% 56.2%,1.4% 54.2%,0.4% 52.2%,0.0% 50.0%,0.4% 47.8%,1.4% 45.8%,2.9% 43.8%,4.5% 42.0%,5.7% 40.2%,6.5% 38.4%,6.8% 36.4%,6.5% 34.2%,6.1% 31.8%,5.8% 29.4%,5.9% 27.1%,6.7% 25.0%,8.1% 23.3%,10.1% 22.0%,12.3% 21.1%,14.6% 20.3%,16.6% 19.4%,18.2% 18.2%,19.4% 16.6%,20.3% 14.6%,21.1% 12.3%,22.0% 10.1%,23.3% 8.1%,25.0% 6.7%,27.1% 5.9%,29.4% 5.8%,31.8% 6.1%,34.2% 6.5%,36.4% 6.8%,38.4% 6.5%,40.2% 5.7%,42.0% 4.5%,43.8% 2.9%,45.8% 1.4%,47.8% 0.4%,50.0% 0.0%,52.2% 0.4%,54.2% 1.4%,56.2% 2.9%,58.0% 4.5%,59.8% 5.7%,61.6% 6.5%,63.6% 6.8%,65.8% 6.5%,68.2% 6.1%,70.6% 5.8%,72.9% 5.9%,75.0% 6.7%,76.7% 8.1%,78.0% 10.1%,78.9% 12.3%,79.7% 14.6%,80.6% 16.6%,81.8% 18.2%,83.4% 19.4%,85.4% 20.3%,87.7% 21.1%,89.9% 22.0%,91.9% 23.3%,93.3% 25.0%,94.1% 27.1%,94.2% 29.4%,93.9% 31.8%,93.5% 34.2%,93.2% 36.4%,93.5% 38.4%,94.3% 40.2%,95.5% 42.0%,97.1% 43.8%,98.6% 45.8%,99.6% 47.8%)}
.av.shape-squircle{border-radius:28%}
.av.shape-hexagon{border-radius:0;clip-path:polygon(25% 3%,75% 3%,100% 50%,75% 97%,25% 97%,0% 50%)}
.av.shape-flower{border-radius:0;clip-path:polygon(50.0% 0.0%,51.7% 0.1%,53.5% 0.3%,55.2% 0.6%,56.9% 1.1%,58.5% 1.8%,60.1% 2.5%,61.6% 3.4%,63.1% 4.4%,64.5% 5.5%,65.8% 6.7%,67.0% 8.0%,68.1% 9.3%,69.1% 10.8%,70.1% 12.2%,70.9% 13.8%,71.7% 15.3%,72.3% 16.9%,72.9% 18.4%,74.6% 18.5%,76.3% 18.7%,78.0% 18.9%,79.7% 19.2%,81.4% 19.7%,83.1% 20.2%,84.7% 20.9%,86.3% 21.6%,87.8% 22.5%,89.3% 23.5%,90.7% 24.6%,92.0% 25.7%,93.2% 27.0%,94.3% 28.4%,95.3% 29.8%,96.2% 31.3%,96.9% 32.9%,97.6% 34.5%,98.0% 36.2%,98.4% 37.9%,98.5% 39.7%,98.6% 41.4%,98.5% 43.2%,98.3% 44.9%,97.9% 46.7%,97.4% 48.3%,96.8% 50.0%,96.0% 51.6%,95.2% 53.2%,94.3% 54.7%,93.2% 56.1%,92.1% 57.4%,90.9% 58.7%,89.7% 59.9%,88.4% 61.0%,87.1% 62.1%,87.5% 63.7%,87.9% 65.3%,88.2% 67.0%,88.4% 68.7%,88.5% 70.5%,88.5% 72.2%,88.4% 74.0%,88.2% 75.8%,87.8% 77.5%,87.4% 79.2%,86.8% 80.9%,86.1% 82.5%,85.2% 84.0%,84.3% 85.5%,83.2% 86.9%,82.0% 88.2%,80.8% 89.4%,79.4% 90.5%,77.9% 91.4%,76.4% 92.3%,74.8% 93.0%,73.2% 93.6%,71.5% 94.0%,69.7% 94.3%,68.0% 94.5%,66.2% 94.6%,64.5% 94.5%,62.7% 94.3%,61.0% 94.0%,59.3% 93.5%,57.6% 93.0%,56.0% 92.3%,54.4% 91.6%,52.9% 90.8%,51.4% 89.9%,50.0% 89.0%,48.6% 89.9%,47.1% 90.8%,45.6% 91.6%,44.0% 92.3%,42.4% 93.0%,40.7% 93.5%,39.0% 94.0%,37.3% 94.3%,35.5% 94.5%,33.8% 94.6%,32.0% 94.5%,30.3% 94.3%,28.5% 94.0%,26.8% 93.6%,25.2% 93.0%,23.6% 92.3%,22.1% 91.4%,20.6% 90.5%,19.2% 89.4%,18.0% 88.2%,16.8% 86.9%,15.7% 85.5%,14.8% 84.0%,13.9% 82.5%,13.2% 80.9%,12.6% 79.2%,12.2% 77.5%,11.8% 75.8%,11.6% 74.0%,11.5% 72.3%,11.5% 70.5%,11.6% 68.7%,11.8% 67.0%,12.1% 65.3%,12.5% 63.7%,12.9% 62.1%,11.6% 61.0%,10.3% 59.9%,9.1% 58.7%,7.9% 57.4%,6.8% 56.1%,5.7% 54.7%,4.8% 53.2%,4.0% 51.6%,3.2% 50.0%,2.6% 48.3%,2.1% 46.7%,1.7% 44.9%,1.5% 43.2%,1.4% 41.4%,1.5% 39.7%,1.6% 37.9%,2.0% 36.2%,2.4% 34.5%,3.1% 32.9%,3.8% 31.3%,4.7% 29.8%,5.7% 28.4%,6.8% 27.0%,8.0% 25.7%,9.3% 24.6%,10.7% 23.5%,12.2% 22.5%,13.7% 21.6%,15.3% 20.9%,16.9% 20.2%,18.6% 19.7%,20.3% 19.2%,22.0% 18.9%,23.7% 18.7%,25.4% 18.5%,27.1% 18.4%,27.7% 16.9%,28.3% 15.3%,29.1% 13.8%,29.9% 12.2%,30.9% 10.8%,31.9% 9.3%,33.0% 8.0%,34.2% 6.7%,35.5% 5.5%,36.9% 4.4%,38.4% 3.4%,39.9% 2.5%,41.5% 1.8%,43.1% 1.1%,44.8% 0.6%,46.5% 0.3%,48.3% 0.1%)}
.prof{display:flex;align-items:center;gap:14px;margin:4px 0 14px}
.prof-av{width:56px;height:56px;font-size:26px}
.prof-n{font-size:20px;font-family:var(--serif)}
.av-shapes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.shape-opt{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:8px 2px 6px;border-radius:12px;border:2px solid var(--line);background:var(--card);font:inherit;font-size:11px;font-weight:700;color:var(--sub);white-space:nowrap}
.shape-opt .av{width:34px;height:34px;font-size:15px}
.shape-opt[aria-checked="true"]{border-color:var(--ink);color:var(--ink)}
#setBody .dm-prow{margin-top:12px}
/* home: every block in one column with the same gap */
.homestack{display:grid;gap:14px;margin-top:16px}
.homestack .dm-row,.homestack .todaybtn,.homestack .today,.homestack .homeacts,.homestack .welcome{margin:0}
.homestack .homeacts{gap:14px}
.homestack .hact{border-radius:var(--r-xl)}
.homestack .hact.main{padding:18px 20px}
/* the add button gets the same ripples as 今日どこ行く?, set a little off to the other side */
.hact.main{position:relative;overflow:hidden}
.hact.main > *{position:relative;z-index:1}
.hact.main::after{content:"";position:absolute;right:-20px;top:-75px;width:170px;height:170px;border-radius:50%;
  background:repeating-radial-gradient(circle,transparent 0 13px,color-mix(in srgb,var(--on-red) 11%,transparent) 13px 14px);pointer-events:none}
/* the add button reads like 今日どこ行く?: big brush title (search mark in front) + small line */
.homestack .hact.main{padding:22px;gap:2px}
.hact.main .tb-t{display:flex;align-items:center;gap:10px}
.tb-ic{width:24px;height:24px;flex:none}
/* the bar under the header: 自分のリスト, or 🤝 [けん ▾] とのリスト with the friend picker */
.wc-list{display:flex;flex-wrap:wrap;gap:6px}
.wc-f{display:inline-flex;align-items:center;gap:6px;padding:3px 12px 3px 3px}
.wc-add{color:var(--red);border-style:dashed}
/* 友達コード: 7 boxes, one letter each (□□□□-□□□); the real input lies invisibly on top */
.codeform{display:flex;align-items:center;gap:10px;margin:10px 0 6px;flex-wrap:wrap}
.codebox{position:relative;display:flex;align-items:center;gap:5px;cursor:text}
.code-c{width:34px;height:44px;border:1.5px solid var(--line);border-radius:10px;background:var(--field);display:grid;place-items:center;
  font-family:ui-monospace,Menlo,Consolas,monospace;font-size:22px;font-weight:700;color:var(--ink)}
.code-c.cur{border-color:var(--red);box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 15%,transparent)}
.code-dash{color:var(--sub);font-weight:700}
.code-in{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;font-size:16px;color:transparent;caret-color:transparent;background:none}
.codeform .btn{height:44px;padding:0 20px}
@media (max-width:359px){ .code-c{width:28px;height:40px;font-size:18px} .codebox{gap:3px} }
/* 今日どこ行く?: 時間 / ジャンル / 星 */
.pinfo .starline{margin-top:4px}
.pinfo .starline .stars{--sz:13px}
.pinfo .starline .st-v{font-size:13px}
.code-in::selection{background:transparent}
/* 飲み友リスト: icon, name, their だるま, 外す */
.frlist li{display:flex;align-items:center;gap:12px}
.frlist .ph.av.fr-av{width:40px;height:40px;font-size:17px;display:inline-grid;place-items:center;line-height:1;flex:none;margin:0;border:0;padding:0}
.fr-dm{width:44px;height:46px;flex:none;color:var(--sub)}
.fr-dm svg{width:100%;height:100%}
.fr-err{font-size:13px;color:var(--sub);font-family:inherit;letter-spacing:0}
.fr-own{display:inline-block;margin-top:4px;font-size:11px;font-weight:700;color:var(--red);border:1px solid color-mix(in srgb,var(--red) 40%,transparent);border-radius:999px;padding:1px 8px}
/* both bars: a 32px title row and one small line, so switching doesn't shift anything */
/* QR window */
.qrmodal{position:fixed;inset:0;z-index:40;background:var(--scrim,rgba(0,0,0,.45));display:grid;place-items:center;padding:20px}
.qr-card{background:var(--card);border-radius:var(--r-xl);padding:20px;display:grid;justify-items:center;gap:10px;width:min(320px,100%);box-shadow:var(--shadow-2)}
.qr-t{margin:0;font-weight:700;font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em}
.qr-img{width:240px;height:240px;display:grid;place-items:center;background:#fff;border-radius:12px;padding:8px;box-sizing:border-box}
.qr-img svg{width:100%;height:100%}
.qr-card .hint{text-align:center;margin:0}
.qr-card .btn{width:100%}
.fr-qrb{font-weight:800;letter-spacing:.04em}
/* だるま maker: the preview stays on screen while you scroll the parts; each part is one sideways row */
.dm-mtop{position:sticky;top:calc(env(safe-area-inset-top,0px) + 58px);z-index:4;background:var(--bg);padding:8px 0;margin:0 0 6px;box-shadow:0 8px 10px -8px rgba(0,0,0,.15)}
.dm-prow .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.dm-prow .chips::-webkit-scrollbar{display:none}
.dm-prow .chips .chip{flex:none}
.daruma.dm-prev{width:84px;height:87px}
/* color swatches: wrap again (the one-row rule is for the だるま parts), and never squeeze the circles */
.dm-prow .chips.dm-colors{flex-wrap:wrap;overflow:visible}
.dm-sw{flex:none}
/* 決める: 誰と行く? on top, then 今日どこ行く? on the page */
.wc-q{font-weight:700;font-size:14px}
/* 決める */
.wholine{display:flex;align-items:center;justify-content:space-between;gap:10px}
.wholine .wc-q{font-weight:700;font-size:15px}
.wholine .wc-seg{background:var(--faint);border:1px solid var(--line);padding:3px}
.wholine .wc-seg button{color:var(--sub);padding:6px 14px}
.wholine .wc-seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.wholine .who-av{width:20px;height:20px;font-size:10px}
.dc-tg{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.dc-tg .chip{padding:5px 12px}
.dc-fb.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
#pBody .pk-seg{display:flex;width:100%;margin:0}
#pBody .pk-seg button{flex:1;padding:8px 4px}
#pBody .pk-bar{margin-top:10px}
#pBody .pk-seg+.hint{margin-top:12px}
.homestack .hact.url{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;padding:12px 18px}
.ua-in{width:100%;box-sizing:border-box;margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:var(--r-md,10px);background:var(--card);color:var(--ink);font:inherit;font-size:16px;resize:vertical}
.ua-err{margin:6px 0 0;min-height:1em;color:var(--red);font-size:12px}
/* first visit: the add button gently calls */
@media (prefers-reduced-motion:no-preference){ .hact.nudge{animation:nudge 2.2s var(--ease-out) infinite} @keyframes nudge{0%,100%{box-shadow:var(--shadow-1),0 0 0 0 color-mix(in srgb,var(--red) 45%,transparent)}50%{box-shadow:var(--shadow-1),0 0 0 10px color-mix(in srgb,var(--red) 0%,transparent)}} }

/* 今日はここ! / 昨日の店、行った? */
.gocard{display:grid;gap:4px;padding:14px 16px;border-radius:var(--r-xl);background:var(--red);color:var(--on-red);box-shadow:var(--shadow-2);position:relative;overflow:hidden}
.gocard::after{content:"";position:absolute;right:-40px;top:50%;width:150px;height:150px;transform:translateY(-50%);border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 12px,color-mix(in srgb,var(--on-red) 16%,transparent) 12px 13px);pointer-events:none}
.gocard.ln{background:var(--indigo);color:var(--on-indigo)}
.gc-k{font-size:12px;opacity:.85;font-weight:700;letter-spacing:.06em}
.gc-n{justify-self:start;background:none;border:0;padding:0;color:inherit;font-family:var(--brush);font-size:26px;line-height:1.25;text-align:left}
.gc-q{margin:0;font-size:16px;font-weight:700}
.gocard .pk-chips .pill{background:rgba(255,255,255,.92)}
.gc-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;position:relative;z-index:1}
.gc-acts .sbtn{background:rgba(255,255,255,.14);color:inherit;border-color:rgba(255,255,255,.35);box-shadow:none;text-decoration:none}
.gc-acts .sbtn.on{background:#FFF8F0;color:var(--red);border-color:#FFF8F0}
.gocard.ln .gc-acts .sbtn.on{color:var(--indigo)}
.sec.fr-req{background:color-mix(in srgb,var(--red) 6%,transparent);border-radius:var(--r-lg);padding:14px 12px;border:0;margin-top:10px}
.fr-wait{opacity:.75}
.fr-req .mlist li{border:0}

/* 飲み友コード: 作り直す under it; the entry boxes and 申請する on one line */
.fr-remake{flex-basis:100%;justify-self:start;text-align:left;font-size:12px;color:var(--sub);margin-top:2px}
.codeform{flex-wrap:nowrap;gap:8px}
.codeform .codebox{flex:1;min-width:0;gap:4px}
.codeform .code-c{width:auto;flex:1;min-width:0;max-width:34px;height:44px}
.codeform .btn{flex:none;padding:0 14px;white-space:nowrap}
/* the だるま's words: room for two lines from the start, and they appear once the data is in (no jump) */
.dm-bub{min-height:calc(1.5em * 2 + 20px);display:flex;align-items:center}
.dm-bub.wait{color:transparent}

/* 1人のとき: 家飲み / 休肝日 */
.night-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.night-b{display:flex;align-items:center;justify-content:center;gap:8px;height:52px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);color:var(--ink);font:inherit;font-weight:700;font-size:15px;box-shadow:var(--shadow-1);transition:transform .16s var(--ease-out),background-color .2s,border-color .2s}
.night-b:active{transform:scale(.97)}
.nb-ic{font-size:20px;line-height:1}
.night-b.on{background:color-mix(in srgb,var(--indigo) 10%,var(--card));border-color:var(--indigo);color:var(--indigo);box-shadow:0 0 0 2px color-mix(in srgb,var(--indigo) 20%,transparent)}
/* お店をリストに追加: the whole card searches; a small tag at its corner opens URLで登録 */
.homestack .hact.main.add-card{display:block;padding:0;position:relative}
.add-main{display:grid;justify-items:start;gap:2px;width:100%;padding:18px 20px 52px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;border-radius:inherit;position:relative;z-index:1}
/* the tag sits in the same grid cell as the card's button, at its bottom right */
.homestack .hact.main.add-card{display:grid}
.add-card > .add-main{grid-area:1/1}

/* 今あいてる店: a row of small cards to scroll sideways */
.now-sec{display:grid;gap:8px;min-width:0}
.now-h{display:flex;align-items:baseline;gap:8px}
.now-t{margin:0;font-family:var(--serif);font-size:17px}
.now-n{font-size:12px;color:var(--sub)}
.now-row{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 8px;margin:0 -18px;padding-left:18px;padding-right:18px;scrollbar-width:none}
.now-row::-webkit-scrollbar{display:none}
.now-card{flex:none;width:210px;scroll-snap-align:start;display:grid;gap:8px;align-content:start;padding:12px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-1)}
.now-top{display:flex;align-items:center;gap:8px;background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left;min-width:0}
.now-crest{width:30px;height:30px;font-size:15px;flex:none}
.now-name{font-family:var(--serif);font-size:15px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.now-chips{margin:0;gap:4px}
.now-chips .pill{height:22px;padding:0 8px;font-size:11px;margin:0}
.now-acts{display:flex;gap:6px;margin-top:auto}
.now-acts .sbtn{flex:1;padding:6px 8px;font-size:12px;text-align:center;white-space:nowrap}
.now-yoyaku{text-decoration:none;color:var(--ink)}
.d-yoyaku{color:var(--red);border-color:color-mix(in srgb,var(--red) 40%,var(--line));font-weight:700}
.now-card .crest.now-crest{width:30px;height:30px;font-size:15px;box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 20%,transparent)}
.now-card{width:200px;padding:11px 12px}
.now-row{scroll-padding-left:18px}
.now-h{align-items:center}
.now-g{flex:none;margin-left:auto;height:34px;max-width:46%}
.add-main{padding-bottom:18px}

/* 誰と行く: several 飲み友, and saved 飲み会 */
.who-stack{display:inline-flex;margin-right:4px}
.who-stack .who-av{box-shadow:0 0 0 1.5px var(--ink)}
.who-stack .who-av + .who-av{margin-left:-7px}
.wc-box{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card)}
.wc-lab{flex-basis:100%;font-size:11.5px;font-weight:700;color:var(--sub)}
.wc-parties{display:flex;flex-wrap:wrap;gap:6px}
.wc-party{display:inline-flex;align-items:center;padding:0;overflow:hidden}
.wc-party.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.wcp-go{border:0;background:none;color:inherit;font:inherit;font-weight:700;padding:6px 6px 6px 12px}
.wcp-x{border:0;background:none;color:inherit;opacity:.5;font:inherit;padding:6px 10px 6px 4px}
.wc-ck{font-weight:700}
.wc-foot{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.both-b.some{background:color-mix(in srgb,var(--gold) 10%,var(--card));color:var(--sub)}
.now-more{flex:none;width:120px;scroll-snap-align:start;display:grid;place-content:center;gap:4px;text-align:center;border:1.5px dashed var(--line);border-radius:var(--r-lg);background:transparent;color:var(--ink);font:inherit}
.now-more span{font-size:11.5px;color:var(--sub)}
.now-note{margin:-4px 0 0;font-size:11px;color:var(--sub)}
