@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:light;--orange:#c94011;--cream:#30231e;--line:#ead8cd}*{box-sizing:border-box}body{margin:0;background:#fffaf6;color:var(--cream);font:16.8px 'DM Sans',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #ffaf6b;outline-offset:4px}button:disabled{opacity:.45;cursor:default}.game-header{height:83px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:32px;padding:0 5%}.wordmark{font:800 38.4px 'Barlow Condensed',sans-serif;letter-spacing:-.5px}.wordmark span{color:var(--orange)}.mode-tag{font-size:10.8px;letter-spacing:2px;color:#82685b}.exit{margin-left:auto;font-size:14.4px;color:#9f3b16}main{max-width:1500px;margin:auto;padding:40px 5% 24px}.intro{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-bottom:30px}.eyebrow{color:var(--orange);font-size:10.8px;letter-spacing:2px;font-weight:700}h1{font:700 clamp(43.2px,4.8vw,72px)/.98 'Barlow Condensed',sans-serif;letter-spacing:-1px;margin:15px 0}h1 span{color:#bc232b}.intro>div>p:last-child{color:#746158;font-size:14.4px}.demo-note{display:flex;gap:12px;border:1px solid #c9401133;background:#c9401108;padding:18px;max-width:320px;border-radius:10px}.demo-note i,.world-toolbar i{width:7px;height:7px;border-radius:50%;background:var(--orange);display:inline-block;flex-shrink:0;margin-top:5px}.demo-note b{font-size:14.4px}.demo-note p{color:#746158;font-size:13.2px;line-height:1.7;margin-bottom:0}.adventure-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.world-panel{background:#ffffff;border:1px solid #e8c8b5;border-radius:14px;overflow:hidden}.world-toolbar{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:12px;letter-spacing:1.2px}.world-toolbar i{margin:0 7px 0 0;background:#c94011}.world-toolbar small{font-size:9.6px;color:#82685b;margin-left:14px}.world-toolbar button,.subtle{background:none;border:1px solid var(--line);border-radius:5px;color:#9f3b16;padding:8px 10px;font-size:12px}#game{width:100%;aspect-ratio:800/560;background:#293c44;overflow:hidden}#game canvas{display:block;width:100%!important;height:100%!important;image-rendering:pixelated;touch-action:none}#loading{text-align:center;padding:100px 10px}.map-caption{display:flex;justify-content:space-between;padding:13px 20px;background:#fff0e6;font-size:12px;color:#746158}.map-caption span:last-child{color:#a33a17}.controls{display:flex;align-items:center;gap:20px;padding:20px}.controls p{color:#746158;font-size:12px;line-height:1.8}.dpad{display:grid;grid-template-columns:repeat(3,32px);grid-template-rows:repeat(2,30px);gap:4px;flex-shrink:0}.dpad button{background:#fff4ed;border:1px solid #dfb59c;border-radius:5px;color:#a33a17;touch-action:none;user-select:none}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-row:2;grid-column:1}.dpad button:nth-child(3){grid-row:2;grid-column:2}.dpad button:nth-child(4){grid-row:2;grid-column:3}.primary{background:var(--orange);color:#ffffff;border:0;border-radius:6px;padding:14px 18px;font-weight:700;font-size:14.4px;margin-left:auto}.primary span{margin-left:15px}aside{display:grid;gap:18px}.status-panel,.guide,.journal{padding:23px;border:1px solid var(--line);border-radius:12px;background:#ffffff}.player-row{display:flex;gap:13px;align-items:center;margin:20px 0}.portrait{background:#c9401120;border:1px solid #c9401140;width:45px;height:48px;display:grid;place-items:center;color:var(--orange);font-size:33.6px;border-radius:8px}.player-row h2{font-size:18px;margin:0 0 6px}.player-row span{font-size:9.6px;color:#82685b;letter-spacing:1px}.credit-row{border-top:1px solid var(--line);padding-top:17px;display:flex;justify-content:space-between;align-items:center}.credit-row span{font-size:12px;color:#bc232b}.credit-row strong{font-size:24px}.subtle{margin:12px 0 20px;width:100%}.stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding-top:18px}.stats b,.stats span{display:block}.stats b{font-size:27.6px;color:#bc232b}.stats span{font-size:9.6px;letter-spacing:.7px;color:#82685b;margin-top:5px}.guide h2,.journal h2{font-size:20.4px;margin:12px 0}.guide ol{padding-left:18px;color:#675044;font-size:13.2px;line-height:2}.guide>p,.journal p{color:#82685b;font-size:12px;line-height:1.8}.journal>div:first-child{display:flex;align-items:center;justify-content:space-between}.journal>div>span{font-size:10.8px;color:#82685b}.journal article{border-top:1px solid var(--line);padding:10px 0;font-size:13.2px}.journal article small{display:block;font-size:10.8px;color:#82685b;margin-top:4px}.disclosure{max-width:850px;color:#82685b;font-size:12px;line-height:1.8;margin-top:24px}dialog{border:1px solid #586477;border-radius:16px;background:#ffffff;color:var(--cream);width:min(530px,calc(100% - 24px));padding:27px;max-height:90dvh;overflow:auto}dialog::backdrop{background:#070d17c9;backdrop-filter:blur(4px)}#close{float:right;background:#ffffff10;color:white;border:0;border-radius:50%;width:30px;height:30px;font-size:25.2px}.encounter-art{height:190px;display:grid;place-items:center;position:relative;background:radial-gradient(ellipse,#ffb76a25,transparent 70%);margin-top:20px}.encounter-art img{height:175px;max-width:90%;object-fit:contain;image-rendering:auto;transform:rotate(-5deg);transition:transform .5s,opacity .4s}#orb{position:absolute;font-size:66px;color:var(--orange);opacity:0}#encounter.throwing img{transform:scale(.15) rotate(360deg);opacity:0}#encounter.throwing #orb{opacity:1;animation:shake .2s infinite alternate}#encounter h2{text-align:center;font-size:28.8px;margin:14px 0 7px}#card-meta{text-align:center;color:#a6bdcd;font-size:13.2px}#result{font-size:14.4px;line-height:1.6;min-height:38px;text-align:center;color:#e9bf8d}#ball-options{display:grid;gap:9px}#ball-options button{display:flex;align-items:center;text-align:left;justify-content:space-between;color:#f2eadd;border:1px solid #4b5a6d;background:#213044;border-radius:8px;padding:12px}#ball-options b{font-size:14.4px}#ball-options small{display:block;color:#a8bccb;font-size:12px;margin-top:5px}#ball-options strong{font-size:16.8px;color:#bc232b}.odds-note{font-size:10.8px;color:#8fa2b5;line-height:1.7}#notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#ffe5c5;color:#28211a;border-radius:6px;padding:13px 20px;max-width:90%;font-size:14.4px;z-index:9;opacity:0;pointer-events:none}#notice.show{opacity:1}@keyframes shake{to{transform:translateX(7px) rotate(12deg)}}@media(max-width:1000px){.adventure-layout{grid-template-columns:minmax(0,1fr) 250px}.controls{gap:10px;padding:14px}.controls p{display:none}.world-toolbar small{display:none}}@media(max-width:720px){.game-header{height:66px;padding:0 18px}.wordmark{font-size:32.4px}.mode-tag{display:none}.exit{font-size:12px}main{padding:23px 14px}.intro{display:block;margin-bottom:22px}h1{font-size:50.4px}.demo-note{max-width:none;margin-top:20px;padding:12px}.demo-note p{font-size:12px;margin-top:5px}.adventure-layout{display:block}aside{margin-top:18px;grid-template-columns:1fr 1fr;gap:12px}.status-panel,.guide,.journal{padding:16px}.journal{grid-column:1/-1}.world-toolbar{padding:0 12px;height:45px}.world-toolbar>span{font-size:10.8px}.map-caption{padding:12px;font-size:9.6px}.controls{padding:13px}.primary{padding:13px;font-size:13.2px}.credit-row{display:block}.credit-row strong{display:block;margin-top:8px}.guide ol{font-size:12px}.player-row h2{font-size:14.4px}.player-row{gap:7px}.portrait{width:32px;height:38px;font-size:26.4px}.stats span{font-size:8.4px}.stats b{font-size:25.2px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

#capture-stage{width:100%;aspect-ratio:480/280;border:4px solid #c94011;outline:1px solid #dfb59c;border-radius:3px;background:#fffaf6;overflow:hidden;margin-top:22px}#capture-stage canvas{width:100%!important;height:100%!important;display:block;image-rendering:pixelated}#encounter{background:#fffaf6;color:#30231e;border:5px solid #bc232b;border-radius:5px;box-shadow:inset 0 0 0 3px #f0d0bd}#encounter .eyebrow{color:#82685b}#encounter #close{background:#c94011;color:#ffffff}#encounter #card-meta{color:#82685b}#encounter #result{border:3px double #bc232b;border-radius:3px;padding:13px;color:#30231e;background:#ffffff;min-height:65px;text-align:left;font-family:monospace;font-size:14.4px;line-height:1.6}#encounter #ball-options button{border:2px solid #dfb59c;border-radius:3px;background:#ffffff;color:#30231e}#encounter #ball-options small{color:#82685b}#encounter #ball-options strong{color:#bc232b}#encounter .odds-note{color:#82685b}#preview-throw{margin:8px 0;width:100%;background:#c94011;color:#ffffff}#preview-throw[hidden],#ball-options[hidden]{display:none}

#preview-escape{margin:0 0 8px;width:100%;background:#fff0e6;color:#30231e;border:2px solid #dfb59c}#preview-escape[hidden]{display:none}

#capture-stage{position:relative}.battle-card-art{position:absolute;left:73.333%;top:31.428%;width:13.54%;height:32.14%;object-fit:contain;transform:translate(-50%,-50%);image-rendering:auto;pointer-events:none;will-change:transform,opacity}.battle-card-art[hidden]{display:none}

#preview-rarity-field{display:block;color:#c94011;font-size:13.2px;margin:14px 0}#preview-rarity-field[hidden]{display:none}#preview-rarity{display:block;width:100%;margin-top:7px;padding:10px;background:#ffffff;border:2px solid #dfb59c;color:#30231e;border-radius:3px;font:inherit}

/* Shared SLAB THIS! brand surfaces */
.game-header{background:#fff;border-top:4px solid #bc232b;border-bottom:1px solid #ead8cd}.wordmark{color:#bc232b}.wordmark span{color:#c94011}.primary{color:#fff;background:#c94011}.demo-note{background:#fff0e6;border-color:#e8c8b5}.portrait{background:#fff0e6;border-color:#e8c8b5}.mode-tag{color:#82685b}.disclosure{color:#82685b}#encounter::backdrop{background:#4c211a80;backdrop-filter:blur(3px)}#encounter .primary{color:#fff;background:#c94011}#preview-escape{color:#a33a17!important;background:#fff0e6!important}#capture-stage{border-color:#dfb59c;background:#fffaf6}#preview-rarity{color:#30231e;background:#fff;border-color:#dfb59c}

#game{background:#fff0e6}#loading{color:#675044;line-height:1.8;padding:80px 25px}

#game{position:relative}.encounter-pixel-wipe{position:absolute;inset:0;display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(7,1fr);z-index:4;overflow:hidden;pointer-events:none}.encounter-pixel-wipe i{display:block;background:#8c2025;opacity:0}#encounter[open]{animation:encounter-panel-enter .2s steps(4,end)}@keyframes encounter-panel-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.encounter-pixel-wipe{display:none}#encounter[open]{animation:none}}

.encounter-wipe-message{position:absolute;bottom:4%;left:4%;right:4%;padding:14px;background:#fffaf6;color:#55392c;border:4px double #bc232b;font:14.4px monospace;z-index:2}@media(max-width:720px){.encounter-wipe-message{font-size:10.8px;padding:8px;border-width:3px}}

#encounter .encounter-sound{float:right;background:#fff0e6;color:#a33a17;border:1px solid #dfb59c;border-radius:4px;font-size:12px;padding:7px 10px;margin-right:8px}#encounter>.eyebrow{clear:both;padding-top:12px}

.music-status{font-size:10.8px;color:#82685b;margin:0;padding:0 20px 15px;letter-spacing:.3px}

.encounter-wallet{margin:16px 0;border:1px solid #dfb59c;border-radius:5px;background:#fff0e6;padding:13px}.encounter-wallet-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.encounter-wallet-row span{display:block;color:#82685b;font-size:9.6px;letter-spacing:1px}.encounter-wallet-row strong{display:block;margin-top:5px;color:#bc232b;font-size:22.8px}#encounter-recharge,#confirm-recharge{background:#c94011;color:#fff;border:0;border-radius:4px;padding:11px 12px;font-size:13.2px;font-weight:700}#encounter-recharge-options{border-top:1px solid #e6c1ab;margin-top:13px;padding-top:12px}#encounter-recharge-options[hidden]{display:none}#encounter-recharge-options label{font-size:12px;color:#675044}.recharge-actions{display:flex;gap:8px;margin-top:8px}#recharge-amount{background:#fff;border:1px solid #dfb59c;color:#30231e;font:inherit;font-size:14.4px;min-width:0;flex:1;border-radius:4px;padding:10px}#encounter-recharge-options p,#recharge-note{font-size:12px;color:#82685b;line-height:1.7;margin:9px 0 0}#recharge-note:empty{display:none}#recharge-note[data-kind=short]{color:#a12625}#recharge-note[data-kind=success]{color:#8d431a}@media(max-width:480px){.encounter-wallet{padding:11px}.encounter-wallet-row strong{font-size:20.4px}#encounter-recharge{font-size:12px;padding:10px}.recharge-actions{flex-wrap:wrap}#confirm-recharge{flex:1;white-space:nowrap}}
@media(max-width:480px){.recharge-actions{flex-direction:column}#recharge-amount,#confirm-recharge{width:100%;flex:auto}}

#catch-guarantee{margin:16px 0;padding:14px;border:1px solid #edaf82;border-radius:7px;background:linear-gradient(120deg,#fff3e5,#fffaf6);text-align:left}#catch-guarantee[hidden]{display:none}.guarantee-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.guarantee-heading span{font-size:10.8px;letter-spacing:1px;color:#a33a17}.guarantee-heading strong{font-size:16.8px;color:#bc232b}#guarantee-progress{appearance:none;width:100%;height:10px;border:none;border-radius:10px;overflow:hidden;margin:12px 0 4px;background:#f2dacb}#guarantee-progress::-webkit-progress-bar{background:#f2dacb;border-radius:10px}#guarantee-progress::-webkit-progress-value{background:linear-gradient(90deg,#ff8646,#bc232b);border-radius:10px}#guarantee-progress::-moz-progress-bar{background:#c94011}#guarantee-detail{font-size:14.4px;line-height:1.6;margin:5px 0 9px;color:#55392c}#catch-guarantee small{display:block;font-size:10.8px;line-height:1.7;color:#82685b}#catch-guarantee[data-ready=true]{border:2px solid #c94011}#ball-options button[data-guaranteed=true]{border:2px solid #c94011;background:#fff0e6}#ball-options button[data-guaranteed=true] b{color:#a33a17}@media(max-width:480px){.guarantee-heading{align-items:flex-start}.guarantee-heading strong{font-size:14.4px}#catch-guarantee{padding:11px}.guarantee-heading span{font-size:9.6px}#guarantee-detail{font-size:13.2px}}

/* Keep the throw visible after choosing an orb below the battle canvas. */
#encounter{overflow-anchor:none}#encounter.battle-playing{overflow:hidden}#encounter.battle-playing .encounter-wallet,#encounter.battle-playing #catch-guarantee,#encounter.battle-playing #ball-options,#encounter.battle-playing #guarantee-rules,#encounter.battle-playing>.odds-note,#encounter.battle-playing #preview-rarity-field,#encounter.battle-playing #preview-throw,#encounter.battle-playing #preview-escape{display:none!important}#capture-stage:focus{outline:1px solid #dfb59c}

.game-policy-block[hidden]{display:none}.game-policy-block{position:absolute;z-index:4;top:147px;left:12px;right:12px;background:#fffaf6;border:2px solid #bc232b;border-radius:8px;padding:14px;color:#542b20;box-shadow:0 5px 20px #542b2020;font-size:14.4px}.game-policy-block p{font-size:13.2px;line-height:1.5;margin:8px 0}.game-policy-block a{display:inline-block;padding:9px 14px;background:#bc232b;color:#fff;border-radius:5px;font-weight:700}.game-policy-block small{display:block;font-size:10.8px;line-height:1.5;margin-top:8px}.game-policy-blocked .world-panel>.catch-announcements{display:none}
