/* Mobile-first Deepin-inspired styling - focused on Android UX */
:root{
  --bg1: #0b1220;
  --bg2: #0f1728;
  --accent: #7ed957;
  --text: #e8eef8;
  --muted: rgba(232,238,248,0.7);
  --card-opacity: 0.04;
  --radius: 14px;
  --ui-gap: 12px;
  --font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial;
  --touch-size: 48px;
}

*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{
  background: linear-gradient(180deg,var(--bg1),var(--bg2));
  color:var(--text);
  font-family:var(--font-family);
  -webkit-font-smoothing:antialiased;
  padding:env(safe-area-inset-top) 14px env(safe-area-inset-bottom);
  display:flex;
  justify-content:center;
}
.app{width:100%;max-width:480px;margin:0 auto}

/* top bar */
.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 6px;border-radius:12px}
.time-block .time{font-size:36px;font-weight:700;line-height:1}
.time-block .date{font-size:12px;color:var(--muted);margin-top:6px}
.icon-btn{width:44px;height:44px;border-radius:12px;border:none;background:rgba(255,255,255,0.02);color:inherit;font-size:18px;display:inline-flex;align-items:center;justify-content:center}

/* search */
.search-area{padding:6px}
.search-form{display:flex;gap:8px;background:linear-gradient(180deg, rgba(255,255,255,var(--card-opacity)), rgba(255,255,255,calc(var(--card-opacity)/2)));padding:10px;border-radius:12px;align-items:center}
.search-form select{background:transparent;border:none;color:inherit;padding:8px;border-radius:8px;font-size:14px}
.search-form input{flex:1;padding:12px;border-radius:10px;border:none;background:transparent;color:inherit;font-size:16px;outline:none}
.search-form button{width:44px;height:44px;border-radius:10px;border:none;background:var(--accent);color:#072014;display:inline-flex;align-items:center;justify-content:center;font-weight:700}

/* shortcuts */
.shortcuts-section{padding:10px 0}
.shortcuts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.shortcuts-header h2{font-size:16px;margin:0}
.shortcuts-actions{display:flex;gap:8px}
.primary{background:var(--accent);color:#072014;border:none;padding:10px 12px;border-radius:10px;font-weight:700}
.ghost{background:transparent;border:1px solid rgba(255,255,255,0.04);padding:10px 10px;border-radius:10px;color:var(--muted)}
.shortcuts-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;list-style:none;padding:0;margin:0}
.shortcut-card{background:linear-gradient(180deg, rgba(255,255,255,var(--card-opacity)), rgba(255,255,255,calc(var(--card-opacity)/2)));border-radius:12px;padding:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:84px;text-align:center;user-select:none;touch-action:manipulation;transition:transform .12s,box-shadow .12s}
.shortcut-card .icon{font-size:22px;margin-bottom:8px}
.shortcut-card .title{font-size:13px;font-weight:600}

/* hint and footer */
.hint{font-size:12px;color:var(--muted);margin-top:10px;text-align:center}
.footer{font-size:12px;color:var(--muted);text-align:center;margin:16px 0}

/* bottom nav (mobile) */
.bottom-bar{position:fixed;left:0;right:0;bottom:8px;display:flex;justify-content:center;padding:0 12px}
.bottom-bar .bb-btn{width:56px;height:56px;border-radius:16px;background:rgba(255,255,255,0.03);border:none;margin:0 6px;font-size:20px;display:inline-flex;align-items:center;justify-content:center}

/* modal - full-screen mobile card */
.modal{position:fixed;inset:0;background:rgba(0,0,0,0.5);display:none;align-items:flex-end;justify-content:center;padding:0 10px;z-index:999}
.modal[aria-hidden="false"]{display:flex}
.modal-card{width:100%;max-width:480px;background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.02));border-radius:16px 16px 0 0;box-shadow:0 -10px 30px rgba(0,0,0,0.6);max-height:92vh;overflow:hidden;display:flex;flex-direction:column}
.modal-top{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,0.03)}
.modal-scroll{overflow:auto;padding:12px;display:grid;gap:12px}
.cfg-block{background:transparent;border-radius:10px;padding:6px}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:8px;font-size:14px}
.field input[type="color"]{height:40px;border-radius:8px;border:none;padding:4px}
.row{display:flex;gap:8px;align-items:center}
.small .row-gap{display:flex;flex-direction:column;gap:8px}
.muted{color:var(--muted);font-size:13px}
.modal-foot{display:flex;justify-content:space-between;align-items:center;padding:12px;border-top:1px solid rgba(255,255,255,0.03)}
.danger{background:transparent;border:1px solid rgba(255,255,255,0.06);padding:10px 14px;border-radius:10px}

/* switches */
.switch{display:flex;justify-content:space-between;align-items:center;padding:10px 0}
.switch input{width:40px;height:24px;appearance:none;background:rgba(255,255,255,0.06);border-radius:12px;position:relative}
.switch input:checked{background:var(--accent)}
.switch input:before{content:'';position:relative;left:0;top:0;width:20px;height:20px;background:#fff;border-radius:10px;display:inline-block;margin:2px}
.switch input:checked:before{transform:translateX(16px)}

/* responsive adjustments - tighter grid on small screens */
@media (max-width:380px){
  .shortcuts-list{grid-template-columns:repeat(3,1fr)}
  .time-block .time{font-size:32px}
  .bottom-bar .bb-btn{width:50px;height:50px}
}
