body{color:#14181f;background:#f6f7f9;margin:0;font-family:Noto sans KR,-apple-system,Apple SD Gothic Neo,sans-serif}.home{background:#fff;flex-direction:column;min-height:100vh;display:flex}.home-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-height:72px;padding:0 40px;display:flex}.home-brand{color:inherit;align-items:center;gap:10px;font-size:18px;text-decoration:none;display:flex}.home-brand.small{font-size:16px}.home-brand-mark{flex-shrink:0;width:28px;height:28px}.home-brand.small .home-brand-mark{width:22px;height:22px}.home-nav{align-items:center;gap:8px;display:flex}.home-btn{box-sizing:border-box;color:#14181f;border:1px solid #8a93a2;border-radius:10px;justify-content:center;align-items:center;height:44px;padding:0 18px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.home-btn.primary{color:#fff;background:#2457d6;border-color:#2457d6;font-weight:700}.home-btn.primary:hover{background:#1b45ad}.home-btn.ghost{background:#fff;border-color:#d5dae2}.home-btn.ghost:hover{background:#f6f8fb}.home-btn.large{border-radius:12px;height:52px;padding:0 28px;font-size:16px}.home-btn:focus-visible{outline-offset:2px;outline:2px solid #2457d6}button.home-btn{cursor:pointer;background:#fff;gap:8px;padding:0 14px 0 18px;font-family:inherit}.home-menu-wrap{position:relative}.home-menu{z-index:10;box-sizing:border-box;background:#fff;border:1px solid #e3e6eb;border-radius:12px;flex-direction:column;gap:2px;width:240px;padding:6px;display:flex;position:absolute;top:52px;right:0;box-shadow:0 8px 24px #14181f1f}.home-menu a{color:#14181f;border-radius:8px;flex-direction:column;gap:2px;padding:12px 14px;text-decoration:none;display:flex}.home-menu a:hover{background:#f1f3f6}.home-menu a:focus-visible{outline-offset:-2px;outline:2px solid #2457d6}.home-menu strong{font-size:15px}.home-menu span{color:#5a6270;font-size:13px}.home-main{flex:1}.home-hero{box-sizing:border-box;text-align:center;background:radial-gradient(60% 70% at 50% 0,#2457d61a,#2457d600 70%);flex-direction:column;align-items:center;gap:24px;padding:96px 24px 80px;display:flex}.home-hero-badge{color:#2457d6;background:#eef3ff;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:700;animation:.6s ease-out both fade-up}.home-hero h1{letter-spacing:-.02em;word-break:keep-all;margin:0;font-size:clamp(30px,5.5vw,56px);font-weight:700;line-height:1.25;animation:.7s ease-out .1s both fade-up}.home-hero h1 .accent{color:#2457d6}.home-hero p{color:#5a6270;word-break:keep-all;max-width:520px;margin:0;font-size:18px;line-height:1.7;animation:.7s ease-out .2s both fade-up}.home-hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;animation:.7s ease-out .3s both fade-up;display:flex}.home-features{box-sizing:border-box;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1040px;margin:0 auto;padding:0 24px 96px;display:grid}.home-feature{background:#fff;border:1px solid #e3e6eb;border-radius:16px;padding:28px;transition:transform .2s,box-shadow .2s}.home-feature:hover{transform:translateY(-4px);box-shadow:0 12px 28px #14181f14}.home-feature-icon{color:#2457d6;background:#eef3ff;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:20px;display:flex}.home-feature-icon svg{width:24px;height:24px}.home-feature h2{margin:0 0 8px;font-size:19px;font-weight:700}.home-feature p{color:#5a6270;word-break:keep-all;margin:0;font-size:15px;line-height:1.7}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.home-footer{background:#fff;border-top:1px solid #e3e6eb;padding:40px}.home-footer-top{flex-wrap:wrap;justify-content:space-between;gap:24px 40px;max-width:1040px;margin:0 auto;display:flex}.home-footer-info{flex-direction:column;gap:12px;display:flex}.home-footer-info p{color:#5a6270;margin:0;font-size:14px;line-height:1.6}.home-footer-links{flex-wrap:wrap;align-items:flex-start;gap:12px 24px;display:flex}.home-footer-links a{color:#5a6270;font-size:14px;text-decoration:none}.home-footer-links a:hover{color:#14181f;text-decoration:underline}.home-copy{color:#5a6270;border-top:1px solid #e3e6eb;max-width:1040px;margin:24px auto 0;padding-top:20px;font-size:13px}@media (width<=900px){.home-features{grid-template-columns:1fr}}@media (width<=600px){.home-header{padding:0 20px}.home-hero{padding:64px 20px 56px}.home-hero p{font-size:16px}.home-hero-actions{flex-direction:column;width:100%}.home-features{padding:0 20px 64px}.home-footer{padding:32px 20px}}@media (prefers-reduced-motion:reduce){.home-hero-badge,.home-hero h1,.home-hero p,.home-hero-actions{animation:none}.home-feature{transition:none}}.auth-page{flex-direction:column;min-height:100vh;display:flex}.auth-header{align-items:center;gap:10px;min-height:72px;padding:0 40px;font-size:18px;display:flex}.brand-link{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.brand-link:focus-visible{outline-offset:4px;border-radius:6px;outline:2px solid #2457d6}.brand-mark{flex-shrink:0;width:28px;height:28px}.auth-main{flex:1;justify-content:center;align-items:flex-start;padding:24px 24px 80px;display:flex}.auth-card{box-sizing:border-box;background:#fff;border:1px solid #e3e6eb;border-radius:16px;flex-direction:column;gap:22px;width:100%;max-width:400px;padding:40px;display:flex}.auth-card.wide{max-width:440px}.auth-head{flex-direction:column;gap:8px;display:flex}.auth-head h1{margin:0;font-size:26px;font-weight:700}.auth-head p{color:#5a6270;margin:0;font-size:15px;line-height:1.6}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:14px;font-weight:600}.field input{box-sizing:border-box;height:48px;font:inherit;color:#14181f;background:#fff;border:1px solid #8a93a2;border-radius:10px;padding:0 14px;font-size:16px}.field input:focus,.check input:focus-visible{outline-offset:1px;outline:2px solid #2457d6}.hint{color:#5a6270;font-size:13px}.check{align-items:center;gap:10px;font-size:14px;line-height:1.5;display:flex}.check input{accent-color:#2457d6;width:20px;height:20px;margin:0}.error{color:#c62828;min-height:20px;margin:0;font-size:14px}.notice{color:#1b45ad;background:#e8eefc;border-radius:10px;margin:0;padding:12px 14px;font-size:14px}.btn-primary{color:#fff;height:52px;font:inherit;cursor:pointer;background:#2457d6;border:0;border-radius:10px;font-size:16px;font-weight:700}.btn-primary:hover{background:#1b45ad}.btn-primary:disabled{opacity:.6;cursor:default}.btn-primary:focus-visible{outline-offset:2px;outline:2px solid #2457d6}.auth-foot{text-align:center;color:#5a6270;margin:0;font-size:14px}.auth-foot a{color:#2457d6;font-weight:600}.auth-foot.alt{border-top:1px solid #e3e6eb;margin-top:-8px;padding-top:20px}.stu-page{flex-direction:column;min-height:100vh;display:flex}.stu-header{background:#fff;border-bottom:1px solid #e3e6eb;justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding:0 40px;display:flex}.stu-brand{color:inherit;align-items:center;gap:10px;font-size:18px;text-decoration:none;display:flex}.stu-brand:focus-visible{outline-offset:4px;border-radius:6px;outline:2px solid #2457d6}.stu-brand-mark{flex-shrink:0;width:28px;height:28px}.stu-nav{flex:1;align-items:center;gap:4px;display:flex}.stu-tab{color:#5a6270;border-radius:8px;padding:8px 14px;font-size:15px;font-weight:600;text-decoration:none}a.stu-tab:hover{color:#14181f;background:#f1f3f6}.stu-tab.active{color:#2457d6;background:#eef3ff}.stu-tab.disabled{color:#a3abb8;cursor:not-allowed}.stu-tab:focus-visible{outline-offset:2px;outline:2px solid #2457d6}.stu-main{box-sizing:border-box;flex-direction:column;gap:24px;width:100%;max-width:1040px;margin:0 auto;padding:40px 24px 80px;display:flex}.stu-welcome{background:linear-gradient(135deg,#eef3ff 0%,#f8faff 100%);border:1px solid #dbe5fb;border-radius:20px;justify-content:space-between;align-items:center;gap:24px;padding:36px 40px;display:flex}.stu-welcome h1{word-break:keep-all;margin:0 0 8px;font-size:24px;font-weight:700;line-height:1.4}.stu-welcome p{color:#5a6270;word-break:keep-all;margin:0;font-size:15px;line-height:1.7}.stu-btn{color:#fff;height:48px;font:inherit;cursor:pointer;background:#2457d6;border:0;border-radius:12px;flex-shrink:0;padding:0 24px;font-size:16px;font-weight:700}.stu-btn:hover:not(:disabled){background:#1b45ad}.stu-btn:disabled{cursor:not-allowed;background:#b9c4de}.stu-grid{grid-template-columns:3fr 2fr;gap:20px;display:grid}.stu-card{background:#fff;border:1px solid #e3e6eb;border-radius:16px;padding:28px}.stu-card-head{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.stu-card-head h2{margin:0;font-size:18px;font-weight:700}.stu-empty{text-align:center;border:1px dashed #c9cfd8;border-radius:12px;padding:40px 16px}.stu-empty strong{font-size:16px}.stu-empty p{color:#5a6270;word-break:keep-all;margin:8px 0 0;font-size:14px;line-height:1.6}@media (width<=800px){.stu-grid{grid-template-columns:1fr}.stu-welcome{flex-direction:column;align-items:stretch;padding:28px 24px}}@media (width<=600px){.stu-header{padding:0 20px}.stu-main{padding:24px 20px 96px}.stu-nav{z-index:20;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e3e6eb;justify-content:space-around;position:fixed;bottom:0;left:0;right:0}.stu-tab{text-align:center;flex:1;font-size:14px}}.pm-wrap{position:relative}.pm-trigger{font:inherit;color:#14181f;cursor:pointer;background:#fff;border:1px solid #e3e6eb;border-radius:999px;align-items:center;gap:10px;padding:6px 12px 6px 6px;font-size:14px;font-weight:600;display:flex}.pm-trigger:hover{background:#f6f8fb}.pm-trigger.open{border-color:#2457d6;box-shadow:0 0 0 3px #e3ebfc}.pm-trigger:focus-visible{outline-offset:2px;outline:2px solid #2457d6}.pm-chevron{color:#5a6270;transition:transform .15s}.pm-trigger.open .pm-chevron{transform:rotate(180deg)}.pm-avatar{color:#fff;background:#2457d6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.pm-avatar.lg{width:48px;height:48px;font-size:18px}.pm-backdrop{display:none}.pm-menu{z-index:30;box-sizing:border-box;background:#fff;border:1px solid #e3e6eb;border-radius:16px;flex-direction:column;width:288px;padding:8px;display:flex;position:absolute;top:52px;right:0;box-shadow:0 12px 32px #14181f24}.pm-who{align-items:center;gap:12px;padding:12px 12px 14px;display:flex}.pm-who div strong{font-size:16px;display:block}.pm-who div span{color:#5a6270;font-size:13px}.pm-mode{color:#2457d6;background:#eef3ff;border-radius:8px;align-self:flex-start;margin:0 4px 8px;padding:5px 10px;font-size:12px;font-weight:700}.pm-item{box-sizing:border-box;width:100%;font:inherit;color:#14181f;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:11px 12px;font-size:15px;text-decoration:none;display:flex}.pm-item svg{color:#5a6270;flex-shrink:0;width:20px;height:20px}.pm-item small{color:#8a93a2;margin-left:auto;font-size:12px}.pm-item:hover:not(:disabled){background:#f1f3f6}.pm-item:focus-visible{outline-offset:-2px;outline:2px solid #2457d6}.pm-item:disabled{color:#a3abb8;cursor:not-allowed}.pm-item:disabled svg{color:#c3c9d3}.pm-item.switch{background:#fafbff}.pm-item.danger,.pm-item.danger svg{color:#c62828}.pm-sep{background:#e3e6eb;height:1px;margin:6px 4px}@media (width<=600px){.pm-name,.pm-chevron{display:none}.pm-trigger{padding:3px}.pm-backdrop{z-index:29;background:#14181f59;display:block;position:fixed;inset:0}.pm-menu{z-index:30;width:auto;padding:16px 16px calc(24px + env(safe-area-inset-bottom));border:0;border-radius:20px 20px 0 0;position:fixed;inset:auto 0 0;box-shadow:0 -8px 32px #14181f2e}}.ins-title{align-items:center;gap:12px;display:flex}.ins-title h1{margin:0;font-size:22px;font-weight:700}.ins-count{color:#5a6270;background:#f1f3f7;border-radius:99px;padding:4px 11px;font-size:13px;font-weight:600}.ins-new{color:#fff;height:42px;font:inherit;cursor:pointer;background:#2457d6;border:0;border-radius:10px;margin-left:auto;padding:0 18px;font-size:14px;font-weight:700}.ins-new:hover:not(:disabled){background:#1b45ad}.ins-new:disabled{cursor:not-allowed;background:#b9c4de}.ins-msg{text-align:center;color:#8a919c;margin:40px 0;font-size:15px}.ins-hint{color:#8a6200;background:#fff9e6;border:1px solid #f6e3a6;border-radius:10px;margin:0;padding:10px 14px;font-size:13px}.ins-card{background:#fff;border:1px solid #e3e6eb;border-radius:14px;align-items:center;gap:16px;padding:18px;display:flex}.ins-thumb{color:#2457d6;background:#eef3ff;border-radius:14px;flex:none;place-items:center;width:60px;height:60px;font-size:24px;font-weight:800;display:grid}.ins-info{flex:1;min-width:0}.ins-info h2{text-overflow:ellipsis;white-space:nowrap;margin:0 0 8px;font-size:17px;font-weight:700;overflow:hidden}.ins-badges{flex-wrap:wrap;gap:5px;display:flex}.ins-bd{color:#2457d6;background:#eef3ff;border-radius:6px;padding:2px 8px;font-size:11.5px;font-weight:600}.ins-ghost{color:#3a4150;border:1px solid #e3e6eb;border-radius:9px;flex:none;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none}.ins-ghost:hover{color:#2457d6;border-color:#2457d6}@media (width<=600px){.ins-title{flex-wrap:wrap}.ins-new{order:3;width:100%;margin-left:0}.ins-card{flex-wrap:wrap}.ins-thumb{width:48px;height:48px;font-size:20px}.ins-ghost{text-align:center;width:100%}}.find{align-items:center;display:flex;position:relative}.find>:where(button){font:inherit;cursor:pointer;color:inherit;background:0 0;border:0}.find>.stu-tab:hover{color:#14181f;background:#f1f3f6}.find>.stu-tab[aria-expanded=true]{color:#2457d6;background:#eef3ff}.find-caret{opacity:.7;margin-left:2px;font-size:11px}.find-backdrop,.find-grab{display:none}.find-panel{z-index:40;text-align:left;color:#14181f;cursor:default;background:#fff;border:1px solid #e3e6eb;border-radius:16px;flex-direction:column;width:580px;max-height:min(640px,100vh - 100px);padding:18px;animation:.15s ease-out find-in;display:flex;position:absolute;top:calc(100% + 8px);left:-20px;box-shadow:0 18px 50px #14181f29}@keyframes find-in{0%{opacity:0;transform:translateY(-6px)}}.find-search{color:#8a919c;border:2px solid #e3e6eb;border-radius:12px;flex:none;align-items:center;gap:10px;height:48px;padding:0 8px 0 14px;display:flex}.find-search:focus-within{color:#2457d6;border-color:#2457d6;box-shadow:0 0 0 4px #eef3ff}.find-search input{min-width:0;font:inherit;color:#14181f;background:0 0;border:0;outline:0;flex:1;font-size:15px}.find-search button{color:#fff;font:inherit;cursor:pointer;background:#2457d6;border:0;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600}.find-search button:hover{background:#1b45ad}.find-recent{color:#8a919c;flex-wrap:wrap;flex:none;align-items:center;gap:8px;margin-top:12px;font-size:12px;display:flex}.find-chip{background:#f1f3f7;border-radius:99px;display:inline-flex;overflow:hidden}.find-chip button{font:inherit;color:#5a6270;cursor:pointer;background:0 0;border:0;padding:5px 4px 5px 11px;font-size:13px}.find-chip button:last-child{color:#8a919c;padding:5px 10px 5px 2px;font-size:11px}.find-sec{flex:none;margin:16px 2px 10px;font-size:14px}.find-list{min-height:0;margin:0 -4px;padding:0 4px 2px;overflow-y:auto}.find-card{color:inherit;cursor:pointer;border:1px solid #e3e6eb;border-radius:12px;align-items:center;gap:14px;margin-bottom:10px;padding:14px;text-decoration:none;display:flex}.find-card:hover{background:#f8faff;border-color:#2457d6}.find-card:focus-visible{outline-offset:2px;outline:2px solid #2457d6}.find-thumb{color:#2457d6;background:#eef3ff;border-radius:12px;flex:none;place-items:center;width:52px;height:52px;font-size:20px;font-weight:800;display:grid}.find-info{flex:1;min-width:0}.find-info h4{text-overflow:ellipsis;white-space:nowrap;margin:0 0 3px;font-size:15px;font-weight:700;overflow:hidden}.find-info p{color:#5a6270;text-overflow:ellipsis;white-space:nowrap;margin:0 0 7px;font-size:13px;overflow:hidden}.find-badges{flex-wrap:wrap;gap:5px;display:flex}.find-bd{color:#2457d6;background:#eef3ff;border-radius:6px;padding:2px 8px;font-size:11.5px;font-weight:600}.find-bd.y{color:#8a6200;background:#fff6dc}.find-skel{background:linear-gradient(90deg,#f1f3f7,#e8ebf1,#f1f3f7) 0 0/200% 100%;border-radius:12px;height:82px;margin-bottom:10px;animation:1.2s infinite find-shimmer}@keyframes find-shimmer{to{background-position:-200% 0}}.find-empty{text-align:center;color:#8a919c;margin:28px 0;font-size:14px}@media (width<=600px){.find,.find>.stu-tab{flex:1}.find-backdrop{z-index:39;background:#14181f66;display:block;position:fixed;inset:0}.find-panel{width:auto;max-height:none;box-shadow:none;border:0;border-radius:22px 22px 0 0;padding:10px 16px 16px;animation:.2s ease-out find-up;position:fixed;inset:70px 0 0}.find-grab{background:#d3d7de;border-radius:9px;width:40px;height:4px;margin:0 auto 12px;display:block}}@keyframes find-up{0%{opacity:0;transform:translateY(40px)}}@media (prefers-reduced-motion:reduce){.find-panel,.find-skel{animation:none}}.ld-back{color:#5a6270;align-self:flex-start;font-size:14px;text-decoration:none}.ld-back:hover{color:#2457d6}.ld-msg{text-align:center;color:#8a919c;margin:60px 0;font-size:15px}.ld{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:32px;display:grid}.ld-head{align-items:center;gap:16px;margin-bottom:14px;display:flex}.ld-thumb{color:#2457d6;background:#eef3ff;border-radius:16px;flex:none;place-items:center;width:64px;height:64px;font-size:26px;font-weight:800;display:grid}.ld-head h1{word-break:keep-all;margin:0 0 4px;font-size:26px;font-weight:700}.ld-sub{color:#5a6270;margin:0;font-size:14px}.ld-desc{color:#3a4150;white-space:pre-wrap;word-break:keep-all;margin:6px 0 22px;font-size:15px;line-height:1.75}.ld-sec{border-top:1px solid #e3e6eb;padding:20px 0}.ld-sec h2{margin:0 0 12px;font-size:15px;font-weight:700}.ld-row{flex-wrap:wrap;gap:10px;display:flex}.ld-pill{border:1px solid #e3e6eb;border-radius:10px;padding:9px 14px;font-size:14px}.ld-pill b{color:#2457d6;background:#eef3ff;border-radius:5px;margin-right:6px;padding:2px 7px;font-size:12px}.ld-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.ld-day{text-align:center;color:#a3abb8;border:1px solid #e3e6eb;border-radius:10px;min-height:78px;padding:10px 6px;font-size:12.5px;line-height:1.5}.ld-day strong{color:#14181f;margin-bottom:6px;font-size:13px;display:block}.ld-day.on{color:#2457d6;background:#f8faff;border-color:#2457d6}.ld-day span{display:block}.ld-day span+span{margin-top:6px}.ld-side{background:#fff;border:1px solid #e3e6eb;border-radius:16px;padding:24px;position:sticky;top:24px;box-shadow:0 8px 30px #14181f0f}.ld-side-price span{color:#5a6270;font-size:13px;display:block}.ld-side-price strong{margin:2px 0 14px;font-size:28px;font-weight:800;display:block}.ld-prices{color:#3a4150;border-top:1px solid #e3e6eb;margin:0;padding:0;font-size:14px;list-style:none}.ld-prices li{border-bottom:1px solid #f1f3f7;justify-content:space-between;padding:11px 0;display:flex}.ld-prices li span{color:#5a6270}.ld-apply{width:100%;height:50px;margin-top:18px}.ld-note{text-align:center;color:#8a919c;margin:10px 0 0;font-size:12px}@media (width<=800px){.ld{grid-template-columns:1fr}.ld-side{position:static}}@media (width<=600px){.ld-head h1{font-size:20px}.ld-thumb{width:52px;height:52px;font-size:20px}.ld-desc{font-size:14px}.ld-week{gap:4px}.ld-day{min-height:64px;padding:8px 0;font-size:11px}.ld-side{z-index:19;left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom));box-shadow:none;border:0;border-top:1px solid #e3e6eb;border-radius:0;align-items:center;gap:14px;padding:12px 16px;display:flex;position:fixed}.ld-side-price{flex:none}.ld-side-price strong{margin:0;font-size:18px}.ld-prices,.ld-note{display:none}.ld-apply{flex:1;width:auto;height:46px;margin:0}.ld{padding-bottom:72px}}
