@font-face{font-family:GmarketSansBold;src:url(/samuel/fonts/GMARKETSANSTTFBOLD.TTF)format("truetype");font-display:swap}@font-face{font-family:GmarketSansLight;src:url(/samuel/fonts/GMARKETSANSTTFLIGHT.TTF)format("truetype");font-display:swap}@font-face{font-family:GmarketSansMedium;src:url(/samuel/fonts/GMARKETSANSTTFMEDIUM.TTF)format("truetype");font-display:swap}@font-face{font-family:HakgyoansimAllimjangB;src:url(/samuel/fonts/HAKGYOANSIM%20ALLIMJANG%20TTF%20B.TTF)format("truetype");font-display:swap}@font-face{font-family:HakgyoansimAllimjangR;src:url(/samuel/fonts/HAKGYOANSIM%20ALLIMJANG%20TTF%20R.TTF)format("truetype");font-display:swap}@font-face{font-family:MaruBuriBold;src:url(/samuel/fonts/MARUBURI-BOLD.TTF)format("truetype");font-display:swap}@font-face{font-family:MaruBuriExtraLight;src:url(/samuel/fonts/MARUBURI-EXTRALIGHT.TTF)format("truetype");font-display:swap}@font-face{font-family:MaruBuriLight;src:url(/samuel/fonts/MARUBURI-LIGHT.TTF)format("truetype");font-display:swap}@font-face{font-family:MaruBuriRegular;src:url(/samuel/fonts/MARUBURI-REGULAR.TTF)format("truetype");font-display:swap}@font-face{font-family:MaruBuriSemiBold;src:url(/samuel/fonts/MARUBURI-SEMIBOLD.TTF)format("truetype");font-display:swap}@font-face{font-family:NanumSquareRoundB;src:url(/samuel/fonts/NANUMSQUAREROUNDB.TTF)format("truetype");font-display:swap}@font-face{font-family:NanumSquareRoundEB;src:url(/samuel/fonts/NANUMSQUAREROUNDEB.TTF)format("truetype");font-display:swap}@font-face{font-family:NanumSquareRoundL;src:url(/samuel/fonts/NANUMSQUAREROUNDL.TTF)format("truetype");font-display:swap}@font-face{font-family:NanumSquareRoundR;src:url(/samuel/fonts/NANUMSQUAREROUNDR.TTF)format("truetype");font-display:swap}@font-face{font-family:RecipeKorea;src:url(/samuel/fonts/RECIPEKOREA%20%EB%A0%88%EC%BD%94%EC%B2%B4%20FONT.TTF)format("truetype");font-display:swap}:root{--bg-color:#eef0f3;--card-bg:#f7f8fa;--text-primary:#1f2937;--text-secondary:#6b7280;--accent-color:#4b5563;--border-color:#dfe3e8;--hover-bg:#e8ebef;--shadow:0 4px 12px #0f172a0f;--input-bg:#f7f8fa;--color-success:#2b8a3e;--color-fail:#c92a2a;--highlight-bg:#0000000d;--flash-success:#2b8a3e33;--flash-fail:#c92a2a33}[data-theme=dark]{--bg-color:#121212;--card-bg:#1e1e1e;--text-primary:#e0e0e0;--text-secondary:#a0a0a0;--accent-color:#fff;--border-color:#333;--hover-bg:#2c2c2c;--shadow:0 4px 20px #0006;--input-bg:#1e1e1e;--color-success:#69db7c;--color-fail:#ff8787;--highlight-bg:#ffffff1a;--flash-success:#69db7c33;--flash-fail:#ff878733}*{box-sizing:border-box;margin:0;padding:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%}html,body{background-color:var(--bg-color);height:100%;margin:0;padding:0}body.samuel-typing{width:100%;position:fixed;overflow:hidden}body.samuel-tutorial{overflow:hidden}body.samuel-tutorial .app-container button:hover,body.samuel-tutorial .app-container .theme-toggle:hover,body.samuel-tutorial .app-container .mode-main-btn:hover,body.samuel-tutorial .app-container .mode-sub-btn:hover{transform:none}.app-container{min-height:100vh;background-color:var(--bg-color);min-height:100dvh;color:var(--text-primary);flex-direction:column;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;transition:background-color .3s,color .3s;display:flex;overflow-x:hidden}.app-chrome{flex-shrink:0}.app-container.is-mobile .problem-box{font-size:var(--study-font-size,inherit)}.app-container.is-mobile .answer-input{font-size:var(--study-input-font-size,20px)}.mobile-study-shell{flex-direction:column;flex:1;min-height:0;display:flex}.input-dock{flex-shrink:0}.keyboard-mini-bar{display:none}button{color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}button:hover{background-color:var(--hover-bg)}.navbar{background-color:var(--card-bg);border-bottom:1px solid var(--border-color);z-index:100;justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex;box-shadow:0 2px 4px #00000005}.menu-groups{align-items:center;gap:10px;display:flex}.menu-group{align-items:center;height:60px;display:flex;position:relative}.menu-trigger{justify-content:center;align-items:center;width:100%;height:100%;padding:0 16px;font-weight:600;display:flex}.menu-trigger:hover{background-color:var(--hover-bg)}.dropdown-content{background-color:var(--card-bg);min-width:160px;box-shadow:var(--shadow);border:1px solid var(--border-color);z-index:200;border-radius:0 0 8px 8px;flex-direction:column;padding:8px;display:none;position:absolute;top:60px;left:0}.dropdown-content button{text-align:left;width:100%;padding:10px 12px}.dropdown-content hr{border:0;border-top:1px solid var(--border-color);margin:6px 0}.nav-actions{align-items:center;gap:8px;display:flex}.theme-toggle{background-color:var(--hover-bg);border-radius:18px;justify-content:center;align-items:center;height:36px;padding:0 16px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.theme-toggle:hover{background-color:var(--border-color);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.mode-bar{background-color:var(--bg-color);flex-direction:column;align-items:center;gap:10px;padding:16px 12px 14px;display:flex}.mode-bar-tour{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:12px;display:flex}.mode-bar-options{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.mode-group{flex-direction:column;align-items:center;gap:6px;display:flex}.mode-main-btn{height:44px;color:var(--text-secondary);background-color:#0000;border-radius:22px;padding:10px 20px;font-weight:500;transition:all .2s}.mode-main-btn.active{background-color:var(--text-primary);color:var(--bg-color);font-weight:700;box-shadow:0 4px 10px #00000026}.mode-main-btn:hover:not(.active){background-color:var(--hover-bg);color:var(--text-primary)}.mode-sub-btn{background-color:var(--hover-bg);color:var(--text-secondary);border:1px solid #0000;border-radius:12px;padding:4px 10px;font-size:11px;transition:all .2s}.mode-sub-btn:hover{background-color:var(--card-bg);border-color:var(--border-color);color:var(--text-primary);transform:translateY(-1px);box-shadow:0 2px 5px #0000000d}.problem-container{flex:1;justify-content:center;align-items:center;padding:20px;display:flex}.problem-box{background-color:var(--card-bg);width:95%;max-width:1400px;height:40%;min-height:300px;box-shadow:var(--shadow);text-align:center;word-break:keep-all;overflow-wrap:break-word;color:var(--text-primary);border-radius:24px;justify-content:center;align-items:center;margin:0 auto;padding:60px 40px;line-height:1.6;transition:all .3s;display:flex}.input-area{width:100%;max-width:800px;margin:0 auto;padding:0 20px 40px}.answer-input{border:none;border-bottom:2px solid var(--border-color);width:100%;color:var(--text-primary);text-align:center;appearance:none;background:0 0;outline:none;padding:16px 0;font-size:20px;transition:border-color .3s}.answer-input:focus{border-color:var(--text-primary)}.answer-input::placeholder{color:var(--text-secondary);opacity:.5}.status-bar{background-color:var(--card-bg);border-top:1px solid var(--border-color);height:60px;color:var(--text-secondary);justify-content:space-between;align-items:center;padding:0 24px;font-size:14px;display:flex}.status-info{align-items:center;gap:20px;display:flex}.status-info span{align-items:center;gap:6px;display:flex}.status-info strong{color:var(--text-primary);font-size:16px;font-weight:700}.badge{background-color:var(--hover-bg);color:var(--text-primary);border-radius:6px;padding:4px 10px;font-weight:600}.status-btns{gap:8px;display:flex}.reset-btn{color:#ff6b6b}.reset-btn:hover{background-color:#ff6b6b1a}.modal-overlay--privacy{z-index:3100}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--card-bg);width:min(90vw,520px);max-width:520px;max-height:min(88vh,900px);color:var(--text-primary);-webkit-overflow-scrolling:touch;border-radius:20px;padding:30px;animation:.3s cubic-bezier(.175,.885,.32,1.275) modalPop;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-content--stats{width:min(92vw,400px);max-width:400px}.modal-content--privacy{max-width:420px}.modal-content p{color:var(--text-primary);margin-bottom:20px}@keyframes modalPop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-content h3{text-align:center;margin-bottom:30px;font-size:23px}.modal-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;display:grid}.modal-grid button{background-color:var(--hover-bg);border-radius:12px;padding:12px}.modal-grid button:hover{background-color:var(--text-primary);color:var(--bg-color)}.full-width-btn{background-color:var(--hover-bg);border:1px solid var(--border-color);border-radius:12px;width:100%;margin-bottom:15px;padding:14px;font-weight:600;transition:all .2s}.full-width-btn:hover{background-color:var(--text-primary);color:var(--bg-color);border-color:var(--text-primary)}.font-selector{border:1px solid var(--border-color);background-color:var(--bg-color);width:100%;height:50px;color:var(--text-primary);border-radius:12px;outline:none;margin-bottom:20px;padding:10px;font-size:15px}.font-selector option{border-radius:4px;padding:8px}.font-selector option:checked{background-color:var(--text-primary);color:var(--bg-color)}.font-modal-note{text-align:center;color:var(--text-secondary);margin:-12px 0 16px;font-size:13px;line-height:1.5}.notice-overlay{z-index:1100}.notice-modal h3{margin-bottom:20px;font-size:26px}.notice-body{text-align:center;word-break:keep-all;margin-bottom:28px;font-size:19px;font-weight:500;line-height:1.75}.notice-actions{flex-direction:column;gap:10px;display:flex}.font-controls{justify-content:space-between;align-items:center;margin-bottom:24px;padding:0 4px;display:flex}input[type=range]{accent-color:var(--text-primary);vertical-align:middle;cursor:pointer;margin-left:10px}input[type=checkbox]{accent-color:var(--text-primary);vertical-align:middle;cursor:pointer;width:16px;height:16px;margin-right:6px}.modal-footer{gap:10px;margin-top:20px;display:flex}.modal-close-btn{background-color:var(--hover-bg);width:100%;color:var(--text-primary);border:1px solid var(--border-color);border-radius:12px;padding:14px;font-weight:600;transition:all .2s}.modal-close-btn:hover{background-color:var(--text-primary);color:var(--bg-color);border-color:var(--text-primary)}.wrong-list{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;max-height:300px;margin-bottom:20px;padding:15px;overflow-y:auto}.wrong-list p{border-bottom:1px solid var(--border-color);text-align:left;margin:0;padding:10px;font-size:15px;line-height:1.5}.wrong-list p:last-child{border-bottom:none}.wrong-list::-webkit-scrollbar{width:8px}.wrong-list::-webkit-scrollbar-thumb{background-color:var(--text-secondary);opacity:.5;border-radius:4px}.problem-text-wrapper{text-align:center;word-break:keep-all;overflow-wrap:break-word;width:100%;margin:0;padding:0;display:block}@keyframes flashEffect{0%{background-color:var(--flash-color);box-shadow:0 0 0 2px var(--flash-color);border-radius:4px}to{background-color:#0000;box-shadow:0 0 #0000}}.text-success,.text-fail{vertical-align:baseline;line-height:inherit;font-weight:inherit;margin:0;padding:0;animation:.3s forwards colorFadeIn;display:inline}.text-success{color:var(--color-success);vertical-align:baseline;line-height:inherit;--flash-color:var(--flash-success);animation:.6s ease-out forwards flashEffect;display:inline}.text-fail{color:var(--color-fail);vertical-align:baseline;line-height:inherit;--flash-color:var(--flash-fail);animation:.6s ease-out forwards flashEffect;display:inline}@keyframes errorBlankFlash{0%{color:var(--color-fail);background-color:#c92a2a33;border-radius:4px;box-shadow:0 0 0 2px #c92a2a33}to{color:inherit;background-color:#0000;box-shadow:0 0 #0000}}.text-error-flash{animation:.5s ease-out errorBlankFlash;display:inline}@keyframes activeBlankBlink{0%,to{opacity:1}50%{opacity:.3}}.active-blank{color:var(--text-primary);font-weight:700;animation:1.2s ease-in-out infinite activeBlankBlink;display:inline-block}.topic-display{color:var(--text-secondary);background-color:var(--hover-bg);word-break:keep-all;text-align:center;border-radius:8px;width:90%;margin-bottom:20px;padding:10px;font-family:MaruBuriBold;font-size:.7em;line-height:1.5}[data-theme=dark] .topic-display{color:var(--text-secondary);background-color:#ffffff0d}@media (max-width:768px){.hide-mobile{display:none!important}.app-container.is-mobile{height:100dvh;max-height:100dvh;overflow:hidden}.app-container.is-mobile.keyboard-open{top:var(--vv-offset-top,0px);width:100%;height:var(--vv-height,100dvh);max-height:var(--vv-height,100dvh);z-index:200;position:fixed;left:0;right:0}.app-container.is-mobile.typing-mode .app-chrome,.app-container.is-mobile.typing-mode .status-bar{display:none}.app-container.is-mobile.typing-mode .mobile-study-shell{flex:1;min-height:0;overflow:hidden}.app-container.is-mobile.typing-mode .problem-container{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;justify-content:flex-start;align-items:flex-start;min-height:0;padding:8px 12px;overflow-y:auto}.app-container.is-mobile.typing-mode .problem-box{width:100%;min-height:unset;height:auto;box-shadow:none;background-color:#0000;border-radius:12px;justify-content:flex-start;padding:12px 8px}.app-container.is-mobile.typing-mode .topic-display{margin-bottom:8px;padding:6px 8px;font-size:.6em}.keyboard-mini-bar{background-color:var(--card-bg);border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.keyboard-mini-stat{color:var(--text-secondary);white-space:nowrap}.keyboard-mini-stat strong{color:var(--text-primary)}.keyboard-mini-actions{gap:4px;margin-left:auto;display:flex}.keyboard-mini-actions button{background-color:var(--hover-bg);white-space:nowrap;border-radius:8px;padding:6px 10px;font-size:12px}.app-container.is-mobile.typing-mode .input-dock{background-color:var(--card-bg);border-top:1px solid var(--border-color);padding-bottom:env(safe-area-inset-bottom,0px);flex-shrink:0}.app-container.is-mobile.typing-mode .input-area{padding:8px 12px 10px}.navbar{height:auto;min-height:52px;padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top));flex-wrap:wrap;gap:8px}.menu-groups{flex-wrap:wrap;flex:1;gap:4px;min-width:0}.menu-group{height:auto}.menu-trigger{white-space:nowrap;height:40px;padding:8px 12px;font-size:13px}.dropdown-content{z-index:300;min-width:140px;max-width:calc(100vw - 24px);top:calc(100% + 2px);left:0}.nav-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.theme-toggle{white-space:nowrap;height:32px;padding:0 10px;font-size:11px}.mode-bar{gap:8px;padding:10px 8px 8px}.mode-bar-options{gap:8px}.mode-group{flex:0 auto}.mode-main-btn{white-space:nowrap;border-radius:19px;height:38px;padding:8px 12px;font-size:12px}.mode-sub-btn{padding:3px 8px;font-size:10px}.problem-container{-webkit-overflow-scrolling:touch;flex:1;align-items:stretch;min-height:0;padding:10px 12px;overflow-y:auto}.problem-box{border-radius:16px;width:100%;max-width:none;height:auto;min-height:180px;padding:20px 16px}.topic-display{width:100%;margin-bottom:12px;padding:8px;font-size:.65em}.input-area{max-width:none;padding:0 12px 12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.answer-input{padding:12px 0}.status-bar{height:auto;padding:10px 12px;padding-bottom:max(10px,env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:10px;font-size:13px}.status-info{flex-wrap:wrap;justify-content:center;gap:8px 14px;width:100%}.status-info strong{font-size:14px}.status-btns{flex-wrap:wrap;justify-content:center;gap:6px;width:100%}.status-btns button{flex:auto;min-width:80px;padding:10px 12px}.modal-overlay{padding:max(12px,env(safe-area-inset-top))max(12px,env(safe-area-inset-right))max(12px,env(safe-area-inset-bottom))max(12px,env(safe-area-inset-left));justify-content:center;align-items:center}.modal-content{width:min(100vw - 24px,420px);max-width:calc(100vw - 24px);max-height:min(86dvh,100dvh - 24px);padding:20px 18px;padding-bottom:max(20px,env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;border-radius:16px;overflow-y:auto}.modal-content--stats{width:min(100vw - 32px,380px);max-width:380px}.auth-overlay{padding:max(10px,env(safe-area-inset-top))12px max(10px,env(safe-area-inset-bottom));align-items:center}.auth-modal,.account-modal,.admin-modal{-webkit-overflow-scrolling:touch;border-radius:16px;width:min(100vw - 24px,400px);max-width:calc(100vw - 24px);max-height:min(90dvh,100dvh - 20px);overflow-y:auto}.auth-form{gap:8px}.auth-modal-sub,.auth-modal-title{margin-bottom:10px}.modal-grid{grid-template-columns:repeat(2,1fr);gap:8px}.font-controls{flex-direction:column;align-items:stretch;gap:12px}.font-controls input[type=range]{width:100%;margin-top:8px;margin-left:0}.font-selector{height:160px}button{touch-action:manipulation}}@media (max-width:400px){.menu-trigger{padding:8px 10px;font-size:12px}.theme-toggle{height:30px;padding:0 8px;font-size:10px}.mode-main-btn{height:34px;padding:7px 10px;font-size:11px}.status-info,.badge{font-size:12px}}.answer-input.input-error{border-bottom-color:var(--color-fail);animation:.35s input-shake}@keyframes input-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.empty-queue-cta{width:min(100%,42rem);margin:0 auto;padding:0 12px}.empty-queue-title{color:var(--text-primary);margin-bottom:14px;font-size:1.1em;font-weight:600}.empty-queue-desc{color:var(--text-secondary);text-wrap:pretty;margin:0;font-size:.95em;line-height:1.75}.merge-blank-toggle{border:1px solid var(--border-color);background-color:var(--card-bg);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:22px;align-items:center;gap:10px;height:44px;padding:0 16px 0 10px;transition:border-color .2s,background-color .2s,box-shadow .2s;display:inline-flex}.merge-blank-toggle:hover{border-color:var(--text-secondary);background-color:var(--hover-bg)}.merge-blank-toggle.on{border-color:var(--text-primary);background-color:var(--hover-bg);box-shadow:0 2px 8px #00000014}.merge-blank-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.merge-blank-switch{background-color:var(--border-color);border-radius:11px;flex-shrink:0;width:38px;height:22px;transition:background-color .2s;position:relative}.merge-blank-switch:after{content:"";background-color:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000002e}.merge-blank-toggle.on .merge-blank-switch{background-color:var(--text-primary)}.merge-blank-toggle.on .merge-blank-switch:after{transform:translate(16px)}.merge-blank-text{color:var(--text-secondary);white-space:nowrap;font-size:13px;font-weight:500;transition:color .2s}.merge-blank-toggle.on .merge-blank-text{color:var(--text-primary);font-weight:600}.mode-help-btn{flex-shrink:0;height:44px}@media (max-width:767px){.merge-blank-toggle{gap:8px;height:38px;padding:0 12px 0 8px}.merge-blank-switch{border-radius:10px;width:34px;height:20px}.merge-blank-switch:after{width:14px;height:14px;top:3px;left:3px}.merge-blank-toggle.on .merge-blank-switch:after{transform:translate(14px)}.merge-blank-text{font-size:12px}.mode-help-btn{height:38px}}.verse-list-empty{text-align:center;color:var(--text-secondary);padding:24px 0}.stats-tabs{gap:8px;margin:16px 0 12px;display:flex}.stats-tab-btn{border:1px solid var(--border-color);background:var(--hover-bg);color:var(--text-secondary);cursor:pointer;border-radius:8px;flex:1;padding:8px 12px;font-size:13px;transition:all .2s}.stats-tab-btn.active{background:var(--text-primary);color:var(--card-bg);border-color:var(--text-primary)}.stats-summary{text-align:center;flex-direction:column;gap:12px;margin-bottom:24px;font-size:16px;display:flex}.stats-row{border-bottom:1px solid var(--border-color);justify-content:space-between;padding-bottom:8px;display:flex}.stats-row.stats-correct{color:var(--color-success)}.stats-row.stats-wrong{color:var(--color-fail)}.stats-rate{background-color:var(--hover-bg);border-radius:8px;margin-top:12px;padding:12px;font-weight:700}.verse-wrong-stats{text-align:left;max-height:45vh;margin-bottom:20px;overflow-y:auto}.verse-wrong-day h4{color:var(--text-primary);margin:16px 0 8px;font-size:14px}.verse-wrong-day ul{margin:0;padding:0;list-style:none}.verse-wrong-day li{border-bottom:1px solid var(--border-color);align-items:center;gap:10px;padding:8px 0;font-size:14px;display:flex}.verse-wrong-count{min-width:36px;color:var(--color-fail);flex-shrink:0;font-weight:600}.verse-wrong-ref{color:var(--text-secondary)}.phrase-blank{letter-spacing:.05em}.app-loading{background:var(--bg-color);min-height:100dvh;color:var(--text-secondary);justify-content:center;align-items:center;font-size:15px;display:flex}.auth-overlay{z-index:3000}.auth-modal{-webkit-overflow-scrolling:touch;width:calc(100% - 32px);max-width:400px;max-height:min(90vh,720px);overflow-y:auto}.auth-modal-title{text-align:center;margin-bottom:6px}.auth-modal-sub{text-align:center;color:var(--text-secondary);margin-bottom:16px;font-size:14px;line-height:1.5}.auth-config-warning{color:var(--color-fail);background:color-mix(in srgb,var(--color-fail)12%,transparent);text-align:center;border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:13px;line-height:1.5}.auth-tabs{gap:8px;margin-bottom:16px;display:flex}.auth-tab{background:var(--hover-bg);color:var(--text-secondary);border-radius:12px;flex:1;padding:10px 0;font-weight:500;transition:all .2s}.auth-tab.active{background:var(--text-primary);color:var(--bg-color);font-weight:700}.auth-tab:disabled{opacity:.45;cursor:not-allowed}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-field{text-align:left;color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;display:flex}.auth-field input{border:1px solid var(--border-color);background:var(--card-bg);width:100%;color:var(--text-primary);border-radius:10px;padding:10px 12px;font-size:15px}.auth-field input:focus{border-color:var(--text-primary);outline:none}.auth-error{color:var(--color-fail);text-align:center;margin:0;font-size:13px;line-height:1.4}.auth-submit{margin-top:4px;margin-bottom:0}.auth-verify-panel{text-align:center}.auth-verify-desc{color:var(--text-secondary);margin:0 0 10px;font-size:14px;line-height:1.6}.auth-verify-spam-notice{text-align:left;color:var(--text-primary);background:color-mix(in srgb,var(--text-primary)6%,var(--hover-bg));border:1px dashed var(--border-color);border-radius:10px;margin:0 0 14px;padding:10px 12px;font-size:12px;line-height:1.55}.auth-verify-hint-spam{color:var(--text-primary);margin-top:6px;display:block}.auth-verify-hint{color:var(--text-secondary);margin:-4px 0 0;font-size:12px;line-height:1.5}.auth-verify-message{color:var(--color-success,#2e7d32);text-align:center;margin:0 0 12px;font-size:13px;line-height:1.5}.auth-verify-resend{color:var(--text-primary);border:1px solid var(--border-color);background:0 0;margin-top:10px;margin-bottom:0}.auth-verify-resend:hover:not(:disabled){background:var(--hover-bg)}.auth-verify-banner{border:1px solid color-mix(in srgb,var(--color-fail)35%,var(--border-color));background:color-mix(in srgb,var(--color-fail)6%,var(--hover-bg));text-align:left;border-radius:10px;margin-top:14px;padding:12px}.auth-verify-banner-title{color:var(--color-fail);margin:0 0 6px;font-size:13px;font-weight:700}.auth-verify-banner-desc{color:var(--text-secondary);margin:0 0 10px;font-size:12px;line-height:1.55}.auth-verify-actions{gap:8px;display:flex}.info-account-section{text-align:left;margin:0 0 16px}.account-modal h3{margin-bottom:16px}.account-modal .info-account-card{margin:0}.account-modal .info-account-card--guest{background:0 0;border:none;padding:0}.info-account-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;padding:16px}.info-account-profile{align-items:center;gap:14px;display:flex}.info-account-avatar{background:var(--text-primary);width:48px;height:48px;color:var(--bg-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;font-weight:700;display:flex}.info-account-avatar--photo{object-fit:cover;background:var(--hover-bg);border:1px solid var(--border-color)}.info-account-avatar--empty{background:var(--hover-bg);border:1px solid var(--border-color)}.info-account-identity{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.info-account-name{word-break:break-word;font-size:17px;font-weight:700;line-height:1.3}.info-account-sex{margin-left:.2em;font-size:.88em;font-weight:600}.info-account-email{color:var(--text-secondary);word-break:break-all;font-size:13px;line-height:1.35}.info-account-meta{background:var(--hover-bg);border-radius:10px;align-items:center;gap:10px;margin-top:14px;padding:10px 12px;display:flex}.info-account-meta-label{letter-spacing:.04em;color:var(--text-secondary);background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:600}.info-account-meta-value{word-break:break-word;flex:1;min-width:0;font-size:14px;font-weight:500;line-height:1.4}.info-sync-section{border:1px solid var(--border-color);background:var(--hover-bg);text-align:left;border-radius:10px;margin-top:14px;padding:12px}.info-sync-label{color:var(--text-primary);margin:0 0 6px;font-size:12px;font-weight:700}.info-sync-desc{color:var(--text-secondary);margin:0 0 8px;font-size:12px;line-height:1.5}.info-sync-meta{color:var(--text-secondary);margin:0 0 10px;font-size:12px}.info-sync-feedback{margin:0 0 10px;font-size:12px;line-height:1.45}.info-sync-feedback--ok{color:var(--color-success,#2e7d32)}.info-sync-feedback--error{color:var(--color-fail)}.info-sync-actions{gap:8px;display:flex}.info-sync-btn{border:1px solid var(--border-color);border-radius:10px;flex:1;margin:0;padding:10px 0;font-size:14px;font-weight:600;transition:all .2s}.info-sync-btn--save{background:var(--text-primary);color:var(--bg-color);border-color:var(--text-primary)}.info-sync-btn--save:hover:not(:disabled){background:var(--hover-bg);color:var(--text-primary);border-color:var(--border-color)}.info-sync-btn--load{color:var(--text-primary);background:0 0}.info-sync-btn--load:hover:not(:disabled){background:var(--text-primary);color:var(--bg-color);border-color:var(--text-primary)}.info-sync-btn:disabled{opacity:.55;cursor:not-allowed}.info-account-btns{align-items:stretch;gap:8px;margin-top:14px;display:flex}.info-account-card--guest .info-account-label{text-align:left;margin-bottom:6px}.info-account-card--guest .info-account-guest-desc{margin-bottom:12px}.info-account-card--guest .info-account-actions{background:0 0;border:none;margin-top:0;padding:0}.info-account-label{color:var(--text-secondary);text-align:center;margin:0 0 10px;font-size:12px}.info-account-guest-desc{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.info-account-note{color:var(--text-secondary);margin:16px 0 0;font-size:13px;line-height:1.5}.info-account-actions{gap:8px;display:flex}.info-auth-btn{background:var(--text-primary);color:var(--bg-color);border:1px solid var(--text-primary);border-radius:10px;flex:1;padding:10px 0;font-size:14px;font-weight:600;transition:all .2s}.info-auth-btn:hover:not(:disabled){background:var(--hover-bg);color:var(--text-primary);border-color:var(--border-color)}.info-auth-btn:disabled{opacity:.45;cursor:not-allowed}.info-auth-btn--signup{color:var(--text-primary);border:1px solid var(--border-color);background:0 0}.info-auth-btn--signup:hover:not(:disabled){background:var(--text-primary);color:var(--bg-color);border-color:var(--text-primary)}.auth-close-btn{color:var(--text-secondary);border:1px solid var(--border-color);background:0 0;margin-top:14px;margin-bottom:0}.auth-close-btn:hover:not(:disabled){background:var(--hover-bg)}.info-logout-btn{min-height:42px;color:var(--text-secondary);border:1px solid var(--border-color);box-sizing:border-box;background:0 0;border-radius:10px;flex:1;justify-content:center;align-items:center;margin:0;padding:10px 8px;font-size:14px;font-weight:600;line-height:1.2;transition:background .2s;display:inline-flex}.info-logout-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.info-withdraw-btn{min-height:42px;color:var(--color-fail);border:1px solid color-mix(in srgb,var(--color-fail)40%,transparent);box-sizing:border-box;background:0 0;border-radius:10px;flex:1;justify-content:center;align-items:center;margin:0;padding:10px 8px;font-size:14px;font-weight:600;line-height:1.2;transition:background .2s;display:inline-flex}.info-withdraw-btn:hover:not(:disabled){background:color-mix(in srgb,var(--color-fail)10%,transparent)}.withdraw-submit-btn{background:var(--color-fail);color:#fff;margin-bottom:0}.withdraw-submit-btn:hover:not(:disabled){opacity:.92}.withdraw-desc{text-align:center;color:var(--text-secondary);margin:0 0 16px;font-size:14px;line-height:1.6}.withdraw-actions{align-items:stretch;gap:8px;margin-top:4px;display:flex}.withdraw-actions .full-width-btn{box-sizing:border-box;flex:1;justify-content:center;align-items:center;height:44px;min-height:44px;margin:0;padding:0 12px;font-size:14px;line-height:1.2;display:inline-flex}.withdraw-actions .auth-close-btn{margin-top:0}.withdraw-submit-btn{border:1px solid var(--color-fail)}.privacy-body{text-align:left;color:var(--text-secondary);margin:0 0 16px;font-size:13px;line-height:1.65}.privacy-body h4{color:var(--text-primary);margin:14px 0 6px;font-size:14px}.privacy-body h4:first-child{margin-top:0}.privacy-body ul{margin:0;padding-left:18px}.privacy-body li{margin-bottom:4px}.privacy-note{background:var(--hover-bg);border-radius:10px;margin-top:12px;padding:10px 12px;font-size:12px;line-height:1.55}.admin-overlay{z-index:1200}.admin-modal{width:min(96vw,920px);max-width:min(96vw,920px)}.admin-modal-desc{color:var(--text-secondary);text-align:left;margin:0 0 12px;font-size:13px;line-height:1.55}.admin-cache-meta{color:var(--text-secondary);text-align:left;margin:0 0 12px;font-size:12px}.admin-count{color:var(--text-secondary);text-align:left;margin:0;font-size:13px}.admin-list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 0 8px;display:flex}.admin-sort-bar{flex-wrap:wrap;gap:6px;display:flex}.admin-sort-btn{border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.admin-sort-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.admin-sort-btn.is-active{background:var(--hover-bg);border-color:var(--text-secondary);color:var(--text-primary)}.admin-loading,.admin-error{text-align:center;margin:12px 0;font-size:14px}.admin-error{color:var(--color-fail)}.admin-table-wrap{border:1px solid var(--border-color);border-radius:10px;max-height:50vh;margin-bottom:14px;overflow:auto}.admin-table{border-collapse:collapse;width:100%;font-size:12px}.admin-table th,.admin-table td{border-bottom:1px solid var(--border-color);text-align:left;white-space:nowrap;padding:8px 10px}.admin-table th{background:var(--hover-bg);font-weight:600;position:sticky;top:0}.admin-table tbody tr:last-child td{border-bottom:none}.admin-email{text-overflow:ellipsis;max-width:160px;overflow:hidden}.admin-empty{text-align:center;color:var(--text-secondary);padding:20px!important}.admin-actions{gap:8px;display:flex}.admin-detail-overlay{z-index:1200}.admin-detail-modal{max-height:min(88vh,720px);overflow-y:auto}.admin-member-list{border:1px solid var(--border-color);border-radius:12px;margin:0 0 12px;padding:0;list-style:none;overflow:hidden}.admin-member-row{border:none;border-bottom:1px solid var(--border-color);background:var(--card-bg);width:100%;color:inherit;text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;transition:background .15s;display:flex}.admin-member-list li:last-child .admin-member-row{border-bottom:none}.admin-member-row:hover{background:var(--hover-bg)}.admin-member-row-avatar{flex-shrink:0;width:36px;height:36px}.admin-member-row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.admin-member-row-name{word-break:break-word;font-size:15px;font-weight:600;line-height:1.35}.admin-member-row-church{color:var(--text-secondary);word-break:break-word;font-size:13px;line-height:1.35}.admin-member-row-chevron{color:var(--text-secondary);flex-shrink:0;font-size:18px;line-height:1}.admin-close-btn{margin-top:0!important}.admin-profile-panel{text-align:left}.admin-profile-header{background:var(--hover-bg);border:1px solid var(--border-color);border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:14px;padding:12px 14px;display:flex}.admin-profile-avatar{width:52px;height:52px}.admin-profile-heading{flex-direction:column;gap:2px;min-width:0;padding-top:2px;display:flex}.admin-profile-name{word-break:break-word;margin:0;font-size:17px;font-weight:700;line-height:1.25}.admin-profile-sub{color:var(--text-secondary);word-break:break-word;margin:0;font-size:13px;line-height:1.35}.admin-profile-fields{border:1px solid var(--border-color);border-radius:12px;margin:0;overflow:hidden}.admin-profile-row{border-bottom:1px solid var(--border-color);grid-template-columns:minmax(108px,38%) 1fr;gap:10px;padding:10px 12px;font-size:13px;line-height:1.45;display:grid}.admin-profile-row:last-child{border-bottom:none}.admin-profile-row dt{color:var(--text-secondary);margin:0;font-weight:600}.admin-profile-row dd{word-break:break-word;margin:0}.admin-profile-link{color:var(--text-primary);word-break:break-all;text-decoration:underline}.info-about-body{text-align:center;margin-bottom:20px;line-height:1.65}.info-about-title{color:var(--text-primary);margin:0 0 4px;font-size:1.05em;font-weight:700}.info-about-school{color:var(--text-secondary);margin:0 0 20px;font-size:.9em}.info-about-verse{color:var(--text-primary);margin:0;font-family:MaruBuriBold,serif;font-size:17px}.info-about-ref{color:var(--text-secondary);margin:6px 0 0;font-family:MaruBuriSemiBold,serif;font-size:15px}.info-version-picker{text-align:left;margin:0 0 16px}.info-version-label{color:var(--text-secondary);margin:0 0 8px;font-size:13px;font-weight:600}.info-version-list{border:1px solid var(--border-color);background:var(--card-bg);border-radius:12px;overflow:hidden}.info-version-trigger{border-bottom:none}.info-version-list.is-open .info-version-trigger{border-bottom:1px solid var(--border-color)}.info-version-row-trailing{flex-shrink:0;align-items:center;gap:8px;display:flex}.info-version-chevron{color:var(--text-secondary);flex-shrink:0;font-size:11px;transition:transform .35s}.info-version-list.is-open .info-version-chevron{transform:rotate(180deg)}.info-version-list-wrap{pointer-events:none;grid-template-rows:0fr;transition:grid-template-rows .35s;display:grid}.info-version-list-wrap.is-open{pointer-events:auto;grid-template-rows:1fr}.info-version-list-inner{min-height:0;overflow:hidden}.info-version-list-inner ul{margin:0;padding:0;list-style:none}.info-version-list-inner li:last-child .info-version-row{border-bottom:none}.info-version-row{border:none;border-bottom:1px solid var(--border-color);background:var(--card-bg);width:100%;color:inherit;text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-size:14px;font-weight:600;transition:background .15s;display:flex}.info-version-row:hover,.info-version-row.is-active{background:var(--hover-bg)}.info-version-row-label{flex:1;min-width:0}.info-version-row-check{color:var(--text-primary);flex-shrink:0;font-size:15px}.info-notice-link{text-align:center;text-decoration:none}.info-link-btn{width:100%;color:var(--text-secondary);border:1px dashed var(--border-color);cursor:pointer;background:0 0;border-radius:10px;margin-top:8px;padding:10px;font-size:13px;font-weight:500;transition:all .2s;display:block}.info-link-btn:hover{color:var(--text-primary);border-color:var(--text-secondary);background:var(--hover-bg)}.auth-modal--signup .auth-form{gap:10px}.auth-modal--signup .auth-field span{font-size:12px}.auth-modal--signup .auth-field input{padding:9px 12px}.auth-modal--signup .auth-verify-hint{margin:0;font-size:11px;line-height:1.45}.auth-privacy-consent{color:var(--text-secondary);text-align:left;cursor:pointer;align-items:flex-start;gap:8px;margin:0;font-size:12px;line-height:1.5;display:flex}.auth-privacy-consent input[type=checkbox]{width:16px;height:16px;accent-color:var(--text-primary);cursor:pointer;flex-shrink:0;margin-top:2px}.auth-privacy-consent span{flex:1;min-width:0}.auth-privacy-link{color:var(--text-primary);font-size:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-weight:600;text-decoration:underline;display:inline}.auth-privacy-link:hover{opacity:.85}.info-admin-btn{color:var(--text-primary);border-style:solid;margin-bottom:10px;font-weight:600}.contact-modal-desc{text-align:center;color:var(--text-secondary);margin-bottom:16px;font-size:14px;line-height:1.6}.contact-recipient{color:var(--text-secondary);margin:0 0 4px;font-size:14px;line-height:1.5}.contact-recipient strong{color:var(--text-primary);font-weight:600}.contact-textarea{width:100%;min-height:120px;font:inherit;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);resize:vertical;border-radius:10px;padding:10px 12px;font-size:15px}.contact-textarea:focus{border-color:var(--text-secondary);outline:none}.contact-success{text-align:center;color:var(--color-success,#2e7d32);margin:0;font-size:14px}.tutorial-root{z-index:2500;pointer-events:none;position:fixed;inset:0}.tutorial-mask-svg{z-index:2499;pointer-events:none;position:fixed;inset:0}.tutorial-mask-fill{fill:#00000061}.tutorial-backdrop{z-index:2499;pointer-events:none;background:#00000061;position:fixed;inset:0}.tutorial-spotlight-ring{z-index:2500;pointer-events:none;background:0 0;position:fixed;box-shadow:0 0 0 2px #ffffffeb}.tutorial-click-layer{z-index:2501;pointer-events:auto;cursor:pointer;background:0 0;position:fixed;inset:0}.tutorial-card{z-index:2502;pointer-events:auto;background:var(--card-bg);color:var(--text-primary);cursor:default;-webkit-overflow-scrolling:touch;border-radius:20px;max-height:calc(100vh - 32px);padding:24px;animation:.35s cubic-bezier(.34,1.4,.64,1) tutorialCardIn;position:fixed;overflow-y:auto;box-shadow:0 20px 60px #00000059}.tutorial-card--center{text-align:center;width:min(440px,100vw - 32px);top:50%;left:50%;transform:translate(-50%,-50%)}.tutorial-card--modes{max-height:min(520px,100vh - 48px)}@keyframes tutorialCardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.tutorial-card--center{animation-name:tutorialCardInCenter}@keyframes tutorialCardInCenter{0%{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}.tutorial-progress{align-items:center;gap:12px;margin-bottom:18px;display:flex}.tutorial-progress-bar{background:var(--hover-bg);border-radius:2px;flex:1;height:4px;overflow:hidden}.tutorial-progress-fill{background:var(--text-primary);border-radius:2px;height:100%;transition:width .35s}.tutorial-progress-text{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:600}.tutorial-title{letter-spacing:-.02em;margin:0 0 14px;font-size:22px;font-weight:700;line-height:1.35}.tutorial-card--center .tutorial-title{margin-bottom:16px;font-size:26px}.tutorial-desc{color:var(--text-primary);word-break:keep-all;margin:0 0 16px;font-size:15px;line-height:1.75}.tutorial-desc strong{color:var(--text-primary);font-weight:700}.tutorial-hint{color:var(--text-secondary);text-align:center;border-top:1px solid var(--border-color);margin:0;padding-top:8px;font-size:12px}.tutorial-modes{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.tutorial-mode-item{background:var(--hover-bg);text-align:left;border-radius:12px;padding:12px 14px}.tutorial-mode-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.tutorial-mode-name{color:var(--text-primary);font-size:14px;font-weight:700}.tutorial-mode-badge{background:var(--text-primary);color:var(--bg-color);border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600}.tutorial-mode-desc{color:var(--text-secondary);word-break:keep-all;margin:0;font-size:13px;line-height:1.6}.tutorial-skip-btn{top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:2503;color:#fff;cursor:pointer;pointer-events:auto;background:#1e1e1ed1;border:1px solid #fff3;border-radius:20px;padding:10px 18px;font-size:13px;font-weight:600;transition:background .2s;position:fixed}.tutorial-skip-btn:hover{background:#1e1e1ef2}.tutorial-replay-btn{width:100%;color:var(--text-secondary);border:1px dashed var(--border-color);cursor:pointer;background:0 0;border-radius:10px;margin-top:8px;padding:10px;font-size:13px;font-weight:500;transition:all .2s;display:block}.tutorial-replay-btn:hover{color:var(--text-primary);border-color:var(--text-secondary);background:var(--hover-bg)}@media (max-width:768px){.tutorial-card{border-radius:16px;padding:20px}.tutorial-title{font-size:20px}.tutorial-card--center .tutorial-title{font-size:22px}.tutorial-desc{font-size:14px}.tutorial-card--modes{max-height:min(460px,100vh - 80px)}.tutorial-mode-desc{font-size:12px}}
