#shr-overlay{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .22s;}
#shr-overlay.open{opacity:1;pointer-events:all;}
@media(min-width:480px){#shr-overlay{align-items:center;}}
#shr-modal{background:var(--bg-1);border:1px solid var(--border);border-radius:18px 18px 0 0;width:100%;max-width:460px;padding:18px;transform:translateY(50px);transition:transform .28s cubic-bezier(.34,1.2,.64,1);box-shadow:0 -8px 40px rgba(0,0,0,.4);}
@media(min-width:480px){#shr-modal{border-radius:18px;transform:scale(.92) translateY(10px);}}
#shr-overlay.open #shr-modal{transform:translateY(0);}
@media(min-width:480px){#shr-overlay.open #shr-modal{transform:scale(1) translateY(0);}}
.shr-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;}
.shr-title{font-family:var(--font-display);font-size:14px;font-weight:800;color:var(--text-0);}
.shr-close{width:26px;height:26px;border-radius:50%;border:1px solid var(--border);background:var(--accent-faint);color:var(--text-2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.shr-close:hover{color:var(--text-0);border-color:var(--border-hover);}
.shr-urlbox{display:flex;gap:7px;align-items:center;padding:9px 12px;background:var(--bg-2);border:1px solid var(--border);border-radius:9px;margin-bottom:13px;}
.shr-urltxt{flex:1;font-family:var(--font-mono);font-size:10px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.shr-cp{flex-shrink:0;padding:4px 10px;background:var(--accent-faint);border:1px solid var(--border);border-radius:5px;font-size:10.5px;font-family:var(--font-display);font-weight:700;color:var(--text-0);cursor:pointer;transition:all .2s;}
.shr-cp:hover{background:rgba(255,255,255,.1);}
.shr-cp.done{color:var(--green);border-color:rgba(34,197,94,.3);}
.shr-sect{font-family:var(--font-mono);font-size:9px;color:var(--text-3);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;}
.shr-incs{display:flex;flex-direction:column;gap:5px;margin-bottom:13px;}
.shr-inc{display:flex;align-items:center;gap:9px;padding:7px 11px;background:var(--accent-faint);border:1px solid var(--border);border-radius:7px;cursor:pointer;transition:border-color .2s;}
.shr-inc:hover{border-color:var(--border-hover);}
.shr-inc input[type=checkbox]{accent-color:var(--green);width:12px;height:12px;cursor:pointer;}
.shr-inc label{font-size:11.5px;color:var(--text-1);font-family:var(--font-display);font-weight:500;cursor:pointer;flex:1;}
.shr-inc .icnt{font-family:var(--font-mono);font-size:9.5px;color:var(--text-3);}
.shr-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:13px;}
.shr-opt{display:flex;align-items:center;gap:9px;padding:9px 12px;background:var(--accent-faint);border:1px solid var(--border);border-radius:9px;color:var(--text-1);cursor:pointer;font-size:12px;font-family:var(--font-display);font-weight:600;transition:all .18s;}
.shr-opt:hover{background:rgba(255,255,255,.07);border-color:var(--border-hover);color:var(--text-0);}
.shr-opt svg{flex-shrink:0;color:var(--text-2);}
.shr-qra{display:none;text-align:center;margin-top:3px;}
.shr-qrbox{display:inline-block;padding:10px;background:#fff;border-radius:11px;margin:0 auto;}
.shr-qrnote{font-size:9.5px;color:var(--text-3);font-family:var(--font-mono);margin-top:7px;}
.shr-qrdl{display:inline-flex;align-items:center;gap:4px;margin-top:7px;padding:5px 13px;background:var(--accent-faint);border:1px solid var(--border);border-radius:6px;font-size:10.5px;font-family:var(--font-mono);color:var(--text-1);cursor:pointer;transition:all .2s;}
.shr-qrdl:hover{background:rgba(255,255,255,.09);}
#toast{position:fixed;bottom:18px;right:18px;padding:9px 16px;background:var(--green);color:#fff;border-radius:7px;font-size:12px;font-weight:700;font-family:var(--font-display);transform:translateY(60px);opacity:0;transition:all .28s var(--ease);z-index:9999;box-shadow:0 4px 20px rgba(34,197,94,.3);}
#toast.show{transform:translateY(0);opacity:1;}
.footer{display:flex;align-items:center;justify-content:center;padding:13px 20px;border-top:1px solid var(--border);background:var(--bg-1);}
.footer-in{display:flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:10px;color:var(--text-3);letter-spacing:.04em;user-select:none;}
.fdot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.4;}
.fbrand .pa{color:#00d4ff;}
.flink{color:var(--text-2);text-decoration:none;border-bottom:1px solid transparent;transition:color .2s,border-color .2s;}
.flink:hover{color:#00d4ff;border-bottom-color:rgba(0,212,255,.4);}

@media(max-width:900px){
  main{grid-template-columns:1fr;}
  .content{height:auto;overflow-y:visible;}
  aside{border-left:none;border-top:1px solid var(--border);height:auto;}
}

@media(max-width:680px){
  :root{--hh:52px;--bh:36px;}

  /* ── HERO ── */
  #hero{padding:80px 0 40px;}
  .hcontent{padding:0 18px;width:100%;max-width:100%;}
  .htitle{font-size:clamp(52px,14vw,84px)!important;}
  .hsub{font-size:13px;margin-bottom:18px;}
  .eyebrow{font-size:9px;padding:4px 11px;margin-bottom:16px;}
  .hpills{gap:5px;margin-bottom:18px;justify-content:center;}
  .hpill{font-size:10px;padding:4px 9px;}
  .hcta{flex-direction:column;width:100%;max-width:260px;align-items:stretch;margin:0 auto;}
  .btn-pri,.btn-sec{padding:11px 16px;justify-content:center;width:100%;font-size:12px;}
  .hstats{flex-wrap:wrap;margin-top:20px;}
  .hstat{flex:1 1 calc(50% - .5px);min-width:0;padding:11px 8px;text-align:center;border-right:1px solid rgba(255,255,255,.07);}
  .hstat:nth-child(2){border-right:none;}
  .hstat:nth-child(3){border-top:1px solid rgba(255,255,255,.07);border-right:1px solid rgba(255,255,255,.07);}
  .hstat:nth-child(4){border-top:1px solid rgba(255,255,255,.07);border-right:none;}
  .snum{font-size:19px;}

  /* ── HERO NAV — fix moon button layout ── */
  .hnav{
    width:calc(100vw - 16px);
    top:8px;
    padding:6px 8px 6px 12px;
    gap:6px;
    border-radius:50px;
  }
  .hnav.hidden{transform:translateX(-50%) translateY(-80px);}
  .nlinks{display:none;}
  .live-pill{display:none;}
  .nlogo img{width:22px;height:22px;}
  .nlogo-t{font-size:12px;}
  /* push theme button to far right nicely */
  .nright{margin-left:auto;}
  .theme-btn{width:28px;height:28px;flex-shrink:0;}

  /* ── HEADER — compact, no overflow ── */
  header{
    padding:0 10px;
    gap:6px;
    height:var(--hh);
    overflow:hidden;
  }
  .hdr-logo{gap:6px;flex-shrink:0;}
  .hdr-logo img{width:20px;height:20px;}
  .hdr-logo-t{font-size:12px;}

  /* Search takes remaining space, truncated gracefully */
  .srchwrap{flex:1;min-width:0;max-width:none;}
  #search-input{font-size:12px;padding:6px 10px 6px 30px;}
  .srch-ic{left:9px;}

  /* Continent button — icon only on mobile */
  .cont-wrap{flex-shrink:0;}
  .cont-btn{height:28px;padding:0 8px;gap:3px;}
  #cont-label{display:none;}

  /* Right side — hide UTC, keep fmt + share compact */
  .hdr-right{gap:5px;flex-shrink:0;}
  .utc-badge{display:none;}
  .fmt-btn{min-width:36px;padding:0 7px;font-size:10px;height:28px;}
  .share-btn{padding:5px 10px;font-size:11px;gap:4px;}
  .share-btn span{display:none;}

  /* ── STATS BAR ── */
  .sbar{padding:0 10px;}
  .si{padding:0 8px;}
  .sl{font-size:8px;}
  .sv{font-size:10px;}

  /* ── CONTENT ── */
  .content{padding:10px;}

  /* ── MY LOCATION CARD — fix "YOUR LOCATION" badge overflow ── */
  .mlcard{
    padding:12px 14px;
    gap:10px;
    overflow:hidden;
  }
  .mlcard::after{
    font-size:7.5px;
    right:8px;
    top:-9px;
    padding:2px 6px;
    letter-spacing:.08em;
  }
  .ml-flag{font-size:24px;}
  .ml-name{font-size:13px;}
  .ml-tz{font-size:9px;}
  .ml-clk{font-size:17px;white-space:nowrap;}
  .ml-off{font-size:9px;}
  .ml-dt{font-size:8.5px;}
  .ml-tcol{min-width:0;flex-shrink:0;}

  /* ── CARDS GRID ── */
  #cgrid,#citygrid{
    grid-template-columns:repeat(auto-fill,minmax(155px,1fr))!important;
    gap:8px;
  }
  .ccard{padding:11px;}
  .cc-t{font-size:16px;}

  /* ── FAV CARDS ── */
  .favcard{width:130px;padding:10px 11px;}

  /* ── DIFF VIEW ── */
  .diff-row{grid-template-columns:1fr;gap:8px;}
  .diff-row>svg{display:none;}
  .diff-num{font-size:48px;}

  /* ── SIDEBAR / CLOCK ── */
  .clk-wrap{width:120px;height:120px;}
  #clksvg{width:120px;height:120px;}
  .plan-pnl,.clock-pnl{padding:12px 13px;}

  /* ── SHARE MODAL ── */
  .shr-grid{grid-template-columns:1fr;}

  /* ── CONTINENT MENU ── */
  .cont-menu{max-width:calc(100vw - 16px);}
}

@media(max-width:400px){
  .htitle{font-size:clamp(42px,12vw,60px)!important;}
  .snum{font-size:16px;}
  .share-btn{padding:5px 8px;}
  #cgrid,#citygrid{grid-template-columns:1fr 1fr!important;}
}

@media(hover:none){
  .ccard:hover{transform:none;box-shadow:none;}
  .favcard:hover{transform:none;}
  .hpill:hover{transform:none;}
  .favrm{display:flex!important;opacity:1;}
}
