:root{--tb-sea: #5fa8c8}html,body{margin:0;height:100%;overflow:hidden;background:var(--tb-sea)}#stage{display:block;width:100%;height:100%;touch-action:none;outline:none}.world-noscript{max-width:40rem;margin:2rem auto;padding:0 1rem;font-family:system-ui,sans-serif}.tb-play-link{-webkit-touch-callout:none;-webkit-user-drag:none}.world-about{width:min(40rem,calc(100vw - 32px));max-height:min(36rem,calc(100dvh - 32px));padding:4px 20px 20px;border:0;border-radius:var(--tb-radius);background:var(--tb-paper);color:var(--tb-ink);box-shadow:var(--tb-shadow);font:15px/1.5 var(--tb-font);overflow-y:auto;overscroll-behavior:contain}.world-about::backdrop{background:#121a2159}.world-about form{position:sticky;top:0;display:flex;justify-content:flex-end;margin:0 -12px -36px 0}.world-about-close{display:grid;place-items:center;width:var(--tb-control);height:var(--tb-control);border:0;border-radius:50%;background:transparent;color:var(--tb-ink);cursor:pointer}.world-about-close:hover{background:var(--tb-paper-line)}.world-about h1{margin:12px 40px 8px 0;font-size:20px;line-height:1.3}.world-about h2{margin:16px 0 4px;font-size:16px}.world-about p,.world-about ul{margin:0}.world-about ul{padding-left:1.2em}.world-about a{color:var(--tb-accent);font-weight:600}.tb-quest-button{display:flex;align-items:center;gap:8px;box-sizing:border-box;min-width:var(--tb-control);min-height:var(--tb-control);max-width:100%;padding:6px 12px 6px 11px;border:0;border-radius:22px;background:#141c2252;color:#fff;font:600 14px/1.3 var(--tb-font);text-align:left;text-shadow:0 1px 2px rgba(0,0,0,.45);cursor:pointer}.tb-quest-icon{display:flex;flex:none}.tb-quest-icon svg{width:20px;height:20px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}.tb-quest-text{overflow-wrap:anywhere}.tb-quest-button:not(.is-open,:hover,:focus-visible) .tb-quest-text{display:none}.tb-quest-button.is-optional .tb-quest-text{opacity:.75;font-weight:500}.tb-quest-button:focus-visible{outline:3px solid var(--tb-accent);outline-offset:2px}.tb-quest-button.is-new{animation:tb-quest-new .9s ease-out}@keyframes tb-quest-new{0%{box-shadow:0 0 0 6px var(--tb-reward)}}.tb-hud .tb-game-labels{position:absolute;inset:0;overflow:hidden;pointer-events:none}.tb-hud .tb-game-labels[hidden]{display:none}.tb-game-label{position:absolute;top:0;left:0;display:flex;flex-direction:column;align-items:center;padding:4px 10px;border:0;border-radius:10px;background:var(--tb-paper);box-shadow:var(--tb-shadow);color:inherit;font:600 14px/1.3 var(--tb-font);text-decoration:none;white-space:nowrap;cursor:pointer;pointer-events:auto;transition:background-color .12s}.tb-game-label.is-hover,.tb-game-label:hover{background:var(--tb-accent);color:var(--tb-accent-ink)}.tb-game-label:focus-visible{outline:3px solid var(--tb-accent);outline-offset:2px}.tb-game-label.is-culled{visibility:hidden}.tb-game-pointer{position:absolute;top:0;left:0;display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:var(--tb-paper);box-shadow:var(--tb-shadow);color:inherit;font:600 13px/1.3 var(--tb-font);text-decoration:none;white-space:nowrap;cursor:pointer;pointer-events:auto;opacity:.92}.tb-game-pointer.is-right{flex-direction:row-reverse}.tb-game-pointer.is-culled{visibility:hidden}.tb-game-pointer-arrow{display:inline-block;color:var(--tb-accent)}.tb-game-progress{color:var(--tb-ink-soft);font-weight:500;font-size:12px;line-height:1.2}.tb-game-label-stars{font-size:12px;line-height:1.2}.tb-game-total{color:var(--tb-reward);font-weight:700;font-size:12px;line-height:1.2}.tb-game-label.is-hover .tb-game-progress,.tb-game-label:hover .tb-game-progress,.tb-game-label.is-hover .tb-game-total,.tb-game-label:hover .tb-game-total{color:inherit}.tb-stars{display:inline-flex;letter-spacing:1px}.tb-star{color:var(--tb-ink-soft);opacity:.5}.tb-star.is-on{color:var(--tb-reward);opacity:1}.tb-game-label.is-hover .tb-star.is-on,.tb-game-label:hover .tb-star.is-on{color:inherit}.tb-star.is-new{display:inline-block;animation:tb-star-new .7s cubic-bezier(.3,1.6,.5,1) both}.tb-star.is-new+.tb-star.is-new{animation-delay:.15s}.tb-star.is-new+.tb-star.is-new+.tb-star.is-new{animation-delay:.3s}.tb-game-total.is-new{display:inline-block;animation:tb-star-new .7s cubic-bezier(.3,1.6,.5,1) both}@keyframes tb-star-new{0%{transform:scale(.2);opacity:0}}.tb-hud .tb-game-panel{position:absolute;top:0;left:0;box-sizing:border-box;width:min(320px,calc(100% - 2 * var(--tb-gap)));max-height:calc(100% - 2 * var(--tb-gap) - var(--tb-control));overflow:auto;padding:14px 16px 16px;border-radius:var(--tb-radius);background:var(--tb-paper);box-shadow:var(--tb-shadow)}.tb-hud .tb-game-panel[hidden]{display:none}@media(max-width:599.98px){.tb-hud .tb-game-panel{top:auto;right:calc(var(--tb-gap) + var(--tb-safe-right));bottom:calc(var(--tb-gap) + var(--tb-safe-bottom));left:calc(var(--tb-gap) + var(--tb-safe-left));width:auto;max-height:50%}}.tb-game-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.tb-game-head-buttons{display:flex;flex:none;margin:-6px -8px 0 0}.tb-game-head .tb-icon-button{box-shadow:none;background:transparent}.tb-game-head h2{margin:0;font-size:19px;line-height:1.25}.tb-game-blurb{margin:6px 0 0;color:var(--tb-ink-soft);font-size:14px;line-height:1.45}.tb-game-sideways{display:none;margin:8px 0 0;color:var(--tb-accent);font:600 13px/1.3 var(--tb-font)}@media(orientation:portrait)and (pointer:coarse){.tb-game-sideways{display:block}}.tb-game-stats{display:flex;flex-wrap:wrap;gap:4px 14px;margin:10px 0 0;font-size:14px}.tb-game-stats div{display:flex;gap:6px}.tb-game-stats dt{color:var(--tb-ink-soft)}.tb-game-stats dd{margin:0;font-weight:700}.tb-game-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:14px}.tb-game-stars{margin-right:auto;font-size:18px}.tb-stages{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none}.tb-stage{padding:3px 9px;border-radius:999px;background:var(--tb-paper-line);font:600 12px/1.4 var(--tb-font)}.tb-stage.is-won{background:var(--tb-reward);color:var(--tb-ink)}.tb-stage.is-available{background:var(--tb-accent);color:var(--tb-accent-ink)}.tb-stage.is-locked{opacity:.6}.tb-hud .tb-campaign{width:min(360px,calc(100% - 2 * var(--tb-gap)))}@media(max-width:599.98px){.tb-hud .tb-campaign{max-height:70%}}.tb-chapter{margin-top:12px;border-top:1px solid var(--tb-paper-line)}.tb-chapter-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 0 4px;cursor:pointer;font:700 15px/1.3 var(--tb-font)}.tb-chapter-head:focus-visible{outline:3px solid var(--tb-accent);outline-offset:2px;border-radius:4px}.tb-chapter-progress{flex:none;color:var(--tb-ink-soft);font-weight:600;font-size:13px}.tb-campaign-stages{margin:0;padding:0;list-style:none}.tb-campaign-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;padding:8px 0}.tb-campaign-row+.tb-campaign-row{border-top:1px solid var(--tb-paper-line)}.tb-campaign-label{display:flex;gap:8px;align-items:baseline;min-width:0;font:600 14px/1.3 var(--tb-font)}.tb-campaign-id{flex:none;color:var(--tb-ink-soft);font-size:12px}.tb-campaign-status{grid-column:1;margin:0;color:var(--tb-ink-soft);font-size:13px;line-height:1.35}.tb-campaign-row .tb-button{grid-column:2;grid-row:1 / span 2}.tb-campaign-row.is-locked{opacity:.7}.tb-campaign-stars{font-size:14px}.tb-button:disabled{opacity:.5;cursor:default}.tb-hud .tb-facts{position:absolute;bottom:calc(var(--tb-gap) + var(--tb-safe-bottom));left:50%;transform:translate(-50%);max-width:min(560px,50vw);max-height:50vh;overflow:auto;padding:6px 10px;border-radius:8px;background:#121a21cc;color:#d9f2e6;font:12px/1.4 ui-monospace,monospace}.tb-facts summary{cursor:pointer}.tb-facts pre{margin:6px 0;white-space:pre-wrap}.tb-facts a{margin-right:12px;color:#ffd46b}.tb-facts select,.tb-facts button{font:inherit}.tb-dialog-actions{display:flex;gap:8px;margin-top:16px}.tb-hud .tb-story{position:absolute;inset:0;outline:none;cursor:pointer}.tb-hud:has(.tb-story) .tb-quest{visibility:hidden}@media(max-width:599.98px){.tb-hud:has(.tb-game-panel:not([hidden])) .tb-quest{visibility:hidden}}.tb-say{position:absolute;left:50%;bottom:calc(var(--tb-gap) + var(--tb-safe-bottom));transform:translate(-50%);box-sizing:border-box;width:min(640px,calc(100% - 2 * var(--tb-gap) - 2 * 96px));padding:12px 40px 14px 18px;border-radius:var(--tb-radius);background:var(--tb-paper);box-shadow:var(--tb-shadow)}.tb-say[hidden]{display:none}.tb-say-speaker{margin:0 0 4px;color:var(--tb-accent);font:700 12px/1.2 var(--tb-font);letter-spacing:.06em;text-transform:uppercase}.tb-say-text{margin:0;min-height:2.9em;font:500 17px/1.45 var(--tb-font)}.tb-say.is-narration .tb-say-text{color:var(--tb-ink-soft);font-style:italic}.tb-say-next{position:absolute;right:16px;bottom:10px;color:var(--tb-accent);font-size:18px;visibility:hidden;animation:tb-say-next 1s ease-in-out infinite}.tb-say.is-done .tb-say-next{visibility:visible}@keyframes tb-say-next{50%{transform:translate(3px)}}.tb-story-skip{position:absolute;right:calc(var(--tb-gap) + var(--tb-safe-right));bottom:calc(var(--tb-gap) + var(--tb-safe-bottom));padding:0 18px}.tb-story-skip[hidden]{display:none}@media(max-width:599.98px){.tb-say{bottom:calc(var(--tb-gap) * 2 + var(--tb-control) + var(--tb-safe-bottom));width:calc(100% - 2 * var(--tb-gap) - var(--tb-safe-left) - var(--tb-safe-right))}}.tb-reward{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);box-sizing:border-box;width:min(420px,calc(100% - 2 * var(--tb-gap)));max-height:calc(100% - 2 * var(--tb-gap));overflow:auto;padding:18px 20px;border-radius:var(--tb-radius);background:var(--tb-paper);box-shadow:var(--tb-shadow);cursor:default}.tb-reward h2{margin:0 0 10px;font-size:20px;line-height:1.25}.tb-reward-list{display:grid;gap:6px;margin:0 0 16px;padding:0;list-style:none;font-size:15px;line-height:1.35}.tb-reward-list li:before{content:"★";margin-right:8px;color:var(--tb-reward)}.tb-reward-continue{width:100%;background:var(--tb-accent);color:var(--tb-accent-ink)}.tb-sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.tb-hud .tb-notice{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(320px,calc(100% - 2 * var(--tb-gap)));padding:18px 20px 20px;border-radius:var(--tb-radius);background:var(--tb-paper);box-shadow:var(--tb-shadow);text-align:center}.tb-notice p{margin:0 0 14px;font:600 16px/1.4 var(--tb-font)}.tb-notice .tb-play-actions{justify-content:center}@media(max-height:420px){.tb-say{padding:8px 36px 10px 14px}.tb-say-text{font-size:15px}}@media(prefers-reduced-motion:reduce){.tb-quest-button.is-new,.tb-star.is-new,.tb-game-total.is-new,.tb-say-next{animation:none}}
