@font-face{font-family:Spoqa Han Sans Neo;font-style:normal;font-weight:100;font-display:swap;src:local("Spoqa Han Sans Neo Thin"),url(https://cdn.jsdelivr.net/npm/spoqa-han-sans@3.3.0/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Thin.woff2) format("woff2")}@font-face{font-family:Spoqa Han Sans Neo;font-style:normal;font-weight:400;font-display:swap;src:local("Spoqa Han Sans Neo Regular"),url(https://cdn.jsdelivr.net/npm/spoqa-han-sans@3.3.0/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Regular.woff2) format("woff2")}@font-face{font-family:Spoqa Han Sans Neo;font-style:normal;font-weight:500;font-display:swap;src:local("Spoqa Han Sans Neo Medium"),url(https://cdn.jsdelivr.net/npm/spoqa-han-sans@3.3.0/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Medium.woff2) format("woff2")}@font-face{font-family:Spoqa Han Sans Neo;font-style:normal;font-weight:700;font-display:swap;src:local("Spoqa Han Sans Neo Bold"),url(https://cdn.jsdelivr.net/npm/spoqa-han-sans@3.3.0/Subset/SpoqaHanSansNeo/SpoqaHanSansNeo-Bold.woff2) format("woff2")}.modumind-gabia{--mm-rail-width:72px;--mm-panel-width:380px;--mm-overlay-z:20;--mm-surface:#fff;--mm-surface-muted:#f7f9fc;--mm-border:#e5eaf2;--mm-text:#222831;--mm-text-muted:#666;--mm-text-caption:#999;--mm-primary:#3090d6;--mm-primary-strong:#1d7abd;--mm-shadow-panel:0 2px 8px rgba(15,23,42,.08);--mm-shadow-float:0 2px 10px rgba(15,23,42,.12);--mm-radius:4px;--mm-radius-pill:999px;--mm-touch:44px;--mm-font-sans:"Spoqa Han Sans Neo","Spoqa Han Sans","Malgun Gothic","맑은 고딕","Apple SD Gothic Neo","돋움",Dotum,sans-serif;--bs-body-bg:var(--mm-surface-muted);--bs-body-color:var(--mm-text);--bs-card-bg:var(--mm-surface);--bs-border-color:var(--mm-border);--bs-primary:var(--mm-primary);--bs-primary-rgb:48,144,214;--bs-secondary:#6c757d;--bs-success:#2b8a3e;--bs-font-sans-serif:var(--mm-font-sans);--bs-body-font-family:var(--mm-font-sans);font-family:var(--mm-font-sans);font-size:1rem;line-height:1.5;color-scheme:light}.modumind-gabia.mm-map-body,.modumind-gabia:has(.mm-map-app){overflow:hidden;height:100%}html:has(.mm-map-app),html:has(.mm-map-app) body{height:100%;overflow:hidden}.modumind-gabia .mm-map-app{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden;background:#eef2f7}.modumind-gabia .mm-map-stage{position:absolute;inset:0;z-index:1}.modumind-gabia .mm-map-stage .km-canvas,.modumind-gabia .mm-map-stage .roadmap-canvas{width:100%!important;height:100%!important;min-height:100%;border:none;border-radius:0}.modumind-gabia .mm-map-empty{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:2}.modumind-gabia .mm-map-empty__card{pointer-events:none;max-width:420px;padding:20px 24px;background:hsla(0,0%,100%,.92);border:1px solid var(--mm-border);border-radius:var(--mm-radius);box-shadow:var(--mm-shadow-float);text-align:center}.modumind-gabia .mm-map-ui{position:absolute;inset:0;z-index:var(--mm-overlay-z);pointer-events:none}.modumind-gabia .mm-map-ui *{pointer-events:auto}.modumind-gabia .mm-map-ui .mm-pass-through{pointer-events:none}.modumind-gabia .mm-side{position:absolute;top:0;left:0;bottom:0;display:flex;z-index:2;box-shadow:var(--mm-shadow-panel)}.modumind-gabia .mm-rail{width:var(--mm-rail-width);flex:0 0 var(--mm-rail-width);background:var(--mm-surface);border-right:1px solid var(--mm-border);padding:12px 0}.modumind-gabia .mm-rail,.modumind-gabia .mm-rail__brand{display:flex;flex-direction:column;align-items:center;gap:4px}.modumind-gabia .mm-rail__brand{width:100%;padding:8px 6px 16px;border-bottom:1px solid var(--mm-border);margin-bottom:8px;text-decoration:none;color:var(--mm-text)}.modumind-gabia .mm-rail__mark{width:36px;height:36px;border-radius:50%;background:var(--mm-primary);color:#fff;display:grid;place-items:center;font-size:14px;font-weight:700;letter-spacing:-.04em}.modumind-gabia .mm-rail__name{font-size:10px;line-height:1.2;text-align:center;color:var(--mm-text-muted)}.modumind-gabia .mm-rail__btn{width:56px;min-height:var(--mm-touch);border:none;background:transparent;border-radius:var(--mm-radius);color:var(--mm-text-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10px;padding:6px 4px}.modumind-gabia .mm-rail__btn i{font-size:18px;line-height:1}.modumind-gabia .mm-rail__btn:focus-visible,.modumind-gabia .mm-rail__btn:hover{background:var(--mm-surface-muted);color:var(--mm-primary-strong);outline:none}.modumind-gabia .mm-rail__btn.is-active{background:rgba(48,144,214,.12);color:var(--mm-primary-strong);font-weight:600}.modumind-gabia .mm-rail__spacer{flex:1 1}.modumind-gabia .mm-panel{width:var(--mm-panel-width);background:var(--mm-surface);border-right:1px solid var(--mm-border);display:flex;flex-direction:column;min-width:0;transition:width .2s ease,opacity .2s ease}.modumind-gabia .mm-side.is-collapsed .mm-panel{width:0;opacity:0;overflow:hidden;border-right:none}.modumind-gabia .mm-panel__header{padding:14px 16px 10px;border-bottom:1px solid var(--mm-border);flex:0 0 auto}.modumind-gabia .mm-panel__title{margin:0 0 10px;font-size:15px;font-weight:700;letter-spacing:-.02em}.modumind-gabia .mm-search{display:flex;align-items:stretch;gap:0;border:1px solid var(--mm-primary);border-radius:var(--mm-radius);overflow:hidden;background:#fff}.modumind-gabia .mm-search__input{flex:1 1;min-width:0;border:none;padding:10px 12px;font-size:14px;outline:none;min-height:var(--mm-touch)}.modumind-gabia .mm-search__input:disabled{background:#f3f5f8}.modumind-gabia .mm-search__submit{flex:0 0 auto;min-width:var(--mm-touch);min-height:var(--mm-touch);border:none;border-left:1px solid rgba(48,144,214,.25);background:rgba(48,144,214,.08);color:var(--mm-primary-strong);padding:0 12px;font-size:13px;font-weight:600}.modumind-gabia .mm-search__submit:focus-visible,.modumind-gabia .mm-search__submit:hover:not(:disabled){background:var(--mm-primary);color:#fff;outline:none}.modumind-gabia .mm-search__submit:disabled{opacity:.65}.modumind-gabia .mm-panel__body{flex:1 1;min-height:0;overflow:auto;padding:12px 12px 20px}.modumind-gabia .mm-panel__section-title{display:flex;align-items:center;justify-content:space-between;margin:4px 4px 10px;font-size:13px;font-weight:700}.modumind-gabia .mm-panel__hint{margin:0 4px 12px;font-size:12px;color:var(--mm-text-caption);line-height:1.45}.modumind-gabia .mm-panel__current{border-color:var(--mm-border);background:var(--mm-surface-muted)}.modumind-gabia .mm-rail__btn:disabled{opacity:.45;cursor:not-allowed}.modumind-gabia .mm-panel__error{margin:0 0 12px}.modumind-gabia .mm-history-card{position:relative;display:block;border:1px solid var(--mm-border);background:#fff;border-radius:var(--mm-radius);margin-bottom:8px;min-height:var(--mm-touch);overflow:hidden}.modumind-gabia .mm-history-card:focus-within,.modumind-gabia .mm-history-card:hover{border-color:rgba(48,144,214,.45)}.modumind-gabia .mm-history-card.is-active{border-color:var(--mm-primary);background:rgba(48,144,214,.08)}.modumind-gabia .mm-history-card__main{width:100%;border:none;background:transparent;text-align:left;padding:12px 44px 12px 12px;min-height:var(--mm-touch);color:inherit}.modumind-gabia .mm-history-card__main:focus-visible,.modumind-gabia .mm-history-card__main:hover{outline:none}.modumind-gabia .mm-history-card__main:disabled{opacity:.65;cursor:wait}.modumind-gabia .mm-history-card__delete{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:36px;height:36px;border:none;border-radius:var(--mm-radius);background:transparent;color:var(--mm-text-muted);display:inline-flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .15s ease,color .15s ease,background .15s ease}.modumind-gabia .mm-history-card:focus-within .mm-history-card__delete,.modumind-gabia .mm-history-card:hover .mm-history-card__delete{opacity:1;pointer-events:auto}.modumind-gabia .mm-history-card__delete:focus-visible,.modumind-gabia .mm-history-card__delete:hover{color:#c92a2a;background:rgba(201,42,42,.08);outline:none}@media (hover:none){.modumind-gabia .mm-history-card__delete{opacity:1;pointer-events:auto}}.modumind-gabia .mm-history-item__keyword{display:block;font-size:14px;font-weight:600;color:var(--mm-text)}.modumind-gabia .mm-history-item__title{display:block;margin-top:2px;font-size:12px;color:var(--mm-text-muted)}.modumind-gabia .mm-confirm{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:16px}.modumind-gabia .mm-confirm__backdrop{position:absolute;inset:0;border:none;padding:0;background:rgba(15,23,42,.35)}.modumind-gabia .mm-confirm__panel{position:relative;z-index:1;width:min(100%,360px);background:#fff;border:1px solid var(--mm-border);border-radius:var(--mm-radius);box-shadow:var(--mm-shadow-float);padding:20px}.modumind-gabia .mm-confirm__title{margin:0 0 8px;font-size:17px;font-weight:700;color:var(--mm-text)}.modumind-gabia .mm-confirm__message{margin:0 0 16px;font-size:14px;color:var(--mm-text-muted);line-height:1.5}.modumind-gabia .mm-confirm__actions{display:flex;gap:8px;justify-content:flex-end}.modumind-gabia .mm-confirm__actions .btn{min-width:88px}.modumind-gabia .mm-adopt-bar{display:flex;flex-direction:column;gap:12px;border:1px solid var(--mm-border);border-radius:var(--mm-radius);background:#fff;padding:12px;margin-bottom:12px}.modumind-gabia .mm-adopt-bar__label{min-width:0}.modumind-gabia .mm-adopt-bar__title{font-size:14px;font-weight:600;color:var(--mm-text)}.modumind-gabia .mm-adopt-bar__hint{margin-top:2px;font-size:12px;color:var(--mm-text-muted)}.modumind-gabia .mm-adopt-bar__btn{width:100%}.modumind-gabia .mm-panel-toggle{position:absolute;top:50%;right:-14px;transform:translateY(-50%);width:14px;height:56px;border:1px solid var(--mm-border);border-left:none;border-radius:0 var(--mm-radius) var(--mm-radius) 0;background:#fff;box-shadow:var(--mm-shadow-float);color:var(--mm-text-muted);display:grid;place-items:center;padding:0;z-index:3}.modumind-gabia .mm-panel-toggle:focus-visible,.modumind-gabia .mm-panel-toggle:hover{color:var(--mm-primary-strong);outline:none}.modumind-gabia .mm-float-top{position:absolute;top:16px;left:calc(var(--mm-rail-width) + var(--mm-panel-width) + 20px);right:16px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;transition:left .2s ease;z-index:2}.modumind-gabia .mm-back-btn{flex:0 0 auto;box-shadow:var(--mm-shadow-float)}.modumind-gabia .mm-chip--muted{background:rgba(247,249,252,.96);color:var(--mm-text-muted)}.modumind-gabia .mm-chip--muted .mm-chip__title{font-weight:500}.modumind-gabia .mm-map-app:has(.mm-side.is-collapsed) .mm-float-top,.modumind-gabia .mm-side.is-collapsed~.mm-float-top{left:calc(var(--mm-rail-width) + 20px)}.modumind-gabia .mm-chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:6px 12px;background:hsla(0,0%,100%,.96);border:1px solid var(--mm-border);border-radius:var(--mm-radius-pill);box-shadow:var(--mm-shadow-float);font-size:13px;color:var(--mm-text);max-width:min(100%,520px)}.modumind-gabia .mm-chip__title{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modumind-gabia .mm-chip__badge{flex:0 0 auto;font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--mm-radius-pill);background:rgba(48,144,214,.12);color:var(--mm-primary-strong)}.modumind-gabia .mm-chip__badge.is-cache{background:rgba(43,138,62,.12);color:#2b8a3e}.modumind-gabia .mm-float-progress{position:absolute;left:calc(var(--mm-rail-width) + var(--mm-panel-width) + 20px);right:16px;bottom:16px;max-width:360px;padding:12px 14px;background:hsla(0,0%,100%,.96);border:1px solid var(--mm-border);border-radius:var(--mm-radius);box-shadow:var(--mm-shadow-float);transition:left .2s ease;z-index:2}.modumind-gabia .mm-map-app:has(.mm-side.is-collapsed) .mm-float-progress{left:calc(var(--mm-rail-width) + 20px)}.modumind-gabia .mm-float-progress .progress{height:8px}.modumind-gabia .card,.modumind-gabia .phase-node{box-shadow:none}.modumind-gabia .phase-node{border-color:var(--bs-border-color)}.modumind-gabia .offcanvas{visibility:hidden;transition:transform .2s ease-in-out,visibility .2s ease-in-out}.modumind-gabia .offcanvas.show{visibility:visible}.modumind-gabia .mm-drawer__header-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding-right:8px}.modumind-gabia .mm-drawer__back{min-height:32px;text-decoration:none;color:var(--mm-primary-strong);font-weight:600}.modumind-gabia .mm-drawer__back:focus-visible,.modumind-gabia .mm-drawer__back:hover{color:var(--mm-primary)}.modumind-gabia .mm-drawer__summary{margin-bottom:12px;color:var(--mm-text);line-height:1.55}.modumind-gabia .mm-drawer__hint{margin-bottom:12px;font-size:13px;color:var(--mm-text-muted)}.modumind-gabia .mm-curriculum-card__body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto}.modumind-gabia .mm-curriculum-card__phase{font-size:12px;font-weight:600;color:var(--mm-primary-strong)}.modumind-gabia .mm-curriculum-list{gap:8px;display:flex;flex-direction:column}.modumind-gabia .mm-curriculum-card{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border:1px solid var(--mm-border)!important;border-radius:var(--mm-radius);padding:12px;background:#fff;min-height:var(--mm-touch)}.modumind-gabia .mm-curriculum-card--button{width:100%;text-align:left;color:var(--mm-text);cursor:pointer}.modumind-gabia .mm-curriculum-card--button:focus-visible,.modumind-gabia .mm-curriculum-card--button:hover{border-color:rgba(48,144,214,.45)!important;color:var(--mm-primary-strong);outline:none}.modumind-gabia .mm-curriculum-card--button:disabled{opacity:.6;cursor:wait}.modumind-gabia .mm-curriculum-card__text{flex:1 1 auto;font-size:14px;font-weight:600;line-height:1.45}.modumind-gabia .mm-curriculum-card__icon{flex:0 0 auto;margin-top:2px;color:var(--mm-primary)}.modumind-gabia .km-canvas{overflow:hidden;background:#f7f9fc}.modumind-gabia .km-canvas .react-flow__node{background:transparent;border:none;box-shadow:none;padding:0}.modumind-gabia .km-canvas .react-flow__edge-path{stroke:#9aa3af}.modumind-gabia .km-canvas .react-flow__edge-text{fill:#666;font-size:10px}.modumind-gabia .km-node{position:relative;display:inline-flex;align-items:center;min-height:44px}.modumind-gabia .km-node__handle{width:6px;height:6px;opacity:0;pointer-events:none;border:none;background:transparent}.modumind-gabia .km-node__hit{display:inline-flex;align-items:center;gap:8px;cursor:pointer;background:transparent;border:none;padding:0;text-align:left}.modumind-gabia .km-node__dot{flex:0 0 auto;border-radius:50%;background:#3a4450;box-shadow:0 0 0 1px hsla(0,0%,100%,.9)}.modumind-gabia .km-node__dot--phase1{background:#222831}.modumind-gabia .km-node__dot--phase2{background:#4a5563}.modumind-gabia .km-node__dot--phase3{background:#6b7280}.modumind-gabia .km-node--selected .km-node__dot{box-shadow:0 0 0 3px rgba(48,144,214,.45);background:#3090d6}.modumind-gabia .km-node__meta{display:flex;flex-direction:column;gap:1px;max-width:140px;line-height:1.25}.modumind-gabia .km-node__label{color:#333;font-size:12px;font-weight:600;letter-spacing:-.02em}.modumind-gabia .km-node__phase{color:#999;font-size:10px}.modumind-gabia .km-node--selected .km-node__label{color:#1d7abd}.modumind-gabia .km-canvas .react-flow__controls{box-shadow:var(--mm-shadow-float);border:1px solid var(--mm-border);border-radius:var(--mm-radius);overflow:hidden}.modumind-gabia .km-canvas .react-flow__controls-button{border:none;border-bottom:1px solid var(--mm-border);width:32px;height:32px;background:#fff}.modumind-gabia .mm-rail__divider{width:36px;height:1px;margin:8px auto;background:var(--mm-border)}.modumind-gabia .mm-rail-auth{position:relative;width:100%;display:flex;flex-direction:column;align-items:center;padding-bottom:8px}.modumind-gabia .mm-rail-auth__avatar{width:28px;height:28px;border-radius:50%;background:var(--mm-primary);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}.modumind-gabia .mm-rail-auth__menu{position:absolute;left:calc(100% + 8px);bottom:8px;width:220px;background:#fff;border:1px solid var(--mm-border);border-radius:var(--mm-radius);box-shadow:var(--mm-shadow-float);padding:8px;z-index:40}.modumind-gabia .mm-rail-auth__menu-email{font-size:12px;color:var(--mm-text-muted);padding:6px 8px 10px;border-bottom:1px solid var(--mm-border);margin-bottom:6px}.modumind-gabia .mm-rail-auth__menu-item{width:100%;border:none;background:transparent;text-align:left;padding:10px 8px;min-height:44px;border-radius:var(--mm-radius);color:var(--mm-text);font-size:13px}.modumind-gabia .mm-rail-auth__menu-item:focus-visible,.modumind-gabia .mm-rail-auth__menu-item:hover{background:var(--mm-surface-muted);outline:none}.modumind-gabia .mm-auth-dialog{position:fixed;inset:0;z-index:1080;display:grid;place-items:center;padding:16px}.modumind-gabia .mm-auth-dialog__backdrop{position:absolute;inset:0;border:none;background:rgba(15,23,42,.35);padding:0}.modumind-gabia .mm-auth-dialog__panel{position:relative;z-index:1;width:min(100%,380px);background:#fff;border:1px solid var(--mm-border);border-radius:var(--mm-radius);box-shadow:var(--mm-shadow-float);padding:16px}.modumind-gabia .mm-auth-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.modumind-gabia .mm-auth-dialog__title{margin:0;font-size:18px;font-weight:700}.modumind-gabia .mm-auth-dialog__close{width:36px;height:36px;border:none;background:transparent;border-radius:var(--mm-radius);color:var(--mm-text-muted)}.modumind-gabia .mm-auth-dialog__close:focus-visible,.modumind-gabia .mm-auth-dialog__close:hover{background:var(--mm-surface-muted);color:var(--mm-text);outline:none}.modumind-gabia .mm-auth-dialog__hint{margin:0 0 12px;font-size:12px;color:var(--mm-text-caption)}.modumind-gabia .mm-auth-dialog__switch{margin-top:8px;text-align:center}.modumind-gabia .mm-login{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(circle at top left,rgba(48,144,214,.12),transparent 42%),var(--mm-surface-muted)}.modumind-gabia .mm-login__card{width:min(100%,400px);background:#fff;border:1px solid var(--mm-border);border-radius:var(--mm-radius);box-shadow:var(--mm-shadow-float);padding:28px 24px}.modumind-gabia .mm-login__brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--mm-text);font-weight:700;font-size:14px;margin-bottom:20px}.modumind-gabia .mm-login__mark{width:36px;height:36px;border-radius:50%;background:var(--mm-primary);color:#fff;display:grid;place-items:center;font-size:14px}.modumind-gabia .mm-login__title{margin:0 0 8px;font-size:24px;font-weight:700;letter-spacing:-.02em}.modumind-gabia .mm-login__hint{margin:0 0 20px;font-size:13px;color:var(--mm-text-muted)}.modumind-gabia .mm-login__providers{display:grid;grid-gap:10px;gap:10px}.modumind-gabia .mm-login__btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;border-radius:var(--mm-radius);border:1px solid var(--mm-border);font-size:14px;font-weight:600;text-decoration:none}.modumind-gabia .mm-login__btn:disabled{opacity:.65}.modumind-gabia .mm-login__btn--google{background:#fff;color:#222831}.modumind-gabia .mm-login__btn--google:focus-visible,.modumind-gabia .mm-login__btn--google:hover:not(:disabled){border-color:#dadce0;background:#f8f9fa;outline:none}.modumind-gabia .mm-login__btn--kakao{background:#fee500;border-color:#fee500;color:#191919}.modumind-gabia .mm-login__btn--kakao:focus-visible,.modumind-gabia .mm-login__btn--kakao:hover:not(:disabled){filter:brightness(.97);outline:none}.modumind-gabia .mm-login__btn--naver{background:#03c75a;border-color:#03c75a;color:#fff}.modumind-gabia .mm-login__btn--naver:focus-visible,.modumind-gabia .mm-login__btn--naver:hover:not(:disabled){filter:brightness(.95);outline:none}.modumind-gabia .mm-login__btn--naver .bi{color:#fff}.modumind-gabia .mm-login__footnote{margin:18px 0 0;font-size:12px;color:var(--mm-text-caption);text-align:center;line-height:1.5}.modumind-gabia a.mm-rail__btn{text-decoration:none}@media (max-width:991.98px){.modumind-gabia{--mm-rail-width:56px;--mm-panel-width:min(100vw - 56px,340px)}.modumind-gabia .mm-float-progress,.modumind-gabia .mm-float-top{left:12px;right:12px}.modumind-gabia .mm-map-app:has(.mm-side.is-collapsed) .mm-float-progress,.modumind-gabia .mm-map-app:has(.mm-side.is-collapsed) .mm-float-top{left:calc(var(--mm-rail-width) + 12px)}.modumind-gabia .mm-rail__name{display:none}.modumind-gabia .mm-rail-auth__menu{left:8px;right:auto;bottom:calc(100% + 8px)}}