/* ════════════════════════════════════════════════════════
   NIGHTWINGS FLAPPY OWL — shell & chrome styles
   Canvas game (physics in flappy-owl-game.js). Nightwings look:
   void bg, gold accents, Bricolage + Hanken. EN/RO.
   ════════════════════════════════════════════════════════ */
.fo-app{
  position:fixed; inset:0; display:flex; flex-direction:column;
  background:
    radial-gradient(120% 90% at 82% -10%, #241452 0%, #150c31 42%, #0A0518 100%);
  color:#EDEAF7; font-family:var(--font-ui); overflow:hidden;
}
.fo-stars{position:absolute;inset:0;pointer-events:none;z-index:0;}
.fo-stars i{position:absolute;border-radius:50%;background:#fff;animation:foTwinkle 3.2s ease-in-out infinite;}
@keyframes foTwinkle{0%,100%{opacity:.25}50%{opacity:.9}}

/* ── top bar ── */
.fo-top{
  position:relative; z-index:6; display:flex; align-items:center; gap:14px;
  padding:14px 20px; border-bottom:1px solid rgba(245,184,0,.14);
  background:rgba(13,8,32,.4); backdrop-filter:blur(6px);
}
.fo-home{
  width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  color:#B4B2DC;font-size:22px;text-decoration:none;line-height:1;
  border:1px solid rgba(180,178,220,.18); transition:.18s;
}
.fo-home:hover{color:#fff;border-color:rgba(245,184,0,.5);background:rgba(245,184,0,.08);}
.fo-brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:#fff;}
.fo-brand img{width:26px;height:26px;object-fit:contain;}
.fo-brand b{font-family:var(--font-d);font-weight:800;font-size:15px;letter-spacing:.2px;}
.fo-brand .sep{width:1px;height:16px;background:rgba(180,178,220,.3);margin:0 3px;}
.fo-brand .game{font-family:var(--font-d);font-weight:700;font-size:15px;color:var(--nw-gold);}
.fo-spacer{flex:1;}
.fo-best{
  font-family:var(--font-mono);font-size:12px;font-weight:600;color:#B4B2DC;
  padding:6px 12px;border-radius:8px;border:1px solid rgba(180,178,220,.16);
  background:rgba(255,255,255,.03);
}
.fo-best b{color:var(--nw-gold);}
.fo-pill{display:flex;gap:2px;background:rgba(255,255,255,.04);border:1px solid rgba(180,178,220,.14);border-radius:9px;padding:3px;}
.fo-pill button{
  border:none;background:transparent;color:#8B87C4;font-family:var(--font-ui);
  font-weight:700;font-size:12px;letter-spacing:.4px;padding:5px 9px;border-radius:6px;cursor:pointer;transition:.15s;
}
.fo-pill button.on{background:var(--nw-gold);color:#1A1005;}
.fo-icon-btn{
  width:34px;height:34px;border-radius:9px;display:grid;place-items:center;cursor:pointer;font-size:16px;
  color:#B4B2DC;border:1px solid rgba(180,178,220,.16);background:rgba(255,255,255,.03);transition:.15s;
}
.fo-icon-btn:hover{color:#fff;border-color:rgba(245,184,0,.4);}
.fo-icon-btn.off{opacity:.5;}

/* ── stage ── */
.fo-stage{position:relative;z-index:2;flex:1;display:grid;place-items:center;padding:20px;min-height:0;}
.fo-frame{
  position:relative; border-radius:22px; overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.6), 0 0 0 1px rgba(245,184,0,.18), inset 0 0 0 4px rgba(0,0,0,.25);
  background:#8ec7e6;
}
#foCanvas{display:block;touch-action:none;image-rendering:pixelated;cursor:pointer;}

/* hint under canvas */
.fo-hint{
  position:absolute; z-index:6; left:50%; bottom:14px; transform:translateX(-50%);
  font-family:var(--font-ui);font-size:12.5px;color:rgba(255,255,255,.9);
  background:rgba(13,8,32,.5);border:1px solid rgba(245,184,0,.2);border-radius:20px;padding:7px 15px;
  display:flex;align-items:center;gap:8px;pointer-events:none;white-space:nowrap;
  backdrop-filter:blur(4px);
}

/* ── overlays drawn as DOM on top of canvas ── */
.fo-overlay{
  position:absolute; inset:0; z-index:8; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:1.1em; padding:1.6em;
  text-align:center; opacity:0; pointer-events:none; transition:opacity .25s;
}
.fo-overlay.on{opacity:1;pointer-events:auto;}
.fo-scrim{position:absolute;inset:0;background:rgba(13,8,32,.5);backdrop-filter:blur(2px);}
.fo-eyebrow{position:relative;font-family:var(--font-ui);font-weight:800;letter-spacing:.25em;
  font-size:.7em;color:var(--nw-gold);text-transform:uppercase;}
.fo-title{position:relative;font-family:var(--font-d);font-weight:800;color:#fff;line-height:1.02;
  font-size:3.5em;text-shadow:0 4px 0 rgba(199,120,0,.55),0 8px 24px rgba(0,0,0,.5);}
.fo-title .gold{color:var(--nw-gold);}
.fo-owl-hero{position:relative;width:7.5em;height:auto;filter:drop-shadow(0 10px 14px rgba(0,0,0,.4));animation:foBob 2.4s ease-in-out infinite;}
@keyframes foBob{0%,100%{transform:translateY(-6px) rotate(-5deg)}50%{transform:translateY(6px) rotate(3deg)}}
.fo-cta{
  position:relative; font-family:var(--font-d); font-weight:800; font-size:1em; letter-spacing:.3px;
  color:#1A1005; background:var(--nw-gold); border:none; border-radius:.75em; padding:.94em 1.9em; cursor:pointer;
  box-shadow:0 6px 0 #B98400, 0 12px 30px rgba(245,184,0,.3); transition:transform .12s, box-shadow .12s;
}
.fo-cta:hover{transform:translateY(-1px);box-shadow:0 7px 0 #B98400,0 16px 36px rgba(245,184,0,.4);}
.fo-cta:active{transform:translateY(4px);box-shadow:0 2px 0 #B98400;}
.fo-tip{position:relative;font-size:.78em;color:#B4B2DC;max-width:18em;line-height:1.55;}

/* game-over panel */
.fo-panel{
  position:relative; width:19em; max-width:92%; padding:1.5em 1.5em 1.4em;
  background:linear-gradient(180deg,#241348,#160b2f); border:1.5px solid rgba(245,184,0,.5);
  border-radius:20px; box-shadow:0 24px 60px rgba(0,0,0,.55);
}
.fo-panel h3{font-family:var(--font-d);font-weight:800;font-size:1.4em;color:#fff;}
.fo-panel .medal{
  width:4em;height:4em;border-radius:50%;margin:.85em auto .25em;display:grid;place-items:center;font-size:2em;
  background:radial-gradient(circle at 38% 32%,#FFE58A,#F5B800 58%,#B98400);
  border:3px solid #fff3cf;box-shadow:0 0 26px rgba(245,184,0,.5);
}
.fo-scorewrap{display:flex;gap:12px;margin-top:16px;}
.fo-sc{flex:1;background:rgba(255,255,255,.04);border:1px solid rgba(180,178,220,.14);border-radius:12px;padding:12px 8px;}
.fo-sc .v{font-family:var(--font-d);font-weight:800;font-size:1.6em;color:#fff;line-height:1;}
.fo-sc .v.gold{color:var(--nw-gold);}
.fo-sc .k{font-size:.62em;letter-spacing:1.2px;text-transform:uppercase;color:#8B87C4;margin-top:5px;font-weight:700;}
.fo-newbest{margin-top:12px;font-family:var(--font-d);font-weight:800;font-size:12px;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--nw-gold);display:none;}
.fo-newbest.on{display:block;animation:foPulse 1s ease-in-out infinite;}
@keyframes foPulse{0%,100%{opacity:.6}50%{opacity:1}}
.fo-panel .acts{display:flex;flex-direction:column;gap:9px;margin-top:18px;}
.fo-btn{font-family:var(--font-d);font-weight:800;font-size:.94em;border-radius:.7em;padding:.8em;cursor:pointer;border:none;transition:.14s;}
.fo-btn.primary{background:var(--nw-gold);color:#1A1005;box-shadow:0 5px 0 #B98400;}
.fo-btn.primary:hover{filter:brightness(1.05);}
.fo-btn.primary:active{transform:translateY(3px);box-shadow:0 2px 0 #B98400;}
.fo-btn.ghost{background:transparent;color:#B4B2DC;border:1.5px solid rgba(180,178,220,.25);box-shadow:none;}
.fo-btn.ghost:hover{color:#fff;border-color:rgba(245,184,0,.45);}

/* leaderboard mini */
.fo-lb{margin-top:16px;text-align:left;}
.fo-lb .cap{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:#8B87C4;font-weight:800;margin-bottom:7px;display:flex;align-items:center;gap:6px;}
.fo-lb .row{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:8px;font-size:13px;}
.fo-lb .row+.row{margin-top:2px;}
.fo-lb .row.you{background:rgba(245,184,0,.1);border:1px solid rgba(245,184,0,.28);}
.fo-lb .row .rk{width:20px;font-family:var(--font-mono);font-weight:700;color:#8B87C4;text-align:center;}
.fo-lb .row .nm{flex:1;font-weight:600;color:#EDEAF7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fo-lb .row .sc{font-family:var(--font-mono);font-weight:700;color:var(--nw-gold);}
.fo-lb .row .you-tag{font-size:9px;font-weight:800;letter-spacing:.5px;color:var(--nw-gold);border:1px solid rgba(245,184,0,.4);border-radius:5px;padding:1px 4px;}
.fo-lb .empty{font-size:12px;color:#8B87C4;padding:6px 2px;}

/* name prompt */
.fo-name{position:absolute;inset:0;z-index:12;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .22s;}
.fo-name.on{opacity:1;pointer-events:auto;}
.fo-name .box{position:relative;width:300px;max-width:90%;background:linear-gradient(180deg,#241348,#160b2f);
  border:1.5px solid rgba(245,184,0,.5);border-radius:20px;padding:24px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.55);}
.fo-name img{width:60px;height:auto;margin-bottom:6px;}
.fo-name input{width:100%;margin-top:14px;padding:13px 15px;border-radius:11px;border:1.5px solid rgba(180,178,220,.25);
  background:rgba(0,0,0,.25);color:#fff;font-family:var(--font-ui);font-size:15px;font-weight:600;outline:none;text-align:center;}
.fo-name input:focus{border-color:var(--nw-gold);}
.fo-name .box .fo-btn{width:100%;margin-top:14px;}

@media (max-width:520px){
  .fo-title{font-size:44px;}
  .fo-brand .game{display:none;}
}
