@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0wkzw~je483f-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.08e28id.o-okb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--bg:#f2f2f7;--card-bg:#fff;--text-primary:#111;--text-secondary:#8e8e93;--border:#e5e5ea}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);height:100%;color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,sans-serif}main{justify-content:center;align-items:flex-start;height:100dvh;padding:20px;display:flex;overflow-y:auto}.container{width:100%;max-width:400px}.container .title{letter-spacing:-.03em;color:var(--text-primary);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:1.375rem;font-weight:800;display:flex}.container .title .info{color:var(--bg);-webkit-user-select:none;user-select:none;background:linear-gradient(#1eb2ff,#0f93e0);align-items:center;gap:4px;width:100%;padding:8px 10px 16px;font-size:.875rem;font-weight:400;display:flex;position:absolute;bottom:0;left:0}.container .notice{color:var(--text-secondary);margin-bottom:20px;font-size:.875rem;line-height:1.5}.action-list{flex-direction:column;gap:10px;display:flex}.action-list .action-button{background:var(--card-bg);border:1px solid var(--border);cursor:pointer;border-radius:16px;justify-content:space-between;align-items:center;padding:14px 16px;text-decoration:none;display:flex}.action-list .action-button .action-info{align-items:center;gap:14px;display:flex}.action-list .action-button .action-info .image-wrapper{background:var(--border);border-radius:50%;flex-shrink:0;width:52px;height:52px;overflow:hidden}.action-list .action-button .action-info .image-wrapper .profile-img{object-fit:cover;object-position:top center}.action-list .action-button .action-info .icon-wrapper{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.action-list .action-button .action-info .icon-wrapper.reserve{color:#0f93e0;background-color:#0f93e01a}.action-list .action-button .action-info .icon-wrapper.schedule{color:#ff9500;background-color:#ff95001a}.action-list .action-button .action-info .icon-wrapper.ticket{color:#af52de;background-color:#af52de1a}.action-list .action-button .action-info .icon-wrapper.benkyo{color:#10b981;background-color:#10b9811a}.action-list .action-button .action-info .text-content{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.action-list .action-button .action-info .text-content .action-title{letter-spacing:-.02em;color:var(--text-primary);font-size:1rem;font-weight:700}.action-list .action-button .action-info .text-content .action-subtitle{color:var(--text-secondary);align-items:center;gap:4px;font-size:.75rem;display:flex}.action-list .action-button .arrow{color:#c7c7cc}.sch-page{flex-direction:column;justify-content:flex-start;gap:12px;width:100%;max-width:700px;height:100%;display:flex}.sch-header{flex-shrink:0}.sch-header .sch-title-wrapper{align-items:center;gap:4px;margin-bottom:10px;margin-left:-6px;display:flex}.sch-header .sch-back-button{width:32px;height:32px;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;transition:background-color .2s,transform .1s;display:inline-flex}.sch-header .sch-back-button:hover{background-color:#0000000d}.sch-header .sch-back-button:active{transform:scale(.92)}.sch-header .sch-title{letter-spacing:-.03em;color:var(--text-primary);font-size:1.375rem;font-weight:800}.sch-header .sch-notice{color:var(--text-secondary);margin-left:2px;font-size:.875rem}.sch-scroll-area{-webkit-overflow-scrolling:touch;border:1px solid var(--border);background:var(--card-bg);border-radius:14px;flex:1;width:100%;min-height:0;max-height:fit-content;overflow:auto}.sch-grid{width:100%;min-width:664px;display:grid;position:relative}.sch-grid .sch-corner{z-index:40;background:var(--card-bg);border-right:1px solid var(--border);border-bottom:1px solid var(--border);position:sticky;top:0;left:0}.sch-grid .sch-day-header{z-index:30;background:var(--card-bg);border-bottom:1px solid var(--border);border-right:1px solid var(--border);color:var(--text-primary);justify-content:center;align-items:center;font-size:.8125rem;font-weight:700;transition:background-color .15s,color .15s;display:flex;position:sticky;top:0}.sch-grid .sch-day-header.highlighted{font-weight:900;background-color:#f2f2f7!important}.sch-grid .sch-day-header:last-of-type{border-right:none}.sch-grid .sch-day-header.saturday{color:#0f93e0}.sch-grid .sch-day-header.sunday{color:#ff3b30;border-right:none}.sch-grid .sch-time-label{z-index:20;background:var(--card-bg);border-right:1px solid var(--border);justify-content:center;align-items:flex-start;padding-top:0;transition:background-color .15s;display:flex;position:sticky;left:0}.sch-grid .sch-time-label.highlighted{background-color:#f2f2f7!important}.sch-grid .sch-time-label.highlighted span{color:var(--text-primary)}.sch-grid .sch-time-label span{color:var(--text-secondary);font-size:.625rem;font-weight:600;display:block}.sch-grid .sch-time-label.on-hour{border-top:1px solid var(--border)}.sch-grid .sch-cell{border-right:1px solid var(--border);border-top:none;transition:background-color .1s}.sch-grid .sch-cell.col-highlighted,.sch-grid .sch-cell.row-highlighted{background-color:#00000003}.sch-grid .sch-cell.col-highlighted.row-highlighted{background-color:#00000008}.sch-grid .sch-cell:last-of-type{border-right:none}.sch-grid .sch-cell.on-hour{border-top:1px solid var(--border)}.sch-grid .sch-cell:not(.on-hour){border-top:1px dashed #0000000f}.sch-grid .sch-cell.sunday-col{background-color:#fff5f5}.sch-grid .sch-block{cursor:default;box-sizing:border-box;z-index:10;border:1px solid;border-left-width:4px;border-radius:7px;align-self:stretch;margin:2px 0;position:relative;overflow:hidden}.sch-grid .sch-block .sch-block-inner{flex-direction:column;align-items:flex-start;gap:2px;height:100%;padding:5px;display:flex;overflow:hidden}.sch-grid .sch-block .sch-block-avatar{border-radius:50%;flex-shrink:0;width:28px;height:28px;margin-bottom:4px;overflow:hidden}.sch-grid .sch-block .sch-block-avatar .sch-avatar-img{object-fit:cover;object-position:top center;width:100%;height:100%}.sch-grid .sch-block .sch-block-name{letter-spacing:-.02em;word-break:keep-all;font-size:.6875rem;font-weight:800;line-height:1.2}.sch-grid .sch-block .sch-block-time{opacity:.85;letter-spacing:-.01em;font-size:.625rem;line-height:1.2}.sch-grid .sch-holiday{color:#ff3b30;opacity:.7;letter-spacing:-.02em;pointer-events:none;background-color:#ffecec;justify-content:center;align-items:center;font-size:.8125rem;font-weight:700;display:flex}.sch-grid .sch-col-guide{pointer-events:none;z-index:15;background-color:#00000005;border-left:1px dashed #0000001f;border-right:1px dashed #0000001f}.sch-grid .sch-row-guide{pointer-events:none;z-index:15;background-color:#00000005;border-top:1px dashed #0000001f;border-bottom:1px dashed #0000001f}.sch-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background-color:#0006;justify-content:center;align-items:center;animation:.25s ease-out fadeIn;display:flex;position:fixed;inset:0}.sch-modal-content{background:var(--card-bg);border-radius:20px;width:100%;max-width:380px;padding:24px;animation:.35s cubic-bezier(.16,1,.3,1) slideUp;position:relative;box-shadow:0 10px 30px #00000026}.sch-modal-content .close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;transition:background-color .2s,color .2s;display:flex;position:absolute;top:16px;right:16px}.sch-modal-content .close-btn:hover{color:var(--text-primary);background-color:#0000000d}.sch-modal-content .sch-modal-title{letter-spacing:-.02em;color:var(--text-primary);margin-bottom:1rem;font-size:1.125rem;font-weight:800}.sch-modal-content .sch-modal-desc{color:var(--text-secondary);margin-bottom:20px;font-size:.8125rem;line-height:1.4}.sch-modal-content .sch-form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.sch-modal-content .sch-form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em;font-size:.6875rem;font-weight:700}.sch-modal-content .sch-form-group input{border:1px solid var(--border);width:100%;color:var(--text-primary);background:#fafafa;border-radius:12px;padding:12px 14px;font-size:.875rem;font-weight:600;transition:border-color .2s,box-shadow .2s,background-color .2s}.sch-modal-content .sch-form-group input::placeholder{color:var(--text-secondary);font-weight:400}.sch-modal-content .sch-form-group input:focus{background:#fff;border-color:#af52de;outline:none;box-shadow:0 0 0 3px #af52de1f}.sch-modal-content .sch-form-group .pin-input-wrapper{align-items:center;width:100%;display:flex;position:relative}.sch-modal-content .sch-form-group .pin-input-wrapper input{padding-right:44px}.sch-modal-content .sch-form-group .pin-input-wrapper .toggle-visibility-btn{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:color .15s,background-color .15s;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.sch-modal-content .sch-form-group .pin-input-wrapper .toggle-visibility-btn:hover{color:var(--text-primary);background-color:#0000000d}.sch-modal-content .sch-search-error{color:#ff3b30;white-space:break-spaces;margin-bottom:16px;font-size:.78125rem;font-weight:600;line-height:1.4}.sch-modal-content .sch-btn-submit{color:#fff;cursor:pointer;background:#af52de;border:none;border-radius:12px;width:100%;padding:14px;font-size:.9375rem;font-weight:700;transition:background-color .2s,transform .1s}.sch-modal-content .sch-btn-submit:hover{background-color:#9f3ee0}.sch-modal-content .sch-btn-submit:active{transform:scale(.98)}.sch-modal-content .sch-btn-submit:disabled{background-color:var(--border);color:var(--text-secondary);cursor:not-allowed;transform:none}.sch-modal-content .sch-btn-reset{border:1.5px solid var(--border);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:12px;padding:12px;font-size:.875rem;font-weight:700;transition:all .2s}.sch-modal-content .sch-btn-reset:hover{color:var(--text-primary);border-color:var(--text-secondary);background-color:#00000005}.sch-modal-content .sch-ticket-card{color:#fff;background:linear-gradient(135deg,#b862eb 0%,#8b45cc 100%);border-radius:16px;margin-bottom:18px;padding:20px;position:relative;overflow:hidden;box-shadow:0 8px 24px #8b45cc40}.sch-modal-content .sch-ticket-card:before,.sch-modal-content .sch-ticket-card:after{content:"";background:var(--card-bg);z-index:2;border-radius:50%;width:16px;height:16px;position:absolute;bottom:45px}.sch-modal-content .sch-ticket-card:before{left:-8px;box-shadow:inset -3px 0 5px #00000026}.sch-modal-content .sch-ticket-card:after{right:-8px;box-shadow:inset 3px 0 5px #00000026}.sch-modal-content .sch-ticket-card .ticket-header{justify-content:space-between;align-items:center;display:flex}.sch-modal-content .sch-ticket-card .ticket-header .student-name{letter-spacing:-.02em;font-size:1rem;font-weight:800}.sch-modal-content .sch-ticket-card .ticket-header .ticket-badge{letter-spacing:-.01em;background:#fff3;border-radius:20px;padding:3px 8px;font-size:.65625rem;font-weight:700}.sch-modal-content .sch-ticket-card .ticket-body{margin-top:14px}.sch-modal-content .sch-ticket-card .ticket-body .ticket-detail{letter-spacing:-.02em;font-size:1.125rem}.sch-modal-content .sch-ticket-card .ticket-stamps{grid-template-columns:repeat(5,1fr);gap:8px;margin:16px 0 6px;display:grid}.sch-modal-content .sch-ticket-card .ticket-stamps .ticket-stamp{aspect-ratio:1;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;font-weight:800;transition:all .25s;display:flex}.sch-modal-content .sch-ticket-card .ticket-stamps .ticket-stamp.used{color:#fff;background:#ffffff40;box-shadow:inset 0 1px 2px #0000001a}.sch-modal-content .sch-ticket-card .ticket-stamps .ticket-stamp.remaining{color:#fff9;border:1px dashed #fff6}.sch-modal-content .sch-ticket-card .ticket-divider{border-top:1px dashed #ffffff4d;margin:14px 0;position:relative}.sch-modal-content .sch-ticket-card .ticket-footer{opacity:.85;justify-content:space-between;align-items:center;font-size:.6875rem;font-weight:500;display:flex}.sch-modal-content .sch-ticket-card .ticket-footer .card-footer-arrow{opacity:.9;justify-content:center;align-items:center;transition:transform .2s,opacity .2s;display:inline-flex}.sch-modal-content .sch-ticket-card:hover .ticket-footer .card-footer-arrow{opacity:1;transform:translate(3px)}.sch-modal-content .sch-modal-tabs{background:#e5e5ea;border-radius:10px;margin-bottom:18px;padding:2px;display:flex}.sch-modal-content .sch-modal-tabs .sch-modal-tab{text-align:center;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:8px 12px;font-size:.8125rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1)}.sch-modal-content .sch-modal-tabs .sch-modal-tab.active{color:var(--text-primary);background:#fff;box-shadow:0 2px 6px #00000014}.sch-modal-content .sch-history-section{flex-direction:column;margin-bottom:18px;display:flex}.sch-modal-content .sch-history-section .history-header{justify-content:space-between;align-items:center;margin-bottom:10px;padding:0 2px;display:flex}.sch-modal-content .sch-history-section .history-header .history-title{color:var(--text-primary);letter-spacing:-.01em;font-size:.8125rem;font-weight:800}.sch-modal-content .sch-history-section .history-header .history-count{color:var(--text-secondary);font-size:.6875rem;font-weight:600}.sch-modal-content .sch-history-section .history-filter-banner{color:#fff;background:linear-gradient(135deg,#1e1b26 0%,#2b2238 100%);border:1px solid #af52de59;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;padding:8px 12px;display:flex;box-shadow:0 4px 16px #1e1b2633}.sch-modal-content .sch-history-section .history-filter-banner .filter-chip-info{flex-direction:column;min-width:0;display:flex}.sch-modal-content .sch-history-section .history-filter-banner .filter-chip-info .filter-chip-header{align-items:center;gap:6px;display:flex}.sch-modal-content .sch-history-section .history-filter-banner .filter-chip-info .filter-chip-header .filter-chip-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;max-width:155px;font-size:.8125rem;font-weight:700;overflow:hidden}.sch-modal-content .sch-history-section .history-filter-banner .filter-chip-info .filter-chip-date{color:#ffffffa6;margin-left:16px;font-size:.6875rem;font-weight:500}.sch-modal-content .sch-history-section .history-filter-banner .filter-chip-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.sch-modal-content .sch-history-section .history-filter-banner .filter-chip-right .filter-mode-pill{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff40;border-radius:12px;padding:3px 8px;font-size:.6875rem;font-weight:700;transition:all .2s}.sch-modal-content .sch-history-section .history-filter-banner .filter-chip-right .filter-mode-pill:hover,.sch-modal-content .sch-history-section .history-filter-banner .filter-chip-right .filter-mode-pill.active{color:#fff;background:#af52de;border-color:#af52de;box-shadow:0 2px 8px #af52de66}.sch-modal-content .sch-history-section .history-filter-banner .filter-chip-right .filter-chip-remove{color:#ffffffb3;cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;padding:3px;transition:all .15s;display:flex}.sch-modal-content .sch-history-section .history-filter-banner .filter-chip-right .filter-chip-remove:hover{color:#fff;background:#ffffff40}.sch-modal-content .sch-history-section .history-timeline-container{max-height:270px;padding:6px 8px 12px;overflow-y:auto}.sch-modal-content .sch-history-section .history-timeline-container::-webkit-scrollbar{width:4px}.sch-modal-content .sch-history-section .history-timeline-container::-webkit-scrollbar-track{background:0 0}.sch-modal-content .sch-history-section .history-timeline-container::-webkit-scrollbar-thumb{background:#00000014;border-radius:4px}.sch-modal-content .sch-history-section .history-timeline-container::-webkit-scrollbar-thumb:hover{background:#00000026}.sch-modal-content .sch-history-section .history-timeline-container .history-empty{text-align:center;color:var(--text-secondary);padding:24px 0;font-size:.75rem}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline{flex-direction:column;display:flex;position:relative}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .history-year-group{margin-bottom:20px}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .history-year-group:last-of-type,.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .history-year-group:last-of-type .history-year-list .timeline-item:last-of-type{margin-bottom:0}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .history-year-group .history-year-title{letter-spacing:.02em;align-items:center;gap:10px;margin-bottom:12px;font-size:.75rem;font-weight:800;display:flex}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .history-year-group .history-year-title:after{content:"";background-color:#dfdfdf;flex:1;height:1px}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .history-year-group .history-year-list{flex-direction:column;display:flex}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .timeline-item{align-items:flex-start;gap:12px;margin-bottom:16px;transition:all .2s;animation:.3s ease-out fadeIn;display:flex;position:relative}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .timeline-item .timeline-badge-col{flex-direction:column;flex-shrink:0;align-self:stretch;align-items:center;width:14px;padding-top:4px;display:flex}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .timeline-item .timeline-badge-col .timeline-badge{opacity:.7;background-color:#8e8e93;border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:all .2s}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .timeline-item .timeline-badge-col .timeline-line{background-color:#e5e5ea;flex:1;width:2px;min-height:20px;margin-top:4px;margin-bottom:-16px}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .timeline-item .timeline-content{border-radius:8px;flex-direction:column;flex:1;gap:4px;padding:8px 12px;display:flex}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .timeline-item .timeline-content .timeline-meta{align-items:center;gap:6px;font-size:.875rem;font-weight:600;display:flex}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .timeline-item .timeline-content .timeline-meta .class-date{color:var(--text-primary);font-weight:700;transition:color .2s}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .timeline-item .timeline-content .timeline-meta .class-time{color:var(--text-secondary)}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .timeline-item .timeline-content .timeline-meta .class-tutor-badge{color:#af52de;background-color:#af52de14;border-radius:6px;margin-left:auto;padding:1px 5px;font-size:.625rem;font-weight:700;transition:all .2s}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .timeline-item .timeline-content .timeline-ticket-info{color:var(--text-secondary);align-items:center;gap:6px;margin-top:2px;font-size:.75rem;display:flex}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .timeline-item .timeline-content .timeline-ticket-info .ticket-label{background-color:var(--bg);color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;padding:1px 4px;font-size:.625rem;font-weight:700;line-height:1}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .timeline-item .timeline-content .timeline-ticket-info .ticket-value{color:var(--text-primary);font-weight:500}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .timeline-item.accent-highlight{opacity:1}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .timeline-item.accent-highlight .timeline-badge-col .timeline-badge{opacity:1;background-color:#af52de;box-shadow:0 0 0 4px #af52de40}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .timeline-item.accent-highlight .timeline-content{background-color:#f5ebfa}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .timeline-item.accent-highlight .timeline-content .timeline-meta .class-date{color:#af52de;font-weight:800}.sch-modal-content .sch-history-section .history-timeline-container .history-timeline .timeline-item.accent-highlight .timeline-content .timeline-meta .class-tutor-badge{color:#fff;background-color:#af52de;box-shadow:0 2px 6px #af52de40}.sch-modal-content .sch-carousel-container{flex-direction:column;align-items:center;width:100%;margin-bottom:18px;display:flex}.sch-modal-content .sch-carousel-container .sch-carousel-wrapper{justify-content:center;align-items:center;width:100%;display:flex;position:relative}.sch-modal-content .sch-carousel-container .sch-carousel-wrapper .sch-carousel-viewport{border-radius:16px;width:100%;overflow:hidden}.sch-modal-content .sch-carousel-container .sch-carousel-wrapper .sch-carousel-track{width:100%;transition:transform .45s cubic-bezier(.16,1,.3,1);display:flex}.sch-modal-content .sch-carousel-container .sch-carousel-wrapper .sch-carousel-slide{box-sizing:border-box;flex-shrink:0;width:100%;padding:0 8px}.sch-modal-content .sch-carousel-container .sch-carousel-wrapper .sch-ticket-card{width:100%;margin-bottom:0}.sch-modal-content .sch-carousel-container .sch-carousel-wrapper .sch-ticket-card.theme-0{background:linear-gradient(135deg,#b862eb 0%,#8b45cc 100%);box-shadow:0 8px 24px #8b45cc38}.sch-modal-content .sch-carousel-container .sch-carousel-wrapper .sch-ticket-card.theme-1{background:linear-gradient(135deg,#3a7bd5 0%,#3a6073 100%);box-shadow:0 8px 24px #3a607338}.sch-modal-content .sch-carousel-container .sch-carousel-wrapper .sch-ticket-card.theme-2{background:linear-gradient(135deg,#f857a6 0%,#ff5858 100%);box-shadow:0 8px 24px #f857a638}.sch-modal-content .sch-carousel-container .sch-carousel-wrapper .carousel-nav-btn{color:#8b45cc;cursor:pointer;z-index:10;background:#fffffff2;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 12px #0000001f}.sch-modal-content .sch-carousel-container .sch-carousel-wrapper .carousel-nav-btn:hover{background:#fff;transform:translateY(-50%)scale(1.08)}.sch-modal-content .sch-carousel-container .sch-carousel-wrapper .carousel-nav-btn:active{transform:translateY(-50%)scale(.92)}.sch-modal-content .sch-carousel-container .sch-carousel-wrapper .carousel-nav-btn:disabled{opacity:0;pointer-events:none}.sch-modal-content .sch-carousel-container .sch-carousel-wrapper .carousel-nav-btn.prev{left:-12px}.sch-modal-content .sch-carousel-container .sch-carousel-wrapper .carousel-nav-btn.next{right:-12px}.sch-modal-content .sch-carousel-container .carousel-dots{justify-content:center;gap:6px;margin-top:14px;margin-bottom:0;display:flex}.sch-modal-content .sch-carousel-container .carousel-dots .carousel-dot{cursor:pointer;border:none;border-radius:50%;width:6px;height:6px;padding:0;transition:all .25s cubic-bezier(.16,1,.3,1)}.sch-modal-content .sch-carousel-container .carousel-dots .carousel-dot.active{background:#828282;border-radius:3px;width:16px}.sch-modal-content .anim-slide-in{animation:.35s cubic-bezier(.16,1,.3,1) cardSlideIn}.sch-modal-content .expired-tickets-container{width:100%;margin:14px 0 6px}.sch-modal-content .expired-tickets-container .expired-tickets-toggle{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text-primary);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 14px;font-size:.8125rem;font-weight:700;transition:background-color .2s,border-color .2s,border-radius .2s;display:flex}.sch-modal-content .expired-tickets-container .expired-tickets-toggle:hover{background:#0000000a}.sch-modal-content .expired-tickets-container .expired-tickets-toggle.expanded{border-bottom:1px dashed var(--border);border-bottom-right-radius:0;border-bottom-left-radius:0}.sch-modal-content .expired-tickets-container .expired-tickets-toggle .toggle-title{align-items:center;gap:6px;display:flex}.sch-modal-content .expired-tickets-container .expired-tickets-toggle .count-badge{color:var(--text-secondary);background:#0000000f;border-radius:10px;justify-content:center;align-items:center;padding:2px 7px;font-size:.6875rem;font-weight:700;display:inline-flex}.sch-modal-content .expired-tickets-container .expired-tickets-list{background:var(--bg);border:1px solid var(--border);border-top:none;border-bottom-right-radius:12px;border-bottom-left-radius:12px;flex-direction:column;gap:12px;padding:12px 10px;animation:.22s cubic-bezier(.16,1,.3,1) accordionExpand;display:flex}.sch-modal-content .expired-tickets-container .expired-tickets-list .expired-year-group{flex-direction:column;display:flex}.sch-modal-content .expired-tickets-container .expired-tickets-list .expired-year-group:last-of-type{margin-bottom:0}.sch-modal-content .expired-tickets-container .expired-tickets-list .expired-year-group .expired-year-title{letter-spacing:.02em;align-items:center;gap:10px;margin-bottom:10px;margin-left:6px;margin-right:6px;font-size:.75rem;font-weight:800;display:flex}.sch-modal-content .expired-tickets-container .expired-tickets-list .expired-year-group .expired-year-title:after{content:"";background-color:#dfdfdf;flex:1;height:1px}.sch-modal-content .expired-tickets-container .expired-tickets-list .expired-year-group .expired-year-list{flex-direction:column;gap:8px;display:flex}.sch-modal-content .expired-tickets-container .expired-ticket-item{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:6px;padding:10px 14px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.sch-modal-content .expired-tickets-container .expired-ticket-item.clickable{cursor:pointer}.sch-modal-content .expired-tickets-container .expired-ticket-item.clickable:hover{background:#af52de08;border-color:#af52de;box-shadow:0 4px 14px #af52de1a}.sch-modal-content .expired-tickets-container .expired-ticket-item.clickable:hover .expired-item-arrow{color:#af52de;transform:translate(3px)}.sch-modal-content .expired-tickets-container .expired-ticket-item .expired-item-main{flex-direction:column;flex:1;gap:4px;display:flex}.sch-modal-content .expired-tickets-container .expired-ticket-item .expired-item-arrow{color:#c7c7cc;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.sch-modal-content .expired-tickets-container .expired-ticket-item .expired-item-header{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.sch-modal-content .expired-tickets-container .expired-ticket-item .expired-item-header .expired-item-name{color:var(--text-primary);letter-spacing:-.01em;font-size:.8125rem;font-weight:700}.sch-modal-content .expired-tickets-container .expired-ticket-item .expired-item-header .expired-status-badge{border-radius:6px;padding:2px 6px;font-size:.625rem;font-weight:700}.sch-modal-content .expired-tickets-container .expired-ticket-item .expired-item-header .expired-status-badge.used{color:var(--text-secondary);background:#8e8e931f}.sch-modal-content .expired-tickets-container .expired-ticket-item .expired-item-header .expired-status-badge.expired{color:#ff3b30;background:#ff3b301a}.sch-modal-content .expired-tickets-container .expired-ticket-item .expired-item-meta{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.75rem;font-weight:500;display:flex}.sch-modal-content .sch-form-select{border:1px solid var(--border);width:100%;color:var(--text-primary);cursor:pointer;appearance:none;background:#fafafa url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238e8e93' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center/16px no-repeat;border-radius:12px;outline:none;padding:12px 40px 12px 14px;font-size:.875rem;font-weight:600;transition:all .2s}.sch-modal-content .sch-form-select.empty{color:var(--text-secondary);font-weight:500}.sch-modal-content .sch-form-select.empty optgroup,.sch-modal-content .sch-form-select.empty option{color:var(--text-primary)}.sch-modal-content .sch-form-select.empty option[disabled]{color:var(--text-secondary)}.sch-modal-content .sch-form-select:focus{background-color:#fff;border-color:#af52de;box-shadow:0 0 0 3px #af52de1f}.sch-modal-content .bank-account-box{border:1px solid var(--border);background:#f6f6f9;border-radius:14px;justify-content:space-between;align-items:center;width:100%;margin-bottom:20px;padding:10px 12px;display:flex;box-shadow:inset 0 1px 2px #00000003}.sch-modal-content .bank-account-box .bank-info{text-align:left;flex-direction:column;gap:2px;display:flex}.sch-modal-content .bank-account-box .bank-info .bank-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:.625rem;font-weight:800}.sch-modal-content .bank-account-box .bank-info .bank-number{color:var(--text-primary);letter-spacing:-.01em;font-size:.875rem;font-weight:800}.sch-modal-content .bank-account-box .bank-info .bank-owner{color:var(--text-secondary);font-size:.7rem;font-weight:600}.sch-modal-content .bank-account-box .copy-account-btn{color:#fff;cursor:pointer;background:#af52de;border:none;border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:6px 10px;font-size:.7rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 2px 6px #af52de26}.sch-modal-content .bank-account-box .copy-account-btn:hover{background:#9f3ee0;transform:translateY(-1px)}.sch-modal-content .bank-account-box .copy-account-btn:active{transform:translateY(0)scale(.96)}.sch-modal-content .bank-account-box .copy-account-btn.copied{background:#34c759;box-shadow:0 2px 6px #34c75926}.sch-modal-content .bank-account-box.simple{text-align:center;background:#af52de05;border-style:dashed;border-color:#af52de40;justify-content:center;margin-bottom:20px;padding:12px}.sch-modal-content .bank-account-box.simple .bank-info{align-items:center}.sch-modal-content .bank-account-box.simple .bank-info .bank-number{font-size:.8125rem}.sch-modal-content .ticket-summary-box{margin-top:12px;margin-bottom:24px;padding:0 4px}.sch-modal-content .ticket-summary-box .bank-info{flex-direction:column;gap:8px;width:100%;display:flex}.sch-modal-content .ticket-summary-box .summary-row{justify-content:space-between;align-items:center;width:100%;display:flex}.sch-modal-content .ticket-summary-box .summary-row .bank-label{color:var(--text-secondary);margin-bottom:0;font-size:.8125rem}.sch-modal-content .ticket-summary-box .summary-row .summary-value{color:var(--text-primary);font-size:.875rem;font-weight:600}.sch-modal-content .ticket-summary-box .summary-row.price-row{border-top:1px solid var(--border);margin-top:2px;padding-top:10px}.sch-modal-content .ticket-summary-box .summary-row.price-row .bank-number{color:#af52de;font-size:1.125rem;font-weight:800}.sch-modal-content .sch-success-view{text-align:center;flex-direction:column;align-items:center;padding:16px 0 8px;display:flex}.sch-modal-content .sch-success-view .success-icon-circle{color:#34c759;background:#34c7591a;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:16px;display:flex;box-shadow:0 0 0 6px #34c75908}.sch-modal-content .sch-success-view .success-title{color:var(--text-primary);letter-spacing:-.02em;margin-top:12px;margin-bottom:6px;font-size:1.125rem;font-weight:800}.sch-modal-content .sch-success-view .success-desc{color:var(--text-secondary);margin-bottom:20px;font-size:.75rem;line-height:1.45}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes cardSlideIn{0%{opacity:.8;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes accordionExpand{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.price-pdf-container{width:100vw;height:100vh;margin:0;padding:0;overflow:hidden}.price-pdf-container iframe{border:none;width:100%;height:100%}.sch-modal-content.admin-dialog-auth{max-width:360px!important}.sch-modal-content.admin-dialog-large{max-height:90vh;margin:0 1.5rem;overflow-y:auto;max-width:460px!important}.sch-modal-content .admin-auth-container .admin-auth-header{text-align:center;margin-bottom:18px}.sch-modal-content .admin-auth-container .admin-auth-header .admin-icon-badge{color:#af52de;background:#f5ebfa;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 12px;display:flex}.sch-modal-content .admin-auth-container .admin-passcode-input{letter-spacing:.5em!important;text-align:center!important;font-size:1.25rem!important;font-weight:700!important}.sch-modal-content .admin-dialog-container .admin-dialog-header{margin-bottom:14px}.sch-modal-content .admin-status-banner{border-radius:10px;align-items:center;gap:8px;margin-bottom:14px;padding:10px 14px;font-size:.8125rem;font-weight:600;animation:.2s fadeIn;display:flex}.sch-modal-content .admin-status-banner.success{color:#1e7e34;background:#e6f4ea;border:1px solid #ceebd5}.sch-modal-content .admin-status-banner.error{color:#d93025;background:#fde8e8;border:1px solid #f8c4c4}.sch-modal-content .admin-form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (max-width:480px){.sch-modal-content .admin-form-grid{grid-template-columns:1fr}}.sch-modal-content .alimtalk-preview-box{background:#fee500;border-radius:16px;margin-top:14px;padding:12px;box-shadow:0 4px 14px #00000014}.sch-modal-content .alimtalk-preview-box .alimtalk-preview-header{margin-bottom:8px}.sch-modal-content .alimtalk-preview-box .alimtalk-preview-header .kakao-badge{color:#3c1e1e;background:#00000014;border-radius:6px;padding:3px 8px;font-size:.6875rem;font-weight:800;display:inline-block}.sch-modal-content .alimtalk-preview-box .alimtalk-preview-card{color:#222;background:#fff;border:1px solid #0000000f;border-radius:12px;padding:14px;font-size:.8125rem;line-height:1.5;box-shadow:0 2px 6px #0000000a}.sch-modal-content .alimtalk-preview-box .alimtalk-preview-card .alimtalk-title{color:#111;margin-bottom:2px;font-size:.875rem;font-weight:800}.sch-modal-content .alimtalk-preview-box .alimtalk-preview-card .alimtalk-sub{color:#8e8e93;margin-bottom:10px;font-size:.75rem;font-weight:600}.sch-modal-content .alimtalk-preview-box .alimtalk-preview-card .alimtalk-body-text p{color:#222;margin:0 0 6px;font-size:.8125rem}.sch-modal-content .alimtalk-preview-box .alimtalk-preview-card .alimtalk-summary-box{color:#212529;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;flex-direction:column;gap:3px;margin:8px 0;padding:8px 10px;font-size:.8125rem;font-weight:600;display:flex}.sch-modal-content .alimtalk-preview-box .alimtalk-preview-card .alimtalk-footer-text{color:#444;margin-top:4px;font-size:.78125rem;line-height:1.45}.sch-modal-content .admin-ticket-loading{color:var(--text-secondary);border:1px solid var(--border);background:#fafafa;border-radius:12px;align-items:center;gap:8px;padding:12px 14px;font-size:.8125rem;display:flex}.sch-modal-content .admin-ticket-loading .spin{color:#af52de;animation:1s linear infinite spin}.sch-modal-content .admin-inline-ticket-list{flex-direction:column;gap:8px;max-height:200px;margin-top:4px;padding-right:4px;display:flex;overflow-y:auto}.sch-modal-content .admin-inline-ticket-list::-webkit-scrollbar{width:4px}.sch-modal-content .admin-inline-ticket-list::-webkit-scrollbar-thumb{background:#af52de4d;border-radius:4px}.sch-modal-content .admin-inline-ticket-list .inline-ticket-card{border:1px solid var(--border);cursor:pointer;background:#fafafa;border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;transition:all .15s;display:flex}.sch-modal-content .admin-inline-ticket-list .inline-ticket-card:hover{background:#f5ebfa;border-color:#af52de4d}.sch-modal-content .admin-inline-ticket-list .inline-ticket-card.selected{background:#f5ebfa;border-color:#af52de;box-shadow:inset 0 0 0 1px #af52de}.sch-modal-content .admin-inline-ticket-list .inline-ticket-card .card-top-row{justify-content:space-between;align-items:center;display:flex}.sch-modal-content .admin-inline-ticket-list .inline-ticket-card .card-top-row .card-user-info{align-items:center;gap:5px;display:flex}.sch-modal-content .admin-inline-ticket-list .inline-ticket-card .card-top-row .card-user-info .user-icon{color:#af52de}.sch-modal-content .admin-inline-ticket-list .inline-ticket-card .card-top-row .card-user-info .user-nickname{color:#af52de;font-size:.8125rem;font-weight:800}.sch-modal-content .admin-inline-ticket-list .inline-ticket-card .card-top-row .card-status-area{align-items:center;gap:6px;display:flex}.sch-modal-content .admin-inline-ticket-list .inline-ticket-card .card-top-row .card-status-area .zero-badge{color:#ff3b30;background:#ffecec;border-radius:6px;padding:2px 6px;font-size:.6875rem;font-weight:700}.sch-modal-content .admin-inline-ticket-list .inline-ticket-card .card-top-row .card-status-area .check-badge{color:#fff;background:#af52de;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.sch-modal-content .admin-inline-ticket-list .inline-ticket-card .card-product-name{color:var(--text-primary);font-size:.8125rem;font-weight:700}.sch-modal-content .admin-inline-ticket-list .inline-ticket-card .card-meta-info{color:var(--text-secondary);align-items:center;gap:4px;font-size:.75rem;display:flex}.sch-modal-content .admin-ticket-empty-card{text-align:center;color:var(--text-secondary);border:1px solid var(--border);background:#fafafa;border-radius:12px;padding:16px;font-size:.8125rem}.sch-modal-content .admin-ticket-info-card{background:linear-gradient(135deg,#faf5ff 0%,#f3e8ff 100%);border:1px solid #af52de33;border-radius:14px;flex-direction:column;gap:8px;margin-top:12px;margin-bottom:12px;padding:12px 14px;animation:.25s fadeIn;display:flex}.sch-modal-content .admin-ticket-info-card .info-row{justify-content:space-between;align-items:center;font-size:.8125rem;display:flex}.sch-modal-content .admin-ticket-info-card .info-row .info-label{color:var(--text-secondary);align-items:center;gap:6px;font-size:.75rem;font-weight:700;display:flex}.sch-modal-content .admin-ticket-info-card .info-row .info-value{color:var(--text-primary);font-weight:700}.sch-modal-content .admin-ticket-info-card .info-row .info-value.highlight{color:#af52de}.sch-modal-content .admin-modal-btn-row{gap:8px;margin-top:18px;display:flex}.sch-modal-content .admin-modal-btn-row .sch-btn-reset{flex:1;margin:0}.sch-modal-content .admin-modal-btn-row .sch-btn-submit{flex:1.5;justify-content:center;align-items:center;margin:0;display:flex}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.benkyo-page{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:480px;min-height:calc(100dvh - 40px);margin:0 auto;display:flex;position:relative}.benkyo-page .benkyo-header{justify-content:space-between;align-items:flex-start;width:100%;display:flex}.benkyo-page .benkyo-header .view-toggle-btn{background:var(--card-bg);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:16px;align-items:center;gap:5px;margin-top:2px;padding:6px 12px;font-size:.75rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 1px 4px #00000008}.benkyo-page .benkyo-header .view-toggle-btn:hover{background:#0000000a;border-color:#c7c7cc}.benkyo-page .benkyo-toolbar{justify-content:space-between;align-items:center;gap:6px;width:100%;margin-top:-7px;display:flex}.benkyo-page .benkyo-toolbar .benkyo-tab-group{background:#0000000d;border-radius:12px;flex-shrink:0;padding:2.5px;display:flex}.benkyo-page .benkyo-toolbar .benkyo-tab-group .benkyo-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:9.5px;justify-content:center;align-items:center;gap:5px;padding:6px 11px;font-size:.8125rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.benkyo-page .benkyo-toolbar .benkyo-tab-group .benkyo-tab.active{color:#0f93e0;background:#fff;box-shadow:0 2px 8px #0f93e01f}.benkyo-page .benkyo-toolbar .toolbar-actions{flex-shrink:0;align-items:center;gap:5px;display:flex}.benkyo-page .benkyo-toolbar .toolbar-actions .row-select-dropdown{appearance:none;border:1px solid var(--border);background-color:var(--card-bg);color:var(--text-primary);cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238e8e93' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:12px;border-radius:12px;outline:none;height:34px;padding:6px 26px 6px 10px;font-size:.8125rem;font-weight:700;transition:all .15s;box-shadow:0 1px 4px #00000008}.benkyo-page .benkyo-toolbar .toolbar-actions .row-select-dropdown option{color:#1e293b;background-color:#fff;padding:8px;font-weight:600}.benkyo-page .benkyo-toolbar .toolbar-actions .row-select-dropdown:hover,.benkyo-page .benkyo-toolbar .toolbar-actions .row-select-dropdown:focus{border-color:#c7c7cc}.benkyo-page .benkyo-toolbar .toolbar-actions .toolbar-icon-btn{box-sizing:border-box;border:1px solid var(--border);background:var(--card-bg);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex;box-shadow:0 1px 4px #00000008}.benkyo-page .benkyo-toolbar .toolbar-actions .toolbar-icon-btn.active{color:#0f93e0;background:#0f93e01a;border-color:#0f93e04d}.benkyo-page .benkyo-toolbar .toolbar-actions .toolbar-icon-btn:hover{color:#0f93e0;border-color:#c7c7cc}.benkyo-page .benkyo-toolbar .toolbar-actions .toolbar-icon-btn:active{transform:scale(.95)}.benkyo-page .benkyo-controls .benkyo-progress-text{color:var(--text-secondary);opacity:.65;font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:.75rem;font-weight:700}.benkyo-page .benkyo-progress-bar-container{flex-direction:column;gap:6px;width:100%;display:flex}.benkyo-page .benkyo-progress-bar-container .progress-info{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.75rem;font-weight:700;display:flex}.benkyo-page .benkyo-progress-bar-container .progress-info .progress-count{color:var(--text-primary)}.benkyo-page .benkyo-progress-bar-container .progress-info .progress-count span{color:#0f93e0;font-weight:800}.benkyo-page .benkyo-progress-bar-container .progress-track{background:#0000000f;border-radius:3px;width:100%;height:6px;overflow:hidden}.benkyo-page .benkyo-progress-bar-container .progress-track .progress-fill{background:linear-gradient(90deg,#38bdf8,#0f93e0);border-radius:3px;height:100%;transition:width .3s cubic-bezier(.16,1,.3,1)}.benkyo-page .benkyo-card-scene{perspective:1000px;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;flex-shrink:0;width:80vw;max-width:340px;height:58dvh;max-height:500px;margin:auto 0 -7px}.benkyo-page .benkyo-card-scene .benkyo-card-inner{width:100%;height:100%;transform-style:preserve-3d;border-radius:26px;transition:transform .5s cubic-bezier(.4,0,.2,1);position:relative}.benkyo-page .benkyo-card-scene .benkyo-card-inner.is-flipped{transform:rotateY(180deg)}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face{box-sizing:border-box;backface-visibility:hidden;border:1.5px solid var(--border);background:#fff;border-radius:26px;flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:100%;padding:22px;display:flex;position:absolute;top:0;left:0;box-shadow:0 12px 32px #00000014,0 3px 8px #00000008}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face .card-header{flex-shrink:0;justify-content:space-between;align-items:center;width:100%;height:36px;display:flex}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face .card-header .header-placeholder{width:1px;height:1px}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face .card-header .card-index{color:var(--text-secondary);background:#0000000d;border-radius:10px;align-items:center;padding:4px 12px;font-size:.8125rem;font-weight:700;line-height:1;display:inline-flex}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face .card-header .audio-btn{color:#0f93e0;white-space:nowrap;cursor:pointer;background:#0f93e01a;border:1px solid #0f93e040;border-radius:12px;justify-content:center;align-items:center;gap:6px;height:32px;padding:6px 14px;font-size:.8125rem;font-weight:700;line-height:1;transition:all .2s;display:inline-flex;box-shadow:0 1px 4px #0f93e01a}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face .card-header .audio-btn svg{flex-shrink:0}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face .card-header .audio-btn:hover{background:#0f93e033;border-color:#0f93e066;transform:translateY(-1px)}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face .card-header .audio-btn:active{transform:scale(.95)}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face .card-body{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;display:flex;position:relative}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face .card-body .main-char{letter-spacing:-.02em;font-family:Apple SD Gothic Neo,Hiragino Sans,Hiragino Kaku Gothic ProN,sans-serif;font-size:8rem;font-weight:900;line-height:1}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face .card-body .sub-pronunciation{align-items:baseline;height:35px;margin-bottom:-35px;display:flex}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face .card-body .sub-pronunciation .romaji{color:#0f93e0;letter-spacing:-.02em;font-size:1.75rem;font-weight:800}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face .card-body .sub-pronunciation .korean{color:#0f93e0;letter-spacing:-.02em;font-size:1.1875rem;font-weight:800}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face .card-body .sub-pronunciation .korean:before{content:"/";color:#0f93e070;letter-spacing:-.02em;margin:0 4px;font-weight:700}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face .card-footer{flex-shrink:0;justify-content:center;align-items:center;width:100%;height:80px;display:flex}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face .card-footer .flip-hint{color:#0f93e0;background:#0f93e014;border-radius:20px;align-items:center;gap:6px;padding:8px 16px;font-size:.8125rem;font-weight:700;display:flex}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face .card-footer .mnemonic-card{background:linear-gradient(135deg,#0f93e00d 0%,#38bdf81a 100%);border:1px solid #0f93e02e;border-radius:16px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 12px 10px 14px;display:flex}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face .card-footer .mnemonic-card .mnemonic-content{flex:1;align-items:flex-start;gap:8px;min-width:0;display:flex}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face .card-footer .mnemonic-card .mnemonic-content .mnemonic-icon{color:#0f93e0;flex-shrink:0;margin-top:2px}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face .card-footer .mnemonic-card .mnemonic-content .mnemonic-quote{color:#0f2b3c;word-break:keep-all;text-align:left;margin:0;font-size:.8125rem;font-weight:700;line-height:1.4}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face .card-footer .mnemonic-card .audio-icon-btn{color:#fff;cursor:pointer;background:#0f93e0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 3px 10px #0f93e040}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face .card-footer .mnemonic-card .audio-icon-btn:hover{background:#0c7abf;transform:scale(1.06)}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face .card-footer .mnemonic-card .audio-icon-btn:active{transform:scale(.94)}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face.face-front{background:linear-gradient(160deg,#fff 0%,#f4f8ff 100%);border-color:#0f93e02e}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face.face-front .main-char{color:#1e293b}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face.face-back{background:linear-gradient(160deg,#fff 0%,#f0f7ff 100%);border-color:#0f93e038;transform:rotateY(180deg)}.benkyo-page .benkyo-card-scene .benkyo-card-inner .benkyo-card-face.face-back .main-char{color:#0f93e0}.benkyo-page .benkyo-controls{background:var(--bg);z-index:10;flex-direction:column;align-items:center;gap:8px;width:100%;margin-top:auto;padding-top:8px;padding-bottom:4px;display:flex;position:sticky;bottom:0}.benkyo-page .benkyo-controls .flow-mode-segmented{background:#0000000d;border-radius:20px;width:100%;max-width:320px;padding:3px;display:flex}.benkyo-page .benkyo-controls .flow-mode-segmented .segmented-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:17px;flex:1;justify-content:center;align-items:center;gap:5px;padding:6px 10px;font-size:.75rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.benkyo-page .benkyo-controls .flow-mode-segmented .segmented-btn.active{color:#0f93e0;background:#fff;box-shadow:0 2px 8px #00000014}.benkyo-page .benkyo-controls .flow-mode-segmented .segmented-btn:hover:not(.active){color:var(--text-primary)}.benkyo-page .benkyo-controls .controls-btn-group{justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.benkyo-page .benkyo-controls .controls-btn-group .nav-btn{border:1px solid var(--border);background:var(--card-bg);color:var(--text-primary);cursor:pointer;border-radius:16px;flex:1;justify-content:center;align-items:center;gap:6px;padding:14px;font-size:.9375rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 2px 8px #0000000a}.benkyo-page .benkyo-controls .controls-btn-group .nav-btn:hover:not(:disabled){background:#fafafa;border-color:#c7c7cc;transform:translateY(-1px)}.benkyo-page .benkyo-controls .controls-btn-group .nav-btn:active:not(:disabled){transform:scale(.97)}.benkyo-page .benkyo-controls .controls-btn-group .nav-btn:disabled{opacity:.4;cursor:not-allowed}.benkyo-page .benkyo-controls .controls-btn-group .nav-btn.primary-next{color:#fff;background:#0f93e0;border-color:#0f93e0;box-shadow:0 4px 14px #0f93e04d}.benkyo-page .benkyo-controls .controls-btn-group .nav-btn.primary-next:hover:not(:disabled){background:#0c7abf}.benkyo-page .benkyo-grid-section{background:var(--card-bg);border:1px solid var(--border);border-radius:20px;flex-direction:column;gap:12px;width:100%;padding:18px;display:flex;box-shadow:0 4px 16px #0000000a}@media (max-width:480px){.benkyo-page .benkyo-grid-section{border-radius:16px;padding:14px 12px}}.benkyo-page .benkyo-grid-section .grid-section-header{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.benkyo-page .benkyo-grid-section .grid-section-header .grid-title-group{flex-direction:column;min-width:0;display:flex}.benkyo-page .benkyo-grid-section .grid-section-header .grid-title-group .grid-title{color:var(--text-primary);white-space:nowrap;font-size:1rem;font-weight:800}@media (max-width:480px){.benkyo-page .benkyo-grid-section .grid-section-header .grid-title-group .grid-title{font-size:.9375rem}}.benkyo-page .benkyo-grid-section .grid-section-header .grid-title-group .grid-subtitle{color:var(--text-secondary);font-size:.75rem}@media (max-width:480px){.benkyo-page .benkyo-grid-section .grid-section-header .grid-title-group .grid-subtitle{display:none}}.benkyo-page .benkyo-grid-section .grid-section-header .grid-header-actions{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:6px;display:flex}.benkyo-page .benkyo-grid-section .grid-section-header .grid-sub-toggle-btn{color:#0f93e0;cursor:pointer;white-space:nowrap;background:#0f93e014;border:1px solid #0f93e033;border-radius:14px;align-items:center;gap:5px;padding:6px 12px;font-size:.75rem;font-weight:700;transition:all .2s;display:inline-flex}@media (max-width:480px){.benkyo-page .benkyo-grid-section .grid-section-header .grid-sub-toggle-btn{border-radius:10px;gap:3px;padding:5px 8px;font-size:.71875rem}}.benkyo-page .benkyo-grid-section .grid-section-header .grid-sub-toggle-btn:hover{background:#0f93e029;transform:translateY(-1px)}.benkyo-page .benkyo-grid-section .grid-section-header .grid-sub-toggle-btn:active{transform:scale(.96)}.benkyo-page .benkyo-grid-section .grid-section-header .grid-sub-toggle-btn.sound-type-btn.dakuon{color:#af52de;background:#af52de1a;border-color:#af52de40}.benkyo-page .benkyo-grid-section .grid-section-header .grid-sub-toggle-btn.sound-type-btn.dakuon:hover{background:#af52de2e}.benkyo-page .benkyo-grid-section .grid-section-header .grid-sub-toggle-btn.sound-type-btn.handakuon{color:#ff9500;background:#ff95001a;border-color:#ff950040}.benkyo-page .benkyo-grid-section .grid-section-header .grid-sub-toggle-btn.sound-type-btn.handakuon:hover{background:#ff95002e}.benkyo-page .benkyo-grid-section .kana-chart-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.benkyo-page .benkyo-grid-section .kana-chart-grid .chart-card{aspect-ratio:1;border:1px solid var(--border);cursor:pointer;background:#fafafa;border-radius:14px;justify-content:center;align-items:center;padding:6px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.benkyo-page .benkyo-grid-section .kana-chart-grid .chart-card.empty-card{cursor:default;pointer-events:none;opacity:.3;background:0 0;border:1px dashed #c8cdd766;box-shadow:none!important;transform:none!important}.benkyo-page .benkyo-grid-section .kana-chart-grid .chart-card:hover{background:#fff;border-color:#0f93e0;transform:translateY(-2px);box-shadow:0 4px 12px #0f93e026}.benkyo-page .benkyo-grid-section .kana-chart-grid .chart-card:hover .chart-char,.benkyo-page .benkyo-grid-section .kana-chart-grid .chart-card:hover .chart-romaji{color:#0f93e0}.benkyo-page .benkyo-grid-section .kana-chart-grid .chart-card .chart-char{color:var(--text-primary);pointer-events:none;margin:0;font-size:1.625rem;font-weight:800;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.benkyo-page .benkyo-grid-section .kana-chart-grid .chart-card .chart-romaji{color:var(--text-secondary);white-space:nowrap;pointer-events:none;font-size:.625rem;font-weight:700;line-height:1;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.benkyo-complete-content{text-align:center;flex-direction:column;align-items:center;padding:10px 0;display:flex}.benkyo-complete-content .trophy-badge{color:#ff9500;width:64px;height:64px;animation:bounce 1s cubic-bezier(.36, 0, .66, -.56) iteration-count(2);background:linear-gradient(135deg,#fff3d6,#ffe082);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;display:flex;box-shadow:0 6px 16px #ff950040}.benkyo-complete-content .complete-title{color:var(--text-primary);margin-bottom:6px;font-size:1.375rem;font-weight:900}.benkyo-complete-content .complete-desc{color:var(--text-secondary);margin-bottom:20px;font-size:.875rem;line-height:1.5}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}
