@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{height:100dvh;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:hidden}.app-chrome{flex-shrink:0}.app-viewport{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.app-viewport-track{flex:1;width:200%;min-height:0;transition:transform .38s cubic-bezier(.4,0,.2,1);display:flex;transform:translate(0)}.app-viewport-track.is-exam{transform:translate(-50%)}.app-panel{flex-direction:column;align-self:stretch;width:50%;min-height:0;display:flex}.study-viewport{background-color:var(--bg-color);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.app-mode-tab{z-index:20;border:1px solid var(--border-color);background-color:color-mix(in srgb,var(--card-bg)88%,var(--bg-color));width:34px;min-height:148px;color:var(--text-secondary);letter-spacing:.04em;writing-mode:vertical-rl;text-orientation:mixed;box-shadow:var(--shadow);justify-content:center;align-items:center;padding:14px 8px;font-size:12px;font-weight:700;line-height:1.2;transition:background-color .2s,color .2s,border-color .2s,transform .2s;display:flex;position:absolute;top:50%}.app-mode-tab:hover{background-color:var(--hover-bg);color:var(--text-primary);border-color:color-mix(in srgb,var(--text-primary)18%,var(--border-color))}.app-mode-tab--exam{border-right:none;border-radius:12px 0 0 12px;right:0;transform:translateY(-50%)}.app-mode-tab--exam:hover{transform:translateY(-50%)translate(-2px)}.app-mode-tab--back{border-left:none;border-radius:0 12px 12px 0;left:0;transform:translateY(-50%)}.app-mode-tab--back:hover{transform:translateY(-50%)translate(2px)}.exam-mode-screen{background-color:var(--bg-color);flex:1;justify-content:flex-start;align-items:stretch;min-height:0;padding:24px 48px 32px 40px;display:flex;position:relative;overflow:auto}.exam-mode-screen--centered{justify-content:center;align-items:center}.exam-mode-content{width:min(860px,100%);margin:0 auto;padding:8px 0;font-size:17px}.exam-mode-screen--centered .exam-mode-content{flex:0 auto;max-height:100%}.exam-setup-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4px;display:flex}.exam-setup-header-copy .exam-mode-eyebrow{margin-bottom:6px}.exam-setup-header-copy .exam-mode-title{margin-bottom:0}.exam-help-btn{border:1px solid var(--border-color);background-color:var(--bg-color);width:36px;height:36px;color:var(--text-secondary);text-align:center;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:17px;font-weight:800;line-height:1;display:inline-flex}.exam-help-btn:hover{background-color:var(--hover-bg);color:var(--text-primary);border-color:color-mix(in srgb,var(--text-primary)20%,var(--border-color))}.exam-setup,.exam-session,.exam-summary{border:1px solid var(--border-color);background-color:var(--card-bg);box-shadow:var(--shadow);border-radius:24px;padding:32px 28px}.exam-mode-eyebrow{color:var(--text-secondary);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:13px;font-weight:700}.exam-mode-title{word-break:keep-all;margin-bottom:12px;font-size:clamp(29px,4vw,41px);font-weight:800}.exam-mode-title--compact{font-size:clamp(23px,3.2vw,33px);line-height:1.35}.exam-mode-desc{color:var(--text-secondary);word-break:keep-all;margin-bottom:28px;line-height:1.7}.exam-setup-section{margin-bottom:24px}.exam-setup-heading{margin-bottom:12px;font-size:16px;font-weight:700}.exam-course-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.exam-course-btn{border:1px solid var(--border-color);background-color:var(--bg-color);border-radius:12px;padding:12px 10px;font-weight:700}.exam-course-btn.is-selected{background-color:var(--text-primary);color:var(--bg-color);border-color:var(--text-primary)}.exam-day-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.exam-day-option{border:1px solid var(--border-color);background-color:var(--bg-color);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-weight:600;display:flex}.exam-day-option input{width:16px;height:16px;accent-color:var(--text-primary)}.exam-day-option.is-checked{border-color:var(--text-primary);background-color:color-mix(in srgb,var(--text-primary)8%,var(--bg-color))}.exam-preview-card{border:1px solid var(--border-color);background-color:var(--bg-color);border-radius:14px;flex-direction:column;gap:10px;margin-bottom:24px;padding:16px 18px;display:flex}.exam-preview-row{justify-content:space-between;align-items:center;gap:12px;font-size:15px;display:flex}.exam-preview-row strong{font-size:19px}.exam-preview-warning{color:var(--color-fail);margin-top:4px;font-size:14px;line-height:1.5}.exam-primary-btn,.exam-secondary-btn{border-radius:12px;width:100%;padding:14px 18px;font-size:15px;font-weight:700}.exam-primary-btn{border:1px solid var(--text-primary);background-color:var(--text-primary);color:var(--bg-color)}.exam-primary-btn:hover:not(:disabled){opacity:.92}.exam-primary-btn:disabled{opacity:.45;cursor:not-allowed}.exam-secondary-btn{border:1px solid var(--border-color);background-color:var(--bg-color);color:var(--text-primary)}.exam-session-header{margin-bottom:24px}.exam-session-progress{background-color:var(--bg-color);color:var(--text-secondary);border-radius:999px;margin-bottom:10px;padding:4px 10px;font-size:13px;font-weight:700;display:inline-block}.exam-session-meta{color:var(--text-secondary);font-size:16px}.exam-session-meta strong{color:var(--text-primary)}.exam-answer-slots{flex-direction:column;gap:14px;margin-bottom:24px;display:flex}.exam-answer-slot{flex-direction:column;gap:8px;display:flex}.exam-answer-slot-label{color:var(--text-secondary);font-size:14px;font-weight:700}.exam-answer-input{border:1px solid var(--border-color);background-color:var(--bg-color);width:100%;color:var(--text-primary);font:inherit;resize:vertical;border-radius:12px;min-height:88px;padding:14px 16px;line-height:1.6}.exam-answer-input:focus{border-color:var(--text-primary);outline:none}.exam-topic-review{flex-direction:column;gap:18px;display:flex}.exam-topic-score,.exam-summary-score{background-color:var(--bg-color);border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:18px;display:flex}.exam-topic-score strong,.exam-summary-score strong{font-size:34px;font-weight:800}.exam-topic-score span,.exam-summary-score span{color:var(--text-secondary);font-size:15px;font-weight:600}.exam-slot-results{flex-direction:column;gap:10px;display:flex}.exam-slot-result{border:1px solid var(--border-color);background-color:var(--bg-color);border-radius:12px;padding:14px 16px}.exam-slot-result.is-correct{border-color:color-mix(in srgb,var(--color-success)40%,var(--border-color))}.exam-slot-result.is-wrong{border-color:color-mix(in srgb,var(--color-fail)40%,var(--border-color))}.exam-slot-result-head{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px;font-weight:700;display:flex}.exam-slot-result.is-correct .exam-slot-result-head span:last-child{color:var(--color-success)}.exam-slot-result.is-wrong .exam-slot-result-head span:last-child{color:var(--color-fail)}.exam-slot-result-input{word-break:break-word;line-height:1.6}.exam-slot-result-input.is-empty{color:var(--text-secondary)}.exam-slot-result-error{color:var(--color-fail);word-break:keep-all;margin-top:8px;font-size:14px;line-height:1.6}.exam-slot-result-error strong{font-weight:800}.exam-slot-result-expected{color:var(--color-success);word-break:break-word;margin-top:8px;font-size:14px;line-height:1.6}.exam-missed-box,.exam-model-answers{border:1px solid var(--border-color);background-color:var(--bg-color);border-radius:12px;padding:14px 16px}.exam-missed-title,.exam-model-title{margin-bottom:10px;font-size:14px;font-weight:700}.exam-missed-box ul,.exam-model-answers ul{word-break:break-word;flex-direction:column;gap:8px;padding-left:18px;line-height:1.6;display:flex}.exam-summary-score{margin-bottom:24px}.exam-summary-list{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.exam-summary-item{border:1px solid var(--border-color);background-color:var(--bg-color);border-radius:14px;padding:16px 18px}.exam-summary-item-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.exam-summary-item-head h2{font-size:17px;font-weight:700}.exam-summary-item-head span{color:var(--text-secondary);font-size:15px;font-weight:700}.exam-summary-item-prompt{color:var(--text-secondary);word-break:keep-all;font-size:14px;line-height:1.6}.exam-summary-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.exam-tutorial-prompt-overlay{z-index:2400;padding:16px}.exam-tutorial-prompt{text-align:center;width:min(420px,100%);max-width:420px;margin:0;padding:28px 24px 24px}.exam-tutorial-prompt h3{margin:0 0 12px;font-size:22px;line-height:1.35}.exam-tutorial-prompt p{word-break:keep-all;margin:0 0 20px;line-height:1.7}.exam-tutorial-prompt-note{color:var(--text-secondary);margin-top:8px;font-size:13px;line-height:1.6;display:block}.exam-tutorial-prompt-actions{grid-template-columns:1fr 1fr;gap:10px;margin:0;display:grid}.exam-tutorial-prompt-actions .exam-primary-btn,.exam-tutorial-prompt-actions .exam-secondary-btn{margin:0}.exam-tutorial-demo{margin-bottom:14px}.exam-tutorial-demo-screen{border:1px solid var(--border-color);background-color:var(--bg-color);text-align:left;border-radius:14px;padding:16px}.exam-tutorial-demo-badge{background-color:color-mix(in srgb,var(--text-primary)8%,var(--bg-color));color:var(--text-secondary);border-radius:999px;margin-bottom:10px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.exam-tutorial-demo-prompt{word-break:keep-all;margin-bottom:8px;font-size:14px;font-weight:700;line-height:1.5}.exam-tutorial-demo-meta{color:var(--text-secondary);margin-bottom:12px;font-size:13px}.exam-tutorial-demo-slots{flex-direction:column;gap:8px;display:flex}.exam-tutorial-demo-slot{flex-direction:column;gap:6px;display:flex}.exam-tutorial-demo-slot span{color:var(--text-secondary);font-size:12px;font-weight:700}.exam-tutorial-demo-input{border:1px dashed var(--border-color);background-color:var(--card-bg);border-radius:10px;height:44px}.exam-tutorial-demo-score{background-color:var(--card-bg);border-radius:12px;flex-direction:column;align-items:center;gap:4px;margin-bottom:12px;padding:12px;display:flex}.exam-tutorial-demo-score strong{font-size:24px}.exam-tutorial-demo-score span{color:var(--text-secondary);font-size:12px;font-weight:600}.exam-tutorial-demo-result{border:1px solid var(--border-color);border-radius:10px;padding:10px 12px;font-size:12px;line-height:1.5}.exam-tutorial-demo-result+.exam-tutorial-demo-result{margin-top:8px}.exam-tutorial-demo-result.is-correct{border-color:color-mix(in srgb,var(--color-success)40%,var(--border-color))}.exam-tutorial-demo-result.is-wrong{border-color:color-mix(in srgb,var(--color-fail)40%,var(--border-color))}.exam-tutorial-demo-result-head{justify-content:space-between;margin-bottom:6px;font-weight:700;display:flex}.exam-tutorial-demo-result.is-correct .exam-tutorial-demo-result-head span:last-child{color:var(--color-success)}.exam-tutorial-demo-result.is-wrong .exam-tutorial-demo-result-head span:last-child{color:var(--color-fail)}.exam-tutorial-demo-result .is-empty{color:var(--text-secondary)}.exam-tutorial-demo-error{color:var(--color-fail);margin-top:6px;font-size:11px}.exam-tutorial-demo-answer{color:var(--color-success);margin-top:4px;font-size:11px}.exam-tutorial-demo-summary-item{border:1px solid var(--border-color);background-color:var(--card-bg);border-radius:10px;padding:10px 12px}.exam-tutorial-demo-summary-item+.exam-tutorial-demo-summary-item{margin-top:8px}.exam-tutorial-demo-summary-head{justify-content:space-between;font-size:13px;font-weight:700;display:flex}.tutorial-card--demo{width:min(480px,100vw - 32px);max-height:min(620px,100vh - 32px);top:50%;left:50%;transform:translate(-50%,-50%)}.app-container.is-exam-tab .app-panel--study .app-chrome,.app-container.is-exam-tab .app-panel--study .mobile-study-shell,.app-container.is-exam-tab .app-panel--study .status-bar,.app-container.is-exam-tab .app-mode-tab--exam{pointer-events:none}.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,.menu-group.is-open .menu-trigger{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}.menu-group.is-open .dropdown-content{display:flex}.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}.answer-input--paused,.answer-input:disabled{opacity:.45;cursor:not-allowed;border-bottom-color:var(--border-color)}.answer-input--paused:focus,.answer-input:disabled:focus{border-color:var(--border-color)}.status-bar{background-color:var(--card-bg);border-top:1px solid var(--border-color);height:60px;color:var(--text-secondary);flex-shrink:0;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}.practice-stack-wrap{text-align:center;width:100%}.practice-stack{text-align:center;max-width:100%;line-height:inherit;word-break:keep-all;overflow-wrap:break-word;cursor:text;vertical-align:top;place-items:start center;display:inline-grid;position:relative}.practice-layer{white-space:pre-wrap;word-break:keep-all;overflow-wrap:break-word;pointer-events:none;grid-area:1/1}.practice-ghost{color:var(--text-primary);opacity:.22;-webkit-user-select:none;user-select:none;visibility:visible}.practice-overlay{z-index:1;position:relative}.practice-input{z-index:2;resize:none;color:#0000;caret-color:#0000;text-align:center;white-space:pre-wrap;word-break:keep-all;overflow-wrap:break-word;width:100%;line-height:inherit;font:inherit;box-sizing:border-box;cursor:text;background:0 0;border:none;outline:none;grid-area:1/1;margin:0;padding:0;position:relative;overflow:hidden}.practice-input::selection{color:#0000;background:0 0}.practice-char-caret{position:relative}.practice-char-caret:before,.practice-end-caret:before{content:"";vertical-align:-.1em;background:var(--text-primary);width:2px;height:1em;margin-right:-2px;animation:1s step-end infinite practiceCaretBlink;display:inline-block}.practice-end-caret{display:inline}@keyframes practiceCaretBlink{0%,48%{opacity:1}49%,to{opacity:0}}.practice-complete-hint{color:var(--text-secondary);pointer-events:none;margin:14px 0 0;font-size:.72em}.practice-char{vertical-align:baseline;line-height:inherit;display:inline}.practice-char-pending{color:#0000;-webkit-user-select:none;user-select:none}.practice-char-correct{color:var(--text-primary);font-weight:inherit}.practice-char-wrong{color:var(--color-fail);font-weight:inherit}@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}.blank-hint-anchor{vertical-align:baseline;display:inline-block;position:relative}.blank-hint-popup{z-index:5;opacity:0;visibility:hidden;pointer-events:none;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-primary);white-space:nowrap;box-shadow:var(--shadow);border-radius:8px;padding:6px 10px;font-size:.72em;font-weight:700;line-height:1.35;transition:opacity .18s,transform .22s,visibility .18s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(6px)}.blank-hint-popup:after{content:"";border:6px solid #0000;border-top-color:var(--card-bg);filter:drop-shadow(0 1px 0 var(--border-color));position:absolute;top:100%;left:50%;transform:translate(-50%)}.blank-hint-popup.is-visible{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.blank-hint-target{cursor:help;touch-action:manipulation;-webkit-user-select:none;user-select:none}@media (max-width:768px){.blank-hint-target{cursor:pointer}}.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 .study-viewport{flex:1;min-height: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}.app-mode-tab{width:30px;min-height:120px;padding:12px 6px;font-size:11px}.exam-mode-screen{padding:16px 20px 16px 34px}.exam-setup,.exam-session,.exam-summary{padding:24px 18px}.exam-course-grid,.exam-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-summary-actions,.exam-tutorial-prompt-actions{grid-template-columns:1fr}.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-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-refresh-hint{text-align:center;color:var(--text-secondary);margin:14px 0 0;font-size:12px;line-height:1.5}.auth-refresh-hint-keys{color:var(--text-primary);margin-top:4px;font-weight:600;display:block}.info-account-section{text-align:left;margin:0 0 16px}.account-modal h3{margin-bottom:16px}.account-modal .info-account-card{margin: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-account-btns{align-items:stretch;gap:8px;margin-top:14px;display:flex}.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-meta{color:var(--text-secondary);font-size:12px;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-online-count{text-align:center;color:var(--text-secondary);margin:14px 0 0;font-size:14px;line-height:1.5}.info-online-count strong{color:var(--text-primary);font-weight:700}.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-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}}
