@import"https://fonts.googleapis.com/css2?family=Courier+Prime:wght@400;700&family=Permanent+Marker&family=Libre+Franklin:wght@400;600;700;800&family=Frank+Ruhl+Libre:wght@700;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Frank+Ruhl+Libre:wght@700&family=Libre+Franklin:wght@500;700&display=swap";.app-header{position:fixed;top:0;left:0;z-index:100;background-color:#fff;border-bottom:1px solid #E0E0E0;margin:0 auto;display:flex;justify-content:center;align-items:center;width:100%;height:64px}.header-container{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:1000px;padding:0 1rem;height:100%}.logo{font-family:Frank Ruhl Libre,serif;font-weight:700;font-size:1.5rem;color:#121212;text-decoration:none;letter-spacing:-.03em;line-height:1}.header-date{font-family:Libre Franklin,sans-serif;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#121212}.header-action-button{display:inline-flex;align-items:center;justify-content:center;padding:0 1.25rem;height:40px;background-color:#121212;color:#fff;border:2px solid #121212;border-radius:4px;box-shadow:3px 3px #999;font-family:Libre Franklin,sans-serif;font-weight:700;text-transform:uppercase;font-size:.85rem;text-decoration:none;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease}.header-action-button:hover{transform:translate(1px,1px);box-shadow:2px 2px #999;opacity:1;text-decoration:none}.header-action-button:active,.header-action-button.active{transform:translate(3px,3px);box-shadow:0 0 #999}.account-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:220px;background-color:#fff;border:1px solid #121212;border-radius:4px;box-shadow:4px 4px #121212;z-index:1000;overflow:hidden;animation:menuFadeIn .15s ease-out forwards}.account-dropdown a,.account-dropdown button{display:block;width:100%;text-align:left;padding:14px 20px;font-family:Libre Franklin,sans-serif;font-weight:500;font-size:.9rem;color:#121212;text-decoration:none;background:#fff;border:none;border-bottom:1px solid #121212;cursor:pointer}.account-dropdown>*:last-child{border-bottom:none}.account-dropdown button.logout-button{color:#d32f2f;font-weight:700}.account-dropdown button.logout-button:hover{background-color:#fff0f0}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.header-date{display:none}.app-header{padding:0 1rem}}.consent-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#f5f0e6d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9998;animation:backdropFadeIn .3s ease-out forwards}.consent-backdrop.exiting{animation:backdropFadeOut .4s ease-in forwards}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes backdropFadeOut{0%{opacity:1}to{opacity:0}}.consent-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;display:flex;justify-content:center;padding:24px;padding-bottom:max(24px,env(safe-area-inset-bottom));animation:slideUp .8s cubic-bezier(.34,1.56,.64,1) forwards}.consent-banner.exiting{animation:slideDown .4s ease-in forwards}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}.consent-content{background:#fff;border:4px solid #121212;border-radius:8px;padding:32px;max-width:480px;width:100%;box-shadow:6px 6px #121212}.consent-header{margin-bottom:16px}.consent-heading{font-family:Frank Ruhl Libre,Georgia,serif;font-size:1.5rem;font-weight:700;color:#121212;margin:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.consent-cookie-inline{display:inline-flex;align-items:center;vertical-align:middle;margin-left:4px}.consent-text{font-family:Libre Franklin,system-ui,sans-serif;font-size:.95rem;line-height:1.6;color:#333;margin:0 0 24px}.consent-actions{display:flex;gap:12px;margin-bottom:20px}.consent-button{flex:1;padding:14px 24px;font-family:Libre Franklin,system-ui,sans-serif;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border:3px solid #121212;border-radius:6px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:3px 3px #121212}.consent-button:hover{transform:translate(-2px,-2px);box-shadow:5px 5px #121212}.consent-button:active{transform:translate(1px,1px);box-shadow:2px 2px #121212}.consent-accept{background:#a8e6cf;color:#121212}.consent-accept:hover{background:#8fd9b6}.consent-decline{background:#121212;color:#fff}.consent-decline:hover{background:#2a2a2a}.consent-policy-link{display:inline-block;font-family:Libre Franklin,system-ui,sans-serif;font-size:.85rem;color:#666;text-decoration:none;transition:color .2s ease}.consent-policy-link:hover{color:#121212;text-decoration:underline}@media (max-width: 520px){.consent-banner{padding:16px}.consent-content{padding:24px;box-shadow:4px 4px #121212}.consent-heading{font-size:1.3rem}.consent-cookie-inline svg{width:36px;height:36px}.consent-actions{flex-direction:column;gap:10px}.consent-button{padding:12px 20px}}.btn-return{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background-color:#fff;border:2px solid #121212;border-radius:4px;cursor:pointer;z-index:50;box-shadow:6px 6px #121212;transform:translate(0);transition:transform .1s ease,box-shadow .1s ease}.btn-return:hover{box-shadow:4px 4px #121212;transform:translate(2px,2px)}.btn-return:active{box-shadow:0 0 #121212;transform:translate(6px,6px)}@media (max-width: 768px){.btn-return{position:relative;margin-bottom:1rem}}@media (min-width: 769px){.btn-return{position:fixed;left:3rem;top:8rem}}.layout-wrapper{width:100%;min-height:100vh;padding-top:64px;display:flex;flex-direction:column;align-items:center}.layout-container{position:relative;width:100%;max-width:640px;margin:0 auto;padding:0 1rem;margin-top:3rem}.layout-container.wide{max-width:1000px}.layout-header{text-align:center;margin-bottom:3rem;position:relative}.layout-title{font-family:Frank Ruhl Libre,serif;font-weight:800;font-size:3.5rem;line-height:1.1;margin:0;padding:0;text-transform:uppercase;letter-spacing:-.02em;position:relative;top:0}.layout-title.gradient{background:linear-gradient(180deg,#2c5e86,#5d8ca6);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0px 4px 4px rgba(0,0,0,.05)}.layout-title.solid{color:#121212;background:none;text-shadow:none}.layout-subtitle{font-family:Libre Franklin,sans-serif;font-size:1.1rem;color:#555;margin-top:.75rem;font-weight:500}@media (max-width: 768px){.layout-container{margin-top:2rem}.layout-title{font-size:2.5rem}.layout-return-key{position:static;display:block;margin-bottom:1rem}.layout-header{display:flex;flex-direction:column;align-items:center}}.portal-page-content{display:flex;justify-content:center;width:100%;padding:1rem 0}.games-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;width:100%;max-width:640px}.game-card{aspect-ratio:4 / 3;display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem;background-color:#fff;border:2px solid #121212;border-radius:8px;box-shadow:4px 4px #121212;cursor:pointer;transition:all .15s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden;color:#121212}.card-header{display:flex;justify-content:space-between;align-items:flex-start;height:64px}.game-icon{color:#121212}.game-card h3{font-family:Frank Ruhl Libre,serif;font-size:1.5rem;font-weight:800;margin:0 0 .25rem;line-height:1.1;letter-spacing:-.02em;color:#121212;transition:color .15s ease}.card-tagline{font-family:Libre Franklin,sans-serif;font-size:.85rem;color:#5a5a5a;margin:0;font-weight:500}.game-card:hover{transform:translate(2px,2px);box-shadow:2px 2px #121212;border-color:currentColor}.game-card:active{transform:translate(4px,4px);box-shadow:0 0}.game-card.wordle{color:#2a6e45}.game-card.connections{color:#2a2a5a}.game-card.crossword{color:#09c}.game-card.pyramid{color:#b85c38}.game-card:hover h3{color:currentColor}.badge-resume{background:#121212;color:#fff;font-family:Libre Franklin,sans-serif;font-size:.75rem;font-weight:700;padding:6px 12px;border-radius:20px;border:1px solid #121212;letter-spacing:.05em}.badge-gold{background-color:#f9df6d;color:#121212;font-family:Libre Franklin,sans-serif;font-weight:800;font-size:.8rem;text-transform:uppercase;padding:6px 12px;border:2px solid #121212;border-radius:4px;box-shadow:2px 2px #00000026;letter-spacing:.05em;z-index:10;pointer-events:none}@media (max-width: 600px){.games-grid{grid-template-columns:1fr;max-width:350px}}.cartridge-container{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:600px;margin:0 auto;padding-top:0;padding-bottom:2rem}.cartridge-identity{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin-top:-1.8rem;position:relative;z-index:10}.cartridge-title{font-family:Frank Ruhl Libre,serif;font-size:3.5rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#121212;-webkit-text-stroke:5px #121212;paint-order:stroke fill;text-shadow:none;margin:0;line-height:.9;transition:color .2s ease}.cartridge-tagline{font-family:Libre Franklin,sans-serif;font-size:1.1rem;color:#555;margin:0;margin-top:1rem;max-width:400px}.cartridge-container.theme-connections .cartridge-title{color:#c39bd3}.cartridge-container.theme-connections .btn-massive-play{background-color:#c39bd3;color:#121212}.cartridge-container.theme-wordle .cartridge-title{color:#538d4e}.cartridge-container.theme-wordle .btn-massive-play{background-color:#538d4e;color:#fff}.cartridge-container.theme-crossword .cartridge-title{color:#85c1e9}.cartridge-container.theme-crossword .btn-massive-play{background-color:#85c1e9;color:#121212}.cartridge-container.theme-pyramid .cartridge-title{color:#f4d03f}.cartridge-container.theme-pyramid .btn-massive-play{background-color:#f4d03f;color:#121212}.cartridge-hero{padding:1rem;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);margin-top:3rem;margin-bottom:3rem}.cartridge-hero:hover{transform:scale(1.05) rotate(2deg)}.control-deck{display:flex;flex-direction:column;gap:5rem;width:100%;max-width:450px}.btn-massive-play{font-family:Libre Franklin,sans-serif;font-size:1.25rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;width:100%;padding:1.2rem;background-color:var(--btn-accent);color:#fff;border:3px solid #121212;border-radius:8px;text-shadow:1px 1px 0px rgba(0,0,0,.1);box-shadow:6px 6px #121212;transform:translate(0);cursor:pointer;transition:all .1s cubic-bezier(.4,0,.2,1)}.btn-massive-play:hover{transform:translate(2px,2px);box-shadow:2px 2px #121212;filter:brightness(110%)}.btn-massive-play:active{transform:translate(6px,6px);box-shadow:0 0;filter:brightness(100%)}.utility-row{display:flex;justify-content:space-between;gap:1.5rem}.btn-utility{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;flex:1;padding:1rem .5rem;min-height:110px;background:#fff;border:3px solid #121212;border-radius:8px;color:#121212;box-shadow:4px 4px #121212;transform:translate(0);cursor:pointer;transition:all .1s cubic-bezier(.4,0,.2,1)}.neo-icon-utility{filter:drop-shadow(2px 2px 0px rgba(0,0,0,.2));transition:all .2s ease}.utility-label{font-family:Libre Franklin,sans-serif;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.btn-utility:hover{transform:translate(1px,1px);box-shadow:2px 2px #121212;background-color:#fff}.btn-utility:active{transform:translate(4px,4px);box-shadow:0 0}.btn-utility:hover .neo-icon-utility{filter:drop-shadow(1px 1px 0px rgba(0,0,0,.2))}@media (max-width: 600px){.cartridge-title{font-size:2.75rem}.cartridge-identity{margin-top:0}.cartridge-hero{margin:1.5rem 0}.control-deck{gap:2rem}}.avatar-container{position:relative;background-color:#efefe6;border:2px solid var(--ink-primary);border-radius:12px;display:flex;justify-content:center;align-items:center;color:var(--ink-primary);font-family:var(--font-display);font-weight:700;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-rest)}.avatar-content{display:flex;justify-content:center;align-items:center;width:100%;height:100%}.avatar-edit-button{position:absolute;bottom:-6px;right:-6px;background-color:var(--ink-primary);color:var(--bg-surface);border:none;border-radius:50%;width:24px;height:24px;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:transform .2s ease;box-shadow:0 2px 4px #0003}.avatar-edit-button:hover{transform:scale(1.1);background-color:#000}.leaderboard-content{display:flex;flex-direction:column;gap:2rem;width:100%}.podium-container{display:flex;justify-content:center;align-items:flex-end;gap:1rem;padding-bottom:1rem;border-bottom:2px solid #121212;margin-bottom:1rem}.podium-step{display:flex;flex-direction:column;align-items:center;background:#fff;border:1px solid #121212;padding:1rem;text-align:center;position:relative;box-shadow:4px 4px #0000000d}.step-1{order:2;width:140px;min-height:180px;background-color:#fffdf5;border:2px solid #F9DF6D;z-index:2}.crown-icon{font-size:1.5rem;margin-bottom:.5rem}.step-2,.step-3{width:110px;min-height:140px;z-index:1}.step-2{order:1}.step-3{order:3}.step-rank{font-family:Frank Ruhl Libre,serif;font-weight:800;font-size:1.5rem;margin:.5rem 0;color:#121212}.step-name{font-family:Libre Franklin,sans-serif;font-weight:700;font-size:.9rem;margin-bottom:.25rem}.step-score{font-family:Libre Franklin,sans-serif;font-size:.8rem;color:#555}.leaderboard-list{display:flex;flex-direction:column}.list-header{display:grid;grid-template-columns:60px 1fr 80px;padding:.5rem 1rem;font-family:Libre Franklin,sans-serif;font-size:.75rem;text-transform:uppercase;font-weight:700;color:#999;border-bottom:1px solid #121212}.leaderboard-row{display:grid;grid-template-columns:60px 1fr 80px;align-items:center;padding:1rem;background:#fff;border-bottom:1px dashed #DCDCDC}.row-rank{font-family:Frank Ruhl Libre,serif;font-size:1.2rem;color:#999;font-weight:700}.row-player{display:flex;align-items:center;gap:.75rem}.row-name{font-family:Libre Franklin,sans-serif;font-weight:700;font-size:.95rem}.streak-badge{font-size:.75rem;background:#fee;color:#d32f2f;padding:2px 6px;border-radius:4px;font-weight:700}.row-score{text-align:right;font-family:Libre Franklin,sans-serif;font-weight:700;font-feature-settings:"tnum"}.share-section{display:flex;justify-content:center;margin-top:2rem}.share-receipt-btn{background:#121212;color:#fff;border:none;padding:1rem 2rem;font-family:Libre Franklin,sans-serif;font-weight:700;text-transform:uppercase;cursor:pointer;box-shadow:4px 4px #0003;transition:transform .1s}.share-receipt-btn:active{transform:translate(2px,2px);box-shadow:2px 2px #0003}@media (max-width: 600px){.podium-container{gap:.5rem}.step-1{width:110px}.step-2,.step-3{width:90px}}.login-page-content{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;min-height:calc(100vh - 64px);width:100%;padding:0 1rem 2rem}.entry-ticket-card{width:100%;max-width:340px;background-color:#fff;border:1px solid #121212;border-radius:4px;box-shadow:6px 6px #121212;padding:2.5rem;position:relative}.form-group label{display:block;font-family:Libre Franklin,sans-serif;font-size:.75rem;text-transform:uppercase;font-weight:700;color:#5a5a5a;margin-bottom:.5rem;letter-spacing:.05em}.error-message{background-color:transparent;color:#d32f2f;font-weight:700;font-size:.85rem;border:2px solid #D32F2F;box-shadow:3px 3px #d32f2f;padding:.75rem;margin-bottom:1.5rem;text-align:center;display:flex;align-items:center;justify-content:center;gap:10px;font-family:Libre Franklin,sans-serif}.signup-page-content{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;min-height:calc(100vh - 64px);width:100%;padding:0 1rem 2rem}.entry-ticket-card{width:100%;max-width:340px;background-color:#fff;border:1px solid #121212;border-radius:4px;box-shadow:6px 6px #121212;padding:2.5rem;position:relative;text-align:left}.section-label{display:block;font-family:Libre Franklin,sans-serif;font-size:.75rem;text-transform:uppercase;font-weight:700;color:#5a5a5a;margin-bottom:.75rem;letter-spacing:.05em}.google-section{margin-bottom:1.5rem}.sunday-google-button{width:100%;height:44px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;background-color:#fff;border:2px solid #121212;color:#121212;border-radius:4px;box-shadow:3px 3px #121212;transition:transform .1s ease,box-shadow .1s ease}.sunday-google-button:hover{transform:translate(1px,1px);box-shadow:2px 2px #121212}.sunday-google-button:active{transform:translate(3px,3px);box-shadow:0 0 #121212}.sunday-google-button span{font-family:Libre Franklin,sans-serif;font-weight:700;font-size:.9rem;color:#121212}.form-group{margin-bottom:1.5rem}.form-group label{display:flex;justify-content:space-between;font-family:Libre Franklin,sans-serif;font-size:.75rem;text-transform:uppercase;font-weight:700;color:#5a5a5a;margin-bottom:.5rem;letter-spacing:.05em}.sunday-input{width:100%;height:44px;padding:0 1rem;border:1px solid #121212;border-radius:0;font-family:Libre Franklin,sans-serif;font-size:1rem;color:#121212;outline:none;transition:background-color .2s;box-sizing:border-box}.sunday-input:focus{background-color:#fafafa;border-color:#121212}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0px 1000px #FFFFFF inset!important;-webkit-text-fill-color:#121212!important;border:1px solid #121212!important;font-family:Libre Franklin,sans-serif!important;border-radius:0!important}.divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid #E0E0E0}.divider span{padding:0 10px;font-family:Libre Franklin,sans-serif;font-size:.75rem;font-weight:700;text-transform:uppercase;background-color:#fff;color:#999}.entry-submit-button{width:100%;height:44px;cursor:pointer;margin-top:1rem;background-color:#121212;border:2px solid #121212;color:#fff;border-radius:4px;box-shadow:3px 3px #999;font-family:Libre Franklin,sans-serif;font-weight:700;text-transform:uppercase;font-size:.9rem;transition:transform .1s ease,box-shadow .1s ease}.entry-submit-button:hover:not(:disabled){transform:translate(1px,1px);box-shadow:2px 2px #999}.entry-submit-button:active:not(:disabled){transform:translate(3px,3px);box-shadow:0 0 #999}.entry-submit-button:disabled{opacity:.7;cursor:not-allowed;box-shadow:none;transform:none}.error-message{background-color:#fff0f0;color:#d32f2f;font-weight:700;font-size:.85rem;border-left:3px solid #D32F2F;padding:.75rem;margin-bottom:1.5rem;font-family:Libre Franklin,sans-serif}.auth-footer{margin-top:2rem;text-align:center;font-family:Libre Franklin,sans-serif;font-size:.85rem;color:#666}.auth-footer a{color:#121212;text-decoration:underline;font-weight:700}.word-tile{font-family:Libre Franklin,sans-serif;font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.02em;text-align:center;color:#121212;-webkit-user-select:none;user-select:none;width:100%;aspect-ratio:3/2;padding:.35rem;display:flex;align-items:center;justify-content:center;background-color:#efefe6;border:1px solid #D3D3D3;border-bottom:3px solid #C0C0C0;border-radius:0;cursor:pointer;transition:transform .1s cubic-bezier(.3,0,.5,1),border-bottom-width .1s,background-color .1s}.word-tile:hover:not(.disabled):not(.exiting):not(.selected){background-color:#e5e5dc;border-bottom-width:2px;transform:translateY(1px)}.word-tile:active:not(:disabled),.word-tile.selected{background-color:#5a5a5a;color:#fff;border-color:#5a5a5a;border-bottom-width:1px;transform:translateY(2px)}@keyframes wobble{0%{transform:rotate(0) translateY(2px)}25%{transform:rotate(-5deg) translateY(2px)}50%{transform:rotate(5deg) translateY(2px)}75%{transform:rotate(-2deg) translateY(2px)}to{transform:rotate(0) translateY(2px)}}.word-tile.shaking{background-color:#2c5e86!important;border-color:#2c5e86!important;color:#fff!important;border-bottom-width:1px;animation:wobble .5s cubic-bezier(.36,.07,.19,.97) both}.word-tile.disabled{opacity:.6;cursor:default;pointer-events:none}@media (max-width: 480px){.word-tile{font-size:.65rem;aspect-ratio:1/1;border-bottom-width:2px}.word-tile:hover:not(.disabled):not(.exiting):not(.selected){border-bottom-width:1px;transform:translateY(1px)}.word-tile:active:not(:disabled),.word-tile.selected{border-bottom-width:0px;transform:translateY(2px)}}.category-card{width:100%;height:80px;border-radius:4px;margin-bottom:8px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;transform-origin:center;box-shadow:0 2px #0000000d}.category-content{display:flex;flex-direction:column;gap:4px;padding:0 1rem}.category-title{font-family:Frank Ruhl Libre,serif;font-weight:700;font-size:1.1rem;text-transform:uppercase;color:#000000e6;line-height:1.1}.category-words{font-family:Libre Franklin,sans-serif;font-weight:400;font-size:.85rem;text-transform:uppercase;color:#000000b3}.mistakes-display{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem}.mistakes-label{font-family:var(--font-body);font-size:.9rem;color:#121212;font-weight:500}.mistakes-pips{display:flex;gap:.5rem}.pip-wrapper{width:12px;height:12px;position:relative}.pip{width:100%;height:100%;border-radius:50%;position:absolute;top:0;left:0}.pip.active{background-color:#2c5e86;border:1px solid #121212}.pip.lost{background-color:transparent;border:1px solid #121212}.hint-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.hint-dossier{background-color:#f9f7f1;border:2px solid #121212;padding:2rem;width:100%;max-width:400px;box-shadow:10px 10px #0003;position:relative}.dossier-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;border-bottom:2px solid #121212;padding-bottom:1rem}.dossier-header h2{font-family:Frank Ruhl Libre,serif;font-size:2rem;margin:0;color:#121212;letter-spacing:2px}.stamp{border:2px solid #D32F2F;color:#d32f2f;padding:.25rem .5rem;font-family:Courier New,monospace;font-weight:700;transform:rotate(-10deg);font-size:.8rem;opacity:.8}.dossier-content{display:flex;flex-direction:column;gap:1rem}.hint-strip-container{position:relative}.hint-strip{height:50px;display:flex;align-items:center;position:relative;transition:all .3s ease}.hint-strip.locked .strip-cover{background-color:#d1d1d1;background-image:url("data:image/svg+xml,%3Csvg width='4' height='4' viewBox='0 0 4 4' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 3h1v1H1V3zm2-2h1v1H3V1z' fill='%23ffffff' fill-opacity='0.2' fill-rule='evenodd'/%3E%3C/svg%3E");clip-path:polygon(2% 0%,98% 0%,100% 100%,0% 100%);box-shadow:0 1px 2px #0003;width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;border:none}.typewriter-text{font-family:Courier New,Courier,monospace;font-weight:700;letter-spacing:1px;color:#121212}.hint-strip.yellow .strip-cover{border-left:4px solid #f9df6d}.hint-strip.green .strip-cover{border-left:4px solid #a0c35a}.hint-strip.blue .strip-cover{border-left:4px solid #b0c4ef}.hint-strip.purple .strip-cover{border-left:4px solid #ba81c5}.strip-label{font-family:Libre Franklin,sans-serif;font-size:.75rem;text-transform:uppercase;color:#555}.reveal-button{background:#121212;color:#fff;border:none;padding:.25rem .75rem;font-family:Courier New,monospace;font-size:.75rem;cursor:pointer;transition:transform .1s}.reveal-button:active{transform:scale(.95)}.hint-strip.revealed{background-color:transparent}.strip-content{font-family:Courier New,monospace;font-size:1.1rem;color:#121212;border-bottom:1px dashed #999;width:100%;padding:.5rem 0}.close-dossier{margin-top:2rem;width:100%;padding:1rem;background:transparent;border:2px solid #121212;font-family:Libre Franklin,sans-serif;font-weight:700;cursor:pointer;transition:all .2s}.close-dossier:hover{background:#121212;color:#f9f7f1}.game-board{width:100%;display:flex;flex-direction:column;align-items:center}.brand-header{text-align:center;margin-bottom:1.5rem;border-bottom:1px solid #e0e0e0;padding-bottom:1rem}.brand-title{font-family:Frank Ruhl Libre,serif;font-weight:900;font-size:2.5rem;margin:0;letter-spacing:-1px;background:linear-gradient(45deg,#1a3a52,#2c5e86);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}:root{--game-max-width: 620px}.game-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:0 .5rem;width:100%;max-width:var(--game-max-width);margin-left:auto;margin-right:auto}.mistakes-container{display:flex;align-items:center;gap:.75rem}.mistakes-label{font-family:Libre Franklin,sans-serif;font-size:.9rem;font-weight:500;color:#121212}.mistakes-dots{display:flex;gap:.4rem}.mistake-dot{width:12px;height:12px;border-radius:50%;background-color:#e0e0e0;transition:background-color .3s ease}.mistake-dot.used{background-color:#5a5a5a}.hint-section{display:flex;align-items:center;gap:.5rem}.hint-label{font-family:Libre Franklin,sans-serif;font-size:.9rem;font-weight:500;color:#121212}.hint-trigger{background:transparent;border:none;width:auto;height:auto;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:none;transition:transform .2s cubic-bezier(.3,0,.5,1);padding:0;opacity:.8}.hint-trigger:hover{transform:scale(1.1) rotate(-10deg);opacity:1}.hint-trigger:active{transform:scale(.9)}.found-categories{width:100%;max-width:var(--game-max-width);margin-left:auto;margin-right:auto;margin-bottom:8px;display:flex;flex-direction:column;gap:8px}.category-card{width:100%;padding:1rem;border-radius:4px;text-align:center;animation:scaleIn .4s cubic-bezier(.175,.885,.32,1.275);color:#121212;border:2px solid rgba(0,0,0,.1)}.category-title{font-family:Frank Ruhl Libre,serif;font-weight:800;text-transform:uppercase;font-size:1.1rem;margin-bottom:.25rem;letter-spacing:.02em}.category-words{font-family:Libre Franklin,sans-serif;font-size:.95rem;font-weight:500}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.words-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:1.5rem;width:100%;max-width:var(--game-max-width);margin-left:auto;margin-right:auto}.word-tile{aspect-ratio:4/3;background-color:#f0f0f0;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.5rem;font-family:Libre Franklin,sans-serif;font-weight:700;text-transform:uppercase;font-size:.8rem;text-align:center;color:#121212;-webkit-user-select:none;user-select:none;transition:transform .1s ease,background-color .2s,color .2s,border-color .2s;border:2px solid transparent}.word-tile:hover:not(:disabled){background-color:#e0e0e0;transform:translateY(-1px)}.word-tile.selected{background-color:#121212;color:#fff;border-color:#121212}.word-tile.exiting{transition:all .6s ease;transform:scale(.95);opacity:.8}.word-tile.shaking{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both;background-color:#ffcdd2;color:#d32f2f}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.game-controls{display:flex;gap:12px;justify-content:center;margin-top:1rem;flex-wrap:wrap}.pill-button{background:#fff;color:#121212;border:2px solid #121212;border-radius:0;padding:.75rem 1.5rem;font-family:Libre Franklin,sans-serif;font-weight:700;font-size:.85rem;text-transform:uppercase;cursor:pointer;box-shadow:4px 4px #121212;transition:all .1s ease}.pill-button:hover:not(:disabled){background:#fff;transform:translate(2px,2px);box-shadow:2px 2px #121212}.pill-button:active:not(:disabled){transform:translate(4px,4px);box-shadow:0 0 #121212}.pill-button.submit{background:#121212;color:#fff;box-shadow:4px 4px #999}.pill-button.submit:hover:not(:disabled){background:#121212;box-shadow:2px 2px #999}.pill-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:translate(2px,2px);border-color:#999;color:#999}.toast-message{position:fixed;top:100px;left:50%;display:flex;align-items:center;justify-content:center;text-align:center;background-color:#121212;color:#fff;padding:.75rem 1.5rem;font-family:Libre Franklin,sans-serif;font-weight:700;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px;border-radius:4px;z-index:3000;box-shadow:4px 4px #0003;max-width:90vw}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#ffffffe6;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.modal-content{background:#fff;border:3px solid #121212;box-shadow:10px 10px #121212;width:100%;max-width:400px;padding:2rem;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h2{font-family:Frank Ruhl Libre,serif;font-size:1.5rem;margin:0;color:#121212}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#121212}@media (max-width: 600px){.words-grid{gap:6px}.word-tile{font-size:.65rem;padding:.25rem;aspect-ratio:1/1}.game-toolbar{padding:0 .25rem}.pill-button{padding:.6rem 1rem;font-size:.75rem}.brand-title{font-size:2rem}}@media (max-width: 380px){.words-grid{grid-template-columns:repeat(4,1fr)}.word-tile{font-size:.55rem;word-break:break-word}}.connections-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:3000}.connections-completion-card{background:#fff;border:3px solid #1A1A1A;box-shadow:6px 6px #1a1a1a;padding:2rem 3rem 2.5rem;text-align:center;min-width:320px;max-width:380px;position:relative}.connections-icon{display:block;margin:0 auto}.completion-stamp.solved{color:#2c5e86;border-color:#2c5e86}.connections-stats-grid{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1rem 0;border-top:1px solid #eee;border-bottom:1px solid #eee}.connections-stats-row{display:flex;align-items:center;justify-content:center;gap:2rem}.connections-stat-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:80px}.connections-stat-value{font-family:Courier Prime,monospace;font-size:1.5rem;font-weight:700;color:#1a1a1a}.connections-stat-label{font-family:Libre Franklin,sans-serif;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#888}.connections-stat-divider{width:1px;height:36px;background:#ddd}.connections-stat-item.muted .connections-stat-value{color:#999;font-size:1.3rem}.connections-stat-item.muted .connections-stat-label{color:#aaa}.connections-stat-item.record .connections-stat-value{color:#ff6b35;text-shadow:0 0 8px rgba(255,107,53,.3)}.play-page-content{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0 1rem 3rem}.puzzle-header-actions{width:100%;display:flex;justify-content:center;margin-bottom:1rem;min-height:0}.view-stats-button{background-color:#121212;color:#fff;border:none;padding:.5rem 1rem;font-family:Libre Franklin,sans-serif;font-weight:700;text-transform:uppercase;font-size:.85rem;border-radius:4px;cursor:pointer;box-shadow:3px 3px #0003;transition:transform .1s}.view-stats-button:hover{transform:translateY(-1px);box-shadow:4px 4px #0003}.completed-message{background-color:#fff;padding:3rem 2rem;border:2px solid #121212;border-radius:4px;box-shadow:6px 6px #121212;text-align:center;max-width:500px;width:100%;margin:1rem auto}.completed-message h2{font-family:Frank Ruhl Libre,serif;font-size:2rem;color:#121212;margin-bottom:1.5rem;text-transform:uppercase;background:linear-gradient(180deg,#2c5e86,#5d8ca6);-webkit-background-clip:text;background-clip:text;color:transparent}.completed-message p{font-family:Libre Franklin,sans-serif;font-size:1.1rem;color:#555;margin-bottom:.5rem}.no-puzzle-container,.loading,.error-container{text-align:center;padding:4rem 2rem;font-family:Libre Franklin,sans-serif;color:#666;font-weight:500}.error-message{color:#d32f2f}@media (max-width: 768px){.play-page-content{padding:0 .5rem 2rem}}.archive-container{width:100%;display:flex;flex-direction:column;align-items:center}.archive-controls{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:400px;margin-bottom:1.5rem}.month-navigator{display:flex;align-items:center;gap:8px}.nav-arrow{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #121212;color:#121212;font-family:Libre Franklin,sans-serif;font-weight:700;cursor:pointer;box-shadow:2px 2px #121212;transition:all .1s ease;border-radius:0}.nav-arrow:hover:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px #121212}.nav-arrow:active:not(:disabled){transform:translate(2px,2px);box-shadow:0 0 #121212}.nav-arrow:disabled{opacity:.3;cursor:default;box-shadow:none;border-color:#999}.month-display{font-family:Libre Franklin,sans-serif;font-weight:700;text-transform:uppercase;font-size:.9rem;color:#121212;min-width:140px;text-align:center;letter-spacing:.05em}.stats-summary{font-family:Libre Franklin,sans-serif;font-size:.8rem;color:#555;display:flex;align-items:center}.stats-summary strong{color:#121212}.stats-summary .divider{margin:0 .5rem;color:#ccc}.calendar-wrapper{position:relative;width:100%;max-width:400px}.weekdays-header{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:.5rem;text-align:center}.weekday-label{font-family:Libre Franklin,sans-serif;font-size:.75rem;font-weight:700;color:#999}.archive-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:2rem}.calendar-day{aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Libre Franklin,sans-serif;font-weight:700;border-radius:2px;font-size:.9rem;cursor:pointer;transition:all .1s ease;position:relative}.calendar-day.empty{background:transparent;cursor:default}.calendar-day.unplayed{background:#fff;border:1px solid #DCDCDC;color:#999;box-shadow:2px 2px #e0e0e0}.calendar-day.unplayed:hover{transform:translateY(2px);box-shadow:0 0;border-color:#121212;color:#121212}.calendar-day.played{background-color:#2c5e86;color:#fff;border:1px solid #1A3A52}.calendar-day.perfect{background-color:#2c5e86;border:2px solid #F9DF6D;box-shadow:0 0 8px #f9df6d4d}.puzzle-index{font-size:.6rem;margin-top:2px;opacity:.8}.archive-lock-overlay{position:absolute;top:80px;left:-1rem;right:-1rem;bottom:0;background:linear-gradient(to bottom,#fff6,#fffffff2 40%,#fff);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:10}.gold-ticket-card{background-color:#fffdf5;border:2px solid #F9DF6D;padding:2rem;text-align:center;box-shadow:0 10px 25px #0000001a;max-width:320px}.lock-icon{font-size:2rem;margin-bottom:1rem}.gold-ticket-card h3{font-family:Frank Ruhl Libre,serif;font-size:1.5rem;margin-bottom:.5rem;color:#121212}.gold-ticket-card p{font-family:Libre Franklin,sans-serif;font-size:.9rem;color:#666;margin-bottom:1.5rem;line-height:1.4}.black-block-button{width:100%;background:#121212;color:#fff;border:none;padding:1rem;font-family:Libre Franklin,sans-serif;font-weight:700;text-transform:uppercase;font-size:.85rem;cursor:pointer}@media (max-width: 500px){.archive-controls{flex-direction:column;gap:1rem}.stats-summary{width:100%;justify-content:center;padding-top:.5rem;border-top:1px solid #eee}}.manual-container{display:flex;flex-direction:column;gap:3rem;padding-bottom:2rem}.instruction-step{display:flex;gap:1.5rem;padding-bottom:2rem;border-bottom:1px solid #E0E0E0}.step-number{font-family:Frank Ruhl Libre,serif;font-size:2.5rem;font-weight:800;color:#e0e0e0;line-height:1}.step-content h3{font-family:Frank Ruhl Libre,serif;font-size:1.5rem;margin-bottom:.5rem;margin-top:0;color:#121212}.step-content p{font-family:Libre Franklin,sans-serif;font-size:1rem;color:#555;margin-bottom:1.5rem}.visual-diagram{background:#f9f9f9;padding:1.5rem;border-radius:4px;display:flex;flex-direction:column;align-items:center;border:1px dashed #CCC}.diagram-row{display:flex;gap:4px}.tile{background:#fff;border:1px solid #121212;padding:.5rem;font-size:.6rem;font-weight:700;width:50px;text-align:center}.arrow-down{margin:.5rem 0;font-weight:700}.solved-tile{background-color:#2c5e86;color:#fff;border-color:#2c5e86}.selection-demo .tile{width:80px;height:60px;display:flex;align-items:center;justify-content:center;position:relative}.tile.selected{background-color:#121212;color:#fff}.hand-cursor{position:absolute;bottom:-15px;right:-10px;font-size:1.5rem;transform:rotate(-15deg)}.difficulty-stack{display:flex;flex-direction:column;gap:4px;width:100%;max-width:240px}.diff-bar{padding:.5rem;font-size:.75rem;font-weight:700;text-transform:uppercase;text-align:center;border-radius:4px}.diff-bar.yellow{background:#f9df6d;color:#121212}.diff-bar.green{background:#a0c35a;color:#121212}.diff-bar.blue{background:#b0c4ef;color:#121212}.diff-bar.purple{background:#ba81c5;color:#121212}.lives-visual{display:flex;gap:.5rem;font-size:1.5rem}.dot{color:#e0e0e0}.dot.used{color:#555}.manual-footer{text-align:center}.primary-play-btn{display:inline-block;background:#121212;color:#fff;text-decoration:none;padding:1rem 3rem;font-family:Libre Franklin,sans-serif;font-weight:700;text-transform:uppercase;box-shadow:4px 4px #999;transition:transform .1s}.primary-play-btn:hover{transform:translate(2px,2px);box-shadow:2px 2px #999}.wordle-tile{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;font-family:Frank Ruhl Libre,serif;font-size:2rem;font-weight:800;text-transform:uppercase;-webkit-user-select:none;user-select:none;background-color:transparent;border:2px solid #DCDCDC;box-shadow:inset 2px 2px 4px #0000000d;border-radius:0;color:#121212;transition:border-color .1s}.wordle-tile.filled{border-color:#121212;box-shadow:none;animation:popIn .1s cubic-bezier(.175,.885,.32,1.275)}@keyframes popIn{0%{transform:scale(.8)}to{transform:scale(1)}}.wordle-tile.correct,.wordle-tile.present,.wordle-tile.absent{box-shadow:none;border:none;animation-name:flipReveal;animation-duration:.6s;animation-timing-function:ease-out;animation-fill-mode:forwards;color:transparent}@keyframes flipReveal{0%{transform:rotateX(0);background-color:transparent;border:2px solid #121212;color:#121212}45%{transform:rotateX(90deg);background-color:transparent;border-color:#121212}50%{transform:rotateX(90deg);background-color:var(--reveal-color);border-color:var(--reveal-color);color:#fff}70%{transform:rotateX(-10deg)}to{transform:rotateX(0);background-color:var(--reveal-color);border-color:var(--reveal-color);color:#fff}}.wordle-tile.correct{--reveal-color: #2A6E45}.wordle-tile.present{--reveal-color: #C8B653}.wordle-tile.absent{--reveal-color: #787C7E}.wordle-tile.no-animate{animation:none!important;color:#fff}.wordle-tile.correct.no-animate{background-color:#2a6e45;border:none}.wordle-tile.present.no-animate{background-color:#c8b653;border:none}.wordle-tile.absent.no-animate{background-color:#787c7e;border:none}.wordle-grid{display:grid;grid-template-rows:repeat(6,1fr);gap:6px;width:350px;max-width:100%;margin:0 auto 2rem}.wordle-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.wordle-keyboard{margin-top:auto;width:100%;max-width:500px;display:flex;flex-direction:column;gap:8px;padding:10px}.keyboard-row{display:flex;justify-content:center;gap:6px;width:100%}.key-cap{font-family:Libre Franklin,sans-serif;font-weight:700;font-size:1.25rem;color:#121212;text-transform:uppercase;height:58px;flex:1;border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#fff;border:1px solid #121212;box-shadow:0 3px #0003;transform:translateY(0);transition:all .05s ease-out;display:flex;justify-content:center;align-items:center}.key-cap.large{flex:1.5;font-size:.8rem;letter-spacing:.05em}@media (hover: hover){.key-cap:hover:not(:disabled){transform:translateY(1px);box-shadow:0 2px #0003}}.key-cap:active{transform:translateY(3px);box-shadow:0 0 0 transparent;background-color:#efefe6}.key-cap.correct{background-color:#2a6e45;color:#fff;border-color:#0003}.key-cap.present{background-color:#c8b653;color:#fff;border-color:#0003}.key-cap.absent{background-color:#787c7e;color:#fff;border-color:#0003}.wordle-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000}.wordle-completion-card{background:#fff;border:3px solid #1A1A1A;box-shadow:6px 6px #1a1a1a;padding:2rem 3rem 2.5rem;text-align:center;min-width:320px;max-width:380px}.card-icon{margin-bottom:1rem}.wordle-icon{display:block;margin:0 auto}.completion-stamp{font-family:Libre Franklin,sans-serif;font-size:2rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;border:4px solid;display:inline-block;padding:.4rem 1.2rem;transform:rotate(-3deg);margin-bottom:.75rem}.completion-stamp.solved{color:#6aaa64;border-color:#6aaa64}.completion-stamp.missed{color:#dc3545;border-color:#dc3545}.completion-tagline{font-family:Libre Franklin,sans-serif;font-size:1.1rem;font-weight:500;color:#555;margin:0 0 1.5rem}.wordle-stats-grid{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1rem 0;border-top:1px solid #eee;border-bottom:1px solid #eee}.wordle-stats-row{display:flex;align-items:center;justify-content:center;gap:2rem}.wordle-stat-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:80px}.wordle-stat-value{font-family:Courier Prime,monospace;font-size:1.5rem;font-weight:700;color:#1a1a1a}.wordle-stat-label{font-family:Libre Franklin,sans-serif;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#888}.wordle-stat-divider{width:1px;height:36px;background:#ddd}.wordle-stat-item.muted .wordle-stat-value{color:#999;font-size:1.3rem}.wordle-stat-item.muted .wordle-stat-label{color:#aaa}.wordle-stat-item.record .wordle-stat-value{color:#ff6b35;text-shadow:0 0 8px rgba(255,107,53,.3)}.solution-display{font-family:Courier Prime,monospace;font-size:1.8rem;font-weight:700;letter-spacing:.3em;color:#1a1a1a;padding:.75rem 1rem;background:#f8f8f8;border:2px solid #1A1A1A;margin-bottom:1.5rem}.solution-display.revealed{background:#fff3cd;border-color:#c9b458}.reveal-button{font-family:Libre Franklin,sans-serif;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#1a1a1a;background:#c9b458;padding:12px 24px;border:2px solid #1A1A1A;box-shadow:3px 3px #1a1a1a;cursor:pointer;transition:all .1s ease;margin-bottom:1.5rem}.reveal-button:hover{background:#b8a347;transform:translate(1px,1px);box-shadow:2px 2px #1a1a1a}.reveal-button:active{transform:translate(3px,3px);box-shadow:none}.close-button{font-family:Libre Franklin,sans-serif;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#666;background:transparent;padding:10px 20px;border:2px solid #ccc;cursor:pointer;transition:all .15s ease}.close-button:hover{color:#1a1a1a;border-color:#1a1a1a}.wordle-game-container{display:flex;flex-direction:column;align-items:center;width:100%;height:100%;min-height:600px;position:relative}.message-toast{position:absolute;top:80px;left:50%;transform:translate(-50%);background-color:#121212;color:#fff;padding:12px 20px;border-radius:2px;box-shadow:4px 4px #0003;font-family:Libre Franklin,sans-serif;font-weight:700;text-transform:uppercase;font-size:.9rem;letter-spacing:.05em;z-index:200;animation:stampSlide .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes stampSlide{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.toast-icon{background:#fff;color:#121212;width:20px;height:20px;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:14px;font-weight:900}.loading-spinner{margin-top:2rem;font-family:Libre Franklin,sans-serif;font-weight:700;color:#787c7e;letter-spacing:.1em;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}@keyframes stampIn{0%{opacity:0;transform:translate(-50%) scale(1.5)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.shake{animation:shake .4s cubic-bezier(.36,.07,.19,.97) both}.stone-block{width:min(52px,calc((100vw - 40px)/8));height:min(52px,calc((100vw - 40px)/8));display:flex;justify-content:center;align-items:center;border-radius:4px;font-family:Frank Ruhl Libre,serif;font-weight:800;font-size:1.8rem;text-transform:uppercase;-webkit-user-select:none;user-select:none;transition:all .2s}.stone-block.locked{background-color:#e6e2d680;border:2px solid #D7CCC8;box-shadow:inset 1px 1px 2px #0000000d;color:transparent}.stone-block.empty{background-color:#e6e2d6;border:2px solid #1A1A1A;box-shadow:inset 2px 2px 5px #0000001a}.stone-block.filled{background-color:#fff;color:#1a1a1a;border:2px solid #1A1A1A;transform:translateY(-4px);box-shadow:0 4px #0003;z-index:10}.stone-block.completed{background-color:#d4a395;color:#fff;border:2px solid #1A1A1A;box-shadow:2px 2px #1a1a1a;transform:translateY(0)}.pyramid-stack{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:2rem}.masonry-row{display:flex;gap:6px;transition:opacity .3s}.masonry-row:not(.construction-row):not(.cemented){opacity:.6}.masonry-row.cemented .stone-block{animation:slamDown .4s cubic-bezier(.175,.885,.32,1.275) forwards;animation-delay:calc(var(--index) * .05s)}.masonry-row.cemented-static .stone-block{transform:translateY(0);box-shadow:2px 2px #1a1a1a}@keyframes slamDown{0%{transform:translateY(0) scale(1)}40%{transform:translateY(-10px) scale(1.1);box-shadow:0 10px 5px #0000001a}to{transform:translateY(0) scale(1);box-shadow:2px 2px #1a1a1a}}.letter-tray{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:10px}.tray-tile{width:48px;height:48px;background-color:#fff;border:2px solid #1A1A1A;box-shadow:3px 3px #0000001a;border-radius:6px;font-family:Libre Franklin,sans-serif;font-weight:700;font-size:1.4rem;color:#1a1a1a;cursor:pointer;transition:transform .1s,box-shadow .1s;touch-action:manipulation}.tray-tile:active:not(:disabled){transform:translate(2px,2px);box-shadow:0 0}.tray-tile.ghost{background:transparent;border:2px dashed #D1Ccc0;color:transparent;box-shadow:none;cursor:default;transform:none}.pyramid-control-deck{display:flex;flex-direction:row;align-items:stretch;justify-content:center;gap:12px;width:100%;max-width:450px;margin:0 auto}.tool-btn{background:#fff;border:2px solid #1A1A1A;border-radius:6px;box-shadow:3px 3px #1a1a1a;color:#1a1a1a;cursor:pointer;transition:all .1s;display:flex;align-items:center;justify-content:center;height:60px}.tool-btn:active:not(:disabled){transform:translate(3px,3px);box-shadow:0 0 #1a1a1a}.icon-btn{width:60px;flex-shrink:0}.icon-btn:hover{background-color:#f0f0f0}.build-btn{flex-grow:1;font-family:Libre Franklin,sans-serif;font-weight:800;font-size:1.2rem;letter-spacing:1px;text-transform:uppercase}.build-btn:disabled{background-color:#e6e2d6;color:#a0a0a0;border-color:#a0a0a0;box-shadow:none;cursor:not-allowed;transform:translate(2px,2px)}.build-btn.ready{background-color:#f2d06b}.stats-card{background-color:#f9f7f1;width:90%;max-width:400px;padding:2rem;border:3px solid #1A1A1A;border-radius:8px;box-shadow:6px 6px #1a1a1a;position:relative;transform:translateY(20px);transition:transform .3s cubic-bezier(.175,.885,.32,1.275);display:flex;flex-direction:column;gap:1.5rem}.close-btn{position:absolute;top:10px;right:10px;background:transparent;border:none;font-size:2rem;line-height:1;cursor:pointer;color:#1a1a1a;transition:color .2s}.close-btn:hover{color:#666}.stats-header{display:flex;align-items:center;gap:1rem;border-bottom:2px solid #E6E2D6;padding-bottom:1rem}.stats-header h2{font-family:Frank Ruhl Libre,serif;font-weight:900;font-size:1.8rem;margin:0;text-transform:uppercase;letter-spacing:-1px}.game-icon-stamp{width:48px;height:48px;display:flex;justify-content:center;align-items:center;background:#e6e2d6;border:2px solid #1A1A1A;border-radius:4px}.pyramid-icon-svg{width:32px;height:32px}.status-stamp span{background-color:#d4a395;color:#1a1a1a;font-family:Libre Franklin,sans-serif;font-weight:800;font-size:1.2rem;padding:.5rem 1.5rem;border:2px solid #1A1A1A;border-radius:50px;text-transform:uppercase;letter-spacing:2px;transform:rotate(-2deg);box-shadow:2px 2px #0003}.pyramid-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:.5rem}.pyramid-stat-box{display:flex;flex-direction:column;align-items:center;text-align:center}.pyramid-stat-value{font-family:Frank Ruhl Libre,serif;font-weight:800;font-size:2.5rem;line-height:1;color:#1a1a1a}.pyramid-stat-label{font-family:Libre Franklin,sans-serif;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:#666;margin-top:5px}.stats-footer{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:.5rem;border-top:2px solid #E6E2D6;padding-top:1.5rem}.share-btn{width:100%;padding:1rem;background-color:#1a1a1a;color:#fff;border:none;border-radius:4px;font-family:Libre Franklin,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:1rem;cursor:pointer;transition:all .2s;display:flex;justify-content:center;align-items:center;gap:8px}.share-btn:hover{background-color:#333;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.next-puzzle-text{font-family:Libre Franklin,sans-serif;font-size:.9rem;color:#888;margin:0}.pyramid-game-container{display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:70vh;padding-bottom:1rem;position:relative;max-width:600px;margin:0 auto}.grid-area{flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem 0}.controls-area{width:100%;display:flex;flex-direction:column;gap:1rem;padding-bottom:2rem}.toast-notification{position:absolute;top:5%;left:50%;transform:translate(-50%);background-color:#1a1a1a;color:#f9f7f1;padding:10px 20px;border-radius:50px;font-family:Libre Franklin,sans-serif;font-weight:600;font-size:.9rem;box-shadow:0 4px 12px #00000026;z-index:100;animation:floatIn .3s cubic-bezier(.175,.885,.32,1.275);pointer-events:none}@keyframes floatIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.monument-complete-view{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-top:2rem;animation:fadeUp .6s ease-out}.complete-header h2{font-family:Frank Ruhl Libre,serif;font-weight:900;font-size:2rem;color:#1a1a1a;margin-bottom:.5rem;letter-spacing:-1px}.theme-text{font-family:Libre Franklin,sans-serif;color:#666;font-size:1.1rem;margin-bottom:2rem;font-style:italic}.completed-grid-wrapper{margin-bottom:3rem;filter:drop-shadow(0 0 20px rgba(212,163,149,.3))}@keyframes shakeRow{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.shake-animation .masonry-row.construction-row{animation:shakeRow .4s ease-in-out}.pyramid-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50vh;color:#666}.spinner{width:40px;height:40px;border:4px solid #E6E2D6;border-top:4px solid #D4A395;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.crossword-cell{width:var(--cell-size, 48px);height:var(--cell-size, 48px);position:relative;display:flex;justify-content:center;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .1s ease}.crossword-cell.open{background-color:#fff}.crossword-cell.block{background-color:#1a1a1a;cursor:default}.cell-number{position:absolute;top:2px;left:3px;font-family:Libre Franklin,sans-serif;font-size:.6rem;font-weight:700;color:#666;z-index:3;line-height:1}.cell-content{font-family:Libre Franklin,sans-serif;font-size:1.5rem;font-weight:800;color:#1a1a1a;z-index:2;text-transform:uppercase}.crossword-cell.filled .cell-content{animation:letterPop .15s cubic-bezier(.34,1.56,.64,1)}@keyframes letterPop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.highlighter-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;pointer-events:none;z-index:1;transition:background-color .1s ease}.crossword-cell.active-word .highlighter-overlay{background:#d1e8ff}.crossword-cell.active-cell .highlighter-overlay{background:#a8d5e5}.focus-ring{position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid transparent;pointer-events:none;z-index:4;transition:border-color .1s ease}.crossword-cell.active-cell .focus-ring{border-color:#1a1a1a}.crossword-cell.settled{cursor:default}.crossword-cell.settled .cell-content{color:#1a1a1a;font-weight:800}.crossword-cell.settled .highlighter-overlay{background:#e8f5e9}.crossword-cell.settled.just-settled .cell-content{animation:settleIn .3s ease}@keyframes settleIn{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.crossword-cell.revealed .cell-content{color:#5b8cb8}@media (hover: hover){.crossword-cell.open:hover:not(.active-cell):not(.active-word):not(.settled){background-color:#f5f5f5}}@media (max-width: 480px){.cell-number{font-size:.5rem;top:1px;left:2px}.cell-content{font-size:1.3rem}}:root{--cell-size: 48px}@media (max-width: 480px){:root{--cell-size: 42px}}.crossword-grid{display:grid;gap:2px;background-color:#1a1a1a;border:3px solid #1A1A1A;position:relative}.postit-stack{display:flex;flex-direction:column;gap:1rem;width:100%}.postit{position:relative;padding:1rem;min-height:180px;max-height:260px;overflow:hidden;border:2px solid #1A1A1A;box-shadow:4px 4px #1a1a1a}.postit-yellow{background:#ffe66d}.postit-blue{background:#a8d8ea}.postit-focused{z-index:10}.postit-dimmed{opacity:.6}.postit-header{font-family:Libre Franklin,sans-serif;font-size:.9rem;font-weight:800;color:#1a1a1a;margin:0 0 .6rem;padding-bottom:.5rem;border-bottom:2px solid rgba(0,0,0,.2);text-transform:uppercase;letter-spacing:.1em}.postit-clues{list-style:none;padding:0;margin:0;max-height:190px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.postit-clues::-webkit-scrollbar{display:none}.postit-clues li{display:flex;align-items:flex-start;gap:.5rem;padding:6px 4px;cursor:pointer;position:relative;transition:background-color .1s ease;font-family:Libre Franklin,sans-serif;font-size:.8rem;color:#1a1a1a;line-height:1.35}.postit-clues li:hover{background:#ffffff80}.clue-num{font-weight:700;min-width:1.25rem;color:#1a1a1a}.clue-txt{flex:1}.postit-clues li.active{background:#fff9;font-weight:600}.red-circle{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:2px solid #C41E3A;border-radius:50% 45% 55% 48%/52% 48% 50% 50%;pointer-events:none;animation:circleIn .25s ease-out;transform:rotate(-2deg)}@keyframes circleIn{0%{transform:scale(.8) rotate(-5deg);opacity:0}50%{transform:scale(1.05) rotate(0)}to{transform:scale(1) rotate(-2deg);opacity:1}}@media (max-width: 767px){.postit-stack{flex-direction:row;gap:.75rem}.postit{flex:1;min-height:160px;max-height:220px;padding:.75rem}.postit-header{font-size:.8rem;margin-bottom:.5rem}.postit-clues li{font-size:.7rem;padding:4px 2px}.clue-num{min-width:1rem}.postit-clues{max-height:150px}}@media (max-width: 480px){.postit-stack{flex-direction:column}.postit{max-height:200px}}.stats-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#1a1a1a99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:center;align-items:center;z-index:2000;opacity:0;transition:opacity .3s ease}.stats-modal-overlay.open{opacity:1}.stats-card{background-color:#f5f1e8;width:90%;max-width:400px;padding:2rem;border:4px solid #1A1A1A;box-shadow:8px 8px #1a1a1a;position:relative;transform:translateY(20px);transition:transform .3s cubic-bezier(.175,.885,.32,1.275);display:flex;flex-direction:column;gap:1.5rem}.stats-modal-overlay.open .stats-card{transform:translateY(0)}.close-btn{position:absolute;top:10px;right:15px;background:transparent;border:none;font-family:Courier Prime,monospace;font-weight:700;font-size:2rem;line-height:1;cursor:pointer;color:#1a1a1a}.stats-header{display:flex;align-items:center;gap:1rem;border-bottom:2px solid #D4A395;padding-bottom:1rem}.stats-header h2{font-family:Courier Prime,monospace;font-weight:700;font-size:1.6rem;margin:0;text-transform:uppercase;letter-spacing:-.5px}.game-icon-stamp{width:48px;height:48px;background:#fff;border:2px solid #1A1A1A;display:flex;justify-content:center;align-items:center}.crossword-icon-svg{width:32px;height:32px}.status-stamp{display:flex;justify-content:center;margin:-.5rem 0 .5rem}.status-stamp span{background-color:#5b8cb8;color:#fff;font-family:Libre Franklin,sans-serif;font-weight:800;font-size:1.2rem;padding:.5rem 1.5rem;border:2px solid #1A1A1A;text-transform:uppercase;letter-spacing:2px;transform:rotate(-2deg);box-shadow:3px 3px #0003}.crossword-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:.5rem}.crossword-stat-box{display:flex;flex-direction:column;align-items:center;text-align:center}.crossword-stat-value{font-family:Courier Prime,monospace;font-weight:700;font-size:1.8rem;line-height:1;color:#1a1a1a}.crossword-stat-label{font-family:Libre Franklin,sans-serif;font-size:.7rem;text-transform:uppercase;color:#666;margin-top:5px}.stats-footer{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:.5rem;border-top:2px solid #D4A395;padding-top:1.5rem}.share-btn{width:100%;padding:1rem;background-color:#1a1a1a;color:#fff;border:none;font-family:Courier Prime,monospace;font-weight:700;text-transform:uppercase;font-size:1rem;cursor:pointer;transition:all .2s}.share-btn:hover{background-color:#333;transform:translateY(-2px);box-shadow:0 4px #0000001a}.next-puzzle-text{font-family:Courier Prime,monospace;font-size:.85rem;color:#666;margin:0}.crossword-desk{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;min-height:calc(100vh - 120px);padding:1rem 1.5rem;background:#f5f1e8}.desk-surface{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:800px;align-items:center}@media (min-width: 768px){.desk-surface{flex-direction:row;align-items:center;justify-content:center;gap:2rem}}.notebook-column{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.floating-timer{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border:2px solid #1A1A1A;box-shadow:3px 3px #1a1a1a}.timer-icon{width:18px;height:18px;color:#1a1a1a}.timer-display{font-family:Courier Prime,monospace;font-size:1.1rem;font-weight:700;color:#1a1a1a;letter-spacing:.05em}.notebook{position:relative;background:#fff;border:3px solid #1A1A1A;box-shadow:6px 6px #1a1a1a;padding:1.25rem 1.25rem 1.25rem 2.5rem;display:flex;flex-direction:column;gap:1rem;margin-left:16px}.notebook:before{content:"";position:absolute;top:-8px;left:20px;right:8px;height:8px;background:linear-gradient(135deg,#FFFFFF 25%,transparent 25%),linear-gradient(225deg,#FFFFFF 25%,transparent 25%);background-size:12px 8px;background-position:0 0}.notebook:after{content:"";position:absolute;left:2rem;top:0;bottom:0;width:2px;background:#e8a0a0;opacity:.5}.spiral-rings{position:absolute;left:-14px;top:12px;bottom:12px;display:flex;flex-direction:column;justify-content:space-between;z-index:10}.spiral-ring{width:20px;height:20px;border:3px solid #1A1A1A;border-radius:50%;background:#f5f1e8}.notebook-clue{display:flex;align-items:baseline;gap:.75rem;padding:10px 14px;background:#fff8dc;border:2px solid #1A1A1A;min-height:44px}.clue-label{font-family:Courier Prime,monospace;font-weight:700;font-size:.9rem;color:#8b4513;white-space:nowrap}.clue-text{font-family:Libre Franklin,sans-serif;font-size:1rem;font-weight:500;color:#1a1a1a;line-height:1.3}.notebook-grid{display:flex;justify-content:center}.hint-btn{align-self:center;font-family:Libre Franklin,sans-serif;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#1a1a1a;background:#fff;padding:10px 24px;border:2px solid #1A1A1A;box-shadow:3px 3px #1a1a1a;cursor:pointer;transition:all .1s ease}.hint-btn:hover{background:#f5f5f0;transform:translate(1px,1px);box-shadow:2px 2px #1a1a1a}.hint-btn:active{transform:translate(3px,3px);box-shadow:none}.postit-column{flex:0 0 auto;width:100%;max-width:280px}@media (min-width: 768px){.postit-column{align-self:center}}.hint-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.hint-dialog{background:#fff;border:3px solid #1A1A1A;box-shadow:6px 6px #1a1a1a;padding:1.5rem 2rem;text-align:center;animation:dialogSlide .2s ease}@keyframes dialogSlide{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.hint-dialog-text{font-family:Libre Franklin,sans-serif;font-size:1.1rem;font-weight:600;color:#1a1a1a;margin:0 0 1.25rem}.hint-dialog-buttons{display:flex;gap:12px;justify-content:center}.hint-dialog-btn{font-family:Libre Franklin,sans-serif;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:10px 20px;border:2px solid #1A1A1A;cursor:pointer;transition:all .1s ease}.hint-dialog-btn.cancel{color:#1a1a1a;background:#fff;box-shadow:3px 3px #1a1a1a}.hint-dialog-btn.cancel:hover{background:#f5f5f0}.hint-dialog-btn.confirm{color:#fff;background:#5b8cb8;box-shadow:3px 3px #3a6a96}.hint-dialog-btn.confirm:hover{background:#4a7ba7}.hint-dialog-btn:active{transform:translate(3px,3px);box-shadow:none}.completion-card{text-align:center;padding:3rem 4rem;background:#fff;border:3px solid #1A1A1A;box-shadow:6px 6px #1a1a1a}.completion-stamp{font-family:Libre Franklin,sans-serif;font-size:2.5rem;font-weight:800;color:#4caf50;letter-spacing:.15em;text-transform:uppercase;border:4px solid #4CAF50;display:inline-block;padding:.5rem 1.5rem;transform:rotate(-3deg)}.completion-time{font-family:Courier Prime,monospace;font-size:3rem;font-weight:700;margin-top:1.5rem;color:#1a1a1a}.completion-note{font-family:Libre Franklin,sans-serif;font-size:1rem;color:#666;margin-top:1rem}@media (max-width: 767px){.crossword-desk{padding:.75rem;min-height:auto}.desk-surface{gap:1.25rem}.notebook{padding:1rem 1rem 1rem 2rem;margin-left:14px}.spiral-rings{left:-12px;top:10px;bottom:10px}.spiral-ring{width:16px;height:16px;border-width:2px}.notebook-clue{padding:8px 12px;min-height:40px}.clue-text{font-size:.9rem}.postit-column{max-width:100%}.floating-timer{padding:6px 12px}.timer-display{font-size:1rem}.completion-card{padding:2rem}.completion-stamp{font-size:2rem}.completion-time{font-size:2.5rem}}.profile-content-stack{display:flex;flex-direction:column;gap:1.5rem;width:90%}.avatar-section{display:flex;justify-content:center;margin-bottom:.5rem}.profile-card{background-color:#fff;border:1px solid #E5E5E5;border-radius:2px;padding:2.5rem;box-shadow:0 2px 8px #00000005}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;border-bottom:none}.card-header h2{font-family:var(--font-display, "Frank Ruhl Libre", serif);font-size:1.75rem;font-weight:700;margin:0;color:#121212}.info-group{margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}label{display:block;font-family:var(--font-body, "Libre Franklin", sans-serif);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#5a5a5a;margin-bottom:.5rem}.sunday-input{width:100%;height:44px;background-color:#fff;border:1px solid #D1D1D1;border-radius:4px;padding:0 12px;font-family:var(--font-body, "Libre Franklin", sans-serif);font-size:.95rem;color:#333;transition:border-color .2s ease}.sunday-input:focus{border-color:#333;outline:none}.read-only-field{width:100%;height:44px;display:flex;align-items:center;background-color:#f5f5f5;border:1px solid #E0E0E0;border-radius:4px;padding:0 12px;font-family:var(--font-body, "Libre Franklin", sans-serif);font-size:.95rem;color:#555}.toggle-switch{display:flex;align-items:center;cursor:pointer;gap:.75rem;margin-bottom:0}.toggle-switch input{display:none}.toggle-slider{width:44px;height:24px;background-color:#fff;border:2px solid #121212;border-radius:2px;position:relative;transition:background-color .15s ease-out}.toggle-switch input:checked+.toggle-slider{background-color:#121212}.toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background-color:#121212;border-radius:1px;transition:transform .15s ease-out,background-color .15s ease-out}.toggle-switch input:checked+.toggle-slider:after{transform:translate(20px);background-color:#fff}.toggle-label{font-size:.75rem;font-weight:700;letter-spacing:.05em;color:#5a5a5a;text-transform:uppercase}.membership-status-row{display:flex;justify-content:space-between;align-items:center;height:44px}.status-badge{display:inline-flex;align-items:center;justify-content:center;padding:0 1rem;height:32px;border-radius:4px;font-family:var(--font-body, "Libre Franklin", sans-serif);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.02em}.status-badge.free{background-color:#e0e0e0;color:#555}.status-badge.premium{background-color:#f9df6d;color:#121212}.manage-link{font-family:var(--font-body, "Libre Franklin", sans-serif);font-size:.85rem;font-weight:700;color:#121212;text-decoration:none}.manage-link:hover{text-decoration:underline}.save-button{width:100%;margin-top:.5rem;height:48px}.message{margin-top:1rem;text-align:center;font-size:.9rem;font-weight:600;color:#2c5e86}.privacy-content{max-width:680px;margin:0 auto;padding:0 1rem 3rem}.privacy-section{margin-bottom:2rem}.privacy-section h2{font-family:Frank Ruhl Libre,serif;font-size:1.25rem;font-weight:700;color:#121212;margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:2px solid #121212}.privacy-section p{font-family:Libre Franklin,sans-serif;font-size:.95rem;font-weight:500;color:#3a3a3a;line-height:1.6;margin:0 0 .75rem}.privacy-section ul{font-family:Libre Franklin,sans-serif;font-size:.95rem;font-weight:500;color:#3a3a3a;line-height:1.6;margin:0 0 .75rem;padding-left:1.5rem}.privacy-section li{margin-bottom:.5rem}.privacy-section a{color:#2c5e86;text-decoration:none}.privacy-section a:hover{text-decoration:underline}.consent-status-section{background:#f9f9f9;border:2px solid #121212;border-radius:8px;padding:1.25rem}.consent-status-box{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.status-label{font-family:Libre Franklin,sans-serif;font-size:.9rem;font-weight:600;color:#5a5a5a}.status-value{font-family:Libre Franklin,sans-serif;font-size:.9rem;font-weight:700;padding:4px 12px;border-radius:4px;border:2px solid}.status-value.accepted{background:#d4edda;border-color:#28a745;color:#155724}.status-value.declined{background:#f8d7da;border-color:#dc3545;color:#721c24}.status-value.pending{background:#fff3cd;border-color:#ffc107;color:#856404}.change-consent-button{font-family:Libre Franklin,sans-serif;font-size:.85rem;font-weight:600;color:#2c5e86;background:none;border:none;cursor:pointer;padding:0;text-decoration:underline}.change-consent-button:hover{color:#1a3d5c}.consent-actions-inline{display:flex;gap:12px}.consent-btn-inline{padding:10px 20px;font-family:Libre Franklin,sans-serif;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border:2px solid #121212;border-radius:4px;cursor:pointer;transition:all .15s ease}.consent-btn-inline.decline{background:#fff;color:#121212}.consent-btn-inline.accept{background:#121212;color:#fff}.consent-btn-inline:hover{transform:translate(1px,1px)}.cookie-table{width:100%;border-collapse:collapse;font-family:Libre Franklin,sans-serif;font-size:.9rem;margin-top:.5rem}.cookie-table th,.cookie-table td{text-align:left;padding:10px 12px;border:1px solid #ddd}.cookie-table th{background:#121212;color:#fff;font-weight:600}.cookie-table td{color:#3a3a3a}.cookie-table code{background:#f5f5f5;padding:2px 6px;border-radius:3px;font-size:.85rem}.contact-info{background:#f9f9f9;padding:1rem;border-radius:4px;border-left:4px solid #121212}.privacy-card .privacy-description{font-family:Libre Franklin,sans-serif;font-size:.9rem;font-weight:500;color:#5a5a5a;line-height:1.5;margin:0}.privacy-status-row{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;padding-top:1rem;border-top:1px solid #eee}.privacy-badge{font-family:Libre Franklin,sans-serif;font-size:.85rem;font-weight:600;padding:6px 12px;border-radius:4px;border:2px solid}.privacy-badge.enabled{background:#d4edda;border-color:#28a745;color:#155724}.privacy-badge.disabled{background:#f8f9fa;border-color:#6c757d;color:#495057}.privacy-card .toggle-switch{display:flex;align-items:center;gap:8px;cursor:pointer}.privacy-card .toggle-switch input{display:none}.privacy-card .toggle-slider{width:44px;height:24px;background:#ccc;border-radius:12px;position:relative;transition:background .2s ease}.privacy-card .toggle-slider:before{content:"";position:absolute;width:18px;height:18px;background:#fff;border-radius:50%;top:3px;left:3px;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.privacy-card .toggle-switch input:checked+.toggle-slider{background:#28a745}.privacy-card .toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.privacy-card .toggle-label{font-family:Libre Franklin,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.05em;color:#666}@media (max-width: 600px){.privacy-content{padding:0 .5rem 2rem}.privacy-section h2{font-size:1.1rem}.cookie-table{font-size:.8rem}.cookie-table th,.cookie-table td{padding:8px}}.success-page-layout{display:flex;flex-direction:column;align-items:center;padding-top:1rem;width:100%;overflow:hidden;position:relative}.celebration-header{text-align:center;margin-bottom:3rem;animation:fadeIn .8s ease-out}.celebration-header h1{font-family:Frank Ruhl Libre,serif;font-size:4rem;font-weight:800;color:#121212;margin:0 0 .5rem;line-height:1}.celebration-header p{font-family:Libre Franklin,sans-serif;font-size:1.1rem;color:#5a5a5a;margin:0}.golden-ticket{width:100%;max-width:380px;height:240px;background-color:#f9df6d;border:3px solid #121212;border-radius:8px;position:relative;box-shadow:12px 12px #121212;animation:ticketSlideUp .8s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;justify-content:space-between;padding:24px;margin:0 auto 3rem;overflow:hidden}.golden-ticket:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.4) 50%,transparent 70%);opacity:.6;pointer-events:none;animation:shinePass 3s infinite}.ticket-top{display:flex;justify-content:space-between;font-family:Libre Franklin,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.1em;color:#121212;opacity:.8}.ticket-center{text-align:center}.ticket-center h2{font-family:Frank Ruhl Libre,serif;font-size:3rem;font-weight:900;color:#121212;margin:0;letter-spacing:-.02em}.ticket-bottom{display:flex;justify-content:space-between;align-items:flex-end}.ticket-info{display:flex;flex-direction:column}.ticket-info .label{font-family:Libre Franklin,sans-serif;font-size:.6rem;font-weight:700;opacity:.6;margin-bottom:2px}.ticket-info .value{font-family:Libre Franklin,sans-serif;font-size:.9rem;font-weight:700;color:#121212}.ticket-hologram{width:40px;height:40px;border:1px solid #121212;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#0000000d}.holo-inner{font-family:Frank Ruhl Libre,serif;font-weight:700;font-size:1.2rem}.benefits-triptych{display:flex;justify-content:center;gap:3rem;margin-bottom:3rem;width:100%;max-width:500px;animation:fadeIn 1s ease-out .4s backwards}.benefit-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.benefit-icon{font-size:2rem;margin-bottom:.25rem;filter:drop-shadow(2px 2px 0px rgba(0,0,0,.1))}.benefit-label{font-family:Libre Franklin,sans-serif;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#121212}.action-area{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;animation:fadeIn 1s ease-out .6s backwards}.enter-archive-btn{background-color:#121212;color:#fff;border:none;padding:1.25rem 3rem;font-family:Libre Franklin,sans-serif;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;box-shadow:6px 6px #999;transform:translate(0);transition:all .1s cubic-bezier(.4,0,.2,1)}.enter-archive-btn:hover{transform:translate(2px,2px);box-shadow:4px 4px #999}.enter-archive-btn:active{transform:translate(6px,6px);box-shadow:0 0 #999}.secondary-action button{background:none;border:none;text-decoration:underline;font-family:Libre Franklin,sans-serif;font-size:.85rem;color:#555;cursor:pointer}.secondary-action button:hover{color:#121212}@keyframes ticketSlideUp{0%{transform:translateY(100px) rotate(-5deg);opacity:0}to{transform:translateY(0) rotate(0);opacity:1}}@keyframes shinePass{0%{transform:translate(-150%)}20%{transform:translate(150%)}to{transform:translate(150%)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.status-container{text-align:center;padding:4rem;background:#fff;border:2px solid #121212;box-shadow:6px 6px #121212}.error-message{color:#d32f2f;font-weight:700;margin:1rem 0}.text-link{background:none;border:none;text-decoration:underline;cursor:pointer;font-weight:700}.confetti-container{position:absolute;top:50%;left:50%;width:0;height:0;pointer-events:none;z-index:100}.paper-scrap{position:absolute;width:12px;height:8px;top:0;left:0;animation:explode 1s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes explode{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(var(--x),var(--y)) rotate(var(--rot));opacity:0}}@media (max-width: 600px){.celebration-header h1{font-size:2.5rem}.golden-ticket{transform:scale(.9);margin-bottom:2rem}.benefits-triptych{gap:1.5rem}.enter-archive-btn{width:100%}}.cancellation-page-container{width:100%;max-width:500px;margin:0 auto;padding-bottom:2rem}.status-strip{background-color:#f9df6d;border:1px solid #121212;padding:.75rem 1rem;display:flex;justify-content:center;align-items:center;gap:.5rem;margin-bottom:2rem;font-family:Libre Franklin,sans-serif;font-size:.8rem;letter-spacing:.05em}.status-label{color:#5a5a5a;text-transform:uppercase}.status-label strong,.status-divider{color:#121212;font-weight:700}.pause-card{background-color:#fff;border:2px solid #121212;border-radius:4px;padding:2rem;box-shadow:8px 8px #121212;margin-bottom:2.5rem;text-align:left}.card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.pause-icon-box{width:40px;height:40px;background-color:#121212;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.2rem;border-radius:2px}.card-header h2{font-family:Frank Ruhl Libre,serif;font-size:1.5rem;font-weight:700;margin:0;color:#121212}.pause-copy{font-family:Libre Franklin,sans-serif;font-size:.95rem;color:#5a5a5a;line-height:1.6;margin-bottom:1.5rem}.pause-button{width:100%;background-color:#121212;color:#fff;border:2px solid #121212;padding:1rem;font-family:Libre Franklin,sans-serif;font-weight:700;text-transform:uppercase;font-size:.9rem;cursor:pointer;transition:transform .1s}.pause-button:hover{transform:translateY(2px)}.pause-button:active{transform:translateY(4px)}.tear-line{border-top:2px dashed #DCDCDC;margin:2.5rem 0;position:relative;text-align:center}.tear-label{position:absolute;top:-10px;left:50%;transform:translate(-50%);background-color:#f9f7f1;padding:0 1rem;font-family:Libre Franklin,sans-serif;font-size:.75rem;font-weight:700;color:#999;text-transform:uppercase;letter-spacing:.1em}.danger-zone{text-align:left;padding:0 1rem}.danger-zone h3{font-family:Frank Ruhl Libre,serif;font-size:1.25rem;font-weight:700;margin-bottom:1rem;color:#121212}.loss-list{list-style:none;padding:0;margin-bottom:2rem}.loss-item{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.loss-icon{color:#d32f2f;font-weight:700;font-size:1rem}.loss-text{font-family:Libre Franklin,sans-serif;font-size:.95rem;color:#555}.btn-danger{background-color:#fff;color:#d32f2f;border:2px solid #D32F2F;font-family:Libre Franklin,sans-serif;font-weight:700;text-transform:uppercase;padding:1rem;width:100%;border-radius:4px;cursor:pointer;box-shadow:4px 4px #f5d0d0;transition:all .1s ease}.btn-danger:hover{background-color:#d32f2f;color:#fff;box-shadow:2px 2px #121212;border-color:#121212;transform:translate(2px,2px)}.btn-danger:active{transform:translate(4px,4px);box-shadow:0 0 0 transparent}.never-mind-link{display:block;width:100%;text-align:center;margin-top:1.5rem;background:none;border:none;text-decoration:underline;color:#5a5a5a;font-family:Libre Franklin,sans-serif;font-size:.85rem;cursor:pointer}.never-mind-link:hover{color:#121212}.loading-state{text-align:center;padding:4rem;font-family:Libre Franklin,sans-serif;color:#666}.membership-content-stack{display:flex;flex-direction:column;gap:3rem;width:90%}.plan-card{border-radius:4px;padding:2.5rem;border:1px solid #DCDCDC;background-color:#fff;box-shadow:6px 6px #121212;transition:transform .2s ease}.plan-card.premium-card{background-color:#fffdf5;border:4px double #F9DF6D}.plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border-bottom:1px solid rgba(0,0,0,.1);padding-bottom:1rem}.plan-header h2{font-family:var(--font-display, "Frank Ruhl Libre", serif);font-size:1.5rem;margin:0;color:#121212}.plan-status{display:flex;align-items:center;gap:.5rem}.status-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.status-dot.active{background-color:#4caf50;box-shadow:0 0 4px #4caf50}.status-text{font-size:.85rem;font-weight:700;text-transform:uppercase;color:#555}.plan-description{font-family:var(--font-body, "Libre Franklin", sans-serif);font-size:1.1rem;line-height:1.5;margin-bottom:1rem;color:#333}.renewal-date{font-size:.9rem;color:#666;font-style:italic}.plan-actions{margin-top:2rem}.action-button{width:100%;font-size:1rem;padding:1rem;cursor:pointer}.premium-btn{background-color:#f9df6d!important;color:#121212!important;border:1px solid #121212!important;font-family:var(--font-body, "Libre Franklin", sans-serif);font-weight:700;text-transform:uppercase;margin-top:2rem;box-shadow:3px 3px #0000001a;transition:transform .2s,box-shadow .2s,background-color .2s}.premium-btn:hover{background-color:#ffeb99!important;transform:translate(1px,1px);box-shadow:2px 2px #121212}.management-zone{display:flex;flex-direction:column;gap:1rem;width:100%}.pause-hint{font-size:.8rem;color:#666;text-align:center}.benefits-section{margin-top:2rem;padding:2rem;background-color:#f9f9f9;border-radius:4px;border:1px dashed #CCC}.benefits-section h3{font-family:var(--font-display, "Frank Ruhl Libre", serif);font-size:1.5rem;margin-bottom:1rem;color:#121212;text-align:center}.benefits-section ul{list-style:none;padding:0;display:grid;gap:.75rem}.benefits-section li{font-family:var(--font-body, "Libre Franklin", sans-serif);font-size:1rem;display:flex;align-items:center;gap:.5rem;color:#333}.toast-notification{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:9999;background-color:#121212;color:#fff;font-family:Libre Franklin,sans-serif;font-weight:700;text-transform:uppercase;font-size:.85rem;letter-spacing:.05em;display:flex;align-items:center;gap:12px;padding:12px 24px;border-radius:4px;box-shadow:4px 4px #0000001a;animation:toastSlideIn .3s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.toast-exit{opacity:0;transform:translate(-50%,-10px);transition:all .2s ease-in}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,#root{background-color:var(--bg-paper);min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;width:100%;display:flex;flex-direction:column}.loading{display:flex;justify-content:center;align-items:center;min-height:400px;font-family:Libre Franklin,sans-serif;font-size:1.2rem;color:#555}.error-container{display:flex;justify-content:center;align-items:center;min-height:400px;padding:2rem}.error-message{color:#dc3545;font-family:Libre Franklin,sans-serif;font-weight:700;font-size:1.1rem;text-align:center;border:2px solid #dc3545;padding:1rem;box-shadow:4px 4px #dc3545}button{font-family:Libre Franklin,sans-serif;cursor:pointer;border:none}a{color:#121212;text-decoration:underline;transition:opacity .2s ease}a:not([class*=button]):not(.game-card):not(.menu-card):hover{opacity:.7}.primary-button{background-color:#121212;color:#fff;font-family:Libre Franklin,sans-serif;font-weight:700;text-transform:uppercase;font-size:.9rem;padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease;box-shadow:3px 3px #999}.primary-button:hover{transform:translate(1px,1px);box-shadow:2px 2px #999}.primary-button:active{transform:translate(3px,3px);box-shadow:none}.secondary-button{background-color:#fff;color:#121212;font-family:Libre Franklin,sans-serif;font-weight:500;font-size:.9rem;padding:.75rem 1.5rem;border:1px solid #121212;border-radius:4px;cursor:pointer;transition:background-color .1s ease}.secondary-button:hover{background-color:#f0f0f0}:root,.theme-default{--bg-paper: #F9F7F1;--bg-surface: #FFFFFF;--ink-primary: #121212;--ink-secondary: #5A5A5A;--border-color: #121212;--border-subtle: #DCDCDC;--radius-block: 4px;--radius-card: 12px;--font-display: "Frank Ruhl Libre", serif;--font-body: "Libre Franklin", sans-serif;--shadow-rest: 0px 0px 0px transparent;--shadow-hover: 3px 3px 0px #121212;--shadow-soft: 0px 4px 12px rgba(0, 0, 0, .05);--transition-snap: all .15s cubic-bezier(.25, .46, .45, .94);--diff-1: #f9df6d;--diff-2: #a0c35a;--diff-3: #b0c4ef;--diff-4: #ba81c5;--theme-bg-primary: var(--bg-paper);--theme-bg-secondary: var(--bg-surface);--theme-bg-tertiary: var(--border-subtle);--theme-text-main: var(--ink-primary);--theme-text-secondary: var(--ink-secondary);--theme-text-inverse: #ffffff;--theme-btn-primary-bg: #121212;--theme-btn-primary-text: #ffffff;--theme-btn-hover-transform: translateY(-2px);--theme-font-display: var(--font-display);--theme-font-body: var(--font-body);--theme-radius-main: var(--radius-block);--theme-radius-sm: var(--radius-block);--theme-border-width: 1px;--theme-border-color: var(--border-subtle);--theme-shadow-card: var(--shadow-rest);--theme-tile-bg: #EFEFE6;--theme-tile-bg-selected: #5A5A5A;--theme-tile-text-selected: #ffffff;--theme-tile-border: 1px solid #D3D3D3;--theme-tile-shadow: 0 0 0 transparent;--theme-tile-transform-active: scale(.98);--theme-modal-backdrop: rgba(249, 247, 241, .9);--theme-modal-bg: var(--bg-surface);--theme-diff-1: var(--diff-1);--theme-diff-2: var(--diff-2);--theme-diff-3: var(--diff-3);--theme-diff-4: var(--diff-4);--toggle-track-off: #FFFFFF;--toggle-track-on: #121212;--toggle-thumb-off: #121212;--toggle-thumb-on: #FFFFFF;--btn-premium-bg: #F9DF6D;--btn-premium-text: #121212;--btn-premium-border: #121212}
