:root{
    --bg:#12151a;
    --panel:#1b1f26;
    --panel-2:#232833;
    --line:#2f3542;
    --line-soft:#252a34;
    --text:#e9edf3;
    --muted:#8b93a5;
    --muted-dim:#5c6577;
    --lcd-bg:#0c1310;
    --lcd-fg:#8ffcb0;
    --lcd-fg-soft:rgba(143,252,176,.45);
    --amber:#ffb454;
    --amber-soft:rgba(255,180,84,.14);
    --danger:#ff7a7a;
    --radius:16px;
    --radius-sm:10px;
    --mono:'JetBrains Mono', ui-monospace, SFMono-Regular, monospace;
    --sans:'Inter', system-ui, -apple-system, sans-serif;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{
    background:
      radial-gradient(1200px 600px at 15% -10%, #1a2530 0%, transparent 60%),
      radial-gradient(1000px 500px at 100% 0%, #201a2b 0%, transparent 55%),
      var(--bg);
    color:var(--text);
    font-family:var(--sans);
    min-height:100vh;
    padding:28px 16px 60px;
  }
  .wrap{max-width:920px;margin:0 auto;}

  /* ---------- Header ---------- */
  header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap;}
  .brand{display:flex;align-items:center;gap:12px;}
  .brand-mark{
    width:42px;height:42px;border-radius:11px;
    background:linear-gradient(155deg,#2a3040,#1a1e26);
    border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;
    position:relative;overflow:hidden;
  }
  .brand-mark::after{
    content:"";position:absolute;inset:0;
    background:conic-gradient(from 220deg, transparent 0%, rgba(143,252,176,.25) 12%, transparent 24%);
  }
  .brand-mark svg{position:relative;z-index:1;}
  .brand h1{font-size:20px;letter-spacing:.06em;margin:0;font-weight:800;text-transform:uppercase;}
  .brand p{margin:2px 0 0;color:var(--muted);font-size:12.5px;}
  .status-chip{
    font-family:var(--mono);font-size:11px;color:var(--muted);
    border:1px solid var(--line);padding:6px 10px;border-radius:999px;
    display:flex;align-items:center;gap:7px;background:var(--panel);
  }
  .status-dot{width:6px;height:6px;border-radius:50%;background:var(--lcd-fg);box-shadow:0 0 8px var(--lcd-fg);}

  /* ---------- Tab selector (signature element) ---------- */
  .selector{
    display:grid;grid-template-columns:repeat(6,1fr);
    gap:6px;background:var(--panel);border:1px solid var(--line);
    padding:6px;border-radius:14px;margin-bottom:18px;
  }
  .tab{
    display:flex;flex-direction:column;align-items:center;gap:6px;
    padding:10px 4px 9px;border-radius:10px;border:1px solid transparent;
    background:transparent;color:var(--muted);cursor:pointer;
    font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.03em;
    text-transform:uppercase;transition:all .18s ease;
    position:relative;
  }
  .tab svg{width:19px;height:19px;stroke:var(--muted);transition:stroke .18s ease, transform .18s ease;}
  .tab:hover{color:var(--text);}
  .tab:hover svg{stroke:var(--text);}
  .tab.active{
    background:var(--panel-2);border-color:var(--line);color:var(--lcd-fg);
  }
  .tab.active svg{stroke:var(--lcd-fg);transform:translateY(-1px);}
  .tab.active::before{
    content:"";position:absolute;bottom:-7px;left:50%;transform:translateX(-50%);
    width:5px;height:5px;border-radius:50%;background:var(--lcd-fg);box-shadow:0 0 6px var(--lcd-fg);
  }

  /* ---------- Panel shell ---------- */
  .panel{
    background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
    padding:22px;animation:fade .25s ease;
  }
  @keyframes fade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}
  .module{display:none;}
  .module.active{display:block;}
  .panel h2{margin:0 0 4px;font-size:15px;letter-spacing:.04em;text-transform:uppercase;}
  .panel .sub{color:var(--muted);font-size:12.5px;margin:0 0 18px;}

  /* ---------- LCD display ---------- */
  .lcd{
    background:var(--lcd-bg);border:1px solid #0a100d;border-radius:var(--radius-sm);
    padding:18px 16px;font-family:var(--mono);position:relative;overflow:hidden;
    box-shadow:inset 0 2px 10px rgba(0,0,0,.5);
  }
  .lcd::after{
    content:"";position:absolute;inset:0;
    background:repeating-linear-gradient(0deg, rgba(255,255,255,.02) 0px, rgba(255,255,255,.02) 1px, transparent 1px, transparent 3px);
    pointer-events:none;
  }
  .lcd-sub{color:var(--lcd-fg-soft);font-size:12px;min-height:16px;word-break:break-all;}
  .lcd-main{color:var(--lcd-fg);font-size:32px;font-weight:600;text-shadow:0 0 14px rgba(143,252,176,.35);word-break:break-all;line-height:1.15;margin-top:2px;}

  /* ---------- Calculator ---------- */
  .calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px;}
  .key{
    background:var(--panel-2);border:1px solid var(--line);color:var(--text);
    font-family:var(--sans);font-size:16px;font-weight:600;padding:16px 0;border-radius:10px;
    cursor:pointer;transition:all .12s ease;
  }
  .key:hover{border-color:var(--muted-dim);background:#282e3a;}
  .key:active{transform:scale(.96);}
  .key.op{color:var(--amber);background:var(--amber-soft);border-color:rgba(255,180,84,.25);}
  .key.eq{background:var(--lcd-fg);color:#0c1310;border-color:var(--lcd-fg);}
  .key.eq:hover{background:#a3ffc4;}
  .key.wide{grid-column:span 2;}
  .key.func{color:var(--muted);}

  /* ---------- Converter rows (currency / crypto) ---------- */
  .conv-row{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:end;margin-top:16px;}
  .field{display:flex;flex-direction:column;gap:6px;}
  .field label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);}
  select, input[type=number], input[type=text]{
    background:var(--panel-2);border:1px solid var(--line);color:var(--text);
    padding:11px 10px;border-radius:10px;font-family:var(--sans);font-size:14px;width:100%;
    outline:none;
  }
  select:focus, input:focus{border-color:var(--lcd-fg-soft);}
  .swap-btn{
    width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--panel-2);
    color:var(--amber);cursor:pointer;display:flex;align-items:center;justify-content:center;
    align-self:center;margin-top:16px;transition:transform .2s ease;
  }
  .swap-btn:hover{transform:rotate(180deg);border-color:var(--amber);}
  .amount-row{margin-top:14px;}
  .meta-row{display:flex;justify-content:space-between;align-items:center;margin-top:14px;flex-wrap:wrap;gap:8px;}
  .meta-row .muted{color:var(--muted);font-size:11.5px;font-family:var(--mono);}
  .refresh-btn{
    background:var(--panel-2);border:1px solid var(--line);color:var(--text);
    padding:8px 12px;border-radius:999px;font-size:11.5px;cursor:pointer;font-family:var(--sans);
    display:flex;align-items:center;gap:6px;
  }
  .refresh-btn:hover{border-color:var(--lcd-fg-soft);color:var(--lcd-fg);}
  .refresh-btn svg{width:13px;height:13px;}
  .err-note{color:var(--danger);font-size:11.5px;margin-top:10px;font-family:var(--mono);display:none;}

  /* mini price ticker */
  .ticker{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-top:18px;}
  .tick-item{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:10px;padding:9px 10px;}
  .tick-item .sym{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
  .tick-item .val{font-family:var(--mono);font-size:13.5px;margin-top:2px;color:var(--text);}

  /* ---------- World clock ---------- */
  .clock-controls{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:end;margin-bottom:18px;}
  .diff-readout{text-align:center;font-family:var(--mono);color:var(--muted);font-size:11px;margin-top:16px;}
  .diff-readout b{color:var(--amber);font-size:13px;}
  .clock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:8px;}
  .clock-card{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:12px;padding:13px 14px;}
  .clock-card .city{font-size:13px;font-weight:600;}
  .clock-card .country{font-size:11px;color:var(--muted);margin-bottom:8px;}
  .clock-card .time{font-family:var(--mono);font-size:19px;color:var(--lcd-fg);}
  .clock-card .date{font-family:var(--mono);font-size:10.5px;color:var(--muted-dim);margin-top:2px;}

  /* ---------- Units ---------- */
  .cat-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;margin-bottom:4px;}
  .cat-btn{
    background:var(--panel-2);border:1px solid var(--line);color:var(--muted);
    padding:7px 13px;border-radius:999px;font-size:12px;cursor:pointer;font-family:var(--sans);font-weight:500;
  }
  .cat-btn.active{color:var(--lcd-fg);border-color:var(--lcd-fg-soft);background:rgba(143,252,176,.06);}

  /* ---------- Social sizes ---------- */
  .platform-select{margin-top:14px;}
  .size-table{width:100%;border-collapse:collapse;margin-top:16px;font-size:13px;}
  .size-table th{
    text-align:left;color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;
    padding:0 10px 8px;border-bottom:1px solid var(--line);font-weight:600;
  }
  .size-table td{padding:10px;border-bottom:1px solid var(--line-soft);}
  .size-table tr:last-child td{border-bottom:none;}
  .size-table .dims{font-family:var(--mono);color:var(--lcd-fg);}
  .size-table .note{color:var(--muted-dim);font-size:11.5px;}
  .plat-logos{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
  .plat-chip{
    background:var(--panel-2);border:1px solid var(--line);padding:8px 12px;border-radius:10px;
    font-size:12px;cursor:pointer;color:var(--muted);font-weight:500;
  }
  .plat-chip.active{color:var(--text);border-color:var(--amber);background:var(--amber-soft);}

  footer{text-align:center;color:var(--muted-dim);font-size:11px;margin-top:22px;font-family:var(--mono);}

  @media(max-width:640px){
    .selector{grid-template-columns:repeat(3,1fr);}
    .conv-row{grid-template-columns:1fr;}
    .swap-btn{justify-self:center;margin:0;transform:rotate(90deg);}
    .swap-btn:hover{transform:rotate(270deg);}
    .clock-controls{grid-template-columns:1fr;}
    .lcd-main{font-size:24px;}
  }
  :focus-visible{outline:2px solid var(--lcd-fg-soft);outline-offset:2px;}
  @media (prefers-reduced-motion: reduce){
    *{animation:none !important;transition:none !important;}
  }
