*{margin:0;padding:0;box-sizing:border-box}html{margin:0;padding:0;height:100%;overflow-x:hidden;margin-bottom:0!important;padding-bottom:0!important}body{font-family:Fraunces,serif;background-color:#f6f1e7;color:#2e2b26;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:20px 20px 0;position:relative;overflow-y:auto;overflow-x:hidden;margin:0;padding-bottom:0!important;margin-bottom:0!important}@media (max-width: 768px){body.game-active{overflow-y:auto;min-height:100vh;position:relative;width:100%}}.game-header{position:fixed;top:20px;left:20px;display:flex;flex-direction:column;gap:.25rem;z-index:2000;transition:transform .3s ease}.game-header.scrolled-up{transform:translateY(-150%)}.game-title-link{text-decoration:none;cursor:pointer}.game-title{font-size:1.25rem;font-weight:600;color:#2e2b26;opacity:.8;transition:opacity .2s ease}.game-title-link:hover .game-title{opacity:1}.game-date{font-size:.9rem;font-weight:400;color:#2e2b26;opacity:.7}.header-buttons{margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.mission-button{padding:.5rem .75rem;font-family:Fraunces,serif;font-size:.85rem;font-weight:500;background-color:#2e2b26;color:#f6f1e7;border:1px solid #2E2B26;border-radius:6px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,opacity .2s ease}.mission-button:hover{background-color:#1a1815;border-color:#1a1815;opacity:1}.container{width:100%;max-width:1200px;display:flex;align-items:center;justify-content:center;flex:1;padding:2rem 1rem;min-height:calc(100vh - 40px);position:relative}.container.game-complete{align-items:flex-start}.verse-display.game-complete{transform:none}.verse-display{text-align:center;width:100%;display:flex;flex-direction:column;align-items:center;position:relative;contain:layout style paint;transform:translateY(-60px)}.verse-reference{font-size:1.5rem;font-weight:600;margin-bottom:2rem;color:#2e2b26;opacity:.8;transform:translateZ(0);-webkit-font-smoothing:antialiased}.verse-text{font-size:1.75rem;font-weight:400;line-height:1.8;color:#2e2b26;max-width:100%;word-wrap:break-word;outline:none;cursor:text;white-space:normal;transform:translateZ(0);-webkit-font-smoothing:antialiased}@media (max-width: 768px){.verse-text[contenteditable=true]{caret-color:transparent!important;-webkit-tap-highlight-color:transparent;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.verse-text[contenteditable=true]::selection{background:transparent!important;color:inherit!important}.verse-text[contenteditable=true]::-moz-selection{background:transparent!important;color:inherit!important}.verse-text[contenteditable=true] *{caret-color:transparent!important}.verse-text[contenteditable=true]:focus{outline:none}body.keyboard-active .game-header{top:10px;left:10px}body.keyboard-active .game-title{font-size:.85rem}body.keyboard-active .game-date{font-size:.75rem}body.keyboard-active .container{padding:.5rem;justify-content:center}body.keyboard-active .verse-reference{font-size:1rem;margin-bottom:.75rem}body.keyboard-active .verse-text{font-size:1.25rem;line-height:1.4}body.keyboard-active .score-display{font-size:.9rem;bottom:var(--keyboard-height, 10px)}body.keyboard-active .score-value{font-size:1.1rem}}.blank-word{display:inline-block;border-bottom:2px solid #2E2B26;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid transparent;padding:2px 4px;margin:0 2px;font-weight:600;letter-spacing:.1em;box-sizing:border-box;text-align:center;white-space:nowrap}.blank-word.current{border-bottom-color:#8b7355;border-bottom-width:2px;background-color:#8b73551a}.blank-word.shake{animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.solved-word{display:inline-block;color:#2e2b26;font-weight:600;background-color:#8b735526;padding:2px 4px;margin:0 2px;border:2px solid transparent;border-radius:4px;box-sizing:border-box;text-align:center;white-space:nowrap}.hint-letter{color:#c9a24d;font-weight:600}.guessed-letter{color:#4f6f52;font-weight:600}.score-display{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;color:#2e2b26;z-index:101;transition:bottom .2s ease}.score-label{opacity:.7}.score-value{font-size:1.5rem;color:#8b7355;transition:transform .2s ease}.score-value.score-increment{animation:scorePop .3s ease}@keyframes scorePop{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.congratulations-message{display:none;flex-direction:column;align-items:center;font-size:1.5rem;font-weight:600;color:#2e2b26;text-align:center;width:100%;max-width:800px;margin:0;gap:2rem;padding:0;opacity:0;height:0;overflow:hidden;transition:opacity .6s ease}.congratulations-message.show{display:flex;opacity:1;height:auto;overflow:visible;margin:8rem auto 0}.congrats-text{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.reflection-prompt{width:100%;text-align:left;margin-top:1rem}.prompt-loading{color:#666;font-style:italic;opacity:.8;animation:pulse 1.5s ease-in-out infinite;display:inline-block;min-height:1.5rem}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.prompt-fade-in{animation:fadeIn .6s ease-in;transform:none!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.reflection-instruction{font-size:1.1rem;font-weight:500;margin-bottom:1rem;color:#2e2b26;line-height:1.6}#reflectionPromptText{min-height:5rem;display:block}.reflection-instruction strong{font-weight:600}.reflection-subscribe-link{color:#2e2b26;text-decoration:underline;font-weight:600;cursor:pointer;transition:opacity .2s ease}.reflection-subscribe-link:hover{opacity:.7}.reflection-question{font-size:1.2rem;font-weight:600;margin-bottom:1rem;color:#2e2b26;line-height:1.6}.reflection-textarea{width:100%;padding:1rem;font-size:1rem;font-family:Fraunces,serif;color:#2e2b26;background-color:#f6f1e7;border:2px solid #2E2B26;border-radius:8px;resize:vertical;min-height:120px;outline:none;box-sizing:border-box}.reflection-textarea:focus{border-color:#4f6f52;box-shadow:0 0 0 3px #4f6f521a}.reflection-textarea::placeholder{color:#8b7d6b;opacity:.7}.reflection-submit,.reflection-signin-button{margin-top:0;padding:.75rem 1.25rem;font-family:Fraunces,serif;font-size:1rem;font-weight:600;background-color:#2e2b26;color:#f6f1e7;border:none;border-radius:8px;cursor:pointer;align-self:flex-start;transition:background-color .2s ease,transform .15s ease,opacity .2s ease}.reflection-submit:hover,.reflection-signin-button:hover{background-color:#1a1815}.reflection-submit.completed{background-color:#1a1815;opacity:.95}.reflection-controls{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center}.past-journal-entries{width:100%;margin-top:3rem;padding-top:3rem;border-top:2px solid #E8E0D3;display:flex;flex-direction:column}.past-journal-entries-header{font-family:Fraunces,serif;font-size:1.2rem;font-weight:600;color:#2e2b26;margin-bottom:1.5rem}.past-journal-entry{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #E8E0D3}.past-journal-entry-pending-animation{opacity:0;will-change:opacity,transform;transform:translate3d(0,10px,0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.past-journal-entry-fade-in{animation:fadeInJournalEntry .5s ease forwards;opacity:0;will-change:opacity,transform;transform:translate3d(0,10px,0);backface-visibility:hidden;-webkit-backface-visibility:hidden}@keyframes fadeInJournalEntry{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}.past-journal-entry:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.past-journal-entry-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.past-journal-entry-date{font-family:Fraunces,serif;font-size:1rem;font-weight:600;color:#2e2b26}.past-journal-entry-verse{font-family:Fraunces,serif;font-size:.9rem;font-weight:500;color:#8b7d6b}.past-journal-entry-prompt{font-family:Fraunces,serif;font-size:.95rem;font-weight:500;color:#2e2b26;margin-bottom:.75rem;padding:.75rem;background-color:#f6f1e7;border-left:3px solid #2E2B26;border-radius:4px;line-height:1.6}.past-journal-entry-prompt a{color:#2e2b26;text-decoration:underline;font-weight:600}.past-journal-entry-text{font-family:Fraunces,serif;font-size:1rem;line-height:1.7;color:#2e2b26;white-space:pre-wrap;word-wrap:break-word}.load-more-entries-button{margin-top:2rem;padding:.75rem 1.5rem;font-family:Fraunces,serif;font-size:1rem;font-weight:600;background-color:#2e2b26;color:#f6f1e7;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease,transform .15s ease;align-self:center}.load-more-entries-button:hover{background-color:#1a1815;transform:translateY(-1px)}.load-more-entries-button:active{transform:translateY(0)}.subscribe-to-view-button{margin-top:0rem;padding:.75rem 1.5rem;font-family:Fraunces,serif;font-size:1rem;font-weight:600;background-color:#2e2b26;color:#f6f1e7;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease,transform .2s ease;width:100%;max-width:300px}.subscribe-to-view-button:hover{background-color:#1a1815;transform:translateY(-1px)}.subscribe-to-view-button:active{transform:translateY(0)}.reflection-cta{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center}.reflection-cta .reflection-signin-button{margin-top:0}.reflection-cta-text{font-size:.9rem;color:#2e2b26;opacity:.8}.reflection-message{opacity:0;transition:opacity .3s ease}.reflection-message.show{opacity:1}.congratulations-message.show{opacity:1;visibility:visible;animation:fadeIn 2.5s ease;pointer-events:auto}.verse-display.game-complete{width:100%}.verse-display.fade-out .verse-text,.verse-display.fade-out .verse-reference{will-change:opacity;animation:fadeOutVerseCompletely 2s ease forwards;backface-visibility:hidden;-webkit-font-smoothing:antialiased}.verse-display.game-complete .verse-text,.verse-display.game-complete .verse-reference{margin-bottom:2rem}.score-display.game-complete{animation:fadeOutScore 2s ease forwards}@keyframes slideUpContainer{0%{transform:translateY(0)}to{transform:translateY(calc(-1 * var(--verse-offset, 25vh)))}}@keyframes fadeOutVerse{0%{opacity:1}to{opacity:.2}}@keyframes fadeOutVerseCompletely{0%{opacity:1}to{opacity:0}}@keyframes fadeOutScore{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(15vh)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.game-header{top:15px;left:15px}.game-title{font-size:1rem}.game-date{font-size:.85rem}.container{min-height:100vh;padding:1rem;justify-content:center}.container.game-complete{min-height:auto;height:auto}.verse-reference{font-size:1.25rem;margin-bottom:1.5rem}.verse-text{font-size:1.5rem;line-height:1.6}.score-display{font-size:1.1rem;bottom:15px}.score-value{font-size:1.3rem}.congratulations-message{font-size:1.25rem}}@media (max-width: 480px){body,body.game-active{padding:15px}.game-header{top:10px;left:10px}.game-title{font-size:.9rem}.game-date{font-size:.8rem}.container{padding:.75rem}.verse-reference{font-size:1.1rem;margin-bottom:1.25rem}.verse-text{font-size:1.25rem;line-height:1.5}.score-display{font-size:1rem;bottom:10px}.score-value{font-size:1.2rem}.congratulations-message{font-size:1.1rem;margin-top:1.5rem}.mission-modal{width:98%;max-height:90vh}.mission-header{padding:1.25rem 1.25rem .75rem}.mission-header h2{font-size:1.1rem}.mission-content{padding:.75rem 1.25rem 1.25rem;gap:.875rem}.mission-content p{font-size:.9rem}}.auth-container{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:3000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease}.auth-container.show{opacity:1;visibility:visible;pointer-events:auto}.auth-modal{background-color:#f6f1e7;border-radius:12px;padding:2rem;width:90%;max-width:400px;box-shadow:0 4px 20px #00000026;position:relative}.auth-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.auth-header h2{font-size:1.5rem;font-weight:600;color:#2e2b26}.auth-close{background:none;border:none;font-size:2rem;color:#2e2b26;cursor:pointer;opacity:.7;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;position:absolute;top:1rem;right:1rem}.auth-close:hover{opacity:1}.auth-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #E8E0D3}.auth-tab{background:none;border:none;padding:.75rem 1.5rem;font-family:Fraunces,serif;font-size:1rem;color:#2e2b26;opacity:.6;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:opacity .2s}.auth-tab:hover{opacity:.8}.auth-tab.active{opacity:1;border-bottom-color:#2e2b26;font-weight:600}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-google-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;font-family:Fraunces,serif;font-size:1rem;font-weight:600;background-color:#fff;color:#2e2b26;border-radius:999px;border:2px solid #E8E0D3;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .1s ease}.auth-google-button:hover{background-color:#f6f1e7;border-color:#2e2b26;transform:translateY(-1px)}.auth-google-icon{width:20px;height:20px;border-radius:50%;background:#fff;border:1px solid #E8E0D3;display:flex;align-items:center;justify-content:center;font-size:.85rem}.auth-google-text{white-space:nowrap}.auth-divider{display:flex;align-items:center;gap:.75rem;color:#8b7d6b;font-size:.85rem}.auth-divider-line{flex:1;height:1px;background-color:#e8e0d3}.auth-divider-text{text-transform:lowercase}.auth-name-row{display:none;flex-direction:row;gap:.5rem}.auth-name-row input{flex:1 1 0;min-width:0}.auth-terms-checkbox{display:block;margin-top:.5rem}.auth-terms-checkbox input[type=checkbox]{margin-right:.5rem;width:auto;cursor:pointer;vertical-align:middle}.auth-terms-checkbox label{font-size:.9rem;color:#2e2b26;cursor:pointer;line-height:1.5;display:inline}.auth-terms-checkbox label a.auth-terms-link{color:#2e2b26;text-decoration:underline;margin:0 .25rem}.auth-terms-checkbox label a.auth-terms-link:hover{opacity:.7}.auth-error{color:#d32f2f;font-size:.9rem;padding:.5rem;background-color:#ffebee;border-radius:4px;display:none}.auth-error.show{display:block}.auth-form input{padding:.75rem;font-family:Fraunces,serif;font-size:1rem;border:2px solid #E8E0D3;border-radius:8px;background-color:#fff;color:#2e2b26;transition:border-color .2s}.auth-form input:focus{outline:none;border-color:#2e2b26}.auth-submit{padding:.75rem;font-family:Fraunces,serif;font-size:1rem;font-weight:600;background-color:#2e2b26;color:#f6f1e7;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s,opacity .2s}.auth-submit:hover{background-color:#1a1815}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-button{padding:.5rem .75rem;font-family:Fraunces,serif;font-size:.85rem;font-weight:500;background-color:#2e2b26;color:#f6f1e7;border:1px solid #2E2B26;border-radius:6px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,opacity .2s ease}.auth-button:hover{background-color:#1a1815;border-color:#1a1815;opacity:1}.user-profile{position:fixed;top:20px;right:20px;background-color:#f6f1e7;border:2px solid #E8E0D3;border-radius:12px;padding:.75rem 1.25rem;z-index:100;min-width:200px}.user-menu-button{position:absolute;top:.35rem;right:.35rem;width:32px;height:32px;border:none;background:transparent;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;z-index:101}.user-menu-icon,.user-menu-icon:before,.user-menu-icon:after{content:"";display:block;width:18px;height:2px;background-color:#2e2b26;border-radius:1px;transition:background-color .2s}.user-menu-icon:before{transform:translateY(-5px)}.user-menu-icon:after{transform:translateY(5px)}.user-menu-button:hover .user-menu-icon,.user-menu-button:hover .user-menu-icon:before,.user-menu-button:hover .user-menu-icon:after{background-color:#1a1815}.user-info{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.25rem}.user-email{font-size:.9rem;color:#2e2b26;opacity:.8;font-weight:500}.user-stats{display:flex;gap:.75rem;margin-top:.5rem;flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.75rem;color:#2e2b26;opacity:.6}.stat-value{font-size:1.1rem;font-weight:600;color:#2e2b26;transition:transform .2s ease}.stat-value.stat-pop{animation:statPop .4s ease}@keyframes statPop{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}.xp-progress{margin-top:.5rem;display:flex;flex-direction:column;gap:.25rem}.xp-progress-bar{position:relative;width:100%;height:6px;border-radius:999px;background-color:#e8e0d3;overflow:hidden}.xp-progress-fill{position:absolute;top:0;left:0;height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#c9a24d,#4f6f52);transition:width .3s ease}.xp-progress-text{display:flex;justify-content:space-between;align-items:baseline;font-size:.75rem;color:#2e2b26;opacity:.8;gap:.5rem}.xp-total{font-weight:600}.user-profile .auth-button{position:static;width:100%;margin-top:.5rem}.account-container{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:3000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease}.account-container.show{opacity:1;visibility:visible;pointer-events:auto}.account-modal{background-color:#f6f1e7;border-radius:12px;padding:2rem;width:90%;max-width:400px;box-shadow:0 4px 20px #00000026}.account-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.account-header h2{font-size:1.5rem;font-weight:600;color:#2e2b26}.account-close{background:none;border:none;font-size:2rem;color:#2e2b26;cursor:pointer;opacity:.7;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.account-close:hover{opacity:1}.account-section{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.account-action{width:100%;padding:.75rem 1rem;font-family:Fraunces,serif;font-size:1rem;background-color:#f6f1e7;border-radius:8px;border:2px solid #E8E0D3;cursor:pointer;text-align:left;color:#2e2b26;transition:background-color .2s,border-color .2s}.account-action:hover{background-color:#e8e0d3;border-color:#2e2b26}.account-action-danger{color:#d32f2f;border-color:#f5c2c7;background-color:#fce4ec}.account-action-danger:hover{background-color:#f8bbd0;border-color:#c62828}.cancel-subscription-container{margin-top:1.5rem;padding:1.5rem;background-color:#fff8f0;border-radius:8px;border:2px solid #f5c2c7}.cancel-subscription-content h3{font-family:Fraunces,serif;font-size:1.25rem;font-weight:600;color:#2e2b26;margin-bottom:.75rem}.cancel-subscription-content p{font-family:Fraunces,serif;font-size:.95rem;line-height:1.6;color:#2e2b26;margin-bottom:1rem}.cancel-subscription-period{font-family:Fraunces,serif;font-size:.9rem;color:#2e2b26;margin-bottom:1rem;padding:.5rem;background-color:#f6f1e7;border-radius:6px}.cancel-subscription-actions,.account-form{display:flex;flex-direction:column;gap:.75rem}.account-error{font-size:.9rem;padding:.5rem;border-radius:4px;display:none;background-color:#ffebee;color:#d32f2f}.account-error.show{display:block}.account-form input{padding:.75rem;font-family:Fraunces,serif;font-size:1rem;border:2px solid #E8E0D3;border-radius:8px;background-color:#fff;color:#2e2b26;transition:border-color .2s}.account-form input:focus{outline:none;border-color:#2e2b26}.account-submit{padding:.75rem;font-family:Fraunces,serif;font-size:1rem;font-weight:600;background-color:#2e2b26;color:#f6f1e7;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s,opacity .2s}.account-submit:hover{background-color:#1a1815}.mission-container{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:3000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease}.mission-container.show{opacity:1;visibility:visible;pointer-events:auto}.mission-modal{background-color:#f6f1e7;border-radius:12px;padding:0;width:90%;max-width:500px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:90vh}.mission-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1.5rem;flex-shrink:0;border-bottom:1px solid #E8E0D3}.mission-header h2{font-size:1.5rem;font-weight:600;color:#2e2b26}.mission-close{background:none;border:none;font-size:2rem;color:#2e2b26;cursor:pointer;opacity:.7;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.mission-close:hover{opacity:1}.mission-content{display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem 2rem 2rem;overflow-y:auto;flex:1;min-height:0}.mission-content h3{font-family:Fraunces,serif;font-size:1.25rem;font-weight:600;color:#2e2b26;margin:0 0 .5rem;text-transform:lowercase}.mission-content p{font-family:Fraunces,serif;font-size:1rem;line-height:1.7;color:#2e2b26;margin:0}.mission-content .people-reached{font-weight:500;margin-bottom:.25rem}.mission-content a{color:#2e2b26;text-decoration:underline;opacity:.8;transition:opacity .2s ease}.mission-content a:hover{opacity:1}.subscription-button{margin-top:0;margin-bottom:.5rem;padding:.875rem 1.5rem;font-family:Fraunces,serif;font-size:1rem;font-weight:600;background-color:#2e2b26;color:#f6f1e7;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease,transform .2s ease;width:100%}.subscription-button:hover{background-color:#1a1815;transform:translateY(-1px)}.subscription-button:active{transform:translateY(0)}.subscription-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.paywall-container{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:3000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease}.paywall-container.show{opacity:1;visibility:visible;pointer-events:auto}.paywall-modal{background-color:#f6f1e7;border-radius:12px;padding:2rem;width:90%;max-width:500px;box-shadow:0 4px 20px #00000026}.paywall-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.paywall-header h2{font-size:1.5rem;font-weight:600;color:#2e2b26}.paywall-close{background:none;border:none;font-size:2rem;color:#2e2b26;cursor:pointer;opacity:.7;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.paywall-close:hover{opacity:1}.paywall-content{display:flex;flex-direction:column;gap:1.25rem}.paywall-content p{font-family:Fraunces,serif;font-size:1rem;line-height:1.7;color:#2e2b26;margin:0}.paywall-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.paywall-features li{font-family:Fraunces,serif;font-size:1rem;line-height:1.6;color:#2e2b26;padding-left:1.5rem;position:relative}.paywall-features li:before{content:"✓";position:absolute;left:0;color:#2e2b26;font-weight:600}.paywall-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.paywall-subscribe-button{padding:.875rem 1.5rem;font-family:Fraunces,serif;font-size:1rem;font-weight:600;background-color:#2e2b26;color:#f6f1e7;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease,transform .2s ease;width:100%}.paywall-subscribe-button:hover{background-color:#1a1815;transform:translateY(-1px)}.paywall-subscribe-button:active{transform:translateY(0)}.paywall-subscribe-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.paywall-continue-button{padding:.875rem 1.5rem;font-family:Fraunces,serif;font-size:1rem;font-weight:500;background-color:transparent;color:#2e2b26;border:1px solid #2E2B26;border-radius:8px;cursor:pointer;transition:background-color .2s ease,color .2s ease;width:100%}.paywall-continue-button:hover{background-color:#2e2b26;color:#f6f1e7}@media (max-width: 768px){.auth-modal{padding:1.5rem}.user-profile{top:auto;bottom:20px;right:20px;left:20px;min-width:auto}.mission-modal{width:95%;max-height:85vh}.mission-header{padding:1.5rem 1.5rem 1rem}.mission-header h2{font-size:1.25rem;line-height:1.3}.mission-content{padding:1rem 1.5rem 1.5rem;gap:1rem}.mission-content p{font-size:.95rem;line-height:1.6}.past-journal-entries{padding-bottom:250px}}.router-container{max-width:1600px;width:100%;min-width:0;margin:0 auto;padding:180px 20px 40px;min-height:calc(100vh - 200px);box-sizing:border-box;align-self:stretch;font-family:Fraunces,serif}.blog-listing{width:100%}.blog-title{font-size:2.5rem;font-weight:700;color:#2e2b26;margin-bottom:2rem;font-family:Fraunces,serif}.blog-empty{font-size:1.1rem;color:#2e2b26;opacity:.7;text-align:center;padding:3rem 0;font-family:Fraunces,serif}.blog-posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-top:2rem}.blog-post-card{background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}.blog-post-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.blog-post-image{width:100%;height:200px;overflow:hidden;background-color:#f0f0f0}.blog-post-image img{width:100%;height:100%;object-fit:cover}.blog-post-content{padding:1.5rem;flex:1;display:flex;flex-direction:column}.blog-post-title{font-size:1.5rem;font-weight:600;color:#2e2b26;margin-bottom:.75rem;font-family:Fraunces,serif}.blog-post-link{color:#2e2b26;text-decoration:none;transition:color .2s ease}.blog-post-link:hover{color:#1a1815}.blog-post-excerpt{color:#2e2b26;opacity:.8;line-height:1.6;margin-bottom:1rem;flex:1;font-family:Fraunces,serif}.blog-post-meta{display:flex;gap:1rem;font-size:.9rem;color:#2e2b26;opacity:.6;margin-top:auto;font-family:Fraunces,serif}.blog-post-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.blog-tag{display:inline-block;padding:.25rem .75rem;background-color:#f0f0f0;border-radius:4px;font-size:.85rem;color:#2e2b26;opacity:.8}.blog-post-single{max-width:800px;margin:0 auto;background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.blog-post-header{margin-bottom:2rem}.blog-back-link{display:inline-block;color:#2e2b26;text-decoration:none;opacity:.7;margin-bottom:1rem;transition:opacity .2s ease;font-family:Fraunces,serif}.blog-back-link:hover{opacity:1}.blog-post-title-single{font-size:2.5rem;font-weight:700;color:#2e2b26;margin-bottom:1rem;line-height:1.2;font-family:Fraunces,serif}.blog-post-meta-single{display:flex;gap:1rem;font-size:1rem;color:#2e2b26;opacity:.7;margin-bottom:1.5rem;font-family:Fraunces,serif}.blog-post-featured-image{width:100%;max-height:400px;overflow:hidden;border-radius:8px;margin-bottom:2rem}.blog-post-featured-image img{width:100%;height:100%;object-fit:cover}.blog-post-body{font-size:1.1rem;line-height:1.8;color:#2e2b26;font-family:Fraunces,serif}.blog-post-body h1,.blog-post-body h2,.blog-post-body h3,.blog-post-body h4,.blog-post-body h5,.blog-post-body h6{margin-top:2rem;margin-bottom:1rem;font-weight:600;font-family:Fraunces,serif}.blog-post-body p{margin-bottom:1.5rem;font-family:Fraunces,serif}.blog-post-body ul,.blog-post-body ol{margin:1.5rem 0;padding-left:2rem;font-family:Fraunces,serif}.blog-post-body ul{list-style-type:disc}.blog-post-body ol{list-style-type:decimal}.blog-post-body li{margin-bottom:.5rem;font-family:Fraunces,serif}.blog-post-body *{font-family:Fraunces,serif}.blog-post-body ul ul,.blog-post-body ol ol,.blog-post-body ul ol,.blog-post-body ol ul{margin-top:.5rem;margin-bottom:.5rem}.blog-post-body img{max-width:100%;height:auto;border-radius:8px;margin:1.5rem 0}.blog-post-footer{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(46,43,38,.1)}.blog-post-tags-single,.blog-post-categories-single{margin-bottom:1rem}.blog-post-tags-single strong,.blog-post-categories-single strong{margin-right:.5rem}.blog-category{display:inline-block;padding:.25rem .75rem;background-color:#e8e8e8;border-radius:4px;font-size:.9rem;color:#2e2b26;margin-right:.5rem;margin-bottom:.5rem}.static-page{max-width:800px;margin:0 auto;background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.static-page-title{font-size:2.5rem;font-weight:700;color:#2e2b26;margin-bottom:2rem;font-family:Fraunces,serif}.static-page-content{font-size:1.1rem;line-height:1.8;color:#2e2b26;font-family:Fraunces,serif}.static-page-content h1,.static-page-content h2,.static-page-content h3,.static-page-content h4,.static-page-content h5,.static-page-content h6{margin-top:2rem;margin-bottom:1rem;font-weight:600;font-family:Fraunces,serif}.static-page-content ul,.static-page-content ol{margin:1.5rem 0;padding-left:2rem;font-family:Fraunces,serif}.static-page-content ul{list-style-type:disc}.static-page-content ol{list-style-type:decimal}.static-page-content li{margin-bottom:.5rem;font-family:Fraunces,serif}.static-page-content ul ul,.static-page-content ol ol,.static-page-content ul ol,.static-page-content ol ul{margin-top:.5rem;margin-bottom:.5rem}.static-page-content p{margin-bottom:1.5rem;font-family:Fraunces,serif}.static-page-content *{font-family:Fraunces,serif}.page-back-link{display:inline-block;color:#2e2b26;text-decoration:none;opacity:.7;margin-top:2rem;transition:opacity .2s ease;font-family:Fraunces,serif}.page-back-link:hover{opacity:1}.cms-container{max-width:1600px;width:100%;margin:0 auto;padding:2rem;box-sizing:border-box}.cms-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.cms-header h1{font-size:2rem;font-weight:700;color:#2e2b26}.cms-actions{display:flex;gap:1rem}.cms-button{padding:.75rem 1.5rem;font-family:Fraunces,serif;font-size:1rem;font-weight:500;background-color:#fff;color:#2e2b26;border:1px solid #2E2B26;border-radius:6px;cursor:pointer;transition:background-color .2s ease,color .2s ease}.cms-button:hover,.cms-button-primary{background-color:#2e2b26;color:#f6f1e7}.cms-button-primary:hover{background-color:#1a1815}.cms-button-small{padding:.5rem 1rem;font-size:.9rem}.cms-button-danger{border-color:#d32f2f;color:#d32f2f}.cms-button-danger:hover{background-color:#d32f2f;color:#fff}.cms-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.cms-stat-card{background-color:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.cms-stat-card h3{font-size:2rem;font-weight:700;color:#2e2b26;margin-bottom:.5rem}.cms-stat-card p{font-size:1rem;color:#2e2b26;opacity:.8;margin-bottom:.25rem}.cms-stat-card small{font-size:.85rem;color:#2e2b26;opacity:.6}.cms-sections{display:grid;gap:3rem}.cms-section h2{font-size:1.5rem;font-weight:600;color:#2e2b26;margin-bottom:1.5rem}.cms-list{display:flex;flex-direction:column;gap:1rem}.cms-item{background-color:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;align-items:center}.cms-item-content h3{font-size:1.25rem;font-weight:600;color:#2e2b26;margin-bottom:.5rem}.cms-item-meta{display:flex;gap:1rem;font-size:.9rem;color:#2e2b26;opacity:.7}.cms-badge{display:inline-block;padding:.25rem .75rem;border-radius:4px;font-size:.85rem;font-weight:500}.cms-badge-published{background-color:#e8f5e9;color:#2e7d32}.cms-badge-draft{background-color:#fff3e0;color:#e65100}.cms-item-actions{display:flex;gap:.5rem}.cms-empty{text-align:center;color:#2e2b26;opacity:.6;padding:2rem}.cms-form{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;width:100%;box-sizing:border-box}.cms-form-group{margin-bottom:1.5rem}.cms-form-group label{display:block;font-weight:600;color:#2e2b26;margin-bottom:.5rem}.cms-form-group input[type=text],.cms-form-group input[type=datetime-local],.cms-form-group textarea{width:100%;padding:.75rem;font-family:Fraunces,serif;font-size:1rem;border:1px solid rgba(46,43,38,.2);border-radius:6px;background-color:#fff;color:#2e2b26}.cms-form-group textarea{resize:vertical;min-height:150px}.cms-form-group small{display:block;font-size:.85rem;color:#2e2b26;opacity:.6;margin-top:.25rem}.cms-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.cms-form-actions{display:flex;gap:1rem;margin-top:2rem}.cms-error{background-color:#ffebee;color:#c62828;padding:1rem;border-radius:6px;margin-top:1rem}.main-footer{background-color:#2e2b26;color:#f6f1e7;padding:2rem 20px;margin-top:4rem;width:100vw;box-sizing:border-box;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);position:relative;flex-shrink:0;margin-bottom:0!important}body>script[type=module]{margin:0!important;padding:0!important;display:block;height:0!important;line-height:0!important;font-size:0!important}.footer-links{display:flex;gap:2rem;margin-bottom:1rem;flex-wrap:wrap;justify-content:center}.footer-link{color:#f6f1e7;text-decoration:none;opacity:.8;transition:opacity .2s ease}.footer-link:hover{opacity:1}.footer-copyright{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(246,241,231,.2);font-size:.9rem;opacity:.7;text-align:center}.error-page{max-width:600px;margin:0 auto;text-align:center;padding:3rem 2rem}.error-page h1{font-size:3rem;font-weight:700;color:#2e2b26;margin-bottom:1rem}.error-page p{font-size:1.1rem;color:#2e2b26;opacity:.8;margin-bottom:2rem}@media (max-width: 768px){.blog-posts-grid{grid-template-columns:1fr}.blog-post-title-single{font-size:2rem}.cms-header{flex-direction:column;align-items:flex-start;gap:1rem}.cms-actions{width:100%}.cms-button{flex:1}.cms-item{flex-direction:column;align-items:flex-start;gap:1rem}.cms-item-actions{width:100%}.cms-form-row{grid-template-columns:1fr}.footer-links{flex-direction:column;gap:1rem}}
