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}}
