/* Layout concept: a bright blue header carrying the white logo and the screen's one headline, with a white sheet rising over it. A single light look, so the brand blue always sits on white and never on dark. */
@font-face{font-family:"Nunito";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/nunito-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Nunito";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/nunito-latin-ext-400.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Nunito";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/nunito-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Nunito";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/nunito-latin-ext-600.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Nunito";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/nunito-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Nunito";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/nunito-latin-ext-700.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--page:#f4f9ff;--card:#ffffff;--tint:#e6f3ff;--fg:#0f2a44;--muted:#6a8096;--line:rgba(0,0,0,.13);--accent:#2f9bff;--on:#ffffff;--link:#1272cc;--font:"Nunito",-apple-system,"Segoe UI",system-ui,sans-serif;color-scheme:light}
*{box-sizing:border-box}
html{background:var(--page)}
body{margin:0;min-height:100vh;background:var(--page);color:var(--fg);font:400 16px/1.5 var(--font);-webkit-font-smoothing:antialiased}
.hero{background:var(--accent);color:var(--on);padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px));padding-block:20px 56px}
.heroin{max-width:472px;margin:0 auto;position:relative}
.brand{display:block;height:34px;width:auto;margin:0 0 26px -3px}
.brand path{fill:#fff}
#heroText h1{font-size:34px;line-height:1.12;font-weight:700;letter-spacing:-.015em;margin:0;text-wrap:balance}
#heroText span{display:block;font-size:16px;font-weight:600;margin-bottom:4px}
#heroText:empty{display:none}
.app{max-width:520px;margin:-32px auto 0;background:var(--card);border:1px solid var(--line);border-bottom:0;border-radius:28px 28px 0 0;min-height:calc(100vh - 110px);padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px));padding-block:26px calc(112px + env(safe-area-inset-bottom,0px))}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
a{color:inherit}
.group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.label{font-size:14px;color:var(--muted);font-weight:600}
.seg{display:flex;gap:2px;background:var(--page);border:1px solid var(--line);border-radius:14px;padding:3px}
.seg button{flex:1;min-width:0;border:0;background:none;border-radius:11px;padding:9px 2px;font-size:15px;font-weight:600;color:var(--muted);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--card);color:var(--link);font-weight:700;box-shadow:0 1px 3px rgba(15,42,68,.14),0 0 0 1px var(--line)}
select,input[type=text]{width:100%;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-size:16px;color:var(--fg)}
.sliderhead{display:flex;justify-content:space-between;align-items:baseline}
.sliderhead b{color:var(--link);font-size:17px;font-weight:700}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:40px;margin:0;background:none;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:99px;background:var(--tint);border:1px solid var(--line)}
input[type=range]::-moz-range-track{height:8px;border-radius:99px;background:var(--tint);border:1px solid var(--line)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;margin-top:-10px;border-radius:50%;background:var(--accent);border:3px solid #fff;box-shadow:0 1px 5px rgba(15,42,68,.3)}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--accent);border:3px solid #fff;box-shadow:0 1px 5px rgba(15,42,68,.3)}
.names{display:flex;flex-wrap:wrap;gap:6px}
.name{display:inline-flex;align-items:center;gap:6px;background:var(--tint);border:1px solid var(--line);border-radius:99px;padding:6px 12px;font-size:15px;font-weight:600;color:var(--link);cursor:pointer}
.name span{opacity:.7}
.btn{display:block;width:100%;border:1px solid var(--line);border-radius:16px;padding:15px;font-size:17px;font-weight:700;background:var(--accent);color:var(--on);cursor:pointer;text-align:center;text-decoration:none;box-shadow:0 8px 20px rgba(47,155,255,.28)}
.btn.plain{background:var(--tint);color:var(--link);box-shadow:none}
.btn:disabled{opacity:.4;cursor:default}
.text{background:none;border:1px solid var(--line);border-radius:14px;padding:8px 18px;color:var(--muted);font-size:15px;font-weight:600;cursor:pointer;display:block;margin:8px auto 0}
.stack{display:flex;flex-direction:column;gap:10px}
.person{display:flex;justify-content:space-between;align-items:center;width:100%;border:1px solid var(--line);background:var(--card);border-radius:16px;padding:15px 16px;font-size:17px;font-weight:600;color:var(--fg);cursor:pointer;text-align:left}
.person small{color:var(--link);font-size:14px;font-weight:700}
.person:disabled{cursor:default;background:var(--page)}
.person:disabled small{color:var(--muted)}
.place{padding:8px 2px 0;display:flex;flex-direction:column;gap:6px;margin-bottom:24px}
.place h2{font-size:30px;line-height:1.12;font-weight:700;letter-spacing:-.015em;margin:0;text-wrap:balance}
.place p{margin:0}
.dim{color:var(--muted);font-size:15px}
.yesno{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.win{margin-bottom:20px}
.win p{margin:0;font-size:18px;font-weight:600}
.win .dim{font-size:15px;font-weight:400}
.rows{margin-top:2px}
.rowstat{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px}
.rowstat:last-child{border-bottom:0}
.rowstat span:last-child{color:var(--muted);flex:none}
.chips{display:flex;gap:6px;overflow-x:auto;margin-bottom:14px;scrollbar-width:none;margin-inline:-4px;padding:2px 4px}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;border:1px solid var(--line);background:var(--card);border-radius:99px;padding:7px 14px;font-size:15px;font-weight:600;color:var(--muted);cursor:pointer}
.chip[aria-pressed="true"]{background:var(--tint);color:var(--link);font-weight:700}
.list{margin-top:4px}
.head{font-size:14px;color:var(--link);font-weight:700;margin:20px 0 2px}
details{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:14px;padding:13px 0;align-items:baseline}
summary::-webkit-details-marker{display:none}
summary>div{min-width:0}
summary b{display:block;font-weight:700;font-size:17px}
summary small{color:var(--muted);font-size:14.5px;display:block}
.when{flex:none;color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}
.more{padding:0 0 14px;font-size:15px;display:flex;flex-direction:column;gap:6px}
.more p{margin:0}
.actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-top:2px}
.actions a,.actions button{background:none;border:0;padding:9px 0;color:var(--link);font-size:15px;font-weight:700;cursor:pointer;text-decoration:none}
.mapwrap{background:var(--tint);border:1px solid var(--line);border-radius:20px;overflow:hidden}
body.noauth nav{display:none}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
input[type=email],input[type=password]{width:100%;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-size:16px;color:var(--fg)}
.note{background:var(--tint);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:0 0 16px;font-size:15px;color:var(--fg)}
.hint.left{text-align:left;margin:-8px 0 14px;font-size:14px}
.stack .hint.left,.group .hint.left{margin:0}
.person .sub{display:block;color:var(--muted);font-size:14px;font-weight:400}
.person>span{min-width:0}
.inline{display:flex;gap:8px}
.inline input{flex:1;min-width:0}
.btn.small{width:auto;flex:none;padding:0 18px;font-size:15px;box-shadow:none}
.code{color:var(--fg);letter-spacing:.04em}
nav button{position:relative}
#badge{position:absolute;top:2px;left:calc(50% + 8px);background:var(--accent);color:#fff;font-style:normal;font-size:11px;font-weight:700;line-height:17px;min-width:17px;border-radius:99px;padding:0 4px}
#badge[hidden]{display:none}
.mapslot{height:min(52vh,390px);border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--tint)}
#realmap{width:100%;height:100%}
.mk{border:0;background:none;padding:0;display:block;width:25px;height:33px;cursor:pointer;filter:drop-shadow(0 2px 3px rgba(15,42,68,.35))}
.mk svg{display:block;width:100%;height:100%}
.mk path{fill:var(--accent);stroke:#fff;stroke-width:3;paint-order:stroke}
.mk.on{z-index:2}
.mk.on path{fill:var(--fg)}
.hint{color:var(--muted);text-align:center;margin:14px 0 0}
.picked{margin-top:8px}
.mapbox{position:relative;aspect-ratio:400/410;max-width:100%}
.mapbox img{position:absolute;inset:0;width:100%;height:100%;display:block}
.north{position:absolute;right:10px;bottom:8px;font-size:12px;font-weight:700;color:var(--muted);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:0 6px}
.area{box-shadow:0 2px 6px rgba(15,42,68,.16);position:absolute;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;background:var(--card);border:1px solid var(--line);border-radius:99px;padding:3px 5px 3px 10px;font-size:13px;font-weight:700;color:var(--fg);cursor:pointer}
.area i{font-style:normal;background:var(--tint);color:var(--link);border-radius:99px;min-width:20px;padding:0 5px;font-size:12.5px;line-height:20px;text-align:center}
.area[aria-pressed="true"]{background:var(--accent);color:#fff}
.area[aria-pressed="true"] i{background:#fff}
.empty{color:var(--muted);padding:22px 0}
.foot{color:var(--muted);font-size:13px;margin-top:20px}
nav{position:fixed;left:0;right:0;bottom:0;padding-top:10px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));background:var(--page);display:flex;justify-content:center;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));z-index:5}
nav div{display:flex;gap:2px;width:100%;max-width:420px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:6px;box-shadow:0 8px 28px rgba(15,42,68,.14);pointer-events:auto}
nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;border:0;background:none;border-radius:14px;padding:7px 0 6px;font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer;line-height:1.2}
nav .ti{width:23px;height:23px;display:block}
nav button[aria-current="page"]{background:var(--tint);color:var(--link);font-weight:700;box-shadow:inset 0 0 0 1px var(--line)}
#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(88px + env(safe-area-inset-bottom,0px));background:var(--fg);color:#fff;padding:9px 14px;border-radius:12px;font-size:14px;max-width:calc(100vw - 40px);z-index:9}
a.person{text-decoration:none}
.text.danger{color:#c4314b}
.hint a{color:var(--link);font-weight:700}
/* Cleanup: secondary actions are quiet text links, and back sits in the header. */
.link{background:none;border:0;padding:6px 0;color:var(--link);font-size:15px;font-weight:700;cursor:pointer;text-align:left}
.link.quiet{color:var(--muted);font-weight:600}
.link.danger{color:#c4314b}
.link.center,.fine.center{display:block;margin:18px auto 0;text-align:center}
.links{margin-top:18px;text-align:center}
.links p{margin:0 0 6px;font-size:15px;color:var(--muted)}
.fine{font-size:14px;color:var(--muted);margin:2px 0 0}
.fine a{color:var(--link);font-weight:700}
.back{display:block;background:none;border:0;padding:0;margin:0 0 8px;color:var(--on);opacity:.9;font-size:15px;font-weight:700;cursor:pointer}
.rowstat .ok{color:var(--link);font-weight:700}
#me{position:absolute;right:0;top:0;width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(255,255,255,.75);background:rgba(255,255,255,.18);color:#fff;font-weight:700;font-size:15px;cursor:pointer;padding:0}
#me[aria-current]{background:#fff;color:var(--accent)}
body.noauth #me{display:none}
.btn+.link.center{margin-top:14px}
.win .ok{color:var(--link);font-weight:700;font-size:15px;margin-bottom:4px}
/* Calendar */
.cal{margin-top:10px;border:1px solid var(--line);border-radius:16px;padding:12px;background:var(--card)}
.calhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.calhead b{font-size:16px;font-weight:700}
.calnav{width:36px;height:36px;border-radius:10px;border:0;background:var(--tint);color:var(--link);font-size:20px;font-weight:700;line-height:1;cursor:pointer}
.calnav:disabled{opacity:.3;cursor:default}
.calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.dow{font-size:12px;font-weight:700;color:var(--muted);padding:4px 0}
.calday{width:100%;max-width:42px;aspect-ratio:1;margin:auto;border:0;background:none;border-radius:50%;font-size:15px;font-weight:600;color:var(--fg);cursor:pointer;padding:0}
.calday:disabled{color:#c3cdd6;cursor:default}
.calday[aria-current="date"]{color:var(--link);box-shadow:inset 0 0 0 1.5px var(--accent)}
.calday[aria-pressed="true"]{background:var(--accent);color:#fff;box-shadow:none}
/* Where: pin drop */
.where{position:relative}
.wherebtn{display:flex;align-items:center;gap:10px;width:100%;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:11px 14px;font-size:16px;color:var(--fg);cursor:pointer;text-align:left}
.wherebtn>span:nth-child(2){flex:1;min-width:0}
.wherebtn small{color:var(--link);font-weight:700;font-size:14px}
.where:has(.wclear) .wherebtn small{margin-right:30px}
.wpin{width:18px;height:24px;flex:none;display:block}
.wpin svg{display:block;width:100%;height:100%}
.wpin path{fill:var(--accent)}
.wclear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;border:0;background:var(--tint);color:var(--muted);font-size:18px;line-height:1;cursor:pointer}
.pickslot{position:relative;height:min(46vh,340px);border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--tint)}
#pickmap{width:100%;height:100%}
.centerpin{position:absolute;left:50%;top:50%;width:34px;height:44px;transform:translate(-50%,-100%);pointer-events:none;z-index:2;filter:drop-shadow(0 3px 4px rgba(15,42,68,.35))}
.centerpin svg{display:block;width:100%;height:100%}
.centerpin path{fill:var(--fg);stroke:#fff;stroke-width:3;paint-order:stroke}
/* Area labels on maps */
.zl{font:700 12px/1 var(--font);color:var(--fg);background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:99px;padding:4px 9px;white-space:nowrap;pointer-events:none;box-shadow:0 1px 3px rgba(15,42,68,.12)}
.zl.tap{pointer-events:auto;cursor:pointer;color:var(--link)}
#realmap .zl{background:rgba(255,255,255,.75);color:var(--muted);font-size:11px;padding:3px 7px}
.far .zl{font-size:10.5px;padding:3px 6px}
.mk{z-index:1}
#realmap.far .zl{display:none}
.seg button{font-size:14.5px}
/* Numbered pin groups */
.cl{width:34px;height:34px;border-radius:50%;border:3px solid #fff;background:var(--accent);color:#fff;font:700 14px/1 var(--font);cursor:pointer;padding:0;box-shadow:0 2px 6px rgba(15,42,68,.35);z-index:1}
.cl.mid{width:40px;height:40px;font-size:15px}
.cl.big{width:48px;height:48px;font-size:16px;background:var(--fg)}
/* Category grid, cuisine chips, weekday filter */
.seg.grid{display:grid;grid-template-columns:repeat(3,1fr)}
.chips.sub{margin:6px -4px 0}
.chips.sub .chip{font-size:14px;padding:6px 12px}
.seg.days{margin:-4px 0 14px}
.seg.days button{font-size:13px;padding:7px 0}
.evcal{margin:2px 0 14px}
.calday{position:relative}
.calday.has::after{content:"";position:absolute;left:50%;bottom:4px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--accent)}
.calday.has[aria-pressed="true"]::after{background:#fff}
.evwhen{margin:2px 0 12px}
.evwhen .wpin{width:20px;height:20px}
.evwhen+.evcal{margin-top:-4px}
/* Tidy-up */
.chips.sub+.group{margin-top:12px}
.actions{gap:22px}
/* Hotspots filters */
.fpanel{border:1px solid var(--line);border-radius:16px;padding:12px 14px 4px;margin:-4px 0 14px;background:var(--card)}
.fsec{margin-bottom:10px}
.fsec .label{display:block;margin-bottom:6px}
.chips.wrap{flex-wrap:wrap;overflow:visible;margin:0;padding:0;gap:6px}
.chips.wrap .chip{font-size:14px;padding:7px 12px}
.star{color:#c98a00;font-weight:700}
.picked{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 4px}
.picked .chip span{margin-left:4px;font-weight:700}
.picklist{margin-top:10px}
.person[aria-pressed="true"]{background:var(--tint);border-color:var(--link)}
.btn.stick{position:sticky;bottom:calc(92px + env(safe-area-inset-bottom,0px));z-index:4;margin-top:14px}
.btn.stick:disabled{opacity:1;background:var(--tint);color:var(--muted);box-shadow:none}
.pickareas{margin:12px -4px 0}
/* Group chat */
.pill{display:inline-block;background:var(--accent);color:var(--on);border-radius:99px;padding:2px 9px;font-size:13px;font-weight:800}
.chatscroll{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;height:calc(100dvh - 330px);margin:0 -6px;padding:0 6px}
.chat{display:flex;flex-direction:column;justify-content:flex-end;gap:2px;padding-bottom:8px;margin-top:auto}
.msg{max-width:80%;align-self:flex-start;margin-top:10px}
.msg.cont{margin-top:2px}
.msg.mine{align-self:flex-end;text-align:right}
.msg .who{display:block;font-size:13px;font-weight:700;color:var(--muted);margin:0 0 3px 12px}
.msg p{display:inline-block;text-align:left;margin:0;background:var(--card);border:1px solid var(--line);border-radius:18px 18px 18px 6px;padding:9px 13px;font-size:16px;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}
.msg.mine p{background:var(--accent);color:var(--on);border-color:transparent;border-radius:18px 18px 6px 18px}
.msg.mine p a{color:inherit}
.msg p a{color:var(--link);text-decoration:underline}
.msg time{display:block;font-size:12px;color:var(--muted);margin:3px 12px 0}
.chatbar{position:relative;z-index:4;display:flex;gap:6px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:5px 5px 5px 14px;box-shadow:0 6px 20px rgba(15,42,68,.10);margin-top:10px}
.chatbar textarea{flex:1;min-width:0;border:0;background:transparent;resize:none;font:inherit;font-size:16px;color:var(--fg);padding:9px 0;max-height:140px;outline:none}
.chatbar .btn{flex:none}
/* Online and typing */
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#22b35e;margin-right:7px;vertical-align:1px;box-shadow:0 0 0 2px var(--card)}
.who-online{margin:0 0 6px;font-size:14px;color:var(--muted);min-height:20px}
.typing{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);margin:2px 0 4px}
.typing .dots{display:inline-flex;gap:3px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:9px 11px}
.typing .dots i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:tdot 1.2s infinite ease-in-out}
.typing .dots i:nth-child(2){animation-delay:.15s}.typing .dots i:nth-child(3){animation-delay:.3s}
@keyframes tdot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.typing .dots i{animation:none;opacity:.6}}
.msg .seen{display:block;font-size:12px;color:var(--muted);margin:2px 12px 0}
.msg.mine p[data-act]{cursor:pointer}
/* Profile pictures */
.av{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border-radius:50%;object-fit:cover;color:#fff;font-weight:800;font-size:13px;line-height:1;background:var(--tint);user-select:none}
.av.small{width:26px;height:26px;font-size:12px;margin-right:10px}
.av.big{width:72px;height:72px;font-size:28px}
.mem{display:inline-flex;align-items:center}
.msg.theirs{position:relative;padding-left:36px}
.msg .msgav{position:absolute;left:0;bottom:0}
.msg.theirs:has(time) .msgav{bottom:19px}
.msg.theirs .who{margin-left:12px}
.avrow{display:flex;align-items:center;gap:16px;margin:4px 0 8px}
.avbtns{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.avbtns label.btn{cursor:pointer;width:auto;padding-left:18px;padding-right:18px}
.avbtns label.busy{opacity:.6;cursor:default}
#me.hasav{padding:0;overflow:hidden}
#me img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
/* Photo cropper */
body.cropping{overflow:hidden}
.cropwrap{position:fixed;inset:0;z-index:50;background:rgba(10,24,40,.6);display:flex;align-items:center;justify-content:center;padding:16px}
.cropbox{background:var(--card);border-radius:24px;padding:20px 20px 16px;width:100%;max-width:380px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.cropbox h2{margin:0 0 14px;font-size:20px;text-align:center;color:var(--fg)}
.cropstage{position:relative;width:100%;aspect-ratio:1;border-radius:16px;overflow:hidden;touch-action:none;cursor:grab;background:#fff;outline-offset:3px}
.cropstage:active{cursor:grabbing}
.cropstage canvas{width:100%;height:100%;display:block}
.cropring{position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 999px rgba(10,24,40,.5);border:2px solid rgba(255,255,255,.9);pointer-events:none}
.cropzoom{display:flex;align-items:center;gap:10px;margin:14px 4px 4px;color:var(--muted);font-weight:800;font-size:18px}
.cropzoom input{flex:1;height:40px}
.cropbox .fine{margin:4px 0 14px}
.cropbox .yesno{margin:0}
/* Read receipts as avatars */
.msg .meta{display:flex;align-items:center;gap:6px;margin:3px 12px 0;font-size:12px;color:var(--muted)}
.msg.mine .meta,.msg.mine .seen{justify-content:flex-end}
.msg .meta time{margin:0}
.msg .seen{display:flex;margin:3px 12px 0;font-size:12px;color:var(--muted)}
.seenavs{display:inline-flex;align-items:center}
.av.tiny{width:18px;height:18px;font-size:10px;border:1.5px solid var(--page);margin-left:-4px}
.seenavs .av.tiny:first-child{margin-left:0}
.seenmore{font-size:11px;margin-left:4px;font-weight:700}
.msg.theirs:has(.meta) .msgav{bottom:19px}
/* Full-size profile picture */
.av.tap{cursor:zoom-in}
.av.tap:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.photoview{position:fixed;inset:0;z-index:60;background:rgba(6,16,28,.88);display:flex;align-items:center;justify-content:center;padding:16px;cursor:zoom-out;animation:pvfade .15s ease-out}
.photoview figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:min(440px,80vh)}
.photoview img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:20px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.4);cursor:default}
.photoview figcaption{color:#fff;font-size:18px;font-weight:800}
.photoclose{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:16px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;font-size:28px;line-height:1;cursor:pointer}
@keyframes pvfade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.photoview{animation:none}}
.photoview.lowres figure{max-width:240px}
.pvnote{color:rgba(255,255,255,.85);font-size:14px;text-align:center;margin:0;max-width:300px;line-height:1.4}
/* Compact header in chat, so the conversation gets the space */
body.inchat .hero{padding-block:14px 44px}
body.inchat #heroText h1{font-size:24px}
body.inchat .back{margin-bottom:4px}
body.inchat .app{padding-top:14px}
#heroText .who-online{margin:4px 0 0;font-size:14px;color:var(--on);opacity:.9;min-height:18px;font-weight:600}
#heroText .who-online .dot{box-shadow:0 0 0 2px var(--accent)}
#heroText .who-online .dot{display:inline-block;margin-bottom:0}
/* In chat only the messages scroll; the page itself stays put */
html:has(body.inchat),body.inchat{overflow:hidden;overscroll-behavior:none}
body.inchat .app{min-height:0;padding-bottom:0;box-shadow:0 60vh 0 0 var(--card)}
.sendbtn{flex:none;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:0;border-radius:50%;background:transparent;color:#000;cursor:pointer;padding:0}
.sendbtn svg{width:24px;height:24px;display:block}
.sendbtn:hover{background:var(--tint)}
.sendbtn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
/* Dropdowns: our own chevron, set in from the edge and centred */
select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:46px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a8096' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;background-size:18px 18px}
select::-ms-expand{display:none}
/* Results poll card */
.poll{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:18px 18px 16px;margin-bottom:16px;box-shadow:0 6px 22px rgba(15,42,68,.07)}
.pollhead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.pollhead .label{margin-bottom:2px}
.pollhead h2{margin:0;font-size:22px;line-height:1.2;color:var(--fg)}
.pollhead .dim{margin:2px 0 0;font-size:14px}
.pollicon{width:24px;height:24px;color:var(--muted);flex:none}
.poll h3{margin:0 0 12px;font-size:18px;color:var(--fg)}
.pollrows{display:flex;flex-direction:column;gap:14px}
.prtop{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:6px}
.prname{font-weight:700;color:var(--fg);font-size:16px}
.prvotes{flex:none;font-size:14px;color:var(--muted);font-weight:600}
.prbar{height:8px;border-radius:99px;background:var(--tint);overflow:hidden}
.prbar i{display:block;height:100%;border-radius:99px;background:#9ccdf9;min-width:0;transition:width .4s ease}
.pollrow.lead .prbar i{background:var(--accent)}
.pollrow.lead .prvotes{color:var(--link);font-weight:800}
.pollwin{display:flex;align-items:center;justify-content:center;gap:8px;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:16px;color:var(--fg)}
.pollwin svg{width:20px;height:20px;color:#e8a317;flex:none}
@media (prefers-reduced-motion:reduce){.prbar i{transition:none}}
/* Meet time and attendance */
.meetat{display:flex;align-items:center;gap:12px;margin-top:12px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:6px 8px 6px 14px;position:relative}
.meetat .label{margin:0;flex:none}
.meetat input[type=time]{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:17px;font-weight:700;color:var(--fg);padding:8px 0;min-height:36px}
.meetat small{color:var(--muted);font-size:13px;flex:none;padding-right:6px}
.meetat .wclear{position:static;transform:none;flex:none}
.rowstat .out{color:#c4314b;font-weight:700}
.btn[hidden]{display:none}
.evintro{margin:0 0 12px;color:var(--muted);font-weight:600}
.evtiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.evtile{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;text-align:left;gap:2px;aspect-ratio:1/1;padding:16px;border:1px solid var(--line);border-radius:20px;background:var(--tint);color:var(--fg);font:inherit;cursor:pointer;position:relative;transition:transform .12s}
.evtile:active{transform:scale(.97)}
.evtile .evic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--card);color:var(--link);margin-bottom:auto;box-shadow:0 1px 3px rgba(15,42,68,.1)}
.evtile .evic svg{width:26px;height:26px}
.evtile b{font-size:19px;line-height:1.2}
.evtile small{font-size:13px;color:var(--muted);line-height:1.3}
.evtile i{position:absolute;top:16px;right:14px;font-style:normal;font-size:12px;font-weight:700;color:var(--link);background:var(--card);border-radius:99px;padding:2px 9px}
.ev-culture{background:#fff3e6}.ev-culture .evic,.ev-culture i{color:#c2610c}
.ev-sport{background:#e8f8ee}.ev-sport .evic,.ev-sport i{color:#1d8a4a}
.ev-activities{background:#fdeef5}.ev-activities .evic,.ev-activities i{color:#c03a7a}
.evmore{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.evmini{display:flex;flex-direction:column;align-items:flex-start;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--fg);font:inherit;cursor:pointer;text-align:left}
.evmini b{font-size:15px}.evmini small{font-size:12px;color:var(--muted)}
.evtile{overflow:hidden;isolation:isolate}
.evtile.hasph{background:#1c2733;color:#fff;border-color:transparent}
.evtile.hasph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.evtile.hasph::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.05) 25%,rgba(0,0,0,.72) 100%)}
.evtile.hasph small{color:rgba(255,255,255,.88)}
.evtile.hasph b{text-shadow:0 1px 6px rgba(0,0,0,.35)}
.evtile.hasph .evic{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.92)}
.evtile.hasph .evic svg{width:22px;height:22px}
.credits{margin-top:4px;font-size:12px}
.credits a{color:inherit}
#splash{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;background:var(--accent);transition:opacity .6s ease,visibility .6s}
#splash.out{opacity:0;visibility:hidden;pointer-events:none}
.splashlogo{height:64px;width:auto;overflow:visible;animation:splashIn .7s cubic-bezier(.2,.8,.2,1) both}
.splashlogo path{fill:#fff}
.splashlogo .pin{transform-box:fill-box;transform-origin:50% 100%;animation:splashPin .9s .25s cubic-bezier(.3,1.6,.5,1) both}
.splashbar{width:72px;height:4px;border-radius:4px;background:rgba(255,255,255,.3);overflow:hidden;animation:splashIn .5s .3s both}
.splashbar i{display:block;width:40%;height:100%;border-radius:4px;background:#fff;animation:splashLoad 1s ease-in-out infinite}
@keyframes splashIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
@keyframes splashPin{0%{transform:translateY(-14px)}60%{transform:translateY(0)}80%{transform:translateY(-4px)}100%{transform:none}}
@keyframes splashLoad{0%{transform:translateX(-100%)}100%{transform:translateX(250%)}}
@media (prefers-reduced-motion:reduce){.splashlogo,.splashlogo .pin,.splashbar,.splashbar i{animation:none}#splash{transition-duration:.2s}}
nav::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:min(520px,100%);transform:translateX(-50%);background:var(--card);border-inline:1px solid var(--line);box-shadow:0 -1px 0 var(--line),0 -10px 24px rgba(15,42,68,.06);z-index:-1;box-sizing:border-box}
@media (max-width:520px){nav::before{border-inline:0}}
.hottypes{gap:4px;overflow:visible;margin-inline:0;padding-inline:0}
.hottypes .chip{flex:1 1 auto;min-width:0;padding:6px 6px;font-size:13px;text-align:center;white-space:nowrap}
@media (max-width:380px){.hottypes{gap:3px}.hottypes .chip{font-size:12px;padding:6px 3px}}
@media (max-width:340px){.hottypes .chip{font-size:11px;padding:5px 2px}}
.radring{position:absolute;left:50%;top:50%;width:0;height:0;transform:translate(-50%,-50%);border-radius:50%;border:2px solid var(--accent);background:rgba(47,155,255,.13);pointer-events:none;z-index:1;box-shadow:0 0 0 1px rgba(255,255,255,.6) inset}
.radrow{display:flex;align-items:center;gap:12px;margin-top:12px;font-size:15px;font-weight:700}
.radrow input{flex:1;accent-color:var(--accent);min-width:0}
.radrow b{min-width:52px;text-align:right;color:var(--link)}
.fpanel .pickslot{height:min(40vh,280px)}
.pickwhere{margin-top:2px}
.pickhint{margin:6px 0 4px;font-size:14px}
.pickgo{margin-top:2px}
.manage{margin-top:22px;padding-top:6px;border-top:1px solid var(--line)}
.link.danger{color:#c4314b;font-weight:700}
/* Decide setup: three plain sections, no boxes */
.dsec{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.dsec>.label{font-size:13px;letter-spacing:.04em;text-transform:uppercase;font-weight:700}
.dsec .chips{margin-bottom:0}
.dsec .chips.wrap+.chips{margin-top:2px}
.chip.addtime{border-style:dashed;color:var(--link);background:transparent}
.dsec .meetat{margin-top:4px;padding:2px 6px 2px 14px;border-radius:99px;align-self:flex-start;gap:8px}
.dsec .meetat input[type=time]{font-size:16px;min-height:32px;padding:4px 0;flex:none;width:auto}
.duo{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:7px;max-width:100%;min-width:0;border:1px solid var(--line);background:var(--card);border-radius:99px;padding:8px 14px 8px 11px;font-size:15px;font-weight:600;color:var(--fg);cursor:pointer}
.pill svg{width:18px;height:18px;flex:none;color:var(--link)}
.pill span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pill.on{background:var(--tint);color:var(--link);font-weight:700}
.pillx{border:0;background:none;color:var(--muted);font-size:20px;line-height:1;padding:4px 6px;margin-left:-6px;cursor:pointer}
.dsec .fpanel{margin-top:4px}
.fclear{float:right;margin:-4px 0 0}
.sendto{display:flex;align-items:center;gap:12px;margin:-4px 0 22px}
.sendto .label{flex:none;font-size:13px;letter-spacing:.04em;text-transform:uppercase;font-weight:700}
.sendto select{flex:1;min-width:0}
.ctas{margin-top:6px}
.ctas .link.center{margin-top:12px}
.searchrow{display:flex;gap:8px}
.searchrow input{flex:1;min-width:0}
.btn.searchgo{width:auto;flex:none;padding:0 18px;font-size:16px;border-radius:14px;box-shadow:none}
.pill svg path{fill:currentColor}
.dsec .chips.wrap .chip{padding:7px 10px}
@media (max-width:370px){.dsec .chips.wrap .chip{padding:6px 8px;font-size:13px}.dsec .chips.wrap{gap:5px}}
/* Decide setup v3: category tiles + one settings list */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.tile{display:flex;flex-direction:column;align-items:center;gap:7px;padding:15px 4px 12px;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--fg);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:transform .12s,background .15s}
.tile:active{transform:scale(.96)}
.tile svg{width:26px;height:26px;color:var(--link)}
.tile[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--on);font-weight:700;box-shadow:0 6px 16px rgba(47,155,255,.28)}
.tile[aria-pressed="true"] svg{color:var(--on)}
.tiles+.chips{margin-bottom:4px}
.sheet{border:1px solid var(--line);border-radius:18px;background:var(--card);margin:12px 0 20px;overflow:hidden}
.srow{display:flex;align-items:center;gap:12px;min-height:54px;padding:6px 14px}
.srow:not(:first-child){border-top:1px solid var(--line)}
.srow>.k{flex:none;width:62px;font-size:15px;font-weight:700}
.srow>.v{flex:1;min-width:0;display:flex;justify-content:flex-end;align-items:center;gap:4px}
.srow .seg{flex:1;border-radius:12px}
.srow .seg button{padding:7px 2px;font-size:14px;border-radius:9px}
.sval{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-width:0;background:none;border:0;padding:10px 0;font:inherit;font-size:15px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sval::after{content:"›";font-size:20px;line-height:1;color:var(--muted);font-weight:400}
.sval[aria-expanded="true"]::after{transform:rotate(90deg)}
.sval.on{color:var(--link);font-weight:700}
.srow select{width:auto;max-width:100%;border:0;background-color:transparent;padding:10px 26px 10px 0;font-size:15px;font-weight:600;color:var(--muted);text-align:right;text-align-last:right;background-position:right 0 center}
.tin{border:0;background:transparent;font:inherit;font-size:16px;font-weight:700;color:var(--link);padding:8px 0;min-height:36px}
.sbody{padding:2px 14px 14px}
.sbody .fpanel{border:0;padding:0;margin:0;background:none;box-shadow:none}
.sbody .pickslot{margin-top:0}
.chips.times{margin:0 -14px;padding:2px 14px;gap:6px;scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 18px),transparent)}
.chips.times .chip{font-variant-numeric:tabular-nums;padding:8px 13px;scroll-snap-align:center}
.chips.times .chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--on)}
.tin{text-align:right;width:110px;border-radius:8px}
.tin::placeholder{color:var(--muted);font-weight:600;opacity:1}
.tin:focus{outline:none;background:var(--tint);padding-inline:8px}
.tin.bad{color:#c4314b}
.srow input.tin{width:104px;flex:none;border:0;background:transparent;padding:8px 0;font-size:15px;font-weight:700;color:var(--link);text-align:right;border-radius:10px}
.srow input.tin:focus{background:var(--tint);padding:8px 10px;outline:none}
.srow input.tin.bad{color:#c4314b}
.brandbtn{display:block;background:none;border:0;padding:0;margin:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.brandbtn:active{opacity:.7}
.sliderhead b.psval{font-size:15px}
.fclear{float:none;display:block;margin:0 0 2px auto;padding:2px 0;font-size:14px}
.pickcancel{display:block;margin:2px 0 8px auto;padding:4px 0;font-size:14px}
.joinswap{display:block;margin:-10px 0 22px;font-size:14px}
/* Group page */
.gacts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}
.gact{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;padding:16px 14px 14px;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--fg);font:inherit;text-align:left;cursor:pointer;transition:transform .12s}
.gact:active{transform:scale(.97)}
.gact svg{width:26px;height:26px;color:var(--link);margin-bottom:10px}
.gact b{font-size:16px}
.gact small{font-size:13px;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gact.primary{background:var(--accent);border-color:var(--accent);color:var(--on);box-shadow:0 8px 20px rgba(47,155,255,.28)}
.gact.primary svg{color:var(--on)}
.gact.primary small{color:rgba(255,255,255,.85)}
.gbadge{position:absolute;top:12px;right:12px;min-width:22px;height:22px;padding:0 7px;border-radius:99px;background:#e5484d;color:#fff;font-style:normal;font-size:12px;font-weight:800;display:grid;place-items:center}
.glabel{margin:0 0 8px;font-size:13px;letter-spacing:.04em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.sheet.glist{margin:0 0 22px}
.grow{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:9px 14px;background:none;border:0;font:inherit;color:var(--fg);text-align:left}
.grow:not(:first-child){border-top:1px solid var(--line)}
button.grow{cursor:pointer}
.gmain{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.gmain b{font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gmain small{font-size:13px;color:var(--muted)}
.gmain small.live{color:#1d8a4a;font-weight:600;display:flex;align-items:center;gap:5px}
.gstat{flex:none;font-size:13px;font-weight:700;color:var(--muted);padding:5px 11px;border-radius:99px;background:var(--page)}
.gstat.todo{background:var(--accent);color:var(--on)}
.gstat.done{background:var(--tint);color:var(--link)}
.gstat.out{color:#c4314b}
.av.mid{width:38px;height:38px;font-size:15px;margin:0}
.gplus{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--tint);color:var(--link);font-size:22px;font-weight:600;line-height:1}
.ginvite .gmain b{color:var(--link);font-weight:700}
.gcode{display:flex;align-items:center;gap:8px;width:100%;margin:-8px 0 6px;padding:11px 14px;border:1px dashed var(--line);border-radius:14px;background:none;font:inherit;font-size:14px;color:var(--muted);cursor:pointer}
.gcode .code{color:var(--fg);letter-spacing:.03em}
.gcode span{margin-left:auto;color:var(--link);font-weight:700}
.gmain small.live .dot{margin:0}
/* Hotspots + Events lists in the card style */
.hotbar{display:flex;align-items:center;gap:8px;margin:0 0 16px}
.hotbar .seg{flex:none;border-radius:99px;padding:3px}
.hotbar .seg button{padding:6px 16px;border-radius:99px;font-size:14px}
.grow1{flex:1}
.hotbar .count{font-size:13px;color:var(--muted);font-weight:600}
.hottypes{margin-bottom:10px}
.hottypes .chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--on)}
.fpanel.fcard{border-radius:18px;margin:-6px 0 18px;padding:14px 14px 6px}
.sheet.dlist{margin:0 0 22px}
.dlist details{border:0}
.dlist details:not(:first-child){border-top:1px solid var(--line)}
.dlist summary{padding:12px 14px;align-items:center;gap:12px}
.dlist summary>div{flex:1}
.dlist summary b{font-size:16px;font-weight:600}
.dlist summary small{font-size:13.5px}
.dlist summary::after{content:"›";flex:none;color:var(--muted);font-size:20px;line-height:1;transition:transform .15s}
.dlist details[open]>summary::after{transform:rotate(90deg)}
.dlist details[open]>summary b{color:var(--link)}
.dlist .more{padding:0 14px 14px}
.dlist .actions{gap:8px;margin-top:6px}
.dlist .actions a,.dlist .actions button{padding:8px 14px;border:1px solid var(--line);border-radius:99px;background:var(--card);font-size:14px}
.dlist .actions a:first-child,.dlist .actions button:first-child{background:var(--accent);border-color:var(--accent);color:var(--on)}
.toptag{flex:none;font-size:12px;font-weight:700;color:#a86f00;background:#fff4d6;border-radius:99px;padding:4px 9px;white-space:nowrap}
.showall{display:block;width:100%;border:0;border-top:1px solid var(--line);background:none;padding:13px;font:inherit;font-size:14px;font-weight:700;color:var(--link);cursor:pointer}
.dbadge{flex:none;width:46px;min-height:46px;border-radius:12px;background:var(--tint);color:var(--link);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;padding:4px 0}
.dbadge b{display:block;font-size:18px;font-weight:800}
.dbadge i{font-style:normal;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.list>.glabel:first-child{margin-top:0}
.hotbar select.csel{width:auto;min-width:0;flex:0 1 auto;border:1px solid var(--line);border-radius:99px;background-color:var(--card);padding:8px 30px 8px 14px;font-size:14px;font-weight:600;color:var(--fg);background-position:right 10px center;background-size:15px 15px;text-overflow:ellipsis}
.hotbar select.csel.on{background-color:var(--tint);color:var(--link);font-weight:700}
.srow select.csel.on{color:var(--link);font-weight:700}
.hotbar .seg button{padding:6px 12px}
.hotbar .pill{padding:8px 12px 8px 10px;font-size:14px}
.hotbar{flex-wrap:wrap}
.hotbar{gap:6px;flex-wrap:nowrap}
.hotbar .grow1{min-width:0}
.hotbar select.csel{padding:8px 26px 8px 12px;background-position:right 8px center}
.hotbar.tight .seg button{padding:6px 10px}
.hotbar.tight select.csel{max-width:118px}
@media (max-width:350px){.hotbar.tight .pill span{display:none}.hotbar.tight .pill{padding:8px 10px}.hotbar.tight select.csel{max-width:104px}}
