:root{--ink:#29234b;--muted:#77738c;--purple:#7156d9;--purple-dark:#5941bd;--lavender:#eee9ff;--pink:#ff86a1;--yellow:#ffc95c;--mint:#76d5bd;--paper:#fff;--bg:#f7f5fc;--line:#ece9f4;--green:#278a68;--red:#b85666}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;min-height:100vh}.app-shell{max-width:1120px;min-height:100vh;margin:auto;padding:0 42px;display:flex;flex-direction:column}.topbar{height:84px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eae6f2}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:900;font-size:13px;letter-spacing:1.5px}.brand-mark{width:32px;height:32px;border-radius:11px;background:var(--purple);color:white;display:grid;place-items:center;font-size:20px}.top-note{font-size:13px;color:var(--muted)}.screen{flex:1}.welcome-screen{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:28px;position:relative;padding:44px 0 72px}.welcome-copy{max-width:490px;z-index:1}.eyebrow{color:var(--purple);font-weight:800;font-size:13px;letter-spacing:1.5px;text-transform:uppercase}.sparkle{font-size:19px;margin-right:6px}h1,h2{font-family:'Nunito',sans-serif;letter-spacing:-1.5px}.welcome-copy h1{font-size:clamp(48px,6vw,72px);line-height:.99;margin:20px 0;color:var(--ink);font-weight:900}.welcome-copy h1 span{color:var(--purple)}.intro{font-size:17px;line-height:1.65;color:#6e6a82;max-width:440px;margin:22px 0 34px}.start-form label{display:block;font-weight:800;font-size:14px;margin-bottom:10px}.input-row{display:flex;gap:10px;max-width:470px}.input-row input,.fill-form input{min-width:0;flex:1;border:1px solid #e4dfef;border-radius:14px;padding:15px 17px;background:white;color:var(--ink);font:600 15px 'DM Sans',sans-serif;outline:none;box-shadow:0 3px 12px #40356508}.input-row input:focus,.fill-form input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #7156d921}.primary-button{border:0;border-radius:14px;background:var(--purple);color:white;font:800 15px 'DM Sans',sans-serif;padding:15px 20px;box-shadow:0 7px 16px #7156d933;cursor:pointer;transition:.18s}.primary-button:hover{background:var(--purple-dark);transform:translateY(-1px)}.primary-button span{margin-left:9px;font-size:18px}.start-form small{display:block;color:#8b879b;margin:11px 0;font-size:12px}.hero-art{height:420px;position:relative;display:grid;place-items:center}.sunburst{position:absolute;width:300px;height:300px;border-radius:50%;background:#f4ddfb;right:7%;top:9%;filter:blur(1px)}.illustration-card{position:relative;width:min(390px,88%);height:330px;border-radius:35px;background:linear-gradient(180deg,#e8e4ff 0%,#fff2e8 75%);overflow:hidden;box-shadow:0 22px 60px #4e3d7520;transform:rotate(2deg)}.cloud{position:absolute;background:white;border-radius:30px;opacity:.8}.cloud-one{width:80px;height:23px;top:54px;left:39px}.cloud-two{width:54px;height:17px;top:88px;right:41px}.hill{position:absolute;border-radius:50% 50% 0 0}.hill-back{height:180px;width:480px;bottom:-75px;left:-70px;background:#b7daca;transform:rotate(-7deg)}.hill-front{height:150px;width:460px;bottom:-89px;right:-100px;background:#83c5a9;transform:rotate(8deg)}.church{position:absolute;width:130px;height:175px;left:calc(50% - 65px);bottom:50px}.church-body{position:absolute;bottom:0;width:130px;height:108px;background:#fff9ee;border:3px solid #e2c69e;border-bottom:0;border-radius:8px 8px 0 0}.roof{position:absolute;z-index:2;bottom:98px;left:-13px;width:156px;height:40px;background:#e89c80;clip-path:polygon(50% 0,100% 100%,0 100%)}.spire{position:absolute;z-index:3;width:28px;height:45px;left:51px;top:9px;background:#fff9ee;border:3px solid #e2c69e;border-bottom:0}.cross{position:absolute;z-index:4;left:55px;top:-13px;color:#7156d9;font-size:20px}.round-window{position:absolute;width:24px;height:24px;border-radius:50%;border:4px solid #b994df;top:22px;left:50px;background:#d9efff}.door{position:absolute;bottom:0;left:47px;width:34px;height:54px;background:#b98767;border-radius:20px 20px 0 0}.flower{position:absolute;color:#fc7993;font-size:31px}.flower-one{bottom:29px;left:76px}.flower-two{bottom:19px;right:84px;color:#ffc95c}.flower-three{bottom:67px;right:50px;color:#fff}.art-caption{position:absolute;bottom:15px;width:100%;text-align:center;color:#425b52;font-size:12px;font-weight:800;letter-spacing:.2px}.floating-star{position:absolute;color:var(--yellow);font-size:29px}.star-a{top:43px;right:12%}.star-b{top:99px;left:6%;color:var(--pink);font-size:36px}.star-c{bottom:61px;right:7%;color:var(--purple)}.badge{position:absolute;display:flex;align-items:center;gap:8px;background:white;padding:12px 15px;border-radius:15px;box-shadow:0 9px 24px #382e5818;font-size:17px}.badge span{font-size:12px;font-weight:800}.badge-left{left:0;top:87px;transform:rotate(-5deg)}.badge-right{right:-4px;bottom:60px;transform:rotate(4deg)}.welcome-footer{position:absolute;bottom:26px;left:0;right:0;text-align:center;color:#918da1;font-size:12px}.welcome-footer span{color:var(--pink);margin:0 9px}.site-footer{text-align:center;color:#9692a4;font-size:12px;padding:20px 0 24px}.site-footer span{color:var(--pink)}
.quiz-screen{max-width:760px;width:100%;margin:0 auto;padding:42px 0 35px}.quiz-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.player-chip,.score-chip{display:flex;align-items:center;gap:9px;font-size:14px}.avatar{width:36px;height:36px;background:#ffebc3;border-radius:12px;display:grid;place-items:center;font-size:20px}.score-chip{background:#fff4d9;color:#94640e;padding:10px 14px;border-radius:12px;font-weight:800}.progress-line{width:100%;height:9px;border-radius:20px;background:#e8e5f0;overflow:hidden}.progress-line div{height:100%;width:0;background:linear-gradient(90deg,#7156d9,#a78af5);border-radius:20px;transition:width .35s}.question-meta{display:flex;justify-content:space-between;color:#827e93;font-size:12px;margin:17px 3px}.round-label{color:var(--purple);font-weight:900;letter-spacing:1px}.question-card{background:white;border:1px solid #efedf4;border-radius:26px;padding:32px 38px 30px;box-shadow:0 18px 45px #44385d0c}.question-emoji{font-size:34px;margin-bottom:10px}.question-card h2{font-size:30px;line-height:1.2;margin:0 0 9px;font-weight:900}.question-hint{margin:0 0 23px;color:#858196;font-size:14px}.answers{display:grid;gap:11px}.answer-option{width:100%;display:flex;align-items:center;gap:13px;padding:12px 15px;border:1.5px solid #e9e6f0;background:white;border-radius:14px;text-align:left;color:var(--ink);font:700 15px 'DM Sans',sans-serif;cursor:pointer;transition:.16s}.answer-option:hover:not(:disabled){border-color:#b5a5ed;background:#faf8ff;transform:translateY(-1px)}.option-letter{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#f2effb;color:var(--purple);font-size:13px;font-weight:900;flex-shrink:0}.answer-option.selected{border-color:#8b74e5;background:#f3efff;box-shadow:0 0 0 3px #7156d91c}.answer-option.selected .option-letter{background:#7156d9;color:#fff}.answer-option.correct{border-color:#7ac9aa;background:#effaf5;color:#236849}.answer-option.correct .option-letter{background:#c8f0dd;color:#236849}.answer-option.incorrect{border-color:#ec9aaa;background:#fff5f6;color:#9b4553}.answer-option.incorrect .option-letter{background:#ffe0e4;color:#9b4553}.answer-option:disabled{cursor:default}.fill-form{display:grid;grid-template-columns:1fr auto;gap:11px}.phrase-lead{grid-column:1/-1;background:#f7f5fc;padding:16px;border-radius:13px;margin:0 0 3px;font-weight:700;line-height:1.55}.fill-form input{width:100%;padding:14px}.correct-input{border-color:#7ac9aa!important;background:#effaf5!important}.incorrect-input{border-color:#ec9aaa!important;background:#fff5f6!important}.fill-form button{padding:13px 22px}.feedback{margin-top:17px;border-radius:13px;padding:13px 15px;display:flex;gap:6px;flex-direction:column;font-size:13px}.feedback.good{background:#eaf8f1;color:#24674e}.feedback.try-again{background:#fff6e7;color:#806125}.feedback strong{font-size:15px}.confirm-answer-button{margin-top:18px;width:100%}.continue-button{margin-top:17px;float:right}.quiz-footnote{clear:both;text-align:center;padding-top:35px;color:#9692a4;font-size:12px}.result-screen{max-width:620px;width:100%;margin:auto;text-align:center;padding:56px 0 45px;position:relative}.result-confetti{color:#e4ad37;font-size:19px;letter-spacing:8px;margin-bottom:20px}.result-icon{width:86px;height:86px;border-radius:28px;background:#fff0c8;display:grid;place-items:center;font-size:43px;margin:0 auto 20px;box-shadow:0 10px 25px #c5922a20}.result-screen h1{font-size:clamp(32px,5vw,46px);line-height:1.12;margin:14px 0 12px;font-weight:900}.result-screen h1 span{color:var(--purple)}.result-message{color:#77738c;line-height:1.6;margin:0 auto 24px;max-width:470px}.result-stats{display:flex;justify-content:center;gap:14px;margin:24px 0}.result-stats div{min-width:140px;background:white;border:1px solid var(--line);border-radius:18px;padding:17px 24px;display:flex;flex-direction:column;gap:4px;box-shadow:0 8px 24px #44385d08}.result-stats strong{font:900 27px 'Nunito',sans-serif;color:var(--purple)}.result-stats span{font-size:12px;color:#817d91}.result-note{font-size:11px;color:#9995a5;margin:16px 0 22px}.result-screen .primary-button{min-width:190px}
[hidden]{display:none!important}@media(max-width:760px){.app-shell{padding:0 22px}.topbar{height:68px}.top-note{font-size:11px}.welcome-screen{grid-template-columns:1fr;gap:4px;padding:40px 0 58px}.welcome-copy{max-width:560px}.welcome-copy h1{font-size:clamp(48px,12vw,66px)}.intro{font-size:15px;margin:17px 0 25px}.hero-art{height:330px;margin-top:0}.illustration-card{height:275px;width:min(350px,85%)}.sunburst{width:230px;height:230px;right:13%;top:12%}.church{transform:scale(.84);transform-origin:bottom center;bottom:42px}.badge-left{left:2%;top:45px}.badge-right{right:0;bottom:33px}.welcome-footer{bottom:17px;font-size:10px}.quiz-screen{padding:28px 0}.question-card{padding:25px 21px;border-radius:21px}.question-card h2{font-size:26px}.fill-form{grid-template-columns:1fr}.phrase-lead{grid-column:auto}.fill-form button{justify-self:stretch}.result-screen{padding-top:45px}}
@media(max-width:400px){.app-shell{padding:0 16px}.input-row{flex-direction:column}.input-row .primary-button{width:100%}.top-note{max-width:145px;text-align:right}.badge{padding:10px 11px}.badge span{font-size:11px}.question-meta{font-size:11px}.result-stats{gap:8px}.result-stats div{min-width:0;padding:15px 17px}}
@keyframes screen-in{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
@keyframes card-in{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes option-in{from{opacity:0;transform:translateX(9px)}to{opacity:1;transform:translateX(0)}}
@keyframes pop-in{0%{transform:scale(.75);opacity:.4}70%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
.screen.active{animation:screen-in .38s ease both}.question-enter{animation:card-in .32s cubic-bezier(.2,.75,.25,1) both}.answer-option{animation:option-in .25s ease both}.answer-option:nth-child(2){animation-delay:.035s}.answer-option:nth-child(3){animation-delay:.07s}.answer-option:nth-child(4){animation-delay:.105s}.feedback{animation:pop-in .28s ease both}.result-icon{animation:pop-in .5s cubic-bezier(.2,.8,.3,1.2) both}.result-confetti{animation:screen-in .65s ease both}.badge{animation:pop-in .8s ease both}.primary-button:active,.answer-option:active{transform:scale(.98)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.nickname-field{display:flex;align-items:center;gap:12px;width:min(100%,470px);min-height:54px;margin-top:9px;padding:0 15px;border:1.5px solid #e4dfef;border-radius:15px;background:linear-gradient(110deg,#fff 0%,#fcfbff 100%);box-shadow:0 4px 14px #4035650a;transition:border-color .2s,box-shadow .2s,background .2s}.nickname-field:hover{border-color:#c9bdf0}.nickname-field:focus-within{border-color:#8068df;background:#fff;box-shadow:0 0 0 4px #7156d91c,0 8px 22px #4035650d}.nickname-icon{width:29px;height:29px;display:grid;place-items:center;flex:0 0 29px;border-radius:10px;background:#f0ecff;color:#7156d9;font-size:16px}.nickname-field input{width:100%;min-width:0;height:50px;padding:0;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:var(--ink);font:700 15px 'DM Sans',sans-serif}.nickname-field input::placeholder{color:#aaa5b8;font-weight:500;opacity:1}.nickname-field input:focus-visible{outline:0}.nickname-field:has(input:focus-visible){box-shadow:0 0 0 4px #7156d91c,0 8px 22px #4035650d}.mode-menu{display:grid;gap:11px;margin-top:15px;max-width:485px}.mode-card{display:flex;align-items:center;gap:13px;width:100%;padding:13px 15px;border:1px solid #e8e3f0;background:white;border-radius:16px;text-align:left;color:var(--ink);cursor:pointer;box-shadow:0 5px 18px #43385f0b;transition:transform .18s,border-color .18s,box-shadow .18s}.mode-card:hover{transform:translateY(-2px);border-color:#c8baf3;box-shadow:0 10px 24px #43385f15}.mode-card-prayers .mode-icon{background:#fff0f3}.mode-icon{width:43px;height:43px;border-radius:14px;background:#f0ecff;display:grid;place-items:center;font-size:22px;flex-shrink:0}.mode-copy{display:flex;flex-direction:column;gap:4px;flex:1}.mode-copy strong{font-size:14px;font-weight:800}.mode-copy small{font-size:11px;color:#858196}.mode-arrow{font-size:19px;color:var(--purple);font-weight:800}
.history-link{border:0;background:transparent;color:var(--purple);font:800 12px 'DM Sans',sans-serif;padding:12px 2px 0;cursor:pointer;text-align:left}.history-link span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:4px;padding:0 5px;background:#eee9ff;border-radius:10px}.storage-note{margin-top:4px!important}.saved-screen{max-width:720px;width:100%;margin:0 auto;padding:48px 0 40px}.saved-screen h1{font:900 clamp(34px,5vw,48px)/1.1 'Nunito',sans-serif;letter-spacing:-1px;margin:12px 0}.saved-intro{color:var(--muted);margin:0 0 22px}.saved-list{display:grid;gap:10px}.saved-card,.empty-results{background:white;border:1px solid var(--line);border-radius:16px;padding:15px 17px;margin:0}.saved-card-head,.saved-card-details{display:flex;align-items:center;justify-content:space-between;gap:14px}.saved-card-head strong{font-size:15px}.saved-result{color:var(--purple);font-weight:800;font-size:13px}.saved-card-details{color:var(--muted);font-size:12px;margin-top:8px}.saved-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.secondary-button,.clear-button{border-radius:12px;padding:12px 16px;font:800 13px 'DM Sans',sans-serif;cursor:pointer}.secondary-button{background:white;color:var(--purple);border:1px solid #dcd5ee}.clear-button{background:#fff5f6;color:#a64e5b;border:1px solid #f4dce0}.clear-button:disabled{opacity:.45;cursor:default}
@media(max-width:760px){.saved-screen{padding:32px 0}.saved-card-head,.saved-card-details{align-items:flex-start}.saved-card-details{flex-direction:column;gap:4px}}
.site-footer a{color:var(--purple);text-decoration:none;font-weight:700}.site-footer a:hover{text-decoration:underline}.retry-send{display:block;margin:0 auto 12px}
