/* Rinnovit 0.3.3 · app per chi cerca casa. Colonna telefono, feed a schermo intero, schede a scorrimento. */
body{margin:0}img{max-width:100%}[hidden]{display:none!important}
:root{
  --bg:#0D1015;--surface:#161A21;--surface2:#1F252E;--line:#2A313B;--fg:#F4F0E8;--muted:#9BA4AF;
  --accent:#6FB1E6;--accent-ink:#0B1A26;--live:#FF6B5B;--ok:#5CC48A;--warn:#F09A4A;--info:#7DB4F0;
  --f-display:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-body:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-mono:'Geist Mono',ui-monospace,'SF Mono',Menlo,monospace;
  --nav:62px;--r:14px;color-scheme:dark;
}
:root[data-theme="light"]{--bg:#FAF8F5;--surface:#FFFFFF;--surface2:#EDE8E1;--line:#E4DFD8;--fg:#1E1E1E;--muted:#6E6A65;--accent:#2B76B0;--accent-ink:#FFFFFF;color-scheme:light}
@media (prefers-color-scheme:light){:root[data-theme="auto"]{--bg:#FAF8F5;--surface:#FFFFFF;--surface2:#EDE8E1;--line:#E4DFD8;--fg:#1E1E1E;--muted:#6E6A65;--accent:#2B76B0;--accent-ink:#FFFFFF;color-scheme:light}}
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
@supports(height:100dvh){html,body{height:100dvh}}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:15px;line-height:1.45;overflow:hidden;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0;text-align:inherit}
a{color:var(--accent)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.mono{font-family:var(--f-mono);font-size:.78em;letter-spacing:.04em}
.muted{color:var(--muted)}
.ic{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ic.fill{fill:currentColor}
.vf{width:16px;height:16px;flex:none;vertical-align:-3px}
.sim{display:inline-flex;align-items:center;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border:1px dashed var(--warn);color:var(--warn);border-radius:6px;vertical-align:middle;white-space:nowrap;line-height:1.2}
.slide .sim,.feedtop .sim{background:rgba(0,0,0,.35)}

#wrap{height:100%;display:flex;justify-content:center;gap:56px}
#pitch{display:none}
@media (min-width:1040px){#pitch{display:flex;flex-direction:column;justify-content:center;gap:18px;width:340px;padding-block:40px}}
#pitch h1{font-family:var(--f-display);font-weight:900;font-size:64px;line-height:.9;letter-spacing:.01em;text-transform:uppercase;margin:0}
#pitch h1 span{color:var(--accent)}
#pitch p{margin:0;color:var(--muted);max-width:36ch}
#pitch .note{font-family:var(--f-mono);font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}
#pitch a{font-weight:600}
#app{position:relative;width:100%;max-width:460px;height:100%;overflow:hidden;background:var(--bg)}
@media (min-width:520px){#app{border-left:1px solid var(--line);border-right:1px solid var(--line)}}
.view{position:absolute;inset:0 0 var(--nav) 0;overflow-y:auto;overscroll-behavior:contain}
.pad{padding-left:16px;padding-right:16px}

/* tab bar */
nav.tabbar{position:absolute;left:0;right:0;bottom:0;height:var(--nav);display:grid;grid-template-columns:repeat(5,1fr);align-items:center;background:var(--bg);border-top:1px solid var(--line);z-index:20}
nav.tabbar button{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--muted);height:100%;justify-content:center}
nav.tabbar button.on{color:var(--fg)}
nav.tabbar .dot{position:absolute;top:8px;left:calc(50% + 6px);min-width:16px;height:16px;border-radius:8px;background:var(--live);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;padding:0 4px}

/* feed */
#v-feed{overflow:hidden;background:#06080B}
#feedScroll{position:absolute;inset:0;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none}
#feedScroll::-webkit-scrollbar{display:none}
.feedtop{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;flex-direction:column;gap:8px;padding:12px 16px 14px;background:linear-gradient(rgba(0,0,0,.6),transparent);pointer-events:none;transition:opacity .25s}
.feedtop>*{pointer-events:auto}
.ftrow{display:flex;align-items:center;gap:10px}
.tabs{display:flex;gap:16px;flex:1;min-width:0}
.tabs button{font-weight:600;font-size:15.5px;color:rgba(255,255,255,.62);padding-bottom:4px;border-bottom:2px solid transparent;white-space:nowrap}
.tabs button.on{color:#fff;border-color:var(--accent)}
.roundbtn{width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.2);color:#fff;display:grid;place-items:center;flex:none;font-weight:800;font-size:12px}
.roundbtn .ic{width:19px;height:19px}
.roundbtn.on{background:#fff;color:#111}
.fchips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.fchips::-webkit-scrollbar{display:none}
.fchip{flex:none;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:999px;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:12.5px;font-weight:600;white-space:nowrap}
.fchip.main{background:var(--accent);color:var(--accent-ink);border:0}
.fchip .ic{width:13px;height:13px}
.audiohint{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);z-index:6;background:rgba(0,0,0,.6);color:#fff;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:600;display:flex;gap:8px;align-items:center;pointer-events:none;transition:opacity .4s}
.audiohint .ic{width:18px;height:18px}
.slide{position:relative;height:100%;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;background:#06080B}
.stage{position:absolute;inset:0;touch-action:pan-y}
.stage img,.stage canvas,.stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.35) 0,transparent 24%,transparent 45%,rgba(0,0,0,.85) 100%);transition:opacity .25s}
.bars{position:absolute;top:auto;bottom:6px;left:12px;right:12px;display:flex;gap:4px;z-index:4}
.bars span{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.28);overflow:hidden}
.bars i{display:block;height:100%;width:0;background:#fff}
.roomtag{position:absolute;top:108px;left:16px;z-index:2;display:flex;align-items:center;gap:8px;color:#fff;font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;transition:opacity .25s}
.roomtag b{background:var(--accent);color:var(--accent-ink);padding:3px 7px;border-radius:5px;font-weight:500}
.subs{position:absolute;left:16px;right:74px;bottom:330px;z-index:3;text-align:center;pointer-events:none}
.subs span{background:rgba(0,0,0,.66);color:#fff;padding:5px 9px;border-radius:7px;font-size:15px;font-weight:500;line-height:1.75;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.subs .sim{margin-top:6px}
.rail{position:absolute;right:8px;bottom:150px;z-index:3;display:flex;flex-direction:column;align-items:center;gap:14px;color:#fff;transition:opacity .25s}
.rail button{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11.5px;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.6);text-align:center;min-width:52px}
.rail .ic{width:30px;height:30px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}
.rail .liked{color:var(--live)}
.rail .saved{color:var(--accent)}
.rail .tourbtn .cubewrap{width:44px;height:44px;border-radius:12px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.4)}
.rail .tourbtn .ic{width:26px;height:26px;filter:none}
.railav{position:relative;margin-bottom:6px}
.railav .av{width:46px;height:46px;font-size:16px;border:2px solid #fff}
.railav .plusdot{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);width:20px;height:20px;border-radius:50%;background:var(--live);color:#fff;display:grid;place-items:center}
.railav .plusdot .ic{width:13px;height:13px;stroke-width:3;filter:none}
.railav.following .plusdot{background:var(--ok)}
.meta{position:absolute;left:0;right:76px;bottom:0;z-index:3;padding:0 0 18px 16px;color:#fff;display:flex;flex-direction:column;gap:6px;transition:opacity .25s}
.agentline{display:flex;align-items:center;gap:6px;font-size:14px;min-width:0;white-space:nowrap}
.agentline b{flex:none}.agentline .m{overflow:hidden;text-overflow:ellipsis;min-width:0}
.agentline b{font-weight:700}
.agentline .m{color:rgba(255,255,255,.72)}
.collabline{font-size:12.5px;color:rgba(255,255,255,.82);display:flex;align-items:center;gap:6px}
.collabline .ic{width:15px;height:15px}
.price{font-family:var(--f-display);font-weight:800;font-size:40px;line-height:.95;letter-spacing:.01em}
.price small{font-size:20px;font-weight:700;opacity:.85}
.drop{font-family:var(--f-body);font-size:13px;font-weight:700;color:var(--ok);vertical-align:8px;margin-left:6px}
.ltitle{font-weight:600;font-size:16px;line-height:1.3;text-wrap:balance}
.facts{color:rgba(255,255,255,.84);font-family:var(--f-mono);font-size:11.5px;letter-spacing:.04em;display:flex;flex-wrap:wrap;gap:4px 10px;text-transform:uppercase}
.ctas{display:flex;gap:8px;margin-top:6px}
.hotline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hot{display:inline-flex;align-items:center;gap:5px;background:var(--live);color:#fff;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px}
.hotcount{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}
.vchip{display:inline-flex;align-items:center;gap:5px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:6px;background:rgba(43,118,176,.16);color:var(--accent);border:1px solid rgba(43,118,176,.35)}
.vchip .ic{width:13px;height:13px}
.vchip.warn{background:rgba(240,154,74,.14);color:var(--warn);border-color:rgba(240,154,74,.4)}
.slide .vchip{background:rgba(0,0,0,.45);align-self:flex-start;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.sponsor{align-self:flex-start;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:6px;background:rgba(255,255,255,.92);color:#111}
.catchip{align-self:flex-start;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:6px;background:rgba(125,180,240,.2);color:#CFE3FA;border:1px solid rgba(125,180,240,.4)}
.toplabels{display:flex;gap:6px;flex-wrap:wrap}
.toplabels:empty{display:none}
#v-feed.clean .meta,#v-feed.clean .rail,#v-feed.clean .shade,#v-feed.clean .roomtag,#v-feed.clean .ftmain,#v-feed.clean .fchips,#v-feed.clean .subs{opacity:0;pointer-events:none}
#v-feed.clean .feedtop{background:none}
.cleanhint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;background:rgba(0,0,0,.6);color:#fff;padding:10px 14px;border-radius:12px;font-size:13px;text-align:center;pointer-events:none;transition:opacity .4s;opacity:0;width:240px}
.livepill{display:inline-flex;align-items:center;gap:6px;background:rgba(255,107,91,.92);color:#fff;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;align-self:flex-start}

/* buttons, basics */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:12px;font-weight:700;font-size:15px;white-space:nowrap;text-decoration:none}
.btn .ic{width:20px;height:20px}
.btn.primary{background:var(--accent);color:var(--accent-ink)}
.btn.glass{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.btn.ghost{background:var(--surface2);color:var(--fg);border:1px solid var(--line)}
.btn.okb{background:var(--ok);color:#0B1A11}
.btn.danger{background:transparent;color:var(--live);border:1px solid rgba(255,107,91,.45)}
.btn.block{width:100%}
.btn.sm{height:34px;padding:0 12px;font-size:13px;border-radius:10px}
.btn[disabled],.btn.busy{opacity:.5;pointer-events:none}
.btn.flex1{flex:1;min-width:0}
.linkbtn{color:var(--accent);font-weight:600;font-size:14px}
.followbtn{height:30px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:700;background:var(--accent);color:var(--accent-ink);white-space:nowrap;text-align:center}
.followbtn.on{background:transparent;color:var(--fg);border:1px solid var(--line)}
.av{width:40px;height:40px;border-radius:50%;display:inline-grid;place-items:center;background:var(--c,#555);color:#14110a;font-weight:700;font-size:14px;flex:none;letter-spacing:.02em}
.logo{width:40px;height:40px;border-radius:10px;display:inline-grid;place-items:center;background:var(--c,#555);color:#0E1A15;font-family:var(--f-display);font-weight:900;font-size:18px;flex:none}
.empty{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:40px 32px}
.empty h3{font-family:var(--f-display);font-size:32px;text-transform:uppercase;margin:0;line-height:1}
.empty p{margin:0;color:var(--muted);max-width:30ch}
.empty.small{min-height:auto;padding:24px 16px}
.empty.small h3{font-size:22px}
.phead{position:sticky;top:0;z-index:4;background:var(--bg);display:flex;align-items:center;gap:10px;padding-block:12px;border-bottom:1px solid var(--line)}
.phead h2{font-family:var(--f-display);font-weight:800;font-size:28px;text-transform:uppercase;letter-spacing:.02em;margin:0;flex:1;line-height:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.iconbtn{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--surface2);border:1px solid var(--line);flex:none;color:var(--fg)}
.iconbtn .ic{width:20px;height:20px}
.sec{padding-block:14px;display:flex;flex-direction:column;gap:12px}
.sec h3,.lbl{margin:0;font-size:11.5px;font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500}
.lbl{display:block;margin-bottom:8px}
.chips{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.chips::-webkit-scrollbar{display:none}
.chips.wrap{flex-wrap:wrap;overflow:visible}
.chip{flex:none;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:13.5px;font-weight:600;color:var(--muted);white-space:nowrap}
.chip.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.chip.sq{padding:0 10px}
.chip .ic{width:15px;height:15px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label,.flabel{font-size:13px;font-weight:600;color:var(--muted)}
.input{height:46px;border-radius:12px;border:1px solid var(--line);background:var(--surface);padding:0 14px;width:100%;min-width:0}
textarea.input{height:auto;min-height:88px;padding:12px 14px;resize:vertical;line-height:1.45}
select.input{appearance:none;-webkit-appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%239BA4AF' stroke-width='1.8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.rowx{display:flex;gap:8px;align-items:center}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.card.p{padding:14px}
.note{font-size:13px;color:var(--muted);margin:0}
.note .ic{width:15px;height:15px;vertical-align:-3px}
.err{color:var(--live);font-size:13px;margin:0;min-height:0}
.err:empty{display:none}
.banner{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:rgba(240,154,74,.1);border:1px solid rgba(240,154,74,.4);color:var(--fg);font-size:13.5px}
.banner .ic{color:var(--warn);width:20px;height:20px}
.banner.info{background:rgba(125,180,240,.08);border-color:rgba(125,180,240,.35)}
.banner.info .ic{color:var(--info)}
.banner.okk{background:rgba(92,196,138,.08);border-color:rgba(92,196,138,.35)}
.banner.okk .ic{color:var(--ok)}
.okbox{border:1px solid rgba(92,196,138,.4);background:rgba(92,196,138,.1);border-radius:var(--r);padding:14px;display:flex;gap:12px;align-items:flex-start}
.okbox .ic{color:var(--ok)}
.okbox p{margin:2px 0 0;color:var(--muted);font-size:13.5px}
.pill{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:999px;align-self:start;white-space:nowrap}
.pill.new{background:rgba(43,118,176,.16);color:var(--accent)}
.pill.ok{background:rgba(92,196,138,.16);color:var(--ok)}
.pill.warn{background:rgba(240,154,74,.16);color:var(--warn)}
.pill.bad{background:rgba(255,107,91,.16);color:var(--live)}
.pill.info{background:rgba(125,180,240,.16);color:var(--info)}
.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;padding:5px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted);text-transform:uppercase;white-space:nowrap}
.badge .ic{width:14px;height:14px}
.badge.gold{border-color:rgba(43,118,176,.5);color:var(--accent)}
.badge.spec{border-color:rgba(125,180,240,.45);color:var(--info)}
.badge.green{border-color:rgba(92,196,138,.45);color:var(--ok)}
.list>*{border-bottom:1px solid var(--line)}
.list>*:last-child{border-bottom:0}
.menu{display:flex;flex-direction:column}
.menu>button,.menu>a{display:flex;align-items:center;gap:12px;padding:14px;text-align:left;color:var(--fg);text-decoration:none;font-weight:600;font-size:14.5px;border-bottom:1px solid var(--line)}
.menu>*:last-child{border-bottom:0}
.menu .ic{width:20px;height:20px;color:var(--muted)}
.menu .gt{margin-left:auto;color:var(--muted);font-weight:500;font-size:13px;display:flex;align-items:center;gap:6px}
.menu .cnt{background:var(--live);color:#fff;border-radius:999px;font-size:11px;font-weight:700;padding:1px 7px}
.bar{height:6px;border-radius:99px;background:var(--line);position:relative;overflow:hidden}
.bar i{position:absolute;left:0;top:0;bottom:0;border-radius:99px;background:var(--accent)}
.toggle{display:flex;align-items:center;gap:12px;padding:12px 14px;text-align:left;cursor:pointer}
.toggle>div{flex:1;min-width:0}
.toggle b{display:block;font-size:14.5px}
.toggle small{color:var(--muted);font-size:12.5px;display:block}
.sw{position:relative;width:46px;height:28px;flex:none}
.sw input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:1}
.sw i{position:absolute;inset:0;border-radius:999px;background:var(--line);transition:background .2s}
.sw i::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .2s}
.sw input:checked+i{background:var(--ok)}
.sw input:checked+i::after{transform:translateX(18px)}
.sw input:disabled+i{opacity:.5}
.check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;cursor:pointer}
.check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--accent);flex:none}
.filebtn{position:relative;overflow:hidden}
.filebtn input{position:absolute;inset:0;opacity:0;cursor:pointer}
input[type=range]{width:100%;accent-color:var(--accent)}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:4px}
.seg button{height:36px;border-radius:9px;font-weight:700;font-size:13.5px;color:var(--muted);text-align:center}
.seg button.on{background:var(--surface2);color:var(--fg)}
.spin{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--line);border-top-color:var(--accent);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px 16px;color:var(--muted);font-size:14px}

/* sheets */
.sheet{position:absolute;inset:0;z-index:30;background:var(--bg);overflow-y:auto;overscroll-behavior:contain;animation:sheetup .26s cubic-bezier(.2,.8,.2,1)}
.sheet.modal{background:rgba(0,0,0,.55);display:flex;flex-direction:column;justify-content:flex-end;animation:fade .2s}
.sheet.modal>.panel{background:var(--bg);border-radius:18px 18px 0 0;max-height:88%;overflow-y:auto;animation:sheetup .26s cubic-bezier(.2,.8,.2,1);padding-bottom:12px}
.panel .grab{width:42px;height:5px;border-radius:3px;background:var(--line);margin:8px auto 2px}
@keyframes sheetup{from{transform:translateY(24px);opacity:.2}to{transform:none;opacity:1}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.sheet,.sheet.modal>.panel{animation:none}}
.bottombar{position:sticky;bottom:0;z-index:5;background:var(--bg);border-top:1px solid var(--line);padding:10px 16px 14px;display:flex;gap:8px;align-items:center}
.sbar{position:absolute;left:0;right:0;bottom:0;z-index:8;background:var(--bg);border-top:1px solid var(--line);padding:10px 16px 12px;display:flex;gap:8px}

/* listing page */
.hero{position:relative;height:300px;background:#06080B;overflow:hidden}
.hero img,.hero canvas{width:100%;height:100%;object-fit:cover;display:block}
.hero .topbtns{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;gap:8px}
.hero .topbtns .iconbtn{background:rgba(0,0,0,.5);border-color:rgba(255,255,255,.2);color:#fff}
.hero .mtabs{position:absolute;right:12px;bottom:12px;left:12px;display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.hero .mtabs button{height:32px;padding:0 11px;border-radius:999px;background:rgba(0,0,0,.6);color:#fff;font-size:12.5px;font-weight:600;border:1px solid rgba(255,255,255,.2);display:inline-flex;align-items:center;gap:5px}
.hero .mtabs button.y{background:var(--accent);color:var(--accent-ink);border:0}
.hero .mtabs .ic{width:15px;height:15px}
.factgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.factgrid div{background:var(--surface);padding:10px 12px;min-width:0}
.factgrid b{display:block;font-family:var(--f-display);font-size:clamp(15px,4.4vw,20px);font-weight:800;line-height:1.08;overflow-wrap:break-word;hyphens:auto}
.factgrid span{font-size:11.5px;color:var(--muted)}
.kv{display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-size:13.5px}
.kv span:nth-child(even){color:var(--muted);text-align:right}
.energy{display:flex;gap:2px}
.energy span{flex:1;height:22px;display:grid;place-items:center;font-size:10.5px;font-weight:700;color:#111;border-radius:3px;opacity:.35}
.energy span.on{opacity:1;outline:2px solid var(--fg);outline-offset:1px}
.calc .big{font-family:var(--f-display);font-weight:800;font-size:30px;line-height:1}
.spark svg{display:block;width:100%;height:56px}
.poi{display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:center;font-size:13.5px}
.poi .ic{width:18px;height:18px;color:var(--muted)}
.poi small{color:var(--muted);font-size:12.5px;text-align:right}
.hscroll{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.hscroll::-webkit-scrollbar{display:none}
.mini{flex:none;width:150px;text-align:left}
.mini img{width:150px;height:190px;object-fit:cover;border-radius:12px;background:var(--surface2);display:block}
.mini b{display:block;font-family:var(--f-display);font-size:20px;font-weight:800;line-height:1.1;margin-top:6px}
.mini span{display:block;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agentcard{display:flex;align-items:center;gap:12px;padding:12px}
.agentcard>div{flex:1;min-width:0}
.agentcard b{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.mapbox{height:200px;border-radius:var(--r);overflow:hidden;background:var(--surface2);position:relative}
.mapbox .leaflet-container{height:100%;width:100%;background:var(--surface2)}
.plan svg{display:block;width:100%;height:auto}
.gallery img{width:100%;border-radius:12px;display:block;margin-bottom:8px;background:var(--surface2)}
.rescard{display:grid;grid-template-columns:96px 1fr;gap:12px;padding:10px;align-items:center;text-align:left;width:100%}
.rescard img{width:96px;height:124px;object-fit:cover;border-radius:10px;background:var(--surface2)}
.rescard .p{font-family:var(--f-display);font-weight:800;font-size:24px;line-height:1}
.rescard .t{font-weight:600;line-height:1.3;margin-top:2px;font-size:14px}
.rescard .f{font-family:var(--f-mono);font-size:10.5px;color:var(--muted);margin-top:6px;text-transform:uppercase}
.rescard>div{min-width:0;display:flex;flex-direction:column;gap:2px}

/* comments, chat */
.cmt{display:grid;grid-template-columns:34px 1fr auto;gap:10px;padding:12px 0}
.cmt .av{width:34px;height:34px;font-size:12px}
.cmt b{font-size:13.5px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.cmt p{margin:2px 0 4px;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.cmt .acts{display:flex;gap:14px;font-size:12px;color:var(--muted)}
.cmt .acts button{color:var(--muted);font-weight:600}
.cmt .lk{display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--muted)}
.cmt .lk .ic{width:18px;height:18px}
.cmt .lk.on{color:var(--live)}
.cmt.reply{margin-left:44px;padding-top:4px}
.agtag{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:var(--accent-ink);padding:1px 6px;border-radius:5px}
.composer{position:sticky;bottom:0;background:var(--bg);border-top:1px solid var(--line);padding:10px 12px;display:flex;gap:8px;align-items:center}
.composer .input{height:42px}
.thread{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:12px 16px;text-align:left;width:100%;border-bottom:1px solid var(--line)}
.thread .av{width:44px;height:44px}
.thread>div{min-width:0}
.thread b{display:flex;gap:5px;align-items:center}
.thread small{display:block;color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thread .ub{background:var(--accent);color:var(--accent-ink);border-radius:999px;font-size:11px;font-weight:700;padding:1px 7px}
.chat{display:flex;flex-direction:column;gap:8px;padding:12px 14px 16px}
.msg{max-width:80%;padding:9px 12px;border-radius:16px;font-size:14.5px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}
.msg.me{align-self:flex-end;background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:5px}
.msg.other{align-self:flex-start;background:var(--surface2);border-bottom-left-radius:5px}
.msg.ai{align-self:flex-start;background:rgba(125,180,240,.14);border:1px solid rgba(125,180,240,.35);border-bottom-left-radius:5px}
.msg.system{align-self:center;background:none;color:var(--muted);font-size:12.5px;text-align:center}
.msg.flag{align-self:flex-end;background:rgba(255,107,91,.1);border:1px dashed var(--live);color:var(--fg)}
.msg small{display:block;font-size:10.5px;opacity:.7;margin-top:3px}
.msg .lcard{display:flex;gap:8px;align-items:center;text-align:left;color:inherit}
.msg .lcard img{width:44px;height:56px;object-fit:cover;border-radius:7px}
.warnbar{position:relative;z-index:3;background:rgba(240,154,74,.14);border-bottom:1px solid rgba(240,154,74,.35);padding:8px 14px;font-size:12.5px;display:flex;gap:8px;align-items:flex-start}
.warnbar .ic{width:17px;height:17px;color:var(--warn)}
.quick{display:flex;gap:6px;overflow-x:auto;padding:0 12px 8px;scrollbar-width:none}

/* booking */
.slotday{display:flex;flex-direction:column;justify-content:center;height:54px;line-height:1.1;padding:0 14px}
.slotday small{font-size:11px;font-weight:500;text-transform:uppercase}
.score{padding:14px;border-color:rgba(92,196,138,.45)}
.score.media{border-color:rgba(240,154,74,.45)}
.score.bassa{border-color:rgba(255,107,91,.45)}
.stars{display:flex;gap:6px}
.stars button{font-size:28px;line-height:1;color:var(--line)}
.stars button.on{color:var(--accent)}

/* profile, pages */
.profhead{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding-block:0 6px}
.cover{height:110px;background:linear-gradient(135deg,var(--c,#333),rgba(13,16,21,.4));position:relative}
.cover .iconbtn{position:absolute;top:12px;left:12px;background:rgba(0,0,0,.45);border-color:rgba(255,255,255,.25);color:#fff}
.profhead .av{width:92px;height:92px;font-size:30px;border:4px solid var(--bg);margin-top:-46px}
.profhead .logo{width:92px;height:92px;font-size:40px;border-radius:22px;border:4px solid var(--bg);margin-top:-46px}
.profhead h2{margin:0;font-size:22px;display:flex;align-items:center;gap:6px}
.badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.stats{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;gap:4px}
.stats b{display:block;font-family:var(--f-display);font-size:26px;font-weight:800;line-height:1}
.stats span{font-size:12px;color:var(--muted)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.grid3 button{position:relative;aspect-ratio:9/14;max-width:100%;background:var(--surface2);overflow:hidden}
.grid3 img{width:100%;height:100%;object-fit:cover;display:block}
.grid3 .gp{position:absolute;left:6px;bottom:6px;right:6px;font-family:var(--f-display);font-weight:800;font-size:16px;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.8);text-align:left}
.grid3 .gc{position:absolute;top:6px;left:6px;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.05em;padding:2px 6px;border-radius:5px;background:rgba(0,0,0,.6);color:#fff;text-transform:uppercase}
.rank{display:grid;grid-template-columns:30px 44px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);text-align:left;width:100%}
.rank .pos{font-family:var(--f-display);font-weight:900;font-size:26px;color:var(--muted);text-align:center}
.rank.top .pos{color:var(--accent)}
.rank .av{width:44px;height:44px}
.rank .nm{font-weight:700;display:flex;align-items:center;gap:5px}
.rank .sub{font-size:12.5px;color:var(--muted)}
.rank>div{min-width:0}
.review{padding:12px 0;border-bottom:1px solid var(--line)}
.review:last-child{border-bottom:0}
.review .st{color:var(--accent);letter-spacing:2px}
.review p{margin:4px 0 0;font-size:14px}
.unit{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:12px 14px;text-align:left;width:100%}
.unit small{color:var(--muted);font-size:12.5px}
.prog{height:10px;border-radius:5px;background:var(--line);overflow:hidden}
.prog i{display:block;height:100%;background:var(--accent)}
.meprof{display:flex;gap:12px;align-items:center;padding:16px}
.meprof .av{width:58px;height:58px;font-size:20px}
.meprof>div{flex:1;min-width:0}
.meprof b{font-size:17px;display:block}
.explore{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.explore button{padding:12px;display:flex;flex-direction:column;gap:6px;text-align:left;min-height:84px}
.explore b{font-size:14px}
.explore small{font-size:12px;color:var(--muted)}
.explore .ic{color:var(--accent)}

/* map */
#v-map{overflow:hidden}
#mapEl{position:absolute;inset:0;background:var(--surface2)}
.maptop{position:absolute;top:12px;left:12px;right:12px;z-index:500;display:flex;gap:8px}
.mapcard{position:absolute;left:12px;right:12px;bottom:12px;z-index:500;display:grid;grid-template-columns:72px 1fr auto;gap:10px;align-items:center;padding:8px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.mapcard img{width:72px;height:90px;object-fit:cover;border-radius:9px;background:var(--surface2)}
.mapcard b{font-family:var(--f-display);font-size:22px;font-weight:800;display:block;line-height:1}
.mapcard span{font-size:12.5px;color:var(--muted);display:block}
.mapcard>div{min-width:0}
.leaflet-container{font-family:var(--f-body)}
.drawmap{height:420px}

/* tour */
#tour{background:#000;overflow:hidden}
#tourStage{position:absolute;inset:0;touch-action:none;cursor:grab}
#tourStage canvas{width:100%;height:100%;display:block}
#tourFade{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;transition:opacity .25s}
.tourtop{position:absolute;top:0;left:0;right:0;padding:12px 12px 26px;display:flex;align-items:flex-start;gap:10px;background:linear-gradient(rgba(0,0,0,.6),transparent);color:#fff}
.tourtop .iconbtn{background:rgba(0,0,0,.45);border-color:rgba(255,255,255,.2);color:#fff}
.tourtop .tt{flex:1;min-width:0}
.tourtop .tt b{display:block;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tourtop .tt span{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:rgba(255,255,255,.75)}
.tourhint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.55);color:#fff;padding:10px 14px;border-radius:12px;font-size:13.5px;pointer-events:none;transition:opacity .4s;text-align:center}
.tourhint small{display:block;margin-top:6px;opacity:.75;font-size:11.5px}
.tourbottom{position:absolute;left:0;right:0;bottom:0;padding:30px 12px 14px;background:linear-gradient(transparent,rgba(0,0,0,.75));display:flex;flex-direction:column;gap:10px}
.tourbottom .chip{background:rgba(0,0,0,.45);border-color:rgba(255,255,255,.22);color:#fff}
.tourbottom .chip.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.walk{display:flex;gap:8px;justify-content:space-between;align-items:flex-end}
.walk .pads{display:flex;flex-direction:column;gap:6px}
.walk .pads button{width:52px;height:46px;border-radius:12px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);color:#fff;display:grid;place-items:center;touch-action:none;user-select:none;-webkit-user-select:none}
.minimap{background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:8px}
.minimap svg{display:block}
.nogl{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:var(--muted);padding:24px;font-size:14px}

/* live */
.livestage{position:relative;height:56%;background:#000;overflow:hidden}
.livestage canvas{width:100%;height:100%;display:block}
.livestage .lv{position:absolute;top:12px;left:60px;display:flex;gap:8px;align-items:center}
.livechat{display:flex;flex-direction:column;gap:6px;padding:10px 14px;font-size:13.5px}
.livechat b{color:var(--accent)}

/* cookie */
.cookie{position:absolute;left:10px;right:10px;bottom:calc(var(--nav) + 10px);z-index:70;padding:12px 14px;display:flex;flex-direction:column;gap:8px;box-shadow:0 16px 40px rgba(0,0,0,.45)}
.cookie .note{font-size:12.5px}
.cookie .btn{height:40px}
.cookie b{font-size:15px}
.cookie .row3 .btn{padding:0 6px;font-size:13.5px}

#toast{position:absolute;left:16px;right:16px;bottom:calc(var(--nav) + 12px);z-index:90;background:var(--fg);color:var(--bg);border-radius:12px;padding:12px 14px;font-weight:600;font-size:14px;box-shadow:0 8px 30px rgba(0,0,0,.4);transform:translateY(16px);opacity:0;transition:all .25s;pointer-events:none}
#toast.show{transform:none;opacity:1}
/* layout a schermo intero: si adatta all'area visibile reale (iPhone, Android, app sulla Home, browser) */
:root{--sb:max(0px,calc(min(env(safe-area-inset-bottom,0px),34px) - 16px));--navb:calc(var(--nav) + var(--sb))}
body{position:fixed;inset:0;width:auto;height:auto;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:0}
#wrap,#app{height:100%}
.view{bottom:var(--navb)}
nav.tabbar{height:var(--navb);padding-bottom:var(--sb);box-sizing:border-box}
.cookie{bottom:calc(var(--navb) + 10px)}
#toast{bottom:calc(var(--navb) + 12px)}
.panel{padding-bottom:calc(12px + var(--sb))}
.bottombar{padding-bottom:calc(14px + var(--sb))}
.sbar{padding-bottom:calc(12px + var(--sb))}
.composer{padding-bottom:calc(10px + var(--sb))}
.tourbottom{padding-bottom:calc(14px + var(--sb))}
a.btn{color:inherit}
a.btn.primary{color:var(--accent-ink)}

.badge .logo{width:22px;height:22px;font-size:11px;border-radius:6px;margin:0;border:0}
.badge .av{width:22px;height:22px;font-size:10px}

/* correzioni 0.2: mappa isolata sotto i pannelli, colonna destra del feed su schermi bassi */
#v-map{isolation:isolate;z-index:0}
@media (max-height:760px){.rail{gap:8px;bottom:138px}.rail .ic{width:26px;height:26px}.rail button{font-size:10.5px;min-width:48px}.rail .tourbtn .cubewrap{width:40px;height:40px}}
@media (max-height:640px){.rail{gap:4px;bottom:128px}.rail button span.lbl{display:none}}

/* ===== tablet, pieghevoli aperti, telefono in orizzontale (sotto 600px di larghezza nulla cambia) ===== */
@media (min-width:600px) and (max-width:1039px){
  #app{max-width:none;border-left:0;border-right:0}
  :root{--colw:720px}
  .view:not(#v-feed):not(#v-map){padding-left:max(0px,calc((100% - var(--colw))/2));padding-right:max(0px,calc((100% - var(--colw))/2))}
  .sheet:not(.modal){padding-left:max(0px,calc((100% - var(--colw))/2));padding-right:max(0px,calc((100% - var(--colw))/2))}
  .sheet.modal{align-items:center}
  .sheet.modal>.panel{width:min(100%,640px);margin:0 auto}
  nav.tabbar{padding-left:max(0px,calc((100% - 640px)/2));padding-right:max(0px,calc((100% - 640px)/2))}
  .cookie,#toast{left:50%;right:auto;width:min(calc(100% - 32px),560px);transform:translateX(-50%)}
  #toast{transform:translate(-50%,16px)}#toast.show{transform:translate(-50%,0)}
  .meta{right:auto;width:min(calc(100% - 92px),560px)}
}
/* schermi bassi in orizzontale (telefono girato): più spazio al video, meno testo sopra */
@media (min-width:600px) and (max-height:520px){
  .rail{bottom:auto;top:64px;gap:2px}
  .rail .ic{width:22px;height:22px}
  .rail button{padding:3px 0;min-height:0}
  .rail button>span:not(.cubewrap):not(.plusdot){display:none}
  .rail .tourbtn .cubewrap{width:36px;height:36px}
  .roomtag{display:none}
  .meta{gap:4px;padding-bottom:10px}
  .feedtop{padding-top:8px;padding-bottom:6px}
  .sheet.modal>.panel{max-height:94%}
}
@media (min-width:600px) and (max-height:520px){.rail .railav{display:none}.rail{top:60px}}
/* computer e tablet grandi: colonna dell'app un po' più larga */
@media (min-width:1040px){#app{max-width:480px}}
/* video con orientamento diverso dallo schermo: intero, con sfondo sfocato */
.stage.fit video{object-fit:contain}
.stage canvas.vbg{inset:-10%;width:120%;height:120%;object-fit:cover;filter:blur(20px) brightness(.5)}

/* 0.3.2 · feed con foto vere, invito al 3D a fine video, galleria nella scheda */
.phslides{position:absolute;inset:0;background:#06080B}
.phslides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s ease}
.phslides img.on{opacity:1}
.endcard{position:absolute;left:16px;right:72px;top:34%;z-index:6;pointer-events:none;display:flex;justify-content:center}
.endcard[hidden]{display:none!important}
.endbox{pointer-events:auto;width:100%;max-width:300px;background:rgba(13,16,21,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:16px;text-align:center;color:#fff;animation:endin .25s ease}
.endlbl{font-family:var(--mono,ui-monospace,monospace);font-size:10.5px;letter-spacing:.8px;color:rgba(255,255,255,.65)}
.endgo{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:10px 0 6px;min-height:52px;border-radius:14px;background:var(--accent,#F2C14E);color:var(--accent-ink,#1B1508);font-weight:800;font-size:18px}
.endgo .ic{width:22px;height:22px}
.endre{font-size:13px;color:rgba(255,255,255,.85);text-decoration:underline;padding:6px 10px;min-height:32px}
@keyframes endin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.phslides img{transition:none}.endbox{animation:none}}
.hero .hgal{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.hero .hgal::-webkit-scrollbar{display:none}
.hero .hgal img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start;cursor:zoom-in}
.hero .hcount{position:absolute;top:58px;right:12px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px}
.hthumbs{display:flex;gap:6px;padding:8px 16px 0;overflow-x:auto;scrollbar-width:none}
.hthumbs::-webkit-scrollbar{display:none}
.hthumbs button{position:relative;flex:0 0 62px;height:48px;border-radius:8px;overflow:hidden;padding:0;border:1px solid var(--line,#2A313B)}
.hthumbs img{width:100%;height:100%;object-fit:cover;display:block}
.hthumbs span{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.55);color:#fff;font-weight:700;font-size:13px}

/* Rinnovit: marchio minimal */
.rn-mark{width:.9em;height:.9em;flex:none}
#pitch h1{display:flex;align-items:center;gap:.25em;font-weight:700;font-size:56px;letter-spacing:-.04em;text-transform:none}
#pitch h1 span{color:inherit}

/* 0.4 · confronto, spese, liste, simili, notifiche */
.cmpgrid{display:grid;grid-template-columns:96px repeat(var(--n),minmax(0,1fr));font-size:13px;align-items:center}
.cmpgrid>div{padding:7px 5px;border-bottom:1px solid var(--line);min-width:0;overflow-wrap:anywhere}
.cmpgrid .cmpl{color:var(--muted);font-size:12px}
.cmpgrid .best{color:var(--ok);font-weight:700}
.cmph{display:flex;flex-direction:column;gap:3px;align-self:end}
.cmph b{font-size:12.5px;line-height:1.25}
.cmpimg{display:block;width:100%;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--surface2)}
.cmpimg img{width:100%;height:100%;object-fit:cover;display:block}
.kv2{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.kv2 span{color:var(--muted)}.kv2 b{white-space:nowrap}
.kv2.tot{border-bottom:0;font-size:16px}.kv2.tot span{color:var(--fg);font-weight:700}.kv2.tot b{color:var(--accent);font-size:18px}
.simrow{display:grid;grid-template-columns:104px 1fr;gap:12px;align-items:center;padding:10px;text-align:left;width:100%}
.simrow>span:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.simimg{display:block;width:104px;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--surface2)}
.simimg img{width:100%;height:100%;object-fit:cover;display:block}
.v04acts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.v04acts .btn{justify-content:flex-start;font-size:13.5px;min-width:0;white-space:normal;height:auto;min-height:44px;padding:8px 12px;text-align:left;line-height:1.2}

/* 0.4.2: meno spazio sopra e sotto sul telefono (barra dell'ora come prima) */
@media (max-width:599px){:root{--nav:54px}nav.tabbar button{gap:1px;font-size:10.5px}.feedtop{padding-top:6px}}

/* 0.4.4: cuore del doppio tocco */
.dbheart{position:absolute;z-index:6;width:110px;height:110px;margin:-55px 0 0 -55px;pointer-events:none;color:#FF3B5C;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35));animation:dbh .85s cubic-bezier(.2,.8,.2,1) forwards}
.dbheart svg,.dbheart .ic{width:100%!important;height:100%!important;fill:currentColor;stroke:none}
@keyframes dbh{0%{transform:scale(.4) rotate(-14deg);opacity:.7}18%{transform:scale(1.18) rotate(-14deg);opacity:1}32%{transform:scale(.94) rotate(-14deg)}70%{transform:scale(1) rotate(-14deg) translateY(-8px);opacity:1}100%{transform:scale(1.25) rotate(-14deg) translateY(-70px);opacity:0}}
