/* Generated by game-rules.mjs. Edit game-rules-themes.mjs. */

:root{
  --bg:#07131a; /* games/spirit-island/style.css :root --bg: #07131a */
  --sheet:#ece7da; /* games/spirit-island/style.css :root --paper: #ece7da */
  --ink:#1b1a17; /* games/spirit-island/style.css :root --paper-ink: #1b1a17 */
  --muted:#5a5647; /* games/spirit-island/style.css :root --paper-muted: #5a5647 */
  --accent:#b3261e; /* games/spirit-island/style.css .si-stamp-ink: #b3261e */
  --line:#5a5647; /* games/spirit-island/style.css :root --paper-muted: #5a5647 */
  --display:"Courier Prime","Courier New",Courier,ui-monospace,monospace; /* games/spirit-island/style.css :root --type: "Courier Prime","Courier New",Courier,ui-monospace,monospace */
  --reading:"Courier Prime","Courier New",Courier,ui-monospace,monospace; /* games/spirit-island/style.css :root --type: "Courier Prime","Courier New",Courier,ui-monospace,monospace */
  --label:ui-monospace,"Cascadia Mono",Consolas,"Courier New",monospace; /* games/spirit-island/style.css :root --mono: ui-monospace,"Cascadia Mono",Consolas,"Courier New",monospace */
  --titleInk:#1b1a17; /* games/spirit-island/style.css :root --paper-ink: #1b1a17 */
  --outerInk:#ece8dc; /* games/spirit-island/style.css :root --ink: #ece8dc */
  --dot:#b3261e; /* games/spirit-island/style.css .si-cover h1 span: #b3261e */
  --weight:700; /* games/spirit-island/style.css .si-cover h1: 700 */
  --tracking:-.03em; /* games/spirit-island/style.css .si-cover h1: -.03em */
  --casing:none; /* games/spirit-island/style.css .si-backdrop: none */
  --italic:normal; /* games/spirit-island/style.css .terrain-O .si-land-name: normal */
  --buttonBg:#f0b354; /* games/spirit-island/style.css :root --accent: #f0b354 */
  --buttonInk:#231503; /* games/spirit-island/style.css :root --accent-ink: #231503 */
  --buttonBorder:#f0b354; /* games/spirit-island/style.css :root --accent: #f0b354 */
  --buttonRadius:3px; /* games/spirit-island/style.css .si-main button,.si-top button,.si-rules button,.results-dialog button: 3px */
  --buttonShadow:none; /* games/spirit-island/style.css .si-backdrop: none */
  --panel:#e0d9c7; /* games/spirit-island/style.css :root --paper2: #e0d9c7 */
  --panelInk:#1b1a17; /* games/spirit-island/style.css :root --paper-ink: #1b1a17 */
  --panelMuted:#5a5647; /* games/spirit-island/style.css :root --paper-muted: #5a5647 */
  --panelBorder:#5a5647; /* games/spirit-island/style.css :root --paper-muted: #5a5647 */
  --panelRadius:2px; /* games/spirit-island/style.css .si-doc: 2px */
  --panelShadow:0 1px 0 #fff4 inset,0 14px 40px #0009; /* games/spirit-island/style.css .si-doc: 0 1px 0 #fff4 inset,0 14px 40px #0009 */
  --cover-position:50% 43%;
  --motif:"§";
}
:root{--reading-inset:24px}.lead,.sticky-name{color:var(--outerInk)}.cover-copy .eyebrow{color:var(--muted)}.cover-copy{background:var(--sheet);color:var(--ink);padding:24px!important;border-top:7px solid var(--ink)}.cover-copy nav,.cover-copy .eyebrow{color:var(--muted)}.rulebook{background:var(--sheet);color:var(--ink);box-shadow:0 14px 40px #0009;padding:24px}#rules-content h2,#rules-content h3{font:700 1.15em/1.4 var(--label)}.glance{border-top:7px solid var(--panelInk)}.document-strip{border-bottom:2px solid var(--ink);padding-bottom:16px;margin-bottom:36px;font:700 13px/1.6 var(--label);letter-spacing:.14em}.glance::before{content:"FIELD COPY";color:var(--accent);display:block;width:max-content;border:2px solid var(--panelInk);padding:2px 8px;margin-bottom:16px;font:700 11px var(--label);transform:rotate(-3deg)}
.glance::before{content:"DO NOT BUILD"}

[data-toy=build-prohibition]{height:66px}
.paper{box-sizing:border-box;border:1px solid #918164;background:#f5e9d1;color:#302b21;overflow:hidden;font:14px/1.4 monospace;position:relative;inset:auto;height:auto;padding:12px}
.number{font-size:11px;letter-spacing:.1em;border-bottom:1px solid #93846a;padding-bottom:8px}
.date{display:block;background:#fff6dd;border:1px solid #695b48;border-top:8px solid #934b37;color:#302b21;padding:12px;margin:12px auto;min-height:50px;font:700 14px monospace;cursor:pointer}
.strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}
.slot{height:96px;border:1px dashed #7e715d;padding:6px;box-sizing:border-box;min-width:0}
.slot strong{display:block;font-size:12px}
.plan-terrain{display:block;margin-top:9px;background:#e5d7b7;padding:6px;min-height:40px;font-size:13px}
.island{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;background:#bfd1c5;padding:12px;border:1px solid #5c706b}
.land{position:relative;min-width:0;border:1px solid #657556;border-radius:27% 36% 22% 33%;background:#d2d8ac;color:#273326;padding:10px 5px;cursor:pointer;font:12px monospace;height:96px}
.land[data-terrain=M]{background:#c4c4ba}
.land[data-terrain=S]{background:#e4d49a}
.land[data-terrain=W]{background:#b2cfc3}
.land strong,.land-guard,.land-warning{display:block}
.land-warning{color:#873925;min-height:18px;font-weight:700}
.pieces{display:flex;justify-content:center;gap:4px;min-height:28px}
.piece{display:flex;align-items:center}
.piece svg{width:19px;height:24px}
.report{overflow:auto;margin-top:12px;border-top:1px solid #968568;padding-top:8px;font-size:13px}
.build-stamped::after{content:"DO NOT BUILD";position:absolute;left:8px;right:8px;top:43px;border:3px double #9d3d2a;color:#9d3d2a;background:#f5e9d1b8;font:700 12px monospace;transform:rotate(-14deg)}
.ghost-energy{font-weight:700}
.ghost-track{display:flex;justify-content:center;gap:4px}
.presence-space{display:grid;place-items:center;width:30px;height:30px;border:1px solid #7c704f;border-radius:50%;background:#b4a376;color:#f5e9d1}
.presence-space.uncovered{background:#f5e9d1;color:#413522}
.ghost-growth{display:flex;align-items:center;gap:8px;background:#d9d0ac;border:1px solid #91815c;color:#302b21;min-height:55px;padding:8px;font:13px monospace;cursor:pointer;width:100%}
.ghost-growth svg{width:30px;flex-shrink:0}
.ghost-hand{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.ghost-power{position:relative;min-width:0;border:1px solid #75664b;background:#fff4d9;color:#302b21;padding:7px;cursor:pointer;transform:rotate(-2deg);font:13px/1.35 Georgia;min-height:0;height:255px;overflow:auto}
.ghost-power:nth-child(2){transform:rotate(2deg)}
.art{display:block;width:100%;height:140px;object-fit:cover}
.ghost-power strong,.power-cost,.power-effect{display:block;margin:7px 0}
.power-cost{font:12px monospace;border-block:1px solid #b1a27e;padding:6px 0}
.ghost-power[data-position=fast]{transform:translateY(-12px) rotate(-4deg)}
.ghost-power[data-position=slow]{transform:translateY(12px) rotate(4deg)}
.ghost-power[data-position=resolved]{transform:translateY(0)}
.power-order{text-align:center;font-size:12px}
.terror-plate{border:3px double #746744;padding:8px;margin:12px 0;font-weight:700;text-align:center}
.rumour-tokens{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-height:42px}
.fear-token{width:28px;height:28px;border:1px solid #746744;border-radius:50%;opacity:.3}
.fear-token[data-full=true]{opacity:1;background:#baac80}
.fear-token svg{width:100%;height:100%}
.quarry-tower{display:block;margin:12px auto;width:150px;padding:5px;background:#eadbb8;border:1px solid #716445;color:#302b21;font:11px monospace;cursor:pointer}
.quarry-tower .art{height:82px}
.quarry-tower svg{width:30px;height:30px;margin:auto}
.rumour-card{width:180px;margin:12px auto;height:168px;font:13px Georgia}
.rumour-card .art{height:132px}
.rumour-turn{display:block;margin:10px auto;padding:10px;background:transparent;border:3px double #7a543d;color:#513926;font:700 13px monospace;cursor:pointer}
.rumour-effect{overflow:auto;font:14px/1.5 Georgia}
.do-not-build{color:#963e28;border:3px double #963e28;padding:10px;transform:rotate(-7deg);background:transparent;font:700 14px monospace;cursor:pointer}
.header-water .art{height:100%;object-fit:cover;transform:translateY(95%)}
.header-water.otter-up .art{transform:translateY(0)}
.header-water.otter-up{box-shadow:0 0 0 5px #adc8bc60,0 0 0 12px #adc8bc30}



/* Temporary cloud silhouette; exact replacement requested in art-wanted.md. */.header-cloud.cloud-flashed{box-shadow:0 3px 0 #e9d796}
.header-cloud.touched[data-motion=move]{animation:cloud-flash .45s ease-out}
@keyframes cloud-flash{35%{filter:brightness(1.7)}
to{filter:brightness(1)}}
.touched[data-motion=move]{animation:survey-shift .4s ease-out}
@keyframes survey-shift{0%{transform:translateX(16px);opacity:.5}
to{transform:translateX(0)}}
[data-toy] button:focus-visible{outline:3px solid #a35032;outline-offset:3px}
.rumour-evidence{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:center;min-height:0}
.rumour-evidence .quarry-tower,.rumour-evidence .rumour-card{width:100%;box-sizing:border-box}
.ghost-reclaim{display:block;width:100%;min-height:44px;margin-top:9px;border:1px solid #91815c;background:#e5d9bd;color:#302b21;font:13px monospace;cursor:pointer}
[data-toy]{overflow:clip;min-width:0;max-width:100%;overflow-wrap:anywhere}
[data-toy] [hidden]{display:none!important}
.cover{container-type:size;overflow:clip;--iw:max(100cqw,177.777778cqh);--ih:max(100cqh,56.25cqw)}
.header-water[data-found].otter-up .art{visibility:visible;opacity:1}
.header-cloud[data-found].cloud-flashed{background:url(art/rules-cloud.webp) 50%/contain no-repeat!important}
.report,.rumour-effect,[data-toy=ghost-presence],[data-toy=rumour-pool],[data-toy=survey-calendar]{height:auto;min-height:0}
.ghost-hand .art{height:90px}
.ghost-energy,.ghost-track{margin:8px 0}
.cover .art-hit{background:none;border:0;padding:0;outline:0;cursor:default}
.art-hit:hover{cursor:pointer}
.art-hit:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.art-hit::after,.art-hit::before,.art-hit>*{opacity:0;visibility:hidden}
.art-hit[data-found]::after,.art-hit[data-found]>span{visibility:visible}
.report:empty,.rumour-effect:empty{display:none}
.cover-hit{position:absolute;inset:auto;left:calc((100cqw - var(--iw)) * .5 + var(--iw) * var(--x));top:calc((100cqh - var(--ih)) * .43 + var(--ih) * var(--y));width:calc(var(--iw) * var(--w));height:calc(var(--ih) * var(--h));z-index:1}
[data-toy] *{transition:transform .3s,translate .3s,opacity .3s}
.cover-hit>button{width:100%;height:100%}
@media(prefers-reduced-motion:reduce){[data-toy],[data-toy] *{animation:none!important;transition:none!important}}
