:root{--color-category-0: #2196F3;--color-category-1: #FFC107;--color-category-2: #4CAF50;--color-category-3: #9C27B0;--color-category-4: #FF5722;--color-category-5: #00BCD4;--color-category-6: #E91E63;--color-category-7: #8BC34A;--color-category-8: #FF9800;--color-category-9: #673AB7;--color-category-0-dark: #1976D2;--color-category-1-dark: #FFA000;--color-category-2-dark: #388E3C;--color-category-3-dark: #7B1FA2;--color-category-4-dark: #E64A19;--color-category-5-dark: #0097A7;--color-category-6-dark: #C2185B;--color-category-7-dark: #689F38;--color-category-8-dark: #F57C00;--color-category-9-dark: #512DA8}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:#fafafa;color:#333;line-height:1.6;min-height:100vh;display:flex;flex-direction:column;transition:background-color .8s ease}body.category-bg-0{background-color:#e3f2fd}body.category-bg-1{background-color:#fff8e1}body.category-bg-2{background-color:#e8f5e9}body.category-bg-3{background-color:#f3e5f5}body.category-bg-4{background-color:#fbe9e7}body.category-bg-5{background-color:#e0f7fa}body.category-bg-6{background-color:#fce4ec}body.category-bg-7{background-color:#f1f8e9}body.category-bg-8{background-color:#fff3e0}body.category-bg-9{background-color:#ede7f6}main{max-width:1600px;width:100%;margin:0 auto;padding:20px;position:relative}header{text-align:center;margin-bottom:30px}header h1.logo{font-size:2.5rem;font-weight:900;font-family:Arial Black,sans-serif;margin-bottom:10px}header h1.logo .hodge{display:inline-block;transform:rotate(-5deg)}header h1.logo .hodge span{display:inline-block;color:#4caf50;text-shadow:2px 2px 0 #2d7a32;animation:logo-bounce .6s ease-in-out infinite;animation-delay:var(--d, 0s)}header h1.logo .podge{display:inline-block;transform:rotate(5deg);margin-left:-.3em}header h1.logo .podge span{display:inline-block;color:#2196f3;text-shadow:2px 2px 0 #1565a0;animation:logo-bounce .6s ease-in-out infinite;animation-delay:var(--d, 0s)}header h1.logo .hodge span:nth-child(1){--d: 0s}header h1.logo .hodge span:nth-child(2){--d: .08s}header h1.logo .hodge span:nth-child(3){--d: .16s}header h1.logo .hodge span:nth-child(4){--d: .24s}header h1.logo .hodge span:nth-child(5){--d: .32s}header h1.logo .podge span:nth-child(5){--d: 0s}header h1.logo .podge span:nth-child(4){--d: .08s}header h1.logo .podge span:nth-child(3){--d: .16s}header h1.logo .podge span:nth-child(2){--d: .24s}header h1.logo .podge span:nth-child(1){--d: .32s}header h1.logo .hodge span:nth-child(odd){--rot: -3deg}header h1.logo .hodge span:nth-child(2n){--rot: 3deg}header h1.logo .podge span:nth-child(odd){--rot: 3deg}header h1.logo .podge span:nth-child(2n){--rot: -3deg}@keyframes logo-bounce{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(var(--rot, 0deg))}}header .date{color:#666;font-size:1rem}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.game-container{position:relative;display:flex;flex-direction:column;align-items:center;margin-top:20px;max-width:100%;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.instructions{text-align:center;margin:0 auto 20px;max-width:600px}.instructions p{color:#666;font-size:1rem;line-height:1.5}#hints-section{text-align:center;margin:0 auto 15px;max-width:600px;padding:0 15px}#hints-toggle{background:none;border:1px dashed #ccc;border-radius:4px;padding:6px 12px;font-size:.85rem;color:#888;cursor:pointer;transition:all .2s ease}#hints-toggle:hover{border-color:#999;color:#666}#hints-content{display:none}#hints-names{font-size:.9rem;color:#555;margin-top:10px;line-height:1.5}#hints-full{display:none;text-align:left;font-size:.85rem;margin-top:10px;line-height:1.7}#hints-full div{margin:4px 0;color:#555}#hints-full strong{color:#333}#hints-section.hints-names #hints-content,#hints-section.hints-full #hints-content,#hints-section.hints-names #hints-names{display:block}#hints-section.hints-names #hints-full,#hints-section.hints-full #hints-names{display:none}#hints-section.hints-full #hints-full{display:block}.instructions h2{color:#1a1a1a;font-size:1.8rem;font-weight:700;margin-bottom:8px}.secondary-button{background-color:#f5f5f5;color:#333;border:2px solid #e0e0e0;border-radius:8px;padding:10px 20px;font-size:.95rem;font-weight:600;cursor:pointer;margin-top:12px;transition:all .2s ease}.secondary-button:hover{background-color:#e8e8e8;border-color:#d0d0d0}.grid{display:grid;gap:10px;margin:0 auto;padding-top:10px}.column-board{display:flex;gap:10px;justify-content:center;margin:0 auto;padding-top:10px}.board-column{display:flex;flex-direction:column;gap:10px;flex:0 0 100px}.column-board[data-column-count="5"] .board-column,.column-board[data-column-count="6"] .board-column{flex:0 0 90px}.column-board[data-column-count="7"] .board-column,.column-board[data-column-count="8"] .board-column{flex:0 0 80px}.column-board[data-column-count="9"] .board-column,.column-board[data-column-count="10"] .board-column{flex:0 0 70px}.column-board[data-column-count="11"] .board-column,.column-board[data-column-count="12"] .board-column{flex:0 0 60px}.main-grid{grid-template-columns:repeat(var(--grid-size, 4),var(--cell-width, 100px));justify-content:center;margin:0 auto;max-width:none;width:auto;padding-top:10px}.deep-dive-grid{grid-template-columns:repeat(4,1fr);max-width:600px}.word-button{background-color:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:20px;font-size:1rem;font-weight:600;color:#333;cursor:pointer;transition:all .2s ease;height:80px;min-width:80px;display:flex;align-items:center;justify-content:center;text-align:center;overflow-wrap:normal;word-break:keep-all;-webkit-hyphens:none;hyphens:none;user-select:none;-webkit-user-select:none}.word-button.text-small{font-size:.85rem}.word-button.text-smaller{font-size:.75rem}.word-button.text-tiny{font-size:.65rem}.word-button.text-micro{font-size:.55rem;letter-spacing:-.5px}.main-grid.animating,.column-board.animating,.main-grid.animating .word-button,.column-board.animating .word-button{pointer-events:none}.main-grid.animating .word-button:hover,.column-board.animating .word-button:hover{transform:none;box-shadow:none}.column-board[data-column-count="5"] .word-button,.column-board[data-column-count="6"] .word-button{padding:16px 8px;font-size:.95rem;min-height:70px}.column-board[data-column-count="7"] .word-button,.column-board[data-column-count="8"] .word-button{padding:14px 6px;font-size:.9rem;min-height:65px}.column-board[data-column-count="9"] .word-button,.column-board[data-column-count="10"] .word-button{padding:12px 4px;font-size:.85rem;min-height:60px}.column-board[data-column-count="11"] .word-button,.column-board[data-column-count="12"] .word-button{padding:10px 3px;font-size:.8rem;min-height:55px}.column-board[data-column-count="7"],.column-board[data-column-count="8"],.column-board[data-column-count="9"],.column-board[data-column-count="10"],.column-board[data-column-count="11"],.column-board[data-column-count="12"],.column-board[data-column-count="7"] .board-column,.column-board[data-column-count="8"] .board-column,.column-board[data-column-count="9"] .board-column,.column-board[data-column-count="10"] .board-column,.column-board[data-column-count="11"] .board-column,.column-board[data-column-count="12"] .board-column{gap:8px}.word-button:focus{outline:none}.word-button:focus-visible{outline:2px solid #2196f3;outline-offset:2px}@media(hover:hover)and (pointer:fine){.word-button:hover{border-color:#999;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}}@media(pointer:coarse){.word-button:hover,.word-button:active{border-color:#e0e0e0;transform:none;box-shadow:none}}@media(hover:none){.word-button:hover,.word-button:active{border-color:#e0e0e0;transform:none;box-shadow:none}}.touch-active .word-button{transition:none!important}.touch-active .word-button:not(.shake):not(.selected):hover,.touch-active .word-button:not(.shake):not(.selected):active,.touch-active .word-button:not(.shake):not(.selected):focus{border-color:#e0e0e0!important;transform:none!important;box-shadow:none!important;outline:none!important}.word-button.selected{background-color:#e3f2fd;border-color:#2196f3;transform:translateY(-2px)}.word-button.paired{background-color:#f0f0f0;opacity:.7;cursor:default;border-width:3px;border-color:#999}.word-button.paired:hover{transform:none;box-shadow:none}.word-button.paired[data-category="0"]{border-color:var(--color-category-0)}.word-button.paired[data-category="1"]{border-color:var(--color-category-1)}.word-button.paired[data-category="2"]{border-color:var(--color-category-2)}.word-button.paired[data-category="3"]{border-color:var(--color-category-3)}.word-button.paired[data-category="4"]{border-color:var(--color-category-4)}.word-button.paired[data-category="5"]{border-color:var(--color-category-5)}.word-button.paired[data-category="6"]{border-color:var(--color-category-6)}.word-button.paired[data-category="7"]{border-color:var(--color-category-7)}.word-button.paired[data-category="8"]{border-color:var(--color-category-8)}.word-button.paired[data-category="9"]{border-color:var(--color-category-9)}.word-button.paired.selected{background-color:#fff3cd;opacity:1}.deep-dive .word-button.paired{opacity:.5;cursor:not-allowed}.deep-dive .word-button.paired:hover{transform:none;box-shadow:none}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-12px)}40%{transform:translate(12px)}60%{transform:translate(-12px)}80%{transform:translate(12px)}}.word-button.shake{animation:shake .4s ease!important;background-color:#ffebee!important;border-color:#f44336!important;border-width:3px!important}.match-animation{animation:matchJiggle .6s ease}@keyframes matchJiggle{0%{transform:scale(1) rotate(0)}15%{transform:scale(1.1) rotate(-5deg)}30%{transform:scale(1.1) rotate(5deg)}45%{transform:scale(1.1) rotate(-5deg)}60%{transform:scale(1.1) rotate(5deg)}75%{transform:scale(1.05) rotate(0)}to{transform:scale(1) rotate(0)}}.zoom-out{animation:zoomOut .5s ease forwards}@keyframes zoomOut{0%{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}.notification{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:500;animation:fadeIn .3s ease}.notification-content{background-color:#fff;padding:50px 60px;border-radius:16px;text-align:center;box-shadow:0 8px 32px #0003;animation:slideUp .4s ease}.notification-content h2{font-size:2.5rem;color:#4caf50;margin-bottom:15px;font-weight:700}.notification-content p{font-size:1.5rem;color:#1a1a1a;margin-bottom:10px;font-weight:600}.notification-subtitle{font-size:1.1rem!important;color:#666!important;font-weight:400!important;font-style:italic}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.hint-tooltip{position:fixed;z-index:1000;background:var(--card-bg, #333);color:var(--text-primary, #fff);padding:12px 16px;border-radius:8px;font-size:14px;max-width:280px;box-shadow:0 4px 12px #0000004d;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;pointer-events:none}.hint-tooltip.visible{opacity:1;visibility:visible}.hint-tooltip:before{content:"💡";margin-right:8px}.deep-dive-header{text-align:center;margin-bottom:20px}.deep-dive-header h2{font-size:2rem;color:#1a1a1a}#victory-screen{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;padding:30px;background-color:#fff;border-radius:12px;box-shadow:0 4px 16px #0000001a;max-width:420px;width:calc(100% - 40px);max-height:calc(100vh - 40px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;z-index:100}#victory-screen h2{font-size:2rem;margin-bottom:8px;color:#4caf50}#victory-screen #victory-message{font-size:1rem;color:#666;margin-bottom:12px}.victory-categories{display:flex;flex-direction:column;align-items:center;gap:4px;margin:8px 0 12px;padding:10px 12px;background-color:#f9f9f9;border-radius:6px}.victory-category{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.9rem}.victory-category-icon{font-size:1.1rem;line-height:1}.victory-category-name{color:#333;font-weight:600}#victory-screen #share-content{margin-top:12px}#victory-screen #share-display{background-color:#f5f5f5;border:2px solid #e0e0e0;border-radius:6px;padding:10px;font-size:1rem;line-height:1.5;text-align:center;margin-bottom:10px;font-family:inherit;white-space:pre}#victory-screen button{background-color:#2196f3;color:#fff;border:none;border-radius:6px;padding:10px 20px;font-size:.95rem;font-weight:600;cursor:pointer;margin-top:6px}#victory-screen button:hover{background-color:#1976d2}#share-copy-feedback{margin-top:10px;color:#4caf50;font-weight:600}#error-screen{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;padding:40px;background-color:#fff;border-radius:12px;box-shadow:0 4px 16px #0000001a;max-width:600px;width:calc(100% - 40px);z-index:100}#error-screen button{background-color:#2196f3;color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:20px}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:#fff;padding:30px;border-radius:12px;max-width:500px;width:90%;box-shadow:0 4px 20px #0000004d}.modal-content h3{margin-bottom:20px;font-size:1.5rem}.modal-content textarea{width:100%;min-height:150px;padding:12px;border:1px solid #ddd;border-radius:8px;font-family:monospace;font-size:.9rem;resize:vertical;margin-bottom:15px}.modal-content label{display:flex;align-items:center;margin-bottom:20px;cursor:pointer}.modal-content input[type=checkbox]{margin-right:10px;width:18px;height:18px;cursor:pointer}.modal-buttons{display:flex;gap:10px}.modal-buttons button{flex:1;background-color:#2196f3;color:#fff;border:none;border-radius:8px;padding:12px 20px;font-size:1rem;font-weight:600;cursor:pointer}.modal-buttons button:hover{background-color:#1976d2}#close-modal{background-color:#999}#close-modal:hover{background-color:#777}#copy-feedback{margin-top:10px;color:#4caf50;font-weight:600;text-align:center}.main-grid[data-grid-size="5"] .word-button,.main-grid[data-grid-size="6"] .word-button{padding:16px 8px;font-size:.95rem;min-height:70px}.main-grid[data-grid-size="7"] .word-button,.main-grid[data-grid-size="8"] .word-button{padding:14px 6px;font-size:.9rem;min-height:65px}.main-grid[data-grid-size="9"] .word-button,.main-grid[data-grid-size="10"] .word-button{padding:12px 4px;font-size:.85rem;min-height:60px}.main-grid[data-grid-size="11"] .word-button,.main-grid[data-grid-size="12"] .word-button{padding:10px 3px;font-size:.8rem;min-height:55px}.main-grid[data-grid-size="7"],.main-grid[data-grid-size="8"],.main-grid[data-grid-size="9"],.main-grid[data-grid-size="10"],.main-grid[data-grid-size="11"],.main-grid[data-grid-size="12"]{gap:8px}@media(max-width:768px){main{padding:10px}.game-container{width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box;padding:0}.main-grid,.deep-dive-grid{gap:6px;margin:0 auto;width:90%;max-width:400px}.main-grid{grid-template-columns:repeat(var(--grid-size, 4),1fr)!important}.main-grid[data-grid-size="5"],.main-grid[data-grid-size="6"],.main-grid[data-grid-size="7"],.main-grid[data-grid-size="8"],.main-grid[data-grid-size="9"],.main-grid[data-grid-size="10"],.main-grid[data-grid-size="11"],.main-grid[data-grid-size="12"]{grid-template-columns:repeat(4,1fr)!important}.word-button{padding:12px 8px;font-size:.85rem;min-height:60px;min-width:80px;overflow:hidden}.main-grid[data-grid-size="7"] .word-button,.main-grid[data-grid-size="8"] .word-button{padding:10px 5px;font-size:.75rem;min-height:50px}.main-grid[data-grid-size="9"] .word-button,.main-grid[data-grid-size="10"] .word-button{padding:8px 4px;font-size:.7rem;min-height:48px}.main-grid[data-grid-size="11"] .word-button,.main-grid[data-grid-size="12"] .word-button{padding:8px 3px;font-size:.68rem;min-height:46px}.main-grid[data-grid-size="7"],.main-grid[data-grid-size="8"]{gap:5px}.main-grid[data-grid-size="9"],.main-grid[data-grid-size="10"],.main-grid[data-grid-size="11"],.main-grid[data-grid-size="12"]{gap:4px}.column-board{gap:4px;width:calc(100% - 20px);margin:0 10px;padding-top:10px;box-sizing:border-box;justify-content:flex-start}.board-column{gap:4px;flex:1 1 80px!important;min-width:80px}.column-board .word-button{min-width:80px;word-break:break-word}.column-board[data-column-count="7"] .word-button,.column-board[data-column-count="8"] .word-button{padding:10px 5px;font-size:.75rem;min-height:50px}.column-board[data-column-count="9"] .word-button,.column-board[data-column-count="10"] .word-button{padding:8px 4px;font-size:.7rem;min-height:48px}.column-board[data-column-count="11"] .word-button,.column-board[data-column-count="12"] .word-button{padding:8px 3px;font-size:.68rem;min-height:46px}.column-board[data-column-count="7"],.column-board[data-column-count="8"],.column-board[data-column-count="7"] .board-column,.column-board[data-column-count="8"] .board-column{gap:5px}.column-board[data-column-count="9"],.column-board[data-column-count="10"],.column-board[data-column-count="11"],.column-board[data-column-count="12"],.column-board[data-column-count="9"] .board-column,.column-board[data-column-count="10"] .board-column,.column-board[data-column-count="11"] .board-column,.column-board[data-column-count="12"] .board-column{gap:4px}header h1.logo{font-size:2rem}#victory-screen,#error-screen{padding:20px;width:calc(100% - 30px)}#victory-screen h2{font-size:2rem}#victory-screen #share-display{font-size:1rem;padding:15px;line-height:1.6}.notification-content{padding:30px 40px;max-width:90%}.notification-content h2{font-size:2rem}.notification-content p{font-size:1.2rem}.notification-subtitle{font-size:1rem!important}}@media(max-width:480px){main{padding:5px}header h1.logo{font-size:1.5rem}.instructions p{font-size:.9rem}.main-grid[data-grid-size="8"] .word-button{padding:8px 3px;font-size:.7rem;min-height:48px}.main-grid[data-grid-size="9"] .word-button,.main-grid[data-grid-size="10"] .word-button{padding:7px 3px;font-size:.68rem;min-height:46px}.main-grid[data-grid-size="11"] .word-button,.main-grid[data-grid-size="12"] .word-button{padding:7px 2px;font-size:.65rem;min-height:44px}.main-grid[data-grid-size="8"],.main-grid[data-grid-size="9"],.main-grid[data-grid-size="10"],.main-grid[data-grid-size="11"],.main-grid[data-grid-size="12"]{gap:3px}}@media(max-width:768px)and (orientation:landscape){#victory-screen{top:5vh;max-height:90vh;padding:20px}#victory-screen h2{font-size:1.8rem;margin-bottom:15px}#victory-screen #victory-message{font-size:1rem;margin-bottom:20px}#victory-screen #share-display{font-size:.9rem;padding:12px;line-height:1.5}.victory-categories{gap:8px;margin:15px 0 20px;padding:15px}.victory-category{font-size:.95rem;gap:8px}.victory-category-icon{font-size:1.2rem}}@media(prefers-reduced-motion:reduce){.word-button,.shake,.match-animation,.zoom-out{animation:none;transition:none}.pair-stack.active-deepdive .stack-card:last-child{animation:none}}.stack-area{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:16px;min-height:0;padding:0;margin-bottom:16px;transition:min-height .3s ease,padding .3s ease}.stack-area:not(:empty){min-height:60px;padding:12px;border-bottom:1px solid var(--border-default, #e0e0e0)}.pair-stack{position:relative;width:60px;height:40px;display:flex;align-items:flex-end;justify-content:center}.stack-card{position:absolute;width:60px;height:40px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:500;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 3px #0003;overflow:hidden;padding:2px 4px;text-align:center}.stack-card-text{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.stack-card[data-category="0"]{background-color:var(--color-category-0);border:2px solid var(--color-category-0-dark)}.stack-card[data-category="1"]{background-color:var(--color-category-1);border:2px solid var(--color-category-1-dark);color:#333;text-shadow:none}.stack-card[data-category="2"]{background-color:var(--color-category-2);border:2px solid var(--color-category-2-dark)}.stack-card[data-category="3"]{background-color:var(--color-category-3);border:2px solid var(--color-category-3-dark)}.stack-card[data-category="4"]{background-color:var(--color-category-4);border:2px solid var(--color-category-4-dark)}.stack-card[data-category="5"]{background-color:var(--color-category-5);border:2px solid var(--color-category-5-dark)}.stack-card[data-category="6"]{background-color:var(--color-category-6);border:2px solid var(--color-category-6-dark)}.stack-card[data-category="7"]{background-color:var(--color-category-7);border:2px solid var(--color-category-7-dark)}.stack-card[data-category="8"]{background-color:var(--color-category-8);border:2px solid var(--color-category-8-dark)}.stack-card[data-category="9"]{background-color:var(--color-category-9);border:2px solid var(--color-category-9-dark)}.stack-card:nth-child(1){z-index:1}.stack-card:nth-child(2){z-index:2;transform:translate(2px,-3px) rotate(2deg)}.stack-card:nth-child(3){z-index:3;transform:translate(-1px,-6px) rotate(-1deg)}.stack-card:nth-child(4){z-index:4;transform:translate(3px,-9px) rotate(3deg)}.stack-card:nth-child(5){z-index:5;transform:translate(-2px,-12px) rotate(-2deg)}.stack-card:nth-child(6){z-index:6;transform:translate(1px,-15px) rotate(1deg)}.stack-card:nth-child(7){z-index:7;transform:translate(-1px,-18px) rotate(-1deg)}.stack-card:not(:last-child) .stack-card-text{display:none}.pair-stack.complete{width:90px;height:auto;min-height:32px}.pair-stack.complete .stack-card{position:relative;width:100%;transform:none!important}.pair-stack.complete .stack-card:not(:last-child){display:none}.pair-stack.complete .stack-card:last-child{width:100%;height:auto;min-height:32px;padding:4px 8px;font-size:11px;line-height:1.2}.pair-stack.complete .stack-card-text{white-space:normal!important;word-wrap:break-word;text-align:center;line-height:1.2;max-height:2.4em;overflow:hidden}.pair-stack.active-deepdive .stack-card:last-child{animation:stack-pulse 2s ease-in-out infinite}@keyframes stack-pulse{0%,to{box-shadow:0 1px 3px #0003}50%{box-shadow:0 0 15px #ffffff80,0 1px 3px #0003}}@media(max-width:768px){.stack-area{gap:12px}.stack-area:not(:empty){min-height:50px;padding:8px}.pair-stack{width:45px;height:30px}.stack-card{width:45px;height:30px;font-size:8px}.stack-card:nth-child(2){transform:translate(1px,-2px) rotate(2deg)}.stack-card:nth-child(3){transform:translate(-1px,-4px) rotate(-1deg)}.stack-card:nth-child(4){transform:translate(2px,-6px) rotate(3deg)}.stack-card:nth-child(5){transform:translate(-1px,-8px) rotate(-2deg)}.stack-card:nth-child(6){transform:translate(1px,-10px) rotate(1deg)}.stack-card:nth-child(7){transform:translate(-1px,-12px) rotate(-1deg)}.pair-stack.complete{width:75px}.pair-stack.complete .stack-card:last-child{padding:3px 6px;font-size:9px}}@media(max-width:375px){.pair-stack{width:40px;height:26px}.stack-card{width:40px;height:26px;font-size:7px}}footer{text-align:center;padding:30px 20px;margin-top:auto;font-size:.85rem}footer a{color:var(--text-secondary, #666);text-decoration:none}footer a:hover{text-decoration:underline}.calendar-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.calendar-modal{background:var(--bg-color, #fff);border-radius:12px;padding:20px;max-width:400px;width:90%;max-height:90vh;overflow-y:auto;position:relative}.calendar-modal h2{margin:0 0 16px;text-align:center}.calendar-close-btn{position:absolute;top:10px;right:10px;background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-color, #333)}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.calendar-nav-btn{background:var(--button-bg, #e0e0e0);border:none;border-radius:8px;padding:8px 16px;font-size:20px;font-weight:700;color:#333;cursor:pointer}.calendar-nav-btn:disabled{opacity:.3;cursor:not-allowed}.calendar-month-label{font-size:18px;font-weight:700}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day-label{text-align:center;font-size:12px;font-weight:700;color:#555;padding:8px 0}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:none;border-radius:8px;font-size:14px;cursor:pointer;background:var(--button-bg, #e0e0e0);color:#333;position:relative}.calendar-day.empty{background:transparent;cursor:default}.calendar-day.future,.calendar-day.no-puzzle{background:#f5f5f5;color:#999;cursor:not-allowed;position:relative}.calendar-day.future:after,.calendar-day.no-puzzle:after{content:"";position:absolute;top:50%;left:10%;width:80%;height:1px;background:#bbb;transform:rotate(-45deg);transform-origin:center}.calendar-day.available:hover{background:var(--button-hover-bg, #d0d0d0)}.calendar-day.completed{background:var(--success-bg, #d4edda);color:#1a5928}.calendar-day.in-progress{background:var(--in-progress-bg, #fff9c4);color:#6d5c00}.calendar-day.today{border:2px solid var(--accent-color, #007bff)}.calendar-check{font-size:10px;color:var(--success-color, #28a745);position:absolute;bottom:2px;right:4px}#calendar-btn{position:fixed;top:128px;right:20px;width:44px;height:44px;border-radius:50%;border:2px solid var(--border-default, #d0d0d0);background-color:var(--button-bg, #ffffff);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.3rem;transition:all .2s ease;z-index:1000;box-shadow:var(--shadow-sm, 0 2px 4px rgba(0,0,0,.1))}#calendar-btn:hover{border-color:var(--border-hover, #aaa);transform:scale(1.05)}#calendar-btn:focus{outline:2px solid var(--border-focus, #007bff);outline-offset:2px}.completion-time{font-size:18px;color:var(--text-muted, #666);margin:8px 0 16px}.victory-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;margin-top:20px;justify-content:center}.calendar-link,.replay-btn{padding:12px 24px;border-radius:8px;border:none;cursor:pointer;font-size:16px}.calendar-link{background:var(--button-bg, #e0e0e0)}.replay-btn{background:var(--warning-bg, #fff3cd)}[data-theme=dark] .calendar-modal{background:#1e1e1e;color:#e0e0e0}[data-theme=dark] .calendar-modal h2{color:#fff}[data-theme=dark] .calendar-close-btn{color:#e0e0e0}[data-theme=dark] .calendar-day-label{color:#aaa}[data-theme=dark] .calendar-nav-btn{background:#3a3a3a;color:#fff;font-weight:700}[data-theme=dark] .calendar-nav-btn:disabled{background:#3a3a3a;color:#666}[data-theme=dark] .calendar-day{background:#3a3a3a;color:#e0e0e0}[data-theme=dark] .calendar-day.future,[data-theme=dark] .calendar-day.no-puzzle{background:#282828;color:#666}[data-theme=dark] .calendar-day.future:after,[data-theme=dark] .calendar-day.no-puzzle:after{background:#555}[data-theme=dark] .calendar-day.completed{background:#2d5a2d;color:#fff}[data-theme=dark] .calendar-day.in-progress{background:#5c5020;color:#fff}[data-theme=dark] .calendar-day.available:hover{background:#4a4a4a}[data-theme=dark] .calendar-check{color:#6ecf6e}[data-theme=dark] .calendar-day.today{border-color:#64b5f6}[data-theme=dark] .completion-time{color:#aaa}[data-theme=dark] .calendar-link{background:#3a3a3a;color:#e0e0e0}[data-theme=dark] .replay-btn{background:#5a4a20;color:#e0e0e0}:root{--bg-primary: #fafafa;--bg-secondary: #ffffff;--bg-tertiary: #f5f5f5;--bg-modal: rgba(0, 0, 0, .5);--text-primary: #333;--text-secondary: #666;--text-header: #1a1a1a;--text-success: #4caf50;--border-default: #e0e0e0;--border-hover: #999;--border-focus: #2196f3;--button-bg: #ffffff;--button-hover-bg: #f9f9f9;--button-selected-bg: #e3f2fd;--button-paired-bg: #f0f0f0;--button-error-bg: #ffebee;--primary-color: #2196f3;--primary-hover: #1976d2;--error-color: #f44336;--card-bg: #ffffff;--card-border: #e0e0e0;--selected-bg: #e3f2fd;--selected-border: #2196f3;--success-bg: #e8f5e9;--success-color: #4caf50;--shadow-sm: 0 4px 8px rgba(0, 0, 0, .1);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 20px rgba(0, 0, 0, .3);--category-bg-0: #e3f2fd;--category-bg-1: #fff8e1;--category-bg-2: #e8f5e9;--category-bg-3: #f3e5f5;--category-bg-4: #fbe9e7;--category-bg-5: #e0f7fa;--category-bg-6: #fce4ec;--category-bg-7: #f1f8e9;--category-bg-8: #fff3e0;--category-bg-9: #ede7f6}[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #3a3a3a;--bg-modal: rgba(0, 0, 0, .8);--text-primary: #e0e0e0;--text-secondary: #b0b0b0;--text-header: #ffffff;--text-success: #66bb6a;--border-default: #404040;--border-hover: #666666;--border-focus: #42a5f5;--button-bg: #2d2d2d;--button-hover-bg: #353535;--button-selected-bg: #1e3a5f;--button-paired-bg: #3a3a3a;--button-error-bg: #4a2020;--primary-color: #42a5f5;--primary-hover: #1e88e5;--error-color: #ef5350;--card-bg: #2d2d2d;--card-border: #404040;--selected-bg: #1e3a5f;--selected-border: #42a5f5;--success-bg: #1b4d1b;--success-color: #66bb6a;--shadow-sm: 0 4px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 4px 20px rgba(0, 0, 0, .6);--category-bg-0: #1a2530;--category-bg-1: #2e2a1a;--category-bg-2: #1a2e1f;--category-bg-3: #2a1e2e;--category-bg-4: #2e221e;--category-bg-5: #1a2a2e;--category-bg-6: #2e1e25;--category-bg-7: #252e1e;--category-bg-8: #2e261a;--category-bg-9: #251e2e}body{background-color:var(--bg-primary);color:var(--text-primary)}body.category-bg-0{background-color:var(--category-bg-0)}body.category-bg-1{background-color:var(--category-bg-1)}body.category-bg-2{background-color:var(--category-bg-2)}body.category-bg-3{background-color:var(--category-bg-3)}body.category-bg-4{background-color:var(--category-bg-4)}body.category-bg-5{background-color:var(--category-bg-5)}body.category-bg-6{background-color:var(--category-bg-6)}body.category-bg-7{background-color:var(--category-bg-7)}body.category-bg-8{background-color:var(--category-bg-8)}body.category-bg-9{background-color:var(--category-bg-9)}header h1{color:var(--text-header)}header .date{color:var(--text-secondary)}.instructions p,.instructions h2{color:var(--text-header)}#hints-toggle{border-color:var(--border-default);color:var(--text-secondary)}#hints-toggle:hover{border-color:var(--border-hover);color:var(--text-primary)}#hints-names,#hints-full div{color:var(--text-secondary)}#hints-full strong{color:var(--text-primary)}.word-button{background-color:var(--button-bg);border-color:var(--border-default);color:var(--text-primary)}.word-button:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.word-button.selected{background-color:var(--button-selected-bg);border-color:var(--border-focus)}.word-button.paired{background-color:var(--button-paired-bg)}.word-button.shake{background-color:var(--button-error-bg)!important;border-color:var(--error-color)!important}.notification{background-color:var(--bg-modal)}.notification-content{background-color:var(--bg-secondary);box-shadow:var(--shadow-lg)}.notification-content h2{color:var(--text-success)}.notification-content p{color:var(--text-header)}.notification-subtitle{color:var(--text-secondary)!important}#victory-screen{background-color:var(--bg-secondary);box-shadow:var(--shadow-md)}#victory-screen h2{color:var(--text-success)}#victory-screen #share-display{background-color:var(--bg-tertiary);border-color:var(--border-default);color:var(--text-primary)}#victory-screen button{background-color:var(--primary-color)}#victory-screen button:hover{background-color:var(--primary-hover)}#share-copy-feedback{color:var(--text-success)}#error-screen{background-color:var(--bg-secondary);box-shadow:var(--shadow-md)}#error-screen button{background-color:var(--primary-color)}#error-screen button:hover{background-color:var(--primary-hover)}.modal{background-color:var(--bg-modal)}.modal-content{background-color:var(--bg-secondary);box-shadow:var(--shadow-lg)}.modal-content textarea{background-color:var(--bg-tertiary);border-color:var(--border-default);color:var(--text-primary)}.modal-buttons button{background-color:var(--primary-color)}.modal-buttons button:hover{background-color:var(--primary-hover)}#copy-feedback{color:var(--text-success)}.theme-toggle{position:fixed;top:20px;right:20px;width:44px;height:44px;border-radius:50%;border:2px solid var(--border-default);background-color:var(--button-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:all .2s ease;z-index:1000;box-shadow:var(--shadow-sm)}.theme-toggle:hover{border-color:var(--border-hover);transform:scale(1.05)}.theme-toggle:focus{outline:2px solid var(--border-focus);outline-offset:2px}.theme-toggle:before{content:"☀️"}[data-theme=dark] .theme-toggle:before{content:"🌙"}.audio-toggle{position:fixed;top:74px;right:20px;width:44px;height:44px;border-radius:50%;border:2px solid var(--border-default);background-color:var(--button-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.3rem;transition:all .2s ease;z-index:1000;box-shadow:var(--shadow-sm)}.audio-toggle:hover{border-color:var(--border-hover);transform:scale(1.05)}.audio-toggle:focus{outline:2px solid var(--border-focus);outline-offset:2px}.audio-toggle:before{content:"🔊"}.audio-toggle.muted:before{content:"🔇"}.audio-toggle.music-toggle:before{content:"🎵"}.audio-toggle.sfx-toggle:before{content:"🔊"}.audio-toggle.music-toggle.muted:before{content:"🎵";opacity:.35;filter:grayscale(100%)}.audio-toggle.sfx-toggle.muted:before{content:"🔇"}.audio-toggle.music-toggle{right:68px}.audio-toggle.sfx-toggle{right:20px}.secondary-button{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-default)}.secondary-button:hover{background-color:var(--button-hover-bg);border-color:var(--border-hover)}body,.word-button,.theme-toggle,.audio-toggle,.notification-content,#victory-screen,#error-screen,.modal-content{transition:background-color .3s ease,color .3s ease,border-color .3s ease}@media(max-width:768px){.theme-toggle{top:10px;right:10px;width:40px;height:40px;font-size:1.3rem}.audio-toggle{top:58px;width:40px;height:40px;font-size:1.1rem}.audio-toggle.music-toggle{right:58px}.audio-toggle.sfx-toggle{right:10px}#calendar-btn{top:106px;right:10px;width:40px;height:40px;font-size:1.1rem}}[data-theme=dark] .stack-area:not(:empty){border-bottom-color:var(--border-default, #444)}[data-theme=dark] .pair-stack.active-deepdive .stack-card:last-child{animation-name:stack-pulse-dark}@keyframes stack-pulse-dark{0%,to{box-shadow:0 1px 3px #0006}50%{box-shadow:0 0 15px #64646480,0 1px 3px #0006}}
