:root{--bg:#0f1226;--panel:#1a1e3a;--panel2:#232a52;--text:#eef1ff;--muted:#9aa3d0;--accent:#5b8cff;--accent2:#36e0a0;--danger:#ff5c7a;--border:#2c335f}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:linear-gradient(180deg,#0c0f22,#13183a);color:var(--text);line-height:1.6;min-height:100vh}
.wrap{max-width:920px;margin:0 auto;padding:0 16px}
.topbar{background:rgba(13,16,38,.85);border-bottom:1px solid var(--border);backdrop-filter:blur(6px);position:sticky;top:0;z-index:20}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:12px 16px}
.brand{font-weight:800;font-size:18px;color:var(--text);text-decoration:none}
.mainnav{display:flex;gap:6px;flex-wrap:wrap}
.mainnav a{color:var(--muted);text-decoration:none;font-size:14px;font-weight:600;padding:6px 10px;border-radius:8px}
.mainnav a:hover,.mainnav a.cur{color:var(--text);background:var(--panel2)}
.crumb{color:var(--muted);font-size:13px;margin:14px 0 0}
.crumb a{color:var(--accent);text-decoration:none}
.crumb span{color:var(--text)}
header{padding:22px 0 8px;text-align:center}
header h1{font-size:clamp(26px,5vw,38px);font-weight:800;letter-spacing:-.5px}
header p{color:var(--muted);margin-top:8px;font-size:16px}
.clocknow{font-variant-numeric:tabular-nums;font-size:clamp(28px,7vw,48px);font-weight:800;text-align:center;margin:16px 0 4px}
.datenow{text-align:center;color:var(--muted);margin-bottom:8px}
.tabs{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:18px 0}
.tabs button{background:var(--panel);color:var(--muted);border:1px solid var(--border);padding:10px 16px;border-radius:10px;font-size:15px;cursor:pointer;font-weight:600}
.tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:24px;margin:18px 0}
.panel.hidden{display:none}
.bigtime{font-variant-numeric:tabular-nums;font-size:clamp(48px,15vw,96px);font-weight:800;text-align:center;letter-spacing:2px;margin:8px 0 18px}
.row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;align-items:center}
input,select{background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-size:16px;font-variant-numeric:tabular-nums}
input[type=number]{width:90px;text-align:center}
label{color:var(--muted);font-size:14px;display:block;margin-bottom:6px}
.btn{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:13px 22px;font-size:16px;font-weight:700;cursor:pointer}
.btn.green{background:var(--accent2);color:#06281c}.btn.red{background:var(--danger)}
.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text)}
.btn:active{transform:translateY(1px)}
.field{text-align:center}.muted{color:var(--muted)}
.laps{max-height:180px;overflow:auto;margin-top:14px;font-variant-numeric:tabular-nums}
.laps div{display:flex;justify-content:space-between;padding:7px 10px;border-bottom:1px solid var(--border);color:var(--muted)}
.world{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.wc{background:var(--panel2);border:1px solid var(--border);border-radius:12px;padding:16px}
.wc .city{font-weight:700}
.wc .t{font-size:28px;font-variant-numeric:tabular-nums;font-weight:800;margin-top:4px}
.wc .d{color:var(--muted);font-size:13px}
.alarmlist{margin-top:16px}
.alarmlist .item{display:flex;justify-content:space-between;align-items:center;background:var(--panel2);border:1px solid var(--border);border-radius:10px;padding:10px 14px;margin-bottom:8px}
.ringing{animation:flash 1s infinite}@keyframes flash{50%{background:var(--accent)}}
.bigtime.brk{color:var(--accent2)}
/* preset link blocks (vclock-style grouping) */
.preset{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:14px 0}
.preset a,.preset button{background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:8px 16px;font-size:14px;text-decoration:none;cursor:pointer}
.presets{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:18px;margin:18px 0}
.presetgroup{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--border)}
.presetgroup:last-child{border-bottom:none}
.pglabel{color:var(--muted);font-size:13px;font-weight:700;min-width:64px;text-transform:uppercase;letter-spacing:.5px}
.presetrow{display:flex;gap:8px;flex-wrap:wrap}
.presetrow a{background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:6px 14px;font-size:14px;text-decoration:none}
.presetrow a:hover{border-color:var(--accent)}
.presetrow a.cur{background:var(--accent);color:#fff;border-color:var(--accent)}
.adslot{border:1px dashed var(--border);border-radius:12px;padding:18px;text-align:center;color:var(--muted);margin:24px 0;font-size:13px}
article{margin:30px 0}article h2{font-size:24px;margin:28px 0 12px}article h3{font-size:18px;margin:18px 0 8px}
article p,article li{color:#cfd5f5;margin-bottom:10px}article ul,article ol{padding-left:22px}
details{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px 18px;margin-bottom:10px}
summary{cursor:pointer;font-weight:600}
.cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:18px 0}
.toolcard{display:block;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px;text-decoration:none;color:var(--text);text-align:center}
.toolcard:hover{border-color:var(--accent)}
.toolcard .ic{font-size:28px}
.toolcard .nm{font-weight:700;margin-top:6px}
.toolcard .ds{color:var(--muted);font-size:13px;margin-top:4px}
footer{border-top:1px solid var(--border);margin-top:30px;padding:24px 0;text-align:center;color:var(--muted);font-size:14px}
footer a{color:var(--muted)}
.footnav{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:12px}
.footnav a{color:var(--accent);text-decoration:none;font-size:14px}
nav.site{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:14px}
nav.site a{color:var(--accent);text-decoration:none;font-size:14px}
/* cookie consent bar */
#cookiebar{position:fixed;left:0;right:0;bottom:0;background:#13183a;border-top:1px solid var(--border);padding:14px 16px;z-index:50;display:none}
#cookiebar.show{display:block}
#cookiebar .cwrap{max-width:920px;margin:0 auto;display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:center}
#cookiebar p{color:var(--muted);font-size:13px;margin:0;flex:1;min-width:220px}
#cookiebar a{color:var(--accent)}
#cookiebar button{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:9px 18px;font-weight:700;cursor:pointer}
.legal{max-width:760px}
.legal h2{font-size:22px;margin:26px 0 10px}
.legal h3{font-size:17px;margin:18px 0 8px}
.legal p,.legal li{color:#cfd5f5;margin-bottom:10px}
.legal ul{padding-left:22px}
.legal .updated{color:var(--muted);font-size:13px}
form.contact{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:20px;margin:18px 0;display:grid;gap:12px}
form.contact input,form.contact textarea{width:100%}
form.contact textarea{min-height:120px;resize:vertical}
