:root{--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-handwritten: "relation", "Caveat", cursive}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;overflow-x:auto}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-soft)}button{font-family:inherit}.app{user-select:none;-webkit-user-select:none}@keyframes mrdPopShrink{0%{transform:translateY(var(--mrdY, 0px)) scale(1);opacity:1}15%{transform:translateY(var(--mrdY, 0px)) scale(1.15);opacity:1}30%{transform:translateY(var(--mrdY, 0px)) scale(1.12);opacity:1}to{transform:translateY(var(--mrdY, 0px)) scale(0);opacity:0}}.vanish-animation{animation:mrdPopShrink .55s cubic-bezier(.2,.9,.2,1) forwards}.puzzle-card-tilt{transition:transform .2s cubic-bezier(.34,1.56,.64,1)!important}.puzzle-card-tilt:hover{transform:rotate(0) translateY(-3px) scale(1.01)!important}.puzzle-card-tilt:active{transform:rotate(0) translateY(-1px) scale(.99)!important}.puzzle-card-notched{--notch-stroke: var(--card-border-color, var(--border));--notch-stroke-width: 2;transition:box-shadow .2s cubic-bezier(.34,1.56,.64,1),outline .1s cubic-bezier(.34,1.56,.64,1),outline-offset .1s cubic-bezier(.34,1.56,.64,1)!important;outline:4px solid transparent;outline-offset:0px}.puzzle-card-tilt:hover .puzzle-card-notched.mrdHoverGlow:not(:disabled):not(.placed){outline:4px solid rgb(99,180,255);outline-offset:0px;--notch-fill: rgb(99, 180, 255);--shadow-x: 9px;--shadow-y: 9px}.puzzle-card-tilt:active .puzzle-card-notched.mrdHoverGlow:not(:disabled):not(.placed){outline:4px solid rgb(99,180,255);outline-offset:0px;--notch-fill: rgb(99, 180, 255);--shadow-x: 4px;--shadow-y: 4px}.puzzle-card-tilt:hover .puzzle-card-tab{top:-23px!important}.mrdHoverGlow{transition:transform .1s cubic-bezier(.34,1.56,.64,1),box-shadow .1s cubic-bezier(.34,1.56,.64,1),outline .1s cubic-bezier(.34,1.56,.64,1);will-change:transform,box-shadow,outline;outline:4px solid transparent;outline-offset:-1px}.mrdHoverGlow:hover:not(:disabled):not(.placed){transform:scale(1.02);outline:4px solid rgb(99,180,255);outline-offset:-1px}.mrdHoverGlow:active:not(:disabled):not(.placed){transform:scale(.98);outline:4px solid rgb(99,180,255);outline-offset:-1px}button.mrdHoverGlow{outline:4px solid transparent;outline-offset:-1px;-webkit-tap-highlight-color:transparent}button.mrdHoverGlow:hover:not(:disabled):not(.placed){outline:4px solid rgb(99,180,255);outline-offset:-1px}button.mrdHoverGlow:focus-visible{outline:4px solid rgb(99,180,255);outline-offset:-1px}.mrdPortraitGroup .mrdPortraitChild{transition:transform .1s cubic-bezier(.34,1.56,.64,1),outline .1s cubic-bezier(.34,1.56,.64,1);will-change:transform,outline;outline:4px solid transparent;outline-offset:-1px;-webkit-tap-highlight-color:transparent}.mrdPortraitGroup:hover .mrdPortraitChild:not(:disabled){transform:scale(1.02);outline:4px solid rgb(99,180,255);outline-offset:-1px}.mrdPortraitGroup:active .mrdPortraitChild:not(:disabled){transform:scale(.98);outline:4px solid rgb(99,180,255);outline-offset:-1px}.mrdPortraitGroup.placed:hover .mrdPortraitChild,.mrdPortraitGroup.placed:active .mrdPortraitChild{transform:none;outline:4px solid transparent}.mrdPortraitChild:focus-visible{outline:4px solid rgb(99,180,255);outline-offset:-1px}.print-only{position:fixed;left:-9999px;top:0;width:11in;height:8.5in;z-index:-1;pointer-events:none}body.printing .print-only{left:0;z-index:99999}@media print{.app{display:none!important}.print-only{position:fixed!important;left:0!important;top:0!important;z-index:99999!important;background:#fff!important;pointer-events:auto!important}.print-page{display:flex!important;flex-direction:column!important}@page{size:landscape;margin:0}html,body{margin:0!important;padding:0!important;background:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}.print-page,.print-page *{--bg: #ffffff !important;--panel: #f8f8f8 !important;--text-muted: #666666 !important;--border: #333333 !important;--wall-thin: rgba(0,0,0,.3) !important;--wall-thick: rgba(0,0,0,.9) !important;--portrait-name-bg: #222222 !important}.print-page .portrait-name-bar{color:#000!important;background:#fff!important;border-top:1px solid #333!important;padding-top:3px!important;padding-bottom:3px!important;display:flex!important;align-items:center!important;justify-content:center!important;width:calc(100% + 6px)!important;margin:auto -3px -3px!important;box-sizing:border-box!important;border-bottom-left-radius:4px!important;border-bottom-right-radius:4px!important}.print-page .mrdPortraitGroup{gap:0px!important}.print-page .mrdPortraitChild{background:#fff!important;color:#000!important;padding:2px!important}.print-page .mrdPortraitChild,.print-page .mrdPortraitChild span,.print-page .mrdPortraitChild div,.print-page .mrdPortraitChild strong,.print-page .mrdPortraitChild b,.print-page .mrdPortraitChild em,.print-page .mrdPortraitChild *{color:#000!important;line-height:1!important}.print-page span[style*=textShadow]{text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 -1px 0 #000,0 1px 0 #000,-1px 0 0 #000,1px 0 0 #000!important;-webkit-text-stroke:1px #000!important}.print-page div,.print-page button{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.print-page .grid-note-letter,.print-page .grid-big-letter{color:#fff!important;-webkit-text-stroke:1.5px #000!important}body.print-bw .print-page{filter:grayscale(100%)!important}}@keyframes portraitSlideUp{0%{transform:translateY(80%);animation-timing-function:cubic-bezier(.33,1,.68,1)}60%{transform:translateY(-8px);animation-timing-function:cubic-bezier(.34,1.2,.64,1)}80%{transform:translateY(2px);animation-timing-function:ease-out}to{transform:translateY(0)}}.portrait-slide-up{animation:portraitSlideUp .55s forwards}@keyframes clueBoxPop{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.05);opacity:1}to{transform:scale(1);opacity:1}}.clue-box-pop{animation:clueBoxPop .25s ease-out forwards}@keyframes pulse{0%{transform:scale(1)}30%{transform:scale(1.28)}to{transform:scale(1)}}.pulse-anim{animation:pulse .32s ease-out}@keyframes pulseSmall{0%{transform:scale(1)}30%{transform:scale(1.22)}to{transform:scale(1)}}.pulse-anim-small{animation:pulseSmall .2s ease-out}@keyframes pulseMedium{0%{transform:scale(1)}30%{transform:scale(1.18)}to{transform:scale(1)}}.pulse-anim-medium{animation:pulseMedium .26s ease-out}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.online-bubble{transition:transform .15s ease}.online-bubble:hover{transform:scale(1.15)!important}@keyframes solvedFlash{0%,to{transform:scale(1);box-shadow:0 0 12px 4px #ffd700cc,0 2px 6px #0006}25%{transform:scale(1.1);box-shadow:0 0 20px 8px gold,0 2px 8px #00000080}50%{transform:scale(1.05);box-shadow:0 0 16px 6px #ffaa00e6,0 2px 6px #0006}75%{transform:scale(1.12);box-shadow:0 0 24px 10px gold,0 2px 10px #00000080}}.just-solved{animation:solvedFlash .6s ease-in-out infinite!important}@keyframes trophyPulse{0%,to{transform:scale(1);box-shadow:0 0 12px #ffc850cc,0 2px 6px #0000004d}50%{transform:scale(1.15);box-shadow:0 0 20px #ffc850,0 0 30px #ff963299,0 3px 8px #0006}}.trophy-pulse{animation:trophyPulse 1.5s ease-in-out infinite}@keyframes sharpie-stroke-staged{0%{stroke-dashoffset:180}15%{stroke-dashoffset:162}25%{stroke-dashoffset:162}50%{stroke-dashoffset:90}60%{stroke-dashoffset:90}to{stroke-dashoffset:0}}
