﻿    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --bg: #07101f; --teal: #1D9E75; --teal-dim: rgba(29,158,117,0.18);
      --teal-glow: rgba(29,158,117,0.45); --amber: #EF9F27;
      --amber-dim: rgba(239,159,39,0.15); --red: #E24B4A;
      --red-dim: rgba(226,75,74,0.15); --text: #e8eef4;
      --text-dim: rgba(232,238,244,0.45); --glass: rgba(7,16,31,0.72);
      --glass-border: rgba(29,158,117,0.22); --panel-blur: blur(18px);
      --font-display: 'Cinzel', serif; --font-ui: 'Inter', sans-serif;
    }
    html, body { width:100%; height:100%; background:var(--bg); color:var(--text); font-family:var(--font-ui); overflow:hidden; user-select:none; }
    #globe-container { position:fixed; inset:0; z-index:0; }
    #globe-container::after { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at center, transparent 48%, rgba(7,16,31,0.72) 100%); pointer-events:none; z-index:1; }
    #hud { position:fixed; inset:0; z-index:10; pointer-events:none; opacity:0; transition:opacity 1s ease 0.3s; }
    #hud.visible { opacity:1; }
    .panel { background:var(--glass); border:1px solid var(--glass-border); backdrop-filter:var(--panel-blur); -webkit-backdrop-filter:var(--panel-blur); border-radius:8px; pointer-events:all; }
    #topbar { position:absolute; top:20px; left:50%; transform:translateX(-50%); width:min(860px,92vw); height:52px; display:flex; align-items:center; justify-content:space-between; padding:0 20px; gap:16px; }
    #game-title { font-family:var(--font-display); font-size:15px; font-weight:600; letter-spacing:0.18em; color:var(--teal); text-transform:uppercase; white-space:nowrap; text-shadow:0 0 20px var(--teal-glow); }
    #game-title span { color:var(--text-dim); font-weight:400; letter-spacing:0.06em; }
    #date-display { font-size:12px; font-weight:500; letter-spacing:0.12em; color:var(--text); text-align:center; }
    #date-display .date-day { font-family:var(--font-display); font-size:16px; font-weight:600; color:var(--text); letter-spacing:0.08em; }
    #date-display .date-sub { font-size:10px; color:var(--text-dim); letter-spacing:0.14em; text-transform:uppercase; }
    #time-controls { display:flex; align-items:center; gap:6px; }
    .time-btn { width:32px; height:32px; border-radius:6px; border:1px solid var(--glass-border); background:rgba(29,158,117,0.08); color:var(--text-dim); font-size:11px; font-weight:600; font-family:var(--font-ui); cursor:pointer; transition:all 0.15s ease; display:flex; align-items:center; justify-content:center; letter-spacing:0.05em; }
    .time-btn:hover { background:var(--teal-dim); color:var(--teal); border-color:var(--teal); }
    .time-btn.active { background:var(--teal-dim); color:var(--teal); border-color:var(--teal); box-shadow:0 0 12px var(--teal-glow); }
    .time-btn.paused { background:var(--red-dim); color:var(--red); border-color:var(--red); }
    #nation-panel { position:absolute; left:20px; top:50%; transform:translateY(-50%); width:210px; padding:20px 18px; }
    .panel-label { font-size:9px; font-weight:600; letter-spacing:0.22em; text-transform:uppercase; color:var(--text-dim); margin-bottom:14px; }
    .nation-name { font-family:var(--font-display); font-size:18px; font-weight:700; color:var(--teal); letter-spacing:0.06em; text-shadow:0 0 24px var(--teal-glow); margin-bottom:18px; }
    .stat-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
    .stat-label { font-size:10px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-dim); }
    .stat-value { font-size:12px; font-weight:600; color:var(--text); }
    .stat-bar-wrap { width:100%; height:2px; background:rgba(255,255,255,0.07); border-radius:2px; margin-top:4px; margin-bottom:12px; overflow:hidden; }
    .stat-bar { height:100%; border-radius:2px; transition:width 0.6s ease; }
    .bar-teal { background:var(--teal); box-shadow:0 0 6px var(--teal-glow); }
    .bar-amber { background:var(--amber); }
    .bar-red { background:var(--red); }
    #alerts-panel { position:absolute; right:20px; top:50%; transform:translateY(-50%); width:220px; padding:20px 18px; max-height:380px; }
    .alert-item { display:flex; align-items:flex-start; gap:10px; margin-bottom:14px; padding-bottom:14px; border-bottom:1px solid rgba(255,255,255,0.05); }
    .alert-item:last-child { border-bottom:none; margin-bottom:0; padding-bottom:0; }
    .alert-dot { width:7px; height:7px; border-radius:50%; margin-top:4px; flex-shrink:0; }
    .dot-teal { background:var(--teal); box-shadow:0 0 6px var(--teal-glow); }
    .dot-amber { background:var(--amber); }
    .dot-red { background:var(--red); animation:pulse-red 2s infinite; }
    @keyframes pulse-red { 0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(226,75,74,0.6)}50%{opacity:0.7;box-shadow:0 0 0 5px rgba(226,75,74,0)} }
    .alert-text { font-size:11px; line-height:1.5; color:var(--text-dim); }
    .alert-text strong { display:block; font-size:11px; font-weight:600; color:var(--text); margin-bottom:2px; }
    .alert-time { font-size:9px; letter-spacing:0.1em; color:rgba(232,238,244,0.28); margin-top:2px; }
    #statusbar { position:absolute; bottom:20px; left:50%; transform:translateX(-50%); width:min(860px,92vw); height:44px; display:flex; align-items:center; padding:0 20px; }
    .status-block { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; border-right:1px solid rgba(255,255,255,0.06); padding:0 12px; }
    .status-block:last-child { border-right:none; }
    .status-block .s-label { font-size:8px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--text-dim); }
    .status-block .s-val { font-size:13px; font-weight:600; margin-top:1px; }
    .s-teal { color:var(--teal); } .s-amber { color:var(--amber); } .s-red { color:var(--red); } .s-white { color:var(--text); }
    #ministers-btn { position:absolute; bottom:80px; left:50%; transform:translateX(-50%); height:36px; padding:0 22px; border-radius:6px; background:var(--teal-dim); border:1px solid var(--teal); color:var(--teal); font-family:var(--font-ui); font-size:11px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; cursor:pointer; transition:all 0.18s ease; pointer-events:all; }
    #ministers-btn:hover { background:rgba(29,158,117,0.28); box-shadow:0 0 20px var(--teal-glow); }
    #ministers-overlay { position:fixed; inset:0; z-index:50; display:flex; align-items:center; justify-content:center; background:rgba(7,16,31,0.82); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); opacity:0; pointer-events:none; transition:opacity 0.25s ease; }
    #ministers-overlay.open { opacity:1; pointer-events:all; }
    #ministers-panel { width:min(720px,94vw); max-height:90vh; overflow-y:auto; padding:28px 24px; border-radius:12px; background:rgba(7,16,31,0.92); border:1px solid var(--glass-border); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); }
    #ministers-panel::-webkit-scrollbar { width:4px; }
    #ministers-panel::-webkit-scrollbar-thumb { background:var(--teal-dim); border-radius:2px; }
    .ministers-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid var(--glass-border); }
    .ministers-title { font-family:var(--font-display); font-size:14px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--teal); text-shadow:0 0 16px var(--teal-glow); }
    .ministers-close { width:28px; height:28px; border-radius:5px; border:1px solid var(--glass-border); background:transparent; color:var(--text-dim); font-size:14px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all 0.15s ease; font-family:var(--font-ui); }
    .ministers-close:hover { border-color:var(--red); color:var(--red); }
    .minister-card { display:flex; align-items:flex-start; gap:14px; padding:16px; border-radius:8px; border:1px solid rgba(29,158,117,0.1); background:rgba(29,158,117,0.04); margin-bottom:10px; cursor:pointer; transition:all 0.18s ease; }
    .minister-card:last-child { margin-bottom:0; }
    .minister-card:hover { border-color:rgba(29,158,117,0.35); background:rgba(29,158,117,0.09); }
    .minister-card.expanded { border-color:var(--teal); background:rgba(29,158,117,0.12); }
    .minister-status { width:9px; height:9px; border-radius:50%; margin-top:5px; flex-shrink:0; }
    .ms-green { background:var(--teal); box-shadow:0 0 8px var(--teal-glow); }
    .ms-amber { background:var(--amber); box-shadow:0 0 8px rgba(239,159,39,0.5); }
    .ms-red { background:var(--red); box-shadow:0 0 8px rgba(226,75,74,0.5); animation:pulse-red 2s infinite; }
    .minister-info { flex:1; min-width:0; }
    .minister-meta { display:flex; align-items:baseline; gap:10px; margin-bottom:4px; flex-wrap:wrap; }
    .minister-name { font-family:var(--font-display); font-size:13px; font-weight:600; color:var(--text); letter-spacing:0.04em; }
    .minister-role { font-size:9px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--text-dim); border:1px solid rgba(232,238,244,0.12); border-radius:3px; padding:2px 7px; }
    .minister-briefing { font-size:11px; line-height:1.55; color:var(--text-dim); }
    .minister-full { margin-top:12px; padding-top:12px; border-top:1px solid rgba(29,158,117,0.15); font-size:11px; line-height:1.7; color:rgba(232,238,244,0.7); display:none; animation:fadeIn 0.2s ease; }
    .minister-card.expanded .minister-full { display:block; }
    @keyframes fadeIn { from{opacity:0;transform:translateY(-4px)} to{opacity:1;transform:translateY(0)} }
    .minister-expand-icon { font-size:10px; color:var(--text-dim); align-self:center; flex-shrink:0; transition:transform 0.2s ease; }
    .minister-card.expanded .minister-expand-icon { transform:rotate(180deg); color:var(--teal); }
    #loader { position:fixed; inset:0; z-index:100; background:var(--bg); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; transition:opacity 0.8s ease; }
    #loader.hidden { opacity:0; pointer-events:none; }
    .loader-title { font-family:var(--font-display); font-size:clamp(24px,4vw,38px); font-weight:700; color:var(--teal); letter-spacing:0.2em; text-transform:uppercase; text-shadow:0 0 40px var(--teal-glow); }
    .loader-sub { font-size:11px; letter-spacing:0.28em; text-transform:uppercase; color:var(--text-dim); }
    .loader-bar-wrap { width:200px; height:2px; background:rgba(255,255,255,0.08); border-radius:2px; overflow:hidden; margin-top:8px; }
    .loader-bar { height:100%; width:0%; background:var(--teal); box-shadow:0 0 10px var(--teal-glow); border-radius:2px; animation:load-fill 2.2s cubic-bezier(0.4,0,0.2,1) forwards; }
    @keyframes load-fill { 0%{width:0%}60%{width:75%}90%{width:92%}100%{width:100%} }
    @media (max-width:480px) { #nation-panel,#alerts-panel{display:none} #ministers-panel{padding:20px 16px} .minister-card{padding:14px 12px} }

