#mlsec{margin-bottom:18px;}
.mlcard{padding:16px 18px;border-radius:var(--r);background:var(--bg-card);border:1px solid var(--border-hover);display:flex;align-items:center;gap:14px;position:relative;flex-wrap:nowrap;min-width:0;overflow:hidden;}
.mlcard::after{content:'YOUR LOCATION';position:absolute;top:-10px;right:10px;font-size:8.5px;font-family:var(--font-mono);color:var(--text-2);letter-spacing:.14em;background:var(--bg-1);border:1px solid var(--border);padding:2px 8px;border-radius:50px;white-space:nowrap;max-width:calc(100% - 20px);}
.ml-flag{font-size:30px;line-height:1;flex-shrink:0;}
.ml-info{flex:1;min-width:0;}
.ml-name{font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--text-0);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ml-tz{font-size:10px;color:var(--text-2);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ml-st{display:flex;align-items:center;gap:4px;margin-top:5px;}
.ml-tcol{text-align:right;flex-shrink:0;min-width:0;}
.ml-clk{font-family:var(--font-mono);font-size:20px;font-weight:600;color:var(--text-0);letter-spacing:-.02em;white-space:nowrap;}
.ml-off{font-size:10.5px;color:var(--text-2);font-family:var(--font-mono);margin-top:2px;}
.ml-dt{font-size:9.5px;color:var(--text-2);margin-top:1px;white-space:nowrap;}
#favsec,.cfavsec{margin-bottom:18px;}
.favrow{display:flex;gap:9px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;scrollbar-color:var(--border) transparent;}
.favrow::-webkit-scrollbar{height:2px;}
.favrow::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px;}
.fav-empty{color:var(--text-2);font-size:12px;padding:6px 0;}
.favcard{flex-shrink:0;width:140px;padding:12px 13px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r);cursor:pointer;position:relative;transition:transform .2s,border-color .2s,box-shadow .2s;animation:popIn .28s cubic-bezier(.34,1.5,.64,1) both;}
.favcard:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.3);}
.fc-flag{font-size:16px;margin-bottom:5px;}
.fc-name{font-size:10.5px;font-weight:700;color:var(--text-0);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-display);}
.fc-time{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--text-0);}
.fc-off{font-size:9px;color:var(--text-2);font-family:var(--font-mono);margin-top:1px;}
.favrm{position:absolute;top:7px;right:7px;width:17px;height:17px;border-radius:50%;background:rgba(255,255,255,.05);border:1px solid var(--border);color:var(--text-2);cursor:pointer;display:none;align-items:center;justify-content:center;font-size:8px;transition:all .2s;}
.favcard:hover .favrm{display:flex;}
.favrm:hover{background:rgba(239,68,68,.15);color:var(--red);border-color:rgba(239,68,68,.3);}
#cgrid,#citygrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;}
.ccard{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r);padding:13px;cursor:pointer;position:relative;overflow:hidden;animation:cardIn .25s ease both;transition:border-color .2s,transform .2s,box-shadow .2s,background .2s;}
.ccard:hover{border-color:var(--border-hover);background:var(--bg-card-hover);transform:translateY(-3px);box-shadow:0 12px 36px rgba(0,0,0,.35);}
.cc-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;}
.cc-flag{font-size:19px;line-height:1;}
.cc-acts{display:flex;gap:2px;}
.icbtn{width:24px;height:24px;border-radius:6px;border:none;background:transparent;color:var(--text-2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .18s;}
.icbtn:hover{background:var(--accent-faint);color:var(--text-0);}
.icbtn.star.on{color:var(--amber);}
.icbtn.star.on svg path,.icbtn.star.on svg polygon{fill:currentColor;}
.icbtn.plan.on{color:var(--text-0);}
.cc-name{font-size:12px;font-weight:700;color:var(--text-0);margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-display);}
.cc-sub{font-size:8.5px;color:var(--blue);font-family:var(--font-mono);margin-bottom:1px;opacity:.85;}
.cc-tz{font-size:8.5px;color:var(--text-2);font-family:var(--font-mono);margin-bottom:8px;}
.cc-trow{display:flex;align-items:baseline;gap:3px;}
.cc-t{font-family:var(--font-mono);font-size:18px;font-weight:600;color:var(--text-0);letter-spacing:-.02em;}
.cc-ampm{font-size:9.5px;color:var(--text-2);font-family:var(--font-mono);}
.cc-date{font-size:9px;color:var(--text-2);margin-top:1px;font-family:var(--font-mono);}
.cc-utc{font-family:var(--font-mono);font-size:9.5px;color:var(--text-2);margin-top:2px;}
.cc-sbar{display:flex;align-items:center;gap:4px;margin-top:9px;padding-top:8px;border-top:1px solid var(--border);}
.cc-stxt{font-size:9.5px;font-family:var(--font-mono);letter-spacing:.04em;}
.ubadge{font-size:8.5px;font-family:var(--font-mono);color:var(--text-0);letter-spacing:.1em;text-transform:uppercase;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:1px 6px;border-radius:50px;margin-left:auto;}
.nores{grid-column:1/-1;text-align:center;padding:48px 0;color:var(--text-2);}
.nores h3{font-family:var(--font-display);font-size:16px;color:var(--text-1);margin-bottom:6px;}
.diff-row{display:grid;grid-template-columns:1fr auto 1fr;gap:11px;align-items:center;margin-bottom:20px;}
.diff-sel{padding:8px 11px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-0);font-family:var(--font-body);font-size:12px;outline:none;cursor:pointer;width:100%;transition:border-color .2s;}
.diff-sel:focus{border-color:var(--border-hover);}
.diff-sel option{background:var(--bg-2);}
.diff-res{padding:24px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r);text-align:center;}
.diff-num{font-family:var(--font-display);font-size:64px;font-weight:800;letter-spacing:-.04em;color:var(--text-0);line-height:1;margin-bottom:6px;}
.diff-lbl{color:var(--text-2);font-size:12.5px;font-family:var(--font-mono);}
.diff-det{color:var(--text-2);font-size:10.5px;margin-top:5px;font-family:var(--font-mono);}
.diff-vis{display:flex;align-items:center;justify-content:center;gap:0;margin-top:18px;flex-wrap:wrap;}
.dvc{text-align:center;padding:12px 18px;background:var(--accent-faint);border:1px solid var(--border);border-radius:var(--r-sm);}
.dvn{font-size:10.5px;color:var(--text-2);margin-bottom:3px;font-family:var(--font-mono);}
.dvt{font-family:var(--font-display);font-size:17px;font-weight:700;color:var(--text-0);}
.darrow{padding:0 12px;color:var(--text-3);}
