@import"https://fonts.googleapis.com/css2?family=Bangers&family=Cutive+Mono&family=IM+Fell+English:ital@0;1&family=Nunito:wght@400;700;900&family=Special+Elite&display=swap";.app{min-height:100vh;position:relative;display:flex;flex-direction:column;background:linear-gradient(180deg,#f4e4c10a,#1a14102e),repeating-linear-gradient(85deg,transparent 0px,transparent 80px,rgba(217,107,63,.015) 80px,rgba(217,107,63,.015) 82px)}.app:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,rgba(244,228,193,.05),transparent 15%,transparent 85%,rgba(244,228,193,.05)),repeating-linear-gradient(0deg,rgba(244,228,193,.012) 0 1px,transparent 1px 9px);z-index:0}.game-panel,.character-panel{filter:drop-shadow(0 14px 28px rgba(31,24,15,.22))}.app>*{position:relative;z-index:1}.app-header{display:flex;align-items:center;justify-content:space-between;padding:18px 32px 10px;z-index:10}.app-header:after{content:"";position:absolute;left:24px;right:24px;bottom:0;display:block;height:4px;background:linear-gradient(90deg,transparent 0%,var(--color-sand-dark) 10%,var(--color-sunset-orange) 50%,var(--color-sand-dark) 90%,transparent 100%);opacity:.5;filter:drop-shadow(0 2px 2px rgba(0,0,0,.45))}.title{font-family:Bangers,cursive;font-size:52px;letter-spacing:6px;color:#f97316;text-shadow:3px 3px 0 #7c2d12,0 0 30px rgba(168,85,247,.35);line-height:1;transform:rotate(-1deg)}.header-actions{display:flex;align-items:center;gap:12px}.hall-of-frogs-btn,.mute-btn{background:linear-gradient(180deg,#d4b886,#b89766);color:var(--color-ink-faded);border:2px solid var(--color-sand-shadow);padding:10px 22px;font-family:Special Elite,monospace;font-size:.95rem;letter-spacing:.08em;transform:rotate(-1.5deg);box-shadow:0 4px 0 var(--color-sand-shadow),0 6px 12px #0006;border-radius:3px;text-transform:uppercase;cursor:pointer}.mute-btn{padding:6px 14px;font-size:.75rem;transform:rotate(1.5deg);box-shadow:0 3px 0 var(--color-sand-shadow)}.hall-of-frogs-btn:hover{transform:rotate(-1.5deg) translateY(-2px);filter:saturate(1.08)}.mute-btn:hover{transform:rotate(1.5deg) translateY(-2px);filter:saturate(1.08)}.main{flex:1;display:flex;gap:0;padding:28px 36px 34px;max-width:none;margin:0;width:100%}.character-panel{width:0;flex-shrink:0}.dogfrog-speech{background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.3),transparent 28%),linear-gradient(180deg,var(--color-paper-cream),#d8c7a3);color:var(--color-ink-faded);border:3px solid var(--color-ink-faded);padding:20px 26px;font-family:Special Elite,monospace;font-size:1.05rem;line-height:1.4;position:fixed;bottom:380px;left:46px;z-index:7;transform:rotate(-.5deg);border-radius:22px 18px 24px 16px;box-shadow:4px 4px 0 var(--color-ink-faded),8px 8px 20px #00000080;width:310px;max-width:360px;animation:speech-wobble 4s ease-in-out infinite alternate}.dogfrog-speech:after{content:"";position:absolute;top:auto;bottom:-18px;left:50%;right:auto;width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-bottom:none;border-top:20px solid var(--color-paper-cream);filter:drop-shadow(0 2px 0 var(--color-ink-faded));transform:translate(-50%)}.dogfrog-speech p{color:var(--color-ink-faded)}.game-panel{flex:1;display:flex;flex-direction:column;gap:20px;margin-left:480px;max-width:calc(100% - 520px);padding-left:34px;min-width:0}.dogfrog-character{position:fixed;bottom:0;left:0;width:480px;max-width:35vw;height:520px;z-index:5;display:flex;justify-content:center;align-items:flex-end;filter:drop-shadow(0 0 30px rgba(160,80,220,.4));pointer-events:none}.dogfrog-glow{position:absolute;bottom:0;width:86%;aspect-ratio:1;border-radius:50%;background:radial-gradient(ellipse,rgba(107,33,168,.28) 0%,transparent 70%);filter:blur(24px);z-index:0}.dogfrog-pulse{position:absolute;bottom:48px;width:70%;aspect-ratio:1;border-radius:50%;border:3px solid rgba(168,85,247,.5);animation:pulse .8s ease-in-out infinite;z-index:1}.dogfrog-image{width:100%;height:auto;max-height:100%;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5));transition:filter .2s ease;image-rendering:auto}.dogfrog-image.speaking{filter:drop-shadow(0 0 18px rgba(168,85,247,.8))}.dogfrog-image.shake{animation:shake .4s ease-in-out}.round-ticket{display:flex;align-items:center;justify-content:space-between;gap:22px;background:radial-gradient(circle at 18% 25%,rgba(255,255,255,.25),transparent 20%),linear-gradient(180deg,var(--color-paper-cream),#d8c7a3);color:var(--color-ink-faded);padding:14px 26px;position:relative;transform:rotate(-.8deg);font-family:Special Elite,monospace;box-shadow:0 2px #0000001a,0 8px 24px #00000080,inset 0 0 30px #8a6f3f26;clip-path:polygon(0% 8%,3% 0%,8% 5%,14% 2%,20% 7%,27% 1%,35% 6%,43% 2%,50% 5%,58% 1%,65% 6%,73% 2%,80% 7%,87% 3%,94% 6%,100% 2%,100% 92%,97% 100%,91% 95%,84% 98%,77% 93%,70% 99%,62% 94%,54% 99%,47% 95%,39% 99%,31% 94%,24% 98%,17% 93%,10% 97%,3% 94%,0% 98%);animation:ticket-breathe 6s ease-in-out infinite alternate}.round-indicator{display:flex;flex-direction:column;align-items:center;gap:2px}.round-indicator .label{font-size:11px;color:#3a2e1ead;letter-spacing:2px;font-weight:700}.round-indicator .value{font-family:Bangers,cursive;font-size:42px;color:var(--color-sunset-orange);line-height:1;text-shadow:2px 2px 0 rgba(138,111,63,.45)}.lives-indicator{display:flex;gap:12px;align-items:center}.life-castle{width:44px;height:44px;object-fit:contain;image-rendering:auto;background:none;border:none;padding:0;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4));transform:rotate(1deg)}.life-castle.dead{opacity:.45;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4)) grayscale(.5)}.life-castle:nth-child(2){transform:rotate(-1.2deg)}.life-castle:nth-child(3){transform:rotate(.7deg)}.sequence-box{background:linear-gradient(180deg,var(--color-paper-cream) 0%,#d6c5a0 100%),repeating-linear-gradient(90deg,rgba(58,46,30,.03) 0 1px,transparent 1px 11px);color:var(--color-ink-faded);padding:30px 40px 24px;min-height:108px;display:flex;align-items:center;justify-content:center;position:relative;transform:rotate(.3deg);box-shadow:0 4px #8a6f3f4d,0 12px 30px #00000080;border:1px solid rgba(138,111,63,.4);overflow:visible;clip-path:polygon(0% 0%,100% 0%,100% 92%,97% 100%,92% 94%,86% 98%,80% 93%,73% 99%,65% 94%,57% 98%,49% 93%,41% 99%,33% 94%,26% 98%,19% 93%,12% 98%,6% 93%,0% 97%)}.sequence-box:before,.sequence-box:after{content:"";position:absolute;top:-6px;width:14px;height:14px;background:radial-gradient(circle at 30% 30%,var(--color-faded-red) 0%,#6b2a2a 100%);border-radius:50%;box-shadow:0 2px 4px #0009;z-index:2}.sequence-box:before{left:20px}.sequence-box:after{right:20px}.sequence-label{position:absolute;top:9px;left:18px;font-family:Special Elite,monospace;font-size:10px;letter-spacing:2px;color:#3a2e1e73;font-weight:700}.sequence-content{width:100%;display:flex;justify-content:center;align-items:center;text-align:center}.sequence-placeholder{font-family:Special Elite,monospace;color:#3a2e1ead;font-size:16px;font-weight:700}.sequence-memory-prompt{font-family:Special Elite,monospace;font-size:1.1rem;letter-spacing:.05em;color:var(--color-ink-faded);opacity:.65;font-style:italic}.sequence-eval{font-size:2rem;letter-spacing:.5em;color:var(--color-ink-faded);opacity:.5;animation:dots-pulse 1.2s ease-in-out infinite}.sequence-words{display:inline-flex;flex-wrap:wrap;gap:.5em;justify-content:center}.sequence-word{display:inline-block;font-family:Bangers,cursive;font-size:34px;letter-spacing:2px;color:var(--color-ink-faded);transition:all .2s;text-transform:uppercase}.sequence-word-new{color:var(--color-sunset-orange);text-shadow:0 0 12px rgba(217,107,63,.42);animation:word-arrive .6s ease-out}.castle-container{display:flex;justify-content:center;padding:8px 0}.castle-stage{position:relative;display:inline-block;width:220px;height:160px;overflow:hidden;transform:rotate(-.4deg)}.castle-image{position:relative;z-index:2;display:block;width:220px;height:160px;object-fit:contain;filter:sepia(.12) saturate(.86)}.castle-hit{animation:castle-shake .5s ease-out}@keyframes castle-shake{0%{transform:translate(0) rotate(0)}10%{transform:translate(-14px,-6px) rotate(-3deg)}20%{transform:translate(12px,4px) rotate(2deg)}30%{transform:translate(-10px,6px) rotate(-2.5deg)}40%{transform:translate(14px,-4px) rotate(3deg)}50%{transform:translate(-8px,8px) rotate(-2deg)}60%{transform:translate(10px,-2px) rotate(2deg)}70%{transform:translate(-6px,4px) rotate(-1deg)}80%{transform:translate(4px,-2px) rotate(1deg)}90%{transform:translate(-2px,1px) rotate(-.5deg)}to{transform:translate(0) rotate(0)}}.wave{position:absolute;bottom:-10%;left:-60%;width:80%;height:30%;background:linear-gradient(90deg,transparent 0%,rgba(80,160,220,0) 15%,rgba(140,200,240,.7) 45%,rgba(200,230,250,.9) 50%,rgba(140,200,240,.7) 55%,rgba(80,160,220,0) 85%,transparent 100%);border-radius:50% 50% 0 0/80% 80% 0 0;filter:blur(3px);z-index:3;pointer-events:none;opacity:0;mix-blend-mode:screen}.wave-strike{animation:wave-strike-sweep 1.4s ease-out forwards}@keyframes wave-strike-sweep{0%{transform:translate(0);opacity:0}20%{opacity:.95}70%{transform:translate(280%);opacity:.95}to{transform:translate(280%);opacity:0}}.stt-heard,.ticket-scrap{background:radial-gradient(circle at 0 50%,transparent 4px,var(--color-paper-cream) 4px),radial-gradient(circle at 100% 50%,transparent 4px,var(--color-paper-cream) 4px),linear-gradient(180deg,#f0e6cf,#e0d2ac);background-size:12px 12px,12px 12px,100% 100%;background-repeat:repeat-y,repeat-y,no-repeat;background-position:left,right,center;color:var(--color-ink-faded);padding:12px 24px;font-family:Cutive Mono,monospace;font-size:.95rem;transform:rotate(.4deg);box-shadow:0 6px 20px #0006,inset 0 0 12px #8a6f3f33}.stt-heard{display:flex;gap:12px;align-items:center;min-height:48px}.stt-heard-label{display:inline-block;background:var(--color-faded-red);color:var(--color-paper-cream);padding:2px 8px;font-family:Special Elite,monospace;font-size:.75rem;letter-spacing:.15em;margin-right:4px;transform:rotate(-2deg);box-shadow:1px 1px #0000004d;flex-shrink:0}.stt-heard-text{color:var(--color-ink-faded);font-family:Cutive Mono,monospace;font-weight:700}.timer-bar-container{width:100%;max-width:480px;height:14px;margin:24px auto 0;background:#3a2e1e66;border:2px solid var(--color-sand-shadow);border-radius:2px;overflow:hidden;position:relative;box-shadow:inset 0 2px 4px #00000080,0 2px #0000004d;transform:rotate(-.3deg)}.timer-bar-fill{height:100%;width:100%;background:linear-gradient(90deg,var(--color-sunset-orange) 0%,#e8854a 50%,var(--color-faded-red) 100%);transform-origin:left center;animation:timer-deplete linear forwards,timer-urgency .6s ease-in-out infinite;box-shadow:0 0 8px #d96b3f99}.controls{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:82px}.btn{font-family:Bangers,cursive;font-size:28px;letter-spacing:3px;padding:12px 48px;border:none;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease,filter .1s ease}.btn-start{background:linear-gradient(180deg,#ec8c56,var(--color-sunset-orange)),repeating-linear-gradient(90deg,transparent 0 7px,rgba(58,46,30,.08) 7px 8px);color:var(--color-paper-cream);border:3px solid var(--color-paper-cream);outline:2px solid var(--color-sunset-orange);box-shadow:4px 4px #00000073;transform:rotate(-1deg)}.btn-start:hover{transform:rotate(-1deg) scale(1.04);filter:saturate(1.08)}.btn-start:active{transform:rotate(-1deg) scale(.97);box-shadow:1px 1px #00000073}.stamp-button{background:var(--color-faded-red);color:var(--color-paper-cream);border:3px solid var(--color-paper-cream);outline:2px solid var(--color-faded-red);padding:12px 28px;font-family:Special Elite,monospace;font-size:1rem;letter-spacing:.15em;text-transform:uppercase;transform:rotate(-2deg);cursor:pointer;transition:transform .1s ease,box-shadow .1s ease;box-shadow:3px 3px #0006}.stamp-button:hover{transform:rotate(-2deg) scale(1.03);box-shadow:4px 4px #00000080}.stamp-button:active{transform:rotate(-2deg) scale(.97);box-shadow:1px 1px #0006}.stamp-button.again{background:var(--color-water-deep);outline-color:var(--color-water-deep);transform:rotate(2deg)}.stamp-button.again:hover{transform:rotate(2deg) scale(1.03)}.evaluating{font-family:Special Elite,monospace;font-size:22px;letter-spacing:3px;color:var(--color-sand-light);animation:blink .8s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.name-entry{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;padding:18px;background:linear-gradient(180deg,#ede0c41f,#c9a96e14);border:1px solid rgba(244,228,193,.22);box-shadow:inset 0 0 30px #3a2e1e2e;transform:rotate(.5deg);clip-path:polygon(1% 2%,99% 0%,100% 96%,96% 100%,3% 98%,0% 92%)}.name-entry-heading{font-family:IM Fell English,serif;font-size:1.8rem;color:var(--color-paper-cream);text-align:center;letter-spacing:.04em;text-shadow:2px 2px 0 var(--color-sand-shadow)}.name-input-row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;align-items:center}.name-input{background:transparent;border:none;border-bottom:2px dashed var(--color-paper-cream);color:var(--color-paper-cream);font-family:Special Elite,monospace;font-size:1.1rem;padding:8px 4px;width:240px;outline:none}.name-input:focus{border-bottom-color:var(--color-sunset-orange)}.name-input::placeholder{color:#ede0c466;font-style:italic}.leaderboard-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,rgba(107,143,163,.16),transparent 52%),#1a1410db;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:24px}.leaderboard-poster{width:min(560px,92vw);max-height:84vh;overflow-y:auto;background:radial-gradient(circle at 18% 8%,rgba(255,255,255,.28),transparent 18%),linear-gradient(180deg,var(--color-paper-cream),#d5c199);color:var(--color-ink-faded);padding:34px 34px 30px;box-shadow:0 16px 40px #00000094,inset 0 0 38px #8a6f3f38;border:2px solid rgba(138,111,63,.62);transform:rotate(-.7deg);clip-path:polygon(0% 2%,4% 0%,10% 1%,16% 0%,23% 2%,31% 0%,38% 1%,47% 0%,56% 2%,64% 0%,72% 1%,80% 0%,87% 2%,94% 0%,100% 2%,99% 98%,93% 100%,86% 98%,77% 100%,69% 98%,61% 100%,52% 98%,43% 100%,35% 98%,27% 100%,18% 98%,9% 100%,0% 97%)}.leaderboard-title{font-family:IM Fell English,serif;font-size:2.8rem;letter-spacing:.06em;text-align:center;color:var(--color-ink-faded);text-shadow:2px 2px 0 rgba(217,107,63,.26)}.leaderboard-subtitle{text-align:center;color:var(--color-faded-red);font-family:Special Elite,monospace;font-size:.95rem;letter-spacing:.18em;margin:4px 0 24px;text-transform:uppercase}.leaderboard-list{display:flex;flex-direction:column;gap:12px}.leaderboard-row{background:linear-gradient(90deg,var(--color-paper-cream) 0%,#e0d2ac 100%);color:var(--color-ink-faded);padding:14px 24px;display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:20px;position:relative;transform:rotate(-.3deg);box-shadow:0 4px 12px #0000004d;font-family:Special Elite,monospace;border-left:4px solid rgba(217,107,63,.35);clip-path:polygon(0% 0%,98% 1%,100% 50%,98% 99%,0% 100%,2% 50%)}.leaderboard-row:nth-child(2n){transform:rotate(.3deg);background:linear-gradient(90deg,#e8dcb8 0%,var(--color-paper-cream) 100%);border-left-color:#3d5d6e6b}.leaderboard-row.current{outline:2px dashed var(--color-faded-red);outline-offset:3px}.leaderboard-rank{background:var(--color-sunset-orange);color:var(--color-paper-cream);width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;border:3px solid var(--color-paper-cream);box-shadow:0 2px 6px #0006;transform:rotate(-5deg)}.leaderboard-name{font-size:1.2rem;letter-spacing:.05em;text-transform:uppercase;min-width:0;overflow-wrap:anywhere}.leaderboard-score{font-family:IM Fell English,serif;font-size:1.6rem;color:var(--color-faded-red);font-weight:700;white-space:nowrap}.leaderboard-empty{text-align:center;color:#3a2e1ead;padding:20px;font-family:Special Elite,monospace}.leaderboard-close{position:fixed;top:20px;right:20px;z-index:200}@keyframes speech-wobble{0%{transform:rotate(-.5deg) translateY(0)}to{transform:rotate(.3deg) translateY(-2px)}}@keyframes ticket-breathe{0%{transform:rotate(-.8deg) scale(1)}to{transform:rotate(-.8deg) scale(1.005)}}@keyframes word-arrive{0%{opacity:0;transform:scale(.7) translateY(-10px)}60%{opacity:1;transform:scale(1.15) translateY(0)}to{transform:scale(1)}}@keyframes dots-pulse{0%,to{opacity:.3}50%{opacity:.8}}@keyframes timer-deplete{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes timer-urgency{0%,to{filter:brightness(1)}50%{filter:brightness(1.4) saturate(1.3)}}@media (max-width: 820px){.main{flex-direction:column;padding:22px 18px 30px}.character-panel{width:100%}.game-panel{padding-left:0}.app-header{padding-inline:18px}.title{font-size:42px}.round-ticket{padding-inline:18px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}:root{--color-sand-light: #f4e4c1;--color-sand-dark: #c9a96e;--color-sand-shadow: #8a6f3f;--color-water-faded: #6b8fa3;--color-water-deep: #3d5d6e;--color-sunset-orange: #d96b3f;--color-faded-red: #a64545;--color-paper-cream: #ede0c4;--color-ink-faded: #3a2e1e;--color-bg-deep: #2a2018;--color-bg-mid: #3d2f23;--color-bg-warm: #5a4530;--purple: #6b21a8;--purple-light: #a855f7}*{margin:0;padding:0;box-sizing:border-box}body{background:linear-gradient(180deg,#2a1f15,#4a3825 18%,#8a6f3f 38%,#c9a96e 52%,#6b8fa3 68%,#3d5d6e 85%,#1f3540);background-attachment:fixed;color:var(--color-paper-cream);font-family:Nunito,Georgia,serif;min-height:100vh;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse 60% 40% at 75% 25%,rgba(217,165,95,.35) 0%,transparent 60%),radial-gradient(ellipse 70% 35% at 20% 80%,rgba(140,180,200,.2) 0%,transparent 60%)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.8'/%3E%3C/svg%3E")}
