
:root{color-scheme:dark;--ink:#06100c;--line:#4a7c6f;--cream:#f5ecd0;--gold:#c8a84b;--gold2:#f5d76e;--cyan:#79d9c0;--danger:#cf726a}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#07110d;font-family:Arial,Helvetica,sans-serif}body{display:grid;place-items:center;touch-action:none;user-select:none;-webkit-user-select:none}button,a{font:inherit}button{touch-action:manipulation}
#game-shell{position:relative;width:min(520px,100vw,calc(100dvh*520/760));height:min(760px,100dvh,calc(100vw*760/520));overflow:hidden;display:grid;grid-template-rows:46px minmax(0,1fr);color:#eef3ef;border:2px solid rgba(74,124,111,.85);border-radius:9px;background:radial-gradient(circle at 50% 34%,rgba(47,105,84,.20),transparent 42%),linear-gradient(160deg,#101c16,#06100c 72%);box-shadow:0 18px 58px rgba(0,0,0,.55);isolation:isolate}
#game-shell:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.13;background-image:linear-gradient(rgba(255,255,255,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.024) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,#000,transparent 82%)}
#eidos-bg{--bg-opacity:.20;--bg-bright:.50;--bg-blur:1.8px;position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#06100c}#eidos-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);filter:saturate(.82) brightness(var(--bg-bright)) contrast(1.06) blur(var(--bg-blur));transition:opacity .45s ease,filter .45s ease,transform 3.8s ease}#eidos-bg img.active{opacity:var(--bg-opacity);transform:scale(1)}#eidos-bg:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(to bottom,rgba(3,12,8,.42),rgba(3,12,8,.62) 58%,rgba(3,12,8,.88)),radial-gradient(circle at 50% 38%,transparent,rgba(3,12,8,.36) 78%)}
#topbar{position:relative;z-index:30;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:6px 9px 4px;background:rgba(5,15,11,.80);border-bottom:1px solid rgba(121,217,192,.14)}#hud{display:flex;flex-wrap:wrap;gap:2px 12px;min-width:0;color:#cbd3ce;font-size:11px}#hud span{white-space:nowrap}#hud strong{color:#fff}#stage-hud{color:var(--cyan)}.top-btn{min-height:30px;padding:4px 9px;color:#a5ada8;background:rgba(6,16,12,.65);border:1px solid rgba(74,124,111,.8);border-radius:5px;cursor:pointer;font:11px Georgia,serif;letter-spacing:.8px}.top-btn:hover{color:var(--cream);border-color:var(--gold)}#sound-button{width:34px;padding-inline:0;color:var(--cyan);font-family:Arial,sans-serif;font-weight:700}
#content{position:relative;z-index:2;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;justify-items:center;gap:6px;padding:5px 13px 10px}#title-block{text-align:center;pointer-events:none}#eyebrow{margin:0 0 1px;color:var(--gold);font:700 8px/1 Arial,sans-serif;letter-spacing:4px}#game-title{margin:0;color:var(--cream);font:400 clamp(24px,6.4vw,34px)/1 Georgia,serif;letter-spacing:4px}#subtitle{margin:3px 0 0;color:#9cc8b7;font:700 8px/1.2 Arial,sans-serif;letter-spacing:1.8px}
#board-wrap{position:relative;width:auto;height:100%;max-width:min(454px,100%);max-height:454px;aspect-ratio:1;align-self:center;justify-self:center;overflow:hidden;border:1px solid rgba(200,168,75,.52);border-radius:13px;background:rgba(5,18,12,.72);box-shadow:inset 0 0 46px rgba(0,0,0,.42),0 12px 34px rgba(0,0,0,.28);touch-action:none}#board{position:absolute;inset:10px;display:grid;gap:7px;padding:3px}.cell{position:relative;min-width:0;min-height:0;padding:0;border:1px solid rgba(121,217,192,.22);border-radius:50%;cursor:pointer;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.82) 0 3%,rgba(121,217,192,.78) 5%,rgba(25,76,60,.92) 23%,rgba(5,20,14,.98) 72%);box-shadow:inset 0 0 12px rgba(121,217,192,.18),0 0 9px rgba(121,217,192,.20);transform:scale(.90);transition:transform .16s ease,filter .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;-webkit-tap-highlight-color:transparent}.cell:before{content:"";position:absolute;inset:13%;border-radius:50%;border:1px solid rgba(223,255,245,.13);box-shadow:inset 0 0 8px rgba(255,255,255,.05)}.cell:after{content:"";position:absolute;inset:-7%;border-radius:50%;opacity:0;border:2px solid rgba(245,215,110,.75);transform:scale(.65);pointer-events:none}.cell.healthy{border-color:rgba(121,217,192,.62);box-shadow:inset 0 0 14px rgba(121,217,192,.28),0 0 12px rgba(121,217,192,.34);filter:saturate(1.05) brightness(1.08)}.cell.damaged{border-color:rgba(207,114,106,.74);background:radial-gradient(circle at 36% 31%,rgba(255,238,232,.74) 0 3%,rgba(207,114,106,.84) 6%,rgba(76,30,28,.96) 28%,rgba(18,8,8,.98) 74%);box-shadow:inset 0 0 14px rgba(207,114,106,.22),0 0 11px rgba(207,114,106,.24);animation:damagedPulse 2.6s ease-in-out infinite}@keyframes damagedPulse{50%{filter:brightness(.78);transform:scale(.86)}}.cell:active{transform:scale(.82)}.cell.pulse:after{animation:wave .38s ease-out}@keyframes wave{0%{opacity:.95;transform:scale(.45)}100%{opacity:0;transform:scale(1.38)}}.cell.hint{outline:2px solid var(--gold2);outline-offset:2px;box-shadow:0 0 0 4px rgba(245,215,110,.10),0 0 24px rgba(245,215,110,.52)}
#info{width:min(454px,100%);display:grid;gap:5px}#progress-card{overflow:hidden;background:rgba(7,19,14,.80);border:1px solid rgba(74,124,111,.40);border-radius:8px;padding:7px 9px}#progress-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:5px;color:#96aaa0;font-size:8px;font-weight:800;letter-spacing:1.1px}#progress-head strong{color:var(--gold2)}#progress-track{height:9px;border:1px solid rgba(121,217,192,.16);border-radius:999px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 7px rgba(0,0,0,.35);overflow:hidden}#progress-fill{width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6ed2b8,#79d9c0 62%,#f5d76e);box-shadow:0 0 9px rgba(121,217,192,.42);transition:width .28s ease}#status-line{margin:5px 0 0;color:#9ead9f;font-size:8px;line-height:1.25}#status-line b{color:var(--cream)}
#controls{width:min(454px,100%);display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.action-btn{min-height:31px;padding:6px 7px;color:var(--cream);background:rgba(8,24,17,.80);border:1px solid rgba(74,124,111,.75);border-radius:6px;cursor:pointer;font:700 8.5px/1 Arial,sans-serif;letter-spacing:.8px}.action-btn:hover:not(:disabled){border-color:var(--gold);color:var(--gold2)}.action-btn:disabled{opacity:.32;cursor:default}
.screen{position:absolute;z-index:60;inset:0;display:none;place-items:center;padding:18px;background:radial-gradient(circle at 50% 28%,rgba(47,105,84,.28),transparent 40%),rgba(4,12,9,.95);backdrop-filter:blur(7px)}.screen.open{display:grid;animation:fade .22s ease}@keyframes fade{from{opacity:0}}.card{width:min(410px,95%);max-height:96%;overflow:auto;padding:25px 22px 20px;text-align:center;color:var(--cream);background:rgba(10,25,19,.97);border:1px solid rgba(200,168,75,.68);border-radius:17px;box-shadow:0 16px 55px rgba(0,0,0,.60)}.card-kicker{margin:0 0 6px;color:var(--gold);font:700 10px/1 Arial,sans-serif;letter-spacing:4px}.card h2{margin:0;color:var(--cream);font:400 clamp(31px,9vw,48px)/1 Georgia,serif;letter-spacing:4px}.card-subtitle{margin:5px 0 16px;color:#9dd9c8;font:700 10px/1.25 Arial,sans-serif;letter-spacing:2px}.intro{max-width:340px;margin:0 auto 13px;color:#ded7c1;font-size:12.5px;line-height:1.48}.logic-note{margin:12px auto 15px;padding:9px 11px;color:#9eaaa3;background:rgba(121,217,192,.04);border:1px solid rgba(121,217,192,.15);border-radius:7px;font-size:9.5px;line-height:1.35}.rule-box{margin:12px 0 16px;padding:10px 12px;text-align:left;background:rgba(200,168,75,.05);border:1px solid rgba(200,168,75,.28);border-radius:8px;color:#d7d1bd;font-size:10.5px;line-height:1.4}.rule-box strong{display:block;margin-bottom:4px;color:var(--gold2);letter-spacing:1px}.cross-demo{display:grid;grid-template-columns:repeat(3,24px);grid-template-rows:repeat(3,24px);justify-content:center;gap:3px;margin:11px auto}.cross-demo span{display:grid;place-items:center;border-radius:50%;background:rgba(121,217,192,.08);border:1px solid rgba(121,217,192,.12);color:#47564f}.cross-demo .on{background:rgba(121,217,192,.22);border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 8px rgba(121,217,192,.28)}.start-actions,.result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.primary,.secondary{min-width:145px;padding:11px 17px;border-radius:999px;cursor:pointer;font:700 10px/1 Arial,sans-serif;letter-spacing:1.1px}.primary{color:#10251c;background:var(--gold);border:0;box-shadow:0 7px 22px rgba(200,168,75,.22)}.secondary{color:var(--cream);background:transparent;border:1px solid var(--line)}.quote{margin:13px 0;padding:11px 13px;border-left:2px solid var(--gold);background:rgba(0,0,0,.15);font:italic 15px/1.45 Georgia,serif}.result-stats{margin:10px 0 2px;color:#aeb9b2;font-size:10px;line-height:1.45}.result-stats strong{color:var(--gold2)}
@media(max-width:430px){#game-shell{width:100vw;height:100dvh;border-radius:0}#topbar{padding-inline:7px}#hud{font-size:9.5px;gap:2px 8px}#content{padding:3px 8px 7px;gap:4px}#game-title{font-size:23px}#board-wrap{max-width:min(460px,100%);max-height:460px}#board{inset:8px;gap:5px}#progress-card{padding:6px 8px}.screen{padding:9px}.card{padding:18px 16px 15px}.intro{font-size:11.5px}}@media(max-height:620px){#game-shell{grid-template-rows:40px minmax(0,1fr)}#topbar{padding-block:3px}#content{padding-top:1px;gap:3px}#subtitle{display:none}#game-title{font-size:21px}#board-wrap{max-height:410px}#status-line{display:none}.card{padding:14px}.logic-note{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.target-note{margin:8px auto 0;color:var(--cyan);font:700 9px/1.35 Arial,sans-serif;letter-spacing:.7px}
.levels-card{width:min(468px,97%);padding:20px 18px 17px}
#campaign-summary{display:flex;justify-content:space-between;gap:10px;margin:8px 0 12px;padding:8px 10px;color:#9fb0a7;background:rgba(121,217,192,.045);border:1px solid rgba(121,217,192,.16);border-radius:8px;font-size:9px}
#campaign-summary strong{color:var(--gold2)}
#level-map{display:grid;gap:9px;text-align:left}
.stage-map{padding:8px;border:1px solid rgba(121,217,192,.12);border-radius:8px;background:rgba(255,255,255,.018)}
.stage-map-head{display:flex;justify-content:space-between;gap:8px;margin:0 1px 6px;color:#9fb0a7;font-size:8px;font-weight:800;letter-spacing:.9px}
.stage-map-head strong{color:var(--cream)}
.level-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px}
.level-node{aspect-ratio:1;min-width:0;padding:0;border-radius:50%;border:1px solid rgba(121,217,192,.22);background:#0b1712;color:#64746c;cursor:pointer;font:700 7.5px/1 Arial,sans-serif;transition:transform .15s,border-color .15s,background .15s,color .15s,box-shadow .15s}
.level-node.unlocked{color:#b8c5be;border-color:rgba(121,217,192,.43);background:rgba(47,105,84,.16)}
.level-node.done{color:#07100c;background:rgba(121,217,192,.86);border-color:#d9fff4;box-shadow:0 0 6px rgba(121,217,192,.38)}
.level-node.current{color:#151306;background:var(--gold2);border-color:#fff0a4;box-shadow:0 0 9px rgba(245,215,110,.55);transform:scale(1.08)}
.level-node.locked{opacity:.34;cursor:default}
.level-node:hover:not(.locked){transform:scale(1.09);border-color:var(--gold2)}
#endless-panel{margin-top:11px;padding:10px;border:1px solid rgba(200,168,75,.25);border-radius:8px;background:rgba(200,168,75,.045);text-align:left}
#endless-panel[hidden]{display:none}
#endless-panel h3{margin:0 0 4px;color:var(--gold2);font:700 9px/1.2 Arial,sans-serif;letter-spacing:1px}
#endless-panel p{margin:0 0 8px;color:#9fa99f;font-size:9px;line-height:1.35}
.endless-jump{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}
#endless-input{min-width:0;height:34px;padding:0 9px;color:var(--cream);background:#07110d;border:1px solid var(--line);border-radius:6px;font:12px Arial,sans-serif}
#endless-play{min-width:84px}
.levels-back-wrap{margin-top:11px}
@media(max-width:430px){
  #controls{grid-template-columns:repeat(2,1fr)}
  .level-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
  .level-node{font-size:8px}
  .levels-card{padding:14px 12px}
}

.start-actions a.secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:34px}.share-note{width:100%;margin:2px 0 0;color:#84978e;font-size:8px;line-height:1.3}

.start-actions a.secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  min-height:34px;
}
.full-start-action{
  width:100%;
  min-width:0;
}
.levels-footer-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin-top:10px;
}
.danger-button{
  color:#e7a9ae;
  border-color:rgba(207,114,106,.56);
  background:rgba(93,31,38,.12);
}
.danger-button:hover{
  color:#ffd7da;
  border-color:#cf726a;
  background:rgba(126,44,52,.22);
}
.delete-campaign-card{width:min(410px,95%)}
.danger-subtitle{color:#d88a91!important}
.delete-warning{
  max-width:340px;
  margin:0 auto 16px;
  padding:11px 13px;
  text-align:left;
  border:1px solid rgba(207,114,106,.45);
  border-radius:8px;
  background:rgba(93,31,38,.12);
}
.delete-warning strong{
  display:block;
  margin-bottom:5px;
  color:#efb1b6;
  font-size:10px;
  letter-spacing:.4px;
}
.delete-warning span{
  display:block;
  color:#b3a1a4;
  font-size:9.6px;
  line-height:1.4;
}
.delete-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
}
.danger-confirm{min-width:220px}
