.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);font-family:var(--font-heading);font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--color-primary);color:var(--color-black);border:var(--border-heavy);box-shadow:var(--shadow-md);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;transition:transform 60ms,box-shadow 60ms;white-space:nowrap}.btn:before{content:"";position:absolute;top:-1px;right:-1px;border-style:solid;border-width:0 10px 10px 0;border-color:transparent var(--color-black) transparent transparent}.btn:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-lg)}.btn:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--color-black)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:var(--shadow-md)}.btn--black{background:var(--color-black);color:var(--color-primary)}.btn--black:before{border-color:transparent var(--color-primary) transparent transparent}.btn--sm{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-xs)}.btn--lg{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-lg)}.btn--full{width:100%}.btn--active{background:var(--color-black);color:var(--color-primary)}.btn--active:before{border-color:transparent var(--color-primary) transparent transparent}.card{background:var(--color-white);border:var(--border);box-shadow:var(--shadow-md);padding:var(--space-md)}.card--yellow{background:var(--color-primary)}.card--black,.score-badge{background:var(--color-black);color:var(--color-primary)}.score-badge{display:inline-block;font-family:var(--font-heading);font-size:var(--font-size-xl);font-weight:900;border:var(--border);padding:var(--space-xs) var(--space-md);min-width:3ch;text-align:center}.progress-bar{height:28px;background:var(--color-bg);border:var(--border);overflow:hidden}.progress-bar__fill{height:100%;background:var(--color-primary);border-right:var(--border);transition:width .25s ease;background-image:repeating-linear-gradient(-45deg,rgba(0,0,0,.12),rgba(0,0,0,.12) 6px,transparent 0,transparent 12px)}.memphis-stripes{background-image:repeating-linear-gradient(-45deg,var(--color-primary) 0,var(--color-primary) 5px,var(--color-black) 5px,var(--color-black) 7px)}.memphis-dots{background-image:radial-gradient(circle,var(--color-black) 2px,transparent 2px);background-size:14px 14px}.memphis-checker{background-image:repeating-conic-gradient(var(--color-black) 0 25%,transparent 0 50%);background-size:10px 10px}.status-badge{display:inline-block;font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:2px 6px;border:2px solid}.status-badge--idle{color:var(--color-black)}.status-badge--loading{color:var(--color-accent-2);border-color:var(--color-accent-2)}.status-badge--thinking{color:var(--color-accent-1);border-color:var(--color-accent-1)}.status-badge--ready{color:var(--color-success);border-color:var(--color-success)}.status-badge--error{color:var(--color-error);border-color:var(--color-error)}.divider{height:3px;background:var(--color-black);margin:var(--space-md) 0}.section-label{font-family:var(--font-heading);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-black);background:var(--color-primary);padding:2px var(--space-sm);display:inline-block;border:2px solid var(--color-black);margin-bottom:var(--space-sm)}.critter{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);position:relative}.critter--small .critter-svg{width:80px;height:auto}.critter--large .critter-svg{width:140px;height:auto}@keyframes critter-breathe{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.05)}}.critter--idle .critter-svg{animation:critter-breathe 3s ease-in-out infinite;transform-origin:center bottom}@keyframes critter-wobble{0%{transform:rotate(0deg)}15%{transform:rotate(-7deg)}30%{transform:rotate(7deg)}45%{transform:rotate(-5deg)}60%{transform:rotate(5deg)}75%{transform:rotate(-3deg)}to{transform:rotate(0deg)}}@keyframes pupils-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.critter--thinking .critter-svg{animation:critter-wobble .55s ease-in-out infinite}.critter--thinking .critter-pupil-left,.critter--thinking .critter-pupil-right{transform-box:fill-box;transform-origin:center center;animation:pupils-spin .35s linear infinite}@keyframes critter-bounce{0%,to{transform:translateY(0)}25%{transform:translateY(-14px)}55%{transform:translateY(-7px)}}.critter--speaking .critter-svg{animation:critter-bounce .5s ease-in-out infinite}@keyframes critter-jump{0%,to{transform:translateY(0) scale(1)}35%{transform:translateY(-22px) scale(1.08,.95)}70%{transform:translateY(-10px) scale(1)}}.critter--celebrating .critter-svg{animation:critter-jump .45s ease-in-out infinite}.critter--celebrating .critter-arm-left{transform-box:fill-box;transform-origin:right center;animation:arm-wave-left .45s ease-in-out infinite}.critter--celebrating .critter-arm-right{transform-box:fill-box;transform-origin:left center;animation:arm-wave-right .45s ease-in-out infinite}@keyframes arm-wave-left{0%,to{transform:rotate(0deg)}50%{transform:rotate(-55deg)}}@keyframes arm-wave-right{0%,to{transform:rotate(0deg)}50%{transform:rotate(55deg)}}@keyframes critter-droop{0%,to{transform:rotate(0deg) translateY(0)}50%{transform:rotate(4deg) translateY(3px)}}.critter--losing .critter-svg{animation:critter-droop 1.8s ease-in-out infinite;filter:brightness(.65) saturate(.5)}.critter__name{font-family:var(--font-heading);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--color-black);color:var(--color-primary);padding:2px var(--space-sm);border:2px solid var(--color-black);white-space:nowrap}@keyframes countdown-pop{0%{transform:scale(2.5);opacity:0}55%{transform:scale(.88);opacity:1}80%{transform:scale(1.05)}to{transform:scale(1)}}.countdown-number{font-family:var(--font-heading);font-size:var(--font-size-xxl);font-weight:900;color:var(--color-primary);-webkit-text-stroke:4px var(--color-black);text-stroke:4px var(--color-black);animation:countdown-pop .65s cubic-bezier(.22,1,.36,1) both;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1}@keyframes result-slide-in{0%{transform:translateY(-40px) scale(.8);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.result-banner{font-family:var(--font-heading);font-size:var(--font-size-xl);font-weight:900;text-transform:uppercase;padding:var(--space-md) var(--space-xl);border:var(--border-heavy);box-shadow:var(--shadow-lg);animation:result-slide-in .4s cubic-bezier(.22,1,.36,1) both}.result-banner--win{background:var(--color-primary);color:var(--color-black)}.result-banner--lose{background:var(--color-black);color:var(--color-primary)}.result-banner--draw{background:var(--color-white);color:var(--color-black)}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.overlay-fade{animation:overlay-fade-in .2s ease both}@keyframes slide-up{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.slide-up{animation:slide-up .3s cubic-bezier(.22,1,.36,1) both}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.shimmer{background:linear-gradient(90deg,var(--color-bg) 25%,rgba(255,215,0,.3) 50%,var(--color-bg) 75%);background-size:400px 100%;animation:shimmer 1.5s infinite}@keyframes spin{to{transform:rotate(1turn)}}.spinner{display:inline-block;width:48px;height:48px;border:5px solid var(--color-black);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes thinking-pulse{0%,to{opacity:1}50%{opacity:.4}}.thinking-pulse{animation:thinking-pulse 1s ease-in-out infinite}@keyframes disc-drop{0%{transform:translateY(-200px)}to{transform:translateY(0)}}.disc-dropping{animation:disc-drop .35s cubic-bezier(.55,0,1,.45) both}@keyframes win-flash{0%,to{opacity:1}50%{opacity:.35}}.win-flash{animation:win-flash .5s ease-in-out infinite}:root{--color-primary:#ffd700;--color-black:#111111;--color-white:#ffffff;--color-bg:#fffbe6;--color-error:#ff3b3b;--color-success:#00c853;--color-accent-1:#ff6b6b;--color-accent-2:#4ecdc4;--border-width:3px;--border:var(--border-width) solid var(--color-black);--border-heavy:4px solid var(--color-black);--shadow-sm:3px 3px 0px var(--color-black);--shadow-md:5px 5px 0px var(--color-black);--shadow-lg:8px 8px 0px var(--color-black);--font-heading:"Roboto Slab","Rockwell",Georgia,serif;--font-body:"IBM Plex Mono","Courier New",monospace;--font-size-xs:0.7rem;--font-size-sm:0.85rem;--font-size-md:1rem;--font-size-lg:1.5rem;--font-size-xl:2rem;--font-size-xxl:3.5rem;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:40px;--sidebar-w:240px;--ai-panel-w:280px;--radius:0px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}#__next,#root,body,body>div:first-child,html{height:100%;overflow:hidden}body{font-family:var(--font-body);font-size:var(--font-size-md);color:var(--color-black);background-color:var(--color-bg);background-image:radial-gradient(circle,rgba(0,0,0,.07) 1.5px,transparent 0);background-size:20px 20px;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:900;text-transform:uppercase;line-height:1.05;letter-spacing:-.02em}button{font-family:inherit;cursor:pointer}canvas{display:block}