:root{--sky:#f36d44;--grass:#87b223;--ink:#33231c;--paper:#fff3d1;--sun:#ffd23f;--tie:#e23b2e;--tile-pink:#f0479a;--tile-purple:#9b4fc4;--tile-blue:#2f8fe0;--column:min(100vw, max(480px, 60vh));--font-display:ui-rounded, "SF Pro Rounded", "Arial Rounded MT Bold", "Nunito", system-ui, sans-serif;--font-text:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;font-family:var(--font-text);color:var(--ink);-webkit-text-size-adjust:100%}*,:before,:after{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:var(--sky);-webkit-tap-highlight-color:transparent}.screen{min-height:100dvh}:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.button{border:3px solid var(--ink);min-height:48px;box-shadow:0 4px 0 var(--ink);font:800 1.0625rem/1.1 var(--font-display);color:var(--ink);background:var(--paper);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:16px;justify-content:center;align-items:center;gap:6px;padding:8px 20px;display:inline-flex}.button:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.button-primary{background:var(--sun);min-height:64px;box-shadow:0 6px 0 var(--ink);font-size:1.5rem}.button-primary:active{transform:translateY(5px)}.actions{flex-direction:column;gap:12px;display:flex}.title{background:var(--sky);grid-template-rows:auto minmax(calc(var(--column) * .62), 1fr) auto;display:grid;position:relative;overflow:clip}.title-top,.title-art,.title-bottom{width:var(--column);margin-inline:auto}.title-top{z-index:2;padding:max(14px, env(safe-area-inset-top)) 16px 0;text-align:center;position:relative}.sound-button{z-index:1;top:max(10px, env(safe-area-inset-top));border:3px solid var(--ink);width:44px;height:44px;color:var(--ink);background:var(--paper);cursor:pointer;touch-action:manipulation;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;right:10px}.game-title{font:900 clamp(2.5rem, calc(var(--column) * .135), 5.25rem) / .94 var(--font-display);letter-spacing:-.01em;color:var(--paper);-webkit-text-stroke:7px var(--ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--ink);margin:0;padding-top:6px;transform:rotate(-2.5deg)}.game-title span{display:block}.beta-badge{top:max(18px, calc(env(safe-area-inset-top) + 4px));border:3px solid var(--ink);font:800 .875rem/1.1 var(--font-display);color:#fff;background:var(--tie);border-radius:10px;padding:3px 10px 4px;position:absolute;left:12px;transform:rotate(-8deg)}.tagline{border:3px solid var(--ink);font:800 1rem/1.25 var(--font-display);background:var(--paper);border-radius:14px;margin:16px 0 0;padding:7px 14px 8px;display:inline-block;transform:rotate(1.5deg)}.tagline span{display:block}.title-art{z-index:1;position:relative}.title-art img,.title-art-backdrop{bottom:calc(var(--column) * -.25 + 6px);height:calc(var(--column) * 1.5);position:absolute}.title-art img{width:100%;display:block;left:0}.title-art-backdrop{left:calc((var(--column) - 100vw) / 2);background:linear-gradient(var(--sky) 0%, #fc8033 15%, #fc912c 20%, #fca329 25%, #fda926 36%, #fda926 41%, #44863c 41%, #44863c 49.4%, var(--grass) 49.4%);width:100vw}.title-art-grass{top:100%;left:calc((var(--column) - 100vw) / 2);background:var(--grass);width:100vw;height:300vh;position:absolute}@media (min-width:481px) and (min-aspect-ratio:3/5){.title-art{--scene-height:min(calc(100cqh / .52), max(calc(100vw / 1.5), calc(var(--column) * 1.34)));container-type:size}.title-art img,.title-art-backdrop{bottom:calc(var(--scene-height) * -.13);height:var(--scene-height)}.title-art img{left:calc(50% - var(--scene-height) * 1.5 * .507);width:calc(var(--scene-height) * 1.5);max-width:none;-webkit-mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000);mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000)}.title-art-backdrop{background:linear-gradient(#f46546 0%, #fd9d23 28%, #fd9d23 36%, #e17435 36%, #e17435 43.4%, #4c8633 43.4%, #4c8633 53.1%, var(--grass) 53.1%)}.title-art-grass{z-index:1}}.title-bottom{z-index:2;padding:14px 16px max(10px, env(safe-area-inset-bottom));text-align:center;flex-direction:column;gap:12px;display:flex;position:relative}.steps{counter-reset:step;font:700 .8125rem/1.15 var(--font-display);text-align:left;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;align-items:center;gap:6px;display:flex}.steps li:before{content:counter(step);border:3px solid var(--ink);color:#fff;background:var(--tile-pink);border-radius:9px;flex:none;place-items:center;width:28px;height:26px;font-size:.875rem;font-weight:900;display:grid}.steps li:nth-child(2):before{background:var(--tile-purple)}.steps li:nth-child(3):before{background:var(--tile-blue)}.info{font:700 .875rem/1.2 var(--font-display);margin:0}.title-footer nav{flex-wrap:wrap;justify-content:center;display:flex}.title-footer{margin:0 -10px}.title-footer a{min-height:44px;color:var(--ink);text-underline-offset:3px;align-items:center;padding:0 5px;font-size:.78125rem;font-weight:600;display:inline-flex}.disclaimer{text-wrap:balance;margin:0;font-size:.6875rem;line-height:1.3}@media (max-height:800px){.game-title{font-size:clamp(2.25rem, calc(var(--column) * .115), 3rem)}.tagline{margin-top:10px;padding:4px 12px 5px;font-size:.9375rem}.title-bottom{gap:8px;padding-top:8px}}.version{opacity:.75;margin:0;padding:4px 0 6px;font-size:.625rem;line-height:1.2}@media (prefers-reduced-motion:no-preference){.game-title span{animation:.75s cubic-bezier(.2,1.35,.4,1) .4s both stamp}.game-title span:nth-child(2){animation-delay:1s}.tagline{animation:.5s cubic-bezier(.2,1.5,.4,1) 1.8s both pop}@keyframes stamp{0%{opacity:0;transform:translateY(-.6em)rotate(-8deg)scale(1.8)}}@keyframes pop{0%{opacity:0;transform:rotate(-6deg)scale(.4)}}}.debug-panel{z-index:10;white-space:pre-wrap;overflow-wrap:anywhere;color:#fff;pointer-events:none;background:#000c;max-height:40vh;margin:0;padding:6px 8px;font:10px/1.3 ui-monospace,Menlo,Consolas,monospace;position:fixed;inset:auto 0 0;overflow:auto}.page{padding:max(16px, env(safe-area-inset-top)) max(20px, calc((100vw - 600px) / 2)) max(32px, env(safe-area-inset-bottom));background:var(--paper);font-size:1.0625rem;line-height:1.5}.page h1{font:900 2rem/1.05 var(--font-display);margin:24px 0 16px}.page p{margin:0 0 14px}.page ul{margin:0 0 14px;padding-left:1.2em}.page li{margin-bottom:10px}.page a{color:inherit;text-underline-offset:3px;overflow-wrap:anywhere;font-weight:600}.page-intro{font-weight:700}.page .button-primary{margin-top:12px;font-size:1.25rem}.button-idle,.button-idle:active{cursor:default;box-shadow:0 6px 0 var(--ink);transform:none}.creation{--off:#e6dfcd;--tutorial-sky:#fc6f4b;--tutorial-grass:#86a936;background:var(--paper);overflow-x:clip}.step{width:var(--column);flex-direction:column;min-height:100dvh;margin-inline:auto;display:flex;position:relative}.creation-bar{min-height:calc(64px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 62px 0;place-items:center;display:grid;position:relative}.creation-bar h1{font:900 1.3125rem/1.1 var(--font-display);text-align:center;text-wrap:balance;margin:0}.round-button{border:3px solid var(--ink);width:44px;height:44px;font:900 1.5rem/1 var(--font-display);color:var(--ink);background:var(--paper);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.round-button:active{transform:scale(.92)}.round-button[aria-disabled=true]{color:#a39a8c;background:var(--off);border-color:#a39a8c}.back-button{top:max(10px, env(safe-area-inset-top));position:absolute;left:10px}.step-body{flex-direction:column;flex:1;gap:12px;padding:4px 16px 12px;display:flex}.step-actions{z-index:2;padding:10px 16px max(16px, env(safe-area-inset-bottom));background:var(--paper);flex-direction:column;gap:10px;display:flex;position:sticky;bottom:0}.step-actions .button-primary{width:100%}.button-waiting{color:#7a6e63;background:var(--off)}.crowd{width:100%;height:auto;display:block}.voter path,.voter circle{stroke:var(--ink);stroke-width:.7px;transition:fill .4s var(--delay), stroke .4s var(--delay)}.voter-neutral path,.voter-neutral circle{fill:#fffaf0}.voter-full path,.voter-full circle{fill:var(--voter)}.voter-easy path,.voter-easy circle{fill:color-mix(in srgb, var(--voter) 42%, #fff);stroke:var(--voter);stroke-width:1.1px}.voter-hard path,.voter-hard circle{fill:#fff;stroke:var(--voter);stroke-width:1px;stroke-dasharray:1.3 1.1}.voter-never path,.voter-never circle{fill:#e6dfcd;stroke:#c3baa5}.voter-chip{flex:none}.beat-dots{justify-content:center;gap:7px;margin:0;padding:0;list-style:none;display:flex}.beat-dots li{border:2px solid var(--ink);border-radius:50%;width:9px;height:9px}.beat-dots .on{background:var(--ink)}.creation-tutorial{background:linear-gradient(var(--tutorial-sky) 0, #fea23e calc(var(--column) * .87), var(--tutorial-grass) calc(var(--column) * .87))}.tutorial-art{width:100%;height:auto;display:block;position:absolute;top:0;left:0}.tutorial-top{z-index:1;min-height:calc(64px + env(safe-area-inset-top));position:relative}.skip-button{top:max(10px, env(safe-area-inset-top));min-height:44px;box-shadow:0 3px 0 var(--ink);padding:4px 14px;font-size:.9375rem;position:absolute;left:10px}.crowd-card{border:3px solid var(--ink);background:var(--paper);border-radius:16px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.tutorial-bottom{z-index:1;padding:0 16px max(16px, env(safe-area-inset-bottom));flex-direction:column;gap:12px;margin-top:auto;display:flex;position:relative}.tutorial-text{border:3px solid var(--ink);min-height:4.6em;font:800 1.0625rem/1.3 var(--font-display);text-align:center;text-wrap:balance;background:var(--paper);border-radius:16px;place-items:center;margin:0;padding:10px 14px;display:grid}.tutorial-bottom .button-primary{width:100%}@media (min-width:481px) and (min-aspect-ratio:3/5){.creation-tutorial{background:var(--tutorial-grass)}.creation-tutorial .step{width:100%}.tutorial-art{object-fit:cover;object-position:50% 0;height:100%}.tutorial-bottom{width:min(100%,760px);margin-inline:auto}.tutorial-bottom .legend{grid-template-columns:repeat(4,auto);justify-content:space-between}}.hq{aspect-ratio:3/2;border:3px solid var(--ink);background:var(--off);border-radius:16px;width:100%;height:auto;display:block}.hq-short{aspect-ratio:5/2;object-fit:cover;object-position:50% 22%}.creation-family .step{height:100dvh;min-height:500px}.creation-family .step-body{min-height:0}.creation-family .crowd,.creation-family .legend,.creation-family .family-card{flex:none}.carousel{flex:0 1 calc((var(--column) - 32px) / 1.5);min-height:110px;position:relative}.carousel .hq{aspect-ratio:auto;object-fit:cover;object-position:50% 30%;height:100%}.carousel-previous,.carousel-next{position:absolute;top:calc(50% - 22px)}.carousel-previous{left:8px}.carousel-next{right:8px}.family-card{text-align:center}.family-name-big{font:900 1.75rem/1.05 var(--font-display);margin:0}.candidate-name{font:800 1.0625rem/1.2 var(--font-display);margin:2px 0 0}.family-name{margin:-8px 0 0;font-weight:700}.legend{grid-template-columns:1fr 1fr;gap:3px 10px;margin:0;padding:0;font-size:.8125rem;font-weight:600;line-height:1.2;list-style:none;display:grid}.legend li{align-items:center;gap:5px;min-width:0;display:flex}.legend strong{min-width:1.3em;font:900 .9375rem/1 var(--font-display);text-align:right}.portrait{background:radial-gradient(circle at 50% 60%, color-mix(in srgb, var(--voter) 38%, #fff) 0 44%, transparent 45%);place-items:end center;height:min(200px,26dvh);display:grid}.portrait img{width:auto;height:min(200px,26dvh);display:block}.choices{flex-direction:column;gap:10px;display:flex}.choices-grid{grid-template-columns:1fr 1fr;display:grid}.choice{border:3px solid var(--ink);min-height:60px;box-shadow:0 3px 0 var(--ink);font:700 .9375rem/1.2 var(--font-text);text-align:left;color:var(--ink);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#fff;border-radius:14px;padding:8px 12px;position:relative}.choice:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.choice-on{background:var(--sun)}.choice-row{justify-content:space-between;align-items:center;gap:10px;min-height:64px;display:flex}.choice-name{font:900 1.25rem/1.1 var(--font-display)}.pots{gap:4px;display:flex}.choice-soon,.choice-soon:active{box-shadow:none;color:#7a6e63;background:var(--off);cursor:default;border-color:#a39a8c;transform:none}.soon-badge{border:2px solid var(--ink);font:800 .75rem/1.1 var(--font-display);color:#fff;background:var(--tie);border-radius:8px;padding:2px 8px 3px;position:absolute;top:-10px;right:10px;transform:rotate(4deg)}.reply{border:3px solid var(--ink);min-height:4.2em;font:800 1.0625rem/1.3 var(--font-display);text-align:center;text-wrap:balance;background:#fff;border-radius:16px;place-items:center;margin:0;padding:10px 14px;display:grid}.reply-hint{color:#7a6e63;font-weight:700}.asset{border:3px solid var(--ink);background:#fff;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;padding:8px 10px 8px 12px;display:grid}.asset h2{font:900 1.0625rem/1.15 var(--font-display);margin:0}.asset p{margin:2px 0 0;font-size:.8125rem;line-height:1.25}.asset .asset-readout{font-size:.875rem;font-weight:800}.asset-controls{align-items:center;gap:6px;display:flex}.pips{gap:3px;display:flex}.pips i{border:2px solid var(--ink);border-radius:5px;width:9px;height:22px}.pips .on{background:var(--sun)}.tokens-left{min-height:24px;font:800 1rem/1.2 var(--font-display);justify-content:center;align-items:center;gap:8px;margin:0;display:flex}.token-pile{padding-left:6px;display:flex}.token-pile i{border:2px solid var(--ink);background:var(--sun);border-radius:50%;width:16px;height:16px;margin-left:-6px}.sheet .candidate-name{text-align:center;margin:0;font-size:1.625rem;font-weight:900}.sheet .family-name{text-align:center}.creation-sheet .step-body{gap:8px}.creation-sheet .button-primary{font-size:1.25rem}.sheet-list{margin:0;padding:0;font-size:.9375rem;list-style:none}.sheet-list li{border-top:2px dashed #c9bfa6;justify-content:space-between;align-items:center;gap:12px;padding:5px 0;display:flex}.sheet-list strong{text-align:right}.sheet-list .sheet-skeleton{justify-content:flex-start}.sheet-skeleton strong{text-align:left}.pot-icon{flex:none}.campaign{padding-bottom:max(32px, env(safe-area-inset-bottom));text-align:center;justify-content:center;font-size:1.0625rem}.campaign h1{font:900 2rem/1.05 var(--font-display);margin:8px 0 0}.campaign p{margin:0}.campaign-entering{font-weight:800}.day-badge{border:3px solid var(--ink);font:900 1.125rem/1.1 var(--font-display);color:#fff;background:var(--tie);border-radius:12px;align-self:center;padding:4px 14px 5px;transform:rotate(-3deg)}.campaign-countdown{font:800 1.125rem/1.25 var(--font-display)}.campaign .button-primary{margin-top:12px;font-size:1.25rem}@media (prefers-reduced-motion:no-preference){.step-forward{animation:.38s cubic-bezier(.2,.9,.3,1.12) both step-in-forward}.step-back{animation:.38s cubic-bezier(.2,.9,.3,1.12) both step-in-back}.slide-right{animation:.3s cubic-bezier(.2,.9,.3,1.12) both step-in-forward}.slide-left{animation:.3s cubic-bezier(.2,.9,.3,1.12) both step-in-back}.tutorial-text,.reply{animation:.3s cubic-bezier(.2,.9,.3,1.3) both pop-in}.choice-on{animation:.22s cubic-bezier(.2,.9,.3,1.4) pop-in}.pips .on,.token-pile i{animation:.2s cubic-bezier(.2,.9,.3,1.6) pop-in}.nudge{animation:.4s nudge}@keyframes step-in-forward{0%{opacity:0;transform:translate(40px)scale(.98)}}@keyframes step-in-back{0%{opacity:0;transform:translate(-40px)scale(.98)}}@keyframes pop-in{0%{opacity:0;transform:scale(.86)}}@keyframes nudge{25%{transform:translate(-7px)}50%{transform:translate(6px)}75%{transform:translate(-4px)}}}
