:root{--ink:#202c42;--muted:#68748a;--accent:#5449cf;--accent-hover:#4439b8;--accent-light:#eeedfc;--answer:#b13468;--line:#e3e7ef;--paper:#fff;--canvas:#f5f7fb;--nav:#18263f;--verse-size:1.625rem;font-family:Inter,Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible{outline:3px solid #968bed;outline-offset:4px}button .icon{pointer-events:none}.icon{height:1.25rem;width:1.25rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:14px;border-radius:8px}.skip-link:focus{top:12px}
.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100dvh}.sidebar{background:var(--nav);color:#e8edf9;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;padding:36px 22px 28px}.brand{display:flex;align-items:center;gap:14px;text-align:left;background:none;border:0;color:white;padding:0 8px;font-size:1.375rem;font-weight:700;letter-spacing:-.04em}.brand small{display:block;font-size:.75rem;letter-spacing:.035em;margin-top:8px;font-weight:500;color:#adbbd4}.brand-mark{display:flex;align-items:center;gap:1px;color:#bcb7ff;font-size:2.375rem;font-weight:300;letter-spacing:-.07em;line-height:1}.brand-mark .icon{width:1.3rem;height:1.3rem;margin:0 2px}.course-label{margin:44px 10px 28px;color:#c6d0e3;font-size:.875rem;font-weight:600;line-height:1.6}.course-label span{display:block;color:#99a9c3;font-size:.8125rem;font-weight:400;margin-top:5px}.navigation{display:flex;flex-direction:column;gap:9px}.nav-item{display:flex;align-items:center;width:100%;gap:12px;padding:14px 15px;border:0;border-radius:9px;background:transparent;color:#bac7dc;text-align:left;font-size:.9375rem;line-height:1.5}.nav-item:hover{background:#23324d}.nav-item.active{background:#35445f;color:white}.nav-item.active>.icon{color:#c2bbff}.nav-count{margin-left:auto;font-size:.8125rem;background:#26364f;padding:2px 8px;min-width:29px;border-radius:5px;text-align:center}.nav-item.active .nav-count{background:#4b5973}.sidebar-bottom{margin-top:auto;padding:45px 10px 0}.progress-caption{display:flex;justify-content:space-between;font-size:.875rem;color:#c8d2e5;margin-bottom:13px}.progress-caption strong{font-size:.9375rem;color:#c6beff}progress{width:100%;height:5px;border:0;border-radius:9px;appearance:none;background:#3a4760;overflow:hidden}progress::-webkit-progress-bar{background:#3a4760}progress::-webkit-progress-value{background:#b5aafa;border-radius:9px}progress::-moz-progress-bar{background:#b5aafa;border-radius:9px}.progress-description{font-size:.8125rem;color:#94a5c2;margin-top:12px}.progress-description strong{color:#d2daea;font-weight:500}.reset-button{display:flex;align-items:center;gap:10px;background:none;border:0;color:#aebbce;font-size:.875rem;padding:24px 0 0;margin-top:26px;border-top:1px solid #33425c;width:100%}.reset-button:hover{color:white}
.workspace{display:flex;flex-direction:column;min-width:0}.topbar{min-height:84px;border-bottom:1px solid var(--line);background:#ffffffa8;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 46px;font-size:.875rem}.breadcrumb{color:var(--muted);display:flex;align-items:center;gap:14px;flex-wrap:wrap}.breadcrumb span{color:#c2c9d5}.breadcrumb strong{color:#34415a;font-weight:500}.save-indicator{color:#778399;display:flex;align-items:center;gap:8px;font-size:.8125rem}.save-indicator .icon{width:1rem;height:1rem}main{padding:42px 48px 0;flex:1;outline:none}#screen{width:min(100%,1020px);margin:auto}.page-footer{width:100%;display:flex;justify-content:space-between;gap:15px;color:#8a93a5;font-size:.75rem;padding:28px 48px}.eyebrow{display:flex;align-items:center;gap:9px;color:var(--accent);font-size:.8125rem;font-weight:650;letter-spacing:.06em;margin:0 0 14px}.eyebrow::before{content:"";width:20px;height:2px;background:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font-size:1.875rem;font-weight:700;letter-spacing:-.055em;line-height:1.45;margin-bottom:9px}.subtitle{font-size:.9375rem;line-height:1.7;color:var(--muted);margin:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:11px 20px;border:1px solid transparent;border-radius:8px;font-size:.9375rem;font-weight:600;line-height:1.5;text-decoration:none;transition:background .15s,color .15s}.button.primary{background:var(--accent);color:white;box-shadow:0 3px 5px #5449cf12}.button.primary:hover{background:var(--accent-hover)}.button.secondary{border-color:var(--line);background:white;color:#56627a}.button.secondary:hover{background:#f5f6fb}.button.quiet{background:transparent;color:var(--muted);padding:9px 10px;font-size:.875rem}.button.quiet:hover{background:#eaeef6}.button.soft{background:var(--accent-light);color:var(--accent)}.button.wide{min-width:210px}
.welcome-card{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:grid;grid-template-columns:1.12fr 1fr;box-shadow:0 8px 35px #21344a04;margin-top:10px}.welcome-copy{padding:48px 38px 42px}.welcome-copy h1{font-size:2.15rem;line-height:1.5;letter-spacing:-.06em;margin:19px 0}.welcome-copy>.subtitle{max-width:300px;margin-bottom:31px}.welcome-meta{display:flex;gap:28px;margin:30px 0;color:var(--muted);font-size:.8125rem}.welcome-meta strong{display:block;font-size:1.8rem;line-height:1.5;letter-spacing:-.04em;color:var(--ink);font-weight:600}.welcome-meta span+span{border-left:1px solid var(--line);padding-left:28px}.welcome-sample{padding:35px 30px;background:#f9faff;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.sample-label{font-size:.75rem;font-weight:600;letter-spacing:.08em;color:#8a93aa;margin-bottom:25px}.sample-reference{font-size:.875rem;color:var(--accent);font-weight:600;margin-bottom:18px}.sample-text{font-size:1.35rem;line-height:2.5;word-break:keep-all;color:#546179;letter-spacing:-.02em;margin-bottom:18px}.sample-note{color:#8a93a5;font-size:.8125rem;margin:10px 0 0}.small-note{color:#8791a3;font-size:.8125rem;line-height:1.8;margin:18px 0 0}.welcome-bottom{display:flex;gap:28px;margin:24px 0 10px}.how-item{flex:1;display:flex;gap:12px;align-items:flex-start;padding:10px 0}.how-number{font-size:.75rem;color:#8b82ca;letter-spacing:.03em;padding-top:3px}.how-item strong{display:block;font-size:.875rem;font-weight:600;line-height:1.5;margin-bottom:5px}.how-item p{font-size:.8125rem;line-height:1.6;color:var(--muted);margin:0}
.session-meta{display:flex;align-items:center;gap:10px;font-size:.875rem;color:var(--muted)}.session-count{color:var(--ink);font-size:1rem;font-weight:600}.pill{font-size:.75rem;font-weight:500;background:#eaedf5;color:#66738a;border-radius:5px;padding:5px 8px;white-space:nowrap}.study-card{background:var(--paper);border:1px solid var(--line);border-radius:13px;box-shadow:0 8px 30px #21344a04;overflow:hidden}.card-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:28px 35px 0}.verse-number{display:flex;align-items:center;gap:10px;font-size:.8125rem;color:#8b95a9}.verse-number strong{border:1px solid #e4e3f7;border-radius:5px;padding:6px 9px;font-size:.8125rem;letter-spacing:.035em;color:var(--accent);background:#f8f7ff;font-weight:600}.text-size{display:flex;align-items:center;gap:4px;color:#7b869a;font-size:.75rem}.text-size>span{margin-right:7px}.text-size button{border:1px solid var(--line);background:white;border-radius:5px;width:36px;min-height:36px;font-size:.8125rem;color:#5a6680}.text-size button:hover{background:#f2f3fb}.verse-reference{font-size:1.625rem;letter-spacing:-.04em;margin:19px 35px 24px;line-height:1.5}.verse-text{padding:0 35px 32px;font-size:var(--verse-size);line-height:2.5;font-weight:450;letter-spacing:-.025em;word-break:keep-all;overflow-wrap:anywhere;min-height:180px;margin:0;color:#34415a}.blank{position:relative;display:inline;font:inherit;line-height:inherit;letter-spacing:inherit;border:0;border-radius:5px;padding:3px 4px;margin:0 1px;background:#f0f1fa;color:#a4a9c5;box-decoration-break:clone;-webkit-box-decoration-break:clone;cursor:pointer;user-select:none;transition:background .12s;white-space:normal}.blank:hover{background:#e6e6f6}.blank .answer{color:transparent;pointer-events:none}.blank .bracket{font-weight:350;color:#9da4bf;pointer-events:none}.blank.revealed{background:#faf0f5}.blank.revealed .answer{color:var(--answer);font-weight:inherit}.blank.revealed .bracket{color:#c88aa5}.blank:focus-visible{outline-offset:2px}.card-bottom{border-top:1px solid #edf0f5;background:#fdfdff;padding:17px 27px;display:flex;justify-content:space-between;align-items:center;gap:16px}.reveal-help{display:flex;align-items:center;gap:8px;color:#828da1;font-size:.8125rem;line-height:1.6}.reveal-help .icon{width:1.05rem;height:1.05rem}.reveal-counter{color:#8a95a9;white-space:nowrap}.study-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0 0}.study-actions>.button{min-width:100px}.master-button{min-width:205px}.keyboard-hint{display:flex;justify-content:center;gap:16px;margin:23px 0 0;color:#8a94a7;font-size:.75rem;line-height:1.5;flex-wrap:wrap}kbd{font:inherit;border:1px solid #dfe4ee;border-bottom-width:2px;padding:2px 5px;border-radius:4px;margin-right:5px;background:#fbfcff}
.list-panel{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.list-summary{display:flex;justify-content:space-between;align-items:center;padding:21px 25px;border-bottom:1px solid var(--line);font-size:.875rem;color:var(--muted)}.list-summary strong{color:var(--ink)}.verse-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:18px;padding:23px 25px;border-bottom:1px solid #edf0f6}.verse-row:last-child{border:0}.row-number{font-size:.8125rem;font-variant-numeric:tabular-nums;color:#9ba3b4;align-self:start;padding-top:3px}.row-main{background:none;border:0;text-align:left;padding:0;min-width:0}.row-main strong{display:block;font-size:1rem;color:#3a4660;margin-bottom:8px}.row-main p{font-size:.875rem;color:#8490a3;line-height:1.8;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.row-main:hover strong{color:var(--accent)}.restore-button{min-height:40px;font-size:.875rem!important;padding:8px 12px!important;white-space:nowrap}.empty-state{padding:65px 25px;text-align:center;background:white;border:1px solid var(--line);border-radius:12px}.empty-icon{display:flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:20px;background:var(--accent-light);color:var(--accent);margin:0 auto 25px}.empty-icon .icon{width:30px;height:30px}.empty-state h2{font-size:1.5rem;letter-spacing:-.04em;line-height:1.5;margin:0 0 12px}.empty-state p{font-size:.9375rem;color:var(--muted);line-height:1.8;margin:0 0 25px}.empty-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.review-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:.875rem;color:var(--accent);background:var(--accent-light);padding:12px 17px;margin-bottom:20px;border-radius:8px}.review-banner>span{display:flex;align-items:center;gap:8px}.review-banner button{font-size:.8125rem}
.toast{position:fixed;left:calc(50% + 125px);bottom:25px;transform:translateX(-50%);padding:14px 20px;background:#25344e;color:white;border-radius:9px;z-index:10;box-shadow:0 6px 25px #12233926;font-size:.875rem;max-width:calc(100vw - 40px);line-height:1.5;display:flex;align-items:center;gap:15px}.toast button{border:0;background:none;color:#d1c9ff;white-space:nowrap;font-size:inherit;text-decoration:underline;text-underline-offset:3px;padding:4px}.storage-warning{width:min(100%,1020px);margin:0 auto 20px;border:1px solid #efcf92;background:#fff8e9;color:#7c591b;border-radius:8px;padding:14px 18px;font-size:.875rem;line-height:1.7}.noscript{position:fixed;top:10px;left:10px;padding:20px;background:white;z-index:20}dialog{color:var(--ink);border:1px solid var(--line);border-radius:15px;padding:30px;max-width:460px;width:calc(100% - 36px);box-shadow:0 25px 90px #12233938}dialog::backdrop{background:#14233b7a;backdrop-filter:blur(2px)}dialog h2{font-size:1.4rem;letter-spacing:-.04em;margin:20px 0 12px;line-height:1.5}dialog p{font-size:.9375rem;color:var(--muted);line-height:1.8}.dialog-icon{background:var(--accent-light);color:var(--accent);border-radius:12px;width:46px;height:46px;display:flex;align-items:center;justify-content:center}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:28px}
.blank-word{display:inline-block;max-width:100%;vertical-align:baseline;overflow-wrap:anywhere}
@media(min-width:1500px){main{padding-top:55px}.section-heading{margin-bottom:32px}.verse-text{padding-left:45px;padding-right:45px}.card-top{padding:32px 45px 0}.verse-reference{margin-left:45px;margin-right:45px}.welcome-copy{padding:55px 45px}.welcome-sample{padding:40px}.welcome-card{margin-top:30px}}
@media(max-width:1100px){.app-shell{grid-template-columns:218px minmax(0,1fr)}.sidebar{padding:28px 15px}.brand{gap:10px;font-size:1.2rem}.brand small{font-size:.75rem;letter-spacing:0}main{padding:32px 28px 0}.topbar{padding:20px 28px}.page-footer{padding:28px}.welcome-card{grid-template-columns:1fr}.welcome-sample{border-left:0;border-top:1px solid var(--line);padding:26px 35px}.sample-text{font-size:1.2rem;margin-bottom:6px}.sample-label{margin-bottom:15px}.welcome-copy{padding:35px}.welcome-copy h1 br{display:none}.welcome-copy>.subtitle{max-width:none}.welcome-meta{margin:22px 0}.welcome-bottom{gap:15px}.card-bottom{padding:15px 20px}.reveal-help{max-width:230px;gap:6px;flex-wrap:wrap}.toast{left:calc(50% + 109px)}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:relative;height:auto;padding:21px 20px 0;display:grid;grid-template-columns:1fr auto;gap:22px 15px}.brand{padding:0;font-size:1.125rem;gap:10px}.brand small{font-size:.75rem;margin-top:6px}.brand-mark{font-size:2rem}.course-label{display:none}.sidebar-bottom{padding:0;margin:0;align-self:center;min-width:100px}.progress-caption{font-size:.75rem;margin:0 0 6px;gap:13px}.progress-caption strong{font-size:.8125rem}.progress-description,.reset-button{display:none}.sidebar-bottom progress{display:block;height:4px}.navigation{grid-column:1/-1;grid-row:2;flex-direction:row;gap:12px;justify-content:center}.nav-item{border-radius:8px 8px 0 0;justify-content:center;padding:13px 11px;gap:9px;font-size:.875rem}.nav-count{margin-left:3px;font-size:.75rem;padding:1px 6px;min-width:24px}.topbar{min-height:59px;padding:15px 21px;font-size:.8125rem;gap:10px}.breadcrumb{gap:9px}.save-indicator{font-size:.75rem;gap:5px}.save-indicator .icon{display:none}main{padding:25px 20px 0}.page-footer{padding:28px 20px;font-size:.75rem;gap:8px}.page-footer span:last-child{display:none}h1{font-size:1.5rem}.section-heading{gap:10px;align-items:flex-start;margin-bottom:22px}.subtitle{font-size:.875rem}.session-meta{flex-direction:column;align-items:flex-end;gap:8px;white-space:nowrap;font-size:.8125rem}.session-count{font-size:.9375rem}.eyebrow{font-size:.75rem;margin-bottom:10px}.welcome-card{margin-top:0}.welcome-copy{padding:28px 25px}.welcome-copy h1{font-size:1.8rem;margin:15px 0}.welcome-copy h1 br{display:initial}.welcome-meta{gap:25px}.welcome-meta span+span{padding-left:25px}.welcome-copy>.subtitle{margin-bottom:22px}.welcome-meta strong{font-size:1.65rem}.welcome-sample{padding:25px}.sample-text{font-size:1.15rem;line-height:2.5}.welcome-bottom{display:block;margin-top:17px}.how-item{gap:12px;padding:9px 4px}.how-item p{font-size:.8125rem}.how-item strong{margin:0 0 2px}.card-top{padding:20px 19px 0}.verse-reference{font-size:1.375rem;margin:20px 20px 19px}.verse-text{padding:0 19px 27px;font-size:calc(var(--verse-size) * .87);line-height:2.5;letter-spacing:-.03em}.text-size>span{display:none}.text-size button{width:34px;min-height:34px}.card-bottom{padding:13px 13px 13px 18px;gap:10px;align-items:center}.reveal-help{font-size:.75rem;max-width:180px}.reveal-help>.icon{display:none}.reveal-counter{display:block}.card-bottom .button{font-size:.875rem;padding:9px 7px;gap:6px;white-space:nowrap}.card-bottom .button .icon{width:1.05rem;height:1.05rem}.study-actions{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:9px;padding-top:17px}.study-actions>.button{min-width:0;padding:12px 7px;font-size:.875rem;gap:6px}.study-actions .button .icon{width:1rem;height:1rem}.master-button{min-width:0}.keyboard-hint{display:none}.list-summary{padding:17px 18px;gap:10px;font-size:.875rem}.list-summary .button{font-size:.875rem;padding:7px}.verse-row{padding:20px 17px;gap:10px;grid-template-columns:25px minmax(0,1fr)}.row-main strong{font-size:.9375rem}.row-main p{font-size:.875rem}.restore-button{grid-column:2;justify-self:start;margin-top:2px}.empty-state{padding:48px 20px}.empty-state h2{font-size:1.3rem}.empty-state p{font-size:.875rem}.toast{left:50%;bottom:18px;width:max-content;font-size:.875rem}.review-banner{font-size:.875rem;padding:10px 12px}.review-banner>.button{padding:6px;white-space:nowrap;font-size:.875rem}}
@media(max-width:380px){main{padding:22px 13px 0}.topbar{padding:13px 15px}.breadcrumb{font-size:.75rem}.sidebar{padding-left:16px;padding-right:16px}.card-top{padding:17px 15px 0}.verse-reference{margin-left:16px;margin-right:16px}.verse-text{padding-left:15px;padding-right:15px}.study-actions{gap:6px}.master-button .icon{display:none}.welcome-copy{padding:25px 21px}.welcome-sample{padding:22px 21px}.save-indicator{max-width:108px;text-align:right}.brand small{font-size:.75rem}.sidebar-bottom{min-width:90px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media(forced-colors:active){.blank .answer{visibility:hidden}.blank.revealed .answer{visibility:visible;color:Highlight}.blank{border:1px solid ButtonText}}@media print{.sidebar,.topbar,.page-footer,.study-actions,.card-bottom,.keyboard-hint,.toast{display:none}.app-shell{display:block}.workspace,main{padding:0}.study-card{border:0;box-shadow:none}.blank .answer{color:transparent!important}.blank.revealed .answer{color:var(--answer)!important}}
