/* ==========================================================================
   Styl „Noc latarni” — włączany atrybutem <html data-theme="latarnie">.
   Letnia noc festiwalu: śliwkowo-czarne niebo z gwiazdami (celowo nie granat,
   żeby nie mylić z kolorem obrońcy), a jedynym światłem są papierowe lampiony.
   Główna akcja świeci jak lampion, panele są podświetlone ciepłą poświatą od
   góry, wybrane opcje wyglądają jak rozświetlony papier, a wzdłuż górnego
   paska wisi sznur lampionów. Kolory stron (--shu, --ai) i kolory heksów są
   wspólne z rendererem planszy — bez zmian.
   ========================================================================== */
html[data-theme="latarnie"]{
  --sumi:#0e0c12;          /* nocne niebo */
  --sumi2:#18141d;         /* panel */
  --sumi3:#221c28;
  --sumi4:#2c2433;
  --line:#2f2735;
  --line2:#4d3f4f;
  --washi:#fbeed6;
  --washi2:#f6dfb4;        /* nagłówki — papier lampionu */
  --ink:#0a080d;
  --text:#efe4d2;
  --text2:#a8998b;
  --gold:#f0a43a;          /* bursztyn lampionu */
  --gold-l:#ffc56b;
  --gold-bg:rgba(240,164,58,.12);
  --moss:#e8b86a;
  --hover:#201a26;
  /* prawa kolumna: karta podświetlona od góry jak panele, dziennik w cieniu */
  --sheet:radial-gradient(ellipse 80% 90px at 50% -30px,rgba(255,166,56,.12),transparent),linear-gradient(180deg,#1b1620,#151119);
  --well:rgba(0,0,0,.3);
  --well-line:rgba(255,220,170,.045);
  --stat:linear-gradient(180deg,#221b28,#19141e);
  --stat-line:#3a2f41;
  --stat-up:linear-gradient(180deg,rgba(240,164,58,.24),rgba(240,164,58,.08));
  --stat-up-v:var(--gold-l);
  --lamp:linear-gradient(180deg,#ffd98a,#f5a53c 55%,#d9791f);
  --paper:linear-gradient(180deg,#f8e6c2,#e9c88e);
  --glow:0 0 18px rgba(255,166,56,.45),0 0 4px rgba(255,200,120,.6);
  --shadow:0 14px 30px -20px #000;
  --stars:
    radial-gradient(1px 1px at 23px 41px,rgba(255,244,220,.8),transparent 60%),
    radial-gradient(1px 1px at 131px 17px,rgba(255,244,220,.55),transparent 60%),
    radial-gradient(1.5px 1.5px at 187px 139px,rgba(255,244,220,.7),transparent 60%),
    radial-gradient(1px 1px at 77px 173px,rgba(255,244,220,.45),transparent 60%),
    radial-gradient(1px 1px at 241px 97px,rgba(255,244,220,.6),transparent 60%),
    radial-gradient(1px 1px at 289px 211px,rgba(255,244,220,.4),transparent 60%);
}
html[data-theme="latarnie"] body{
  background:var(--stars),
    radial-gradient(ellipse at 50% 120%,rgba(240,140,40,.16),transparent 55%),
    radial-gradient(ellipse at 50% -20%,#2a1f36,var(--sumi) 70%);
  background-size:320px 240px,auto,auto;background-attachment:fixed;background-color:var(--sumi)}
html[data-theme="latarnie"] ::selection{background:rgba(240,164,58,.35)}
html[data-theme="latarnie"] *{scrollbar-color:#4d3f4f transparent}
html[data-theme="latarnie"] ::-webkit-scrollbar-thumb{background:#4d3f4f;background-clip:padding-box}

/* ——— przyciski: ciemne; główna akcja świeci jak lampion; wybrane = rozświetlony papier ——— */
html[data-theme="latarnie"] button{background:linear-gradient(180deg,#261f2c,#1d1822);border-color:#46394b;color:var(--text);box-shadow:inset 0 1px 0 rgba(255,220,170,.06)}
html[data-theme="latarnie"] button:hover:not(:disabled){background:linear-gradient(180deg,#2f2636,#241d2a);border-color:rgba(240,164,58,.55);color:#fff4e0}
html[data-theme="latarnie"] button.pri{background:var(--lamp);color:#2a1604;border-color:#ffd98a;font-weight:700;border-radius:10px;
  box-shadow:var(--glow),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 0 rgba(120,50,0,.25)}
html[data-theme="latarnie"] button.pri:hover:not(:disabled){background:linear-gradient(180deg,#ffe3a3,#f8b04c 55%,#e0852a);border-color:#ffe3a3;
  box-shadow:0 0 26px rgba(255,166,56,.6),0 0 6px rgba(255,210,140,.8),inset 0 1px 0 rgba(255,255,255,.55)}
html[data-theme="latarnie"] button.on{background:var(--paper);color:#2a1a08;border-color:#f8e6c2;font-weight:600;box-shadow:0 0 10px rgba(255,190,110,.25)}
html[data-theme="latarnie"] button.on:hover:not(:disabled){background:linear-gradient(180deg,#fcedd0,#efd29e)}
html[data-theme="latarnie"] button.danger{background:linear-gradient(180deg,#5a1f27,#43161d);border-color:#8d3a44}
html[data-theme="latarnie"] input,html[data-theme="latarnie"] select,html[data-theme="latarnie"] textarea{background:var(--ink);border-color:#46394b;color:var(--text)}
html[data-theme="latarnie"] input:focus,html[data-theme="latarnie"] select:focus,html[data-theme="latarnie"] textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(240,164,58,.2),0 0 12px rgba(240,164,58,.2)}
html[data-theme="latarnie"] input[type=checkbox],html[data-theme="latarnie"] input[type=radio],html[data-theme="latarnie"] input[type=range]{accent-color:var(--gold)}
html[data-theme="latarnie"] .tg[aria-pressed="true"],html[data-theme="latarnie"] button.tg-on,
html[data-theme="latarnie"] .viewtoggle button[aria-pressed="true"],html[data-theme="latarnie"] .themepick button[aria-pressed="true"]{
  background:var(--paper);border-color:#f8e6c2;color:#2a1a08;box-shadow:0 0 10px rgba(255,190,110,.3)}
html[data-theme="latarnie"] .viewswitch button.on{background:var(--lamp);color:#2a1604;border-color:#ffd98a;box-shadow:0 0 10px rgba(255,166,56,.4)}

/* ——— górny pasek ze sznurem lampionów ——— */
html[data-theme="latarnie"] #topbar{background:linear-gradient(180deg,#1c1622,#140f19);border-bottom:1px solid #2f2735;box-shadow:0 10px 24px -12px #000;margin-bottom:8px}
html[data-theme="latarnie"] #topbar::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:12px;pointer-events:none;
  background:
    radial-gradient(ellipse 4px 5px at 50% 7px,#ffd98a 0 60%,rgba(255,166,56,.45) 75%,transparent 100%) 0 0/56px 12px repeat-x,
    radial-gradient(ellipse 60% 70% at 50% 7px,rgba(255,166,56,.22),transparent 70%) 0 0/56px 12px repeat-x,
    linear-gradient(rgba(120,95,80,.6),rgba(120,95,80,.6)) 0 1px/100% 1px no-repeat}
html[data-theme="latarnie"] .seal{background:var(--lamp);color:#3a1c04;border-radius:40% 40% 44% 44%/30% 30% 50% 50%;transform:none;box-shadow:var(--glow)}
html[data-theme="latarnie"] .step::before{background:#1a1520;border-color:#4d3f4f}
html[data-theme="latarnie"] .step.done{color:#e8c890}
html[data-theme="latarnie"] .step.done::before{background:#3a2d22;border-color:#8a6a3a;color:#ffd98a}
html[data-theme="latarnie"] .step.cur{color:var(--gold-l);background:rgba(240,164,58,.1);box-shadow:inset 0 0 0 1px rgba(240,164,58,.45)}
html[data-theme="latarnie"] .step.cur::before{background:var(--lamp);border-color:#ffd98a;color:#2a1604;box-shadow:0 0 10px rgba(255,166,56,.6)}
html[data-theme="latarnie"] .pill{background:rgba(255,220,170,.04);border-color:#46394b}
html[data-theme="latarnie"] .pill.budget{color:var(--gold-l);border-color:rgba(240,164,58,.5)}

/* ——— panele podświetlone od góry ciepłym światłem ——— */
html[data-theme="latarnie"] #stage{background:none}
html[data-theme="latarnie"] .panel{background:radial-gradient(ellipse 70% 120px at 50% -40px,rgba(255,166,56,.13),transparent),linear-gradient(180deg,#1a151f,#141019);
  border:1px solid rgba(240,164,58,.16);border-radius:12px;box-shadow:0 16px 30px -22px #000,inset 0 1px 0 rgba(255,210,150,.07)}
html[data-theme="latarnie"] .panel > h2{background:none;padding-left:0;border-bottom-color:rgba(240,164,58,.18);justify-content:flex-start}
html[data-theme="latarnie"] .panel > h2::before{content:"";flex:0 0 auto;width:8px;height:11px;border-radius:40% 40% 45% 45%/30% 30% 50% 50%;
  background:var(--lamp);box-shadow:0 0 8px rgba(255,166,56,.7)}
html[data-theme="latarnie"] .panel > h2 > span{margin-left:auto}
html[data-theme="latarnie"] .panel > h2 > span ~ span{margin-left:0}
html[data-theme="latarnie"] .panel.sticky{background:radial-gradient(ellipse 70% 120px at 50% -40px,rgba(255,166,56,.13),transparent),#16121b}
html[data-theme="latarnie"] .money,html[data-theme="latarnie"] .chk .cc{color:var(--gold-l)}
html[data-theme="latarnie"] .warnbox{background:rgba(240,164,58,.08);border-color:rgba(240,164,58,.45)}
html[data-theme="latarnie"] .warnbox b{color:var(--gold-l)}
html[data-theme="latarnie"] table.tbl td{border-bottom-color:#241e2a}
html[data-theme="latarnie"] .budgetbar{background:#231c29}
html[data-theme="latarnie"] .budgetbar i{background:var(--lamp);box-shadow:0 0 10px rgba(255,166,56,.5)}
html[data-theme="latarnie"] .chk.on{background:rgba(240,164,58,.1);border-color:rgba(240,164,58,.45)}
html[data-theme="latarnie"] .tag{background:#1d1822;border-color:#46394b}
html[data-theme="latarnie"] .tag.sk{border-color:rgba(240,164,58,.5);color:var(--gold-l);background:rgba(240,164,58,.08)}
html[data-theme="latarnie"] .screenfoot{background:linear-gradient(180deg,rgba(14,12,18,.8),#0e0c12 45%);border-top-color:rgba(240,164,58,.2)}

/* ——— prawa kolumna, pasek składu, karty ——— */
html[data-theme="latarnie"] #rail,html[data-theme="latarnie"] #strip,html[data-theme="latarnie"] #build-footer{background:rgba(10,8,13,.78)}
html[data-theme="latarnie"] #inspector .iname,html[data-theme="latarnie"] #unitpop .iname{color:var(--washi2)}
html[data-theme="latarnie"] .statgrid .v{color:#ffe7bf}
html[data-theme="latarnie"] .statgrid .up .v{color:var(--gold-l);text-shadow:0 0 8px rgba(255,166,56,.45)}
html[data-theme="latarnie"] #log .rnd{color:var(--gold-l);text-shadow:0 0 8px rgba(255,166,56,.5);--rnd-line:rgba(240,164,58,.45)}
html[data-theme="latarnie"] .ucard{background:radial-gradient(ellipse 90% 30px at 50% 0,rgba(255,166,56,.1),transparent),linear-gradient(180deg,#1f1925,#17121c);border-color:#35293b}
html[data-theme="latarnie"] .ucard:hover{background:radial-gradient(ellipse 90% 36px at 50% 0,rgba(255,166,56,.18),transparent),#221b28}
html[data-theme="latarnie"] .ucard.sel{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 0 14px rgba(255,166,56,.4)}
html[data-theme="latarnie"] .uchip{box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 0 0 1px rgba(0,0,0,.4),0 0 6px rgba(255,190,110,.3)}
html[data-theme="latarnie"] .hpbar{background:#2a2230}
html[data-theme="latarnie"] .hpbar i{background:linear-gradient(90deg,#e8b86a,#ffd98a)}
html[data-theme="latarnie"] .sidetab.act{background:linear-gradient(180deg,#2c2433,#221c28);border-color:rgba(240,164,58,.6);box-shadow:0 0 12px rgba(255,166,56,.2)}
html[data-theme="latarnie"] .modgroup{background:rgba(255,220,170,.02);border-color:#2f2735;border-radius:10px}
html[data-theme="latarnie"] .modgroup h3{color:var(--washi2);border-bottom-color:rgba(240,164,58,.18)}
html[data-theme="latarnie"] .modgroup .chk .cc{background:rgba(240,164,58,.12);border-color:rgba(240,164,58,.4)}

/* ——— bitwa: plansza w ciemnej lakierowanej ramie, oświetlona lampionami ——— */
html[data-theme="latarnie"] #turnflag{background:radial-gradient(ellipse 80% 100% at 0 50%,rgba(255,166,56,.1),transparent),#18141d;border-color:#35293b}
html[data-theme="latarnie"] #turnflag .mon{box-shadow:0 0 12px rgba(255,166,56,.35),0 0 0 2px rgba(0,0,0,.4)}
html[data-theme="latarnie"] #boardwrap,html[data-theme="latarnie"] .online-board-wrap{background:radial-gradient(ellipse at center,#1d1722,#0b090e 80%);
  border:8px solid #24170f;border-radius:12px;
  box-shadow:inset 0 0 0 1px rgba(240,164,58,.35),inset 0 0 30px rgba(0,0,0,.7),0 0 0 1px #0a0604,0 0 50px -10px rgba(255,150,40,.22),0 18px 36px -16px #000}
html[data-theme="latarnie"] .upiece .body{filter:drop-shadow(0 0 2px rgba(255,190,110,.35))}

/* ——— okna, wybór trybu, samouczek ——— */
html[data-theme="latarnie"] #overlay{background:rgba(8,6,11,.8)}
html[data-theme="latarnie"] #ovbox{background:radial-gradient(ellipse 70% 140px at 50% -40px,rgba(255,166,56,.16),transparent),#18141d;
  border:1px solid rgba(240,164,58,.4);box-shadow:0 0 60px -20px rgba(255,150,40,.35),0 30px 80px -20px #000}
html[data-theme="latarnie"] #ovbox > h2{color:var(--washi2)}
html[data-theme="latarnie"] .modegate{background:
    radial-gradient(ellipse at 50% 110%,rgba(255,150,40,.28),transparent 55%),
    linear-gradient(180deg,rgba(14,12,18,.35),rgba(14,12,18,.9) 60%,var(--sumi)),
    url(../../samurai-duel.webp) center 30%/cover no-repeat,#3a2a52;
  background-blend-mode:normal,normal,luminosity,normal}
html[data-theme="latarnie"] .modebox{background:radial-gradient(ellipse 70% 160px at 50% -60px,rgba(255,166,56,.16),transparent),rgba(20,16,25,.88);
  border:1px solid rgba(240,164,58,.28);box-shadow:0 0 70px -20px rgba(255,150,40,.3),0 30px 90px rgba(0,0,0,.6)}
html[data-theme="latarnie"] .modebrand b{color:var(--gold-l);text-shadow:0 0 18px rgba(255,166,56,.55)}
html[data-theme="latarnie"] .modecard{background:linear-gradient(180deg,rgba(38,31,44,.9),rgba(26,21,31,.9));border-color:#3a2f41}
html[data-theme="latarnie"] .modecard:hover:not(:disabled){border-color:rgba(240,164,58,.7);box-shadow:0 0 24px -6px rgba(255,166,56,.45)}
html[data-theme="latarnie"] .modecard.pri{background:radial-gradient(ellipse 90% 60px at 50% 0,rgba(255,176,70,.12),transparent),linear-gradient(180deg,#261e2b,#1d1722);
  border-color:rgba(255,197,107,.45);box-shadow:0 0 16px -10px rgba(255,166,56,.3)}
html[data-theme="latarnie"] .modecard.pri strong{color:var(--gold-l)}
html[data-theme="latarnie"] .modeglyph{background:var(--lamp)!important;color:#3a1c04!important;border-radius:40% 40% 44% 44%/30% 30% 50% 50%!important;
  transform:none!important;box-shadow:var(--glow)!important}
html[data-theme="latarnie"] .modecard:not(.pri) .modeglyph{background:var(--paper)!important;color:#3a1c04!important;box-shadow:0 0 12px rgba(255,190,110,.35)!important}
html[data-theme="latarnie"] .modecard.pri{font-weight:400;border-radius:12px}
html[data-theme="latarnie"] .modecard.pri:hover:not(:disabled){background:radial-gradient(ellipse 90% 60px at 50% 0,rgba(255,176,70,.2),transparent),linear-gradient(180deg,#2c2432,#211a28);
  border-color:rgba(255,197,107,.75);box-shadow:0 0 24px -6px rgba(255,166,56,.45)}
html[data-theme="latarnie"] .modestatus{background:rgba(10,8,13,.7);border-left-color:var(--gold)}
html[data-theme="latarnie"] .tutorial-bar{background:linear-gradient(180deg,#1c1622,#140f19);border-top-color:var(--gold)}

/* ——— znak: napis na lampionie — ciepłe światło i poświata ——— */
html[data-theme="latarnie"]{--wm-font:"WM Latarnie",var(--serif);--wm-weight:400}
html[data-theme="latarnie"] .wordmark{letter-spacing:.03em}
html[data-theme="latarnie"] .wordmark .wm1{background:none;color:#ffeccb;text-shadow:0 0 4px rgba(255,190,110,.75),0 0 14px rgba(255,150,40,.45)}
html[data-theme="latarnie"] .wordmark .wm-dash{color:#b98a5a}
html[data-theme="latarnie"] .wordmark .wm2{color:#ffc56b;text-shadow:0 0 4px rgba(255,166,56,.8),0 0 16px rgba(255,140,40,.55)}
