:root{--forest-950:#06251c;--forest-900:#0b3d2e;--forest-800:#0f4c3a;--forest-700:#146348;--emerald-600:#0f9d63;--emerald-500:#17b378;--emerald-400:#34d399;--emerald-100:#d8f5e7;--emerald-50:#f0fbf6;--bg-page:#f3f7f5;--bg-card:#fff;--bg-card-alt:#f6faf8;--border-subtle:#e0e9e5;--border-strong:#c3dbd0;--text-primary:#10241c;--text-secondary:#4a615a;--text-muted:#7d928a;--text-on-dark:#f2fbf7;--color-danger:#b3261e;--color-danger-bg:#fbebea;--color-danger-border:#f0c9c6;--color-warning:#92620a;--color-warning-bg:#fbf1de;--color-warning-border:#edd9a8;--color-info:#1e5aa8;--color-info-bg:#e9f1fb;--color-info-border:#bdd7f3;--color-success:#0c7a3d;--color-success-bg:#e5f6ec;--color-success-border:#b7e2c6;--noul-color:#0e8a6f;--noul-bg:#e3f5f0;--noul-border:#b9e5d8;--choice-color:#2a5fc2;--choice-bg:#e8eefb;--choice-border:#c3d4f4;--score-color:#a3630a;--score-bg:#faf0dd;--score-border:#eed6a4;--font-sans:"Pretendard Variable", "Pretendard", "Apple SD Gothic Neo", "Malgun Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:15px;--fs-lg:17px;--fs-xl:20px;--fs-2xl:24px;--lh-tight:1.25;--lh-normal:1.55;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-sm:7px;--radius-md:10px;--radius-lg:16px;--shadow-card:0 1px 2px #09281e0f, 0 1px 1px #09281e0a;--shadow-raised:0 4px 12px #09281e1a, 0 2px 4px #09281e0f;--shadow-elevated:0 12px 32px #09281e2e, 0 4px 10px #09281e14;--focus-ring:0 0 0 3px #17b37859;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg-page);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;padding:0}#root{min-height:100vh}button,input,select,textarea{font-family:inherit}a{color:inherit}h1,h2,h3,h4{line-height:var(--lh-tight);letter-spacing:-.01em}:focus{outline:none}:focus-visible{outline:2px solid var(--emerald-500);outline-offset:2px;border-radius:4px}.tabular-nums{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{background:linear-gradient(160deg, var(--forest-950), var(--forest-800) 65%, var(--forest-700));color:var(--text-on-dark);padding:var(--space-3) var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-4);z-index:20;box-shadow:var(--shadow-elevated);border-bottom:1px solid #ffffff14;flex-wrap:wrap;display:flex;position:sticky;top:0}.app-header__brand{align-items:center;gap:var(--space-3);display:flex}.app-header__mark{background:linear-gradient(155deg, var(--emerald-400), var(--emerald-600));width:34px;height:34px;color:var(--forest-950);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 1px 2px #00000040,0 2px 6px #00000040}.app-header__text{flex-direction:column;gap:1px;display:flex}.app-header__title{font-size:var(--fs-xl);letter-spacing:-.015em;font-weight:800}.app-header__subtitle{font-size:var(--fs-xs);color:#f2fbf7b8;letter-spacing:.01em}.app-header__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.mode-toggle{background:#ffffff1a;border:1px solid #ffffff1f;border-radius:999px;gap:2px;padding:3px;display:inline-flex}.mode-toggle__btn{color:var(--text-on-dark);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:7px 14px;font-weight:600;transition:background .15s,color .15s}.mode-toggle__btn:hover:not(.is-active){background:#ffffff14}.mode-toggle__btn.is-active{background:var(--emerald-400);color:var(--forest-950)}.btn{border-radius:var(--radius-md);font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-weight:600;transition:filter .12s,transform 50ms,background .12s,box-shadow .12s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.48;cursor:not-allowed}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn-primary{background:linear-gradient(155deg, var(--emerald-500), var(--emerald-600));color:#06281c;box-shadow:0 1px 2px #09281e26,0 2px 5px #0f9d6347}.btn-primary:hover:not(:disabled){filter:brightness(1.04)}.btn-secondary{background:var(--bg-card);color:var(--forest-800);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--emerald-50);border-color:var(--emerald-500)}.btn-ghost{color:var(--text-on-dark);background:0 0;border-color:#ffffff52}.btn-ghost:hover:not(:disabled){background:#ffffff1f}.btn-danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-border)}.btn-danger:hover:not(:disabled){filter:brightness(.97)}.btn-sm{font-size:var(--fs-xs);padding:5px 11px}.app-main{width:100%;max-width:1280px;padding:var(--space-6);gap:var(--space-5);flex-direction:column;flex:1;margin:0 auto;display:flex}@media (width<=720px){.app-main{padding:var(--space-3);gap:var(--space-3)}.app-header{padding:var(--space-2) var(--space-3)}}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-5)}.card-title{font-size:var(--fs-lg);color:var(--forest-900);letter-spacing:-.01em;margin:0 0 4px;font-weight:700}.card-subtitle{font-size:var(--fs-sm);color:var(--text-secondary);margin:0 0 var(--space-4)}.notice-banner{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--fs-sm);gap:var(--space-2);line-height:var(--lh-normal);align-items:flex-start;display:flex}.notice-banner svg{flex-shrink:0;margin-top:1px}.notice-banner.info{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info)}.notice-banner.danger{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger)}.grid{gap:var(--space-4);display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-5{grid-template-columns:repeat(5,1fr)}@media (width<=900px){.grid-3,.grid-4,.grid-5{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr}}.stat-tile{background:var(--bg-card-alt);border:1px solid var(--border-subtle);border-left:3px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.stat-tile__label{font-size:var(--fs-xs);color:var(--text-secondary);margin-bottom:6px;font-weight:500}.stat-tile__value{font-size:var(--fs-2xl);color:var(--forest-900);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-weight:650}.stat-tile__value.danger{color:var(--color-danger)}.stat-tile__value.warning{color:var(--color-warning)}.badge{font-size:var(--fs-xs);letter-spacing:.01em;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-weight:600;line-height:1.7;display:inline-flex}.badge svg{flex-shrink:0}.badge-noul{background:var(--noul-bg);color:var(--noul-color);border-color:var(--noul-border)}.badge-choice{background:var(--choice-bg);color:var(--choice-color);border-color:var(--choice-border)}.badge-score{background:var(--score-bg);color:var(--score-color);border-color:var(--score-border)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-border)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning);border-color:var(--color-warning-border)}.badge-neutral{color:var(--text-secondary);border-color:var(--border-subtle);background:#eef2f0}.badge-success{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-border)}.form-row{margin-bottom:var(--space-4);flex-direction:column;gap:6px;display:flex}.form-row label{font-size:var(--fs-sm);color:var(--forest-900);font-weight:600}.form-hint{font-size:var(--fs-xs);color:var(--text-muted)}.form-row input[type=text],.form-row input[type=password],.form-row input[type=number],.form-row select,.form-row textarea{border:1px solid var(--border-strong);border-radius:var(--radius-md);font-size:var(--fs-base);background:var(--bg-card);color:var(--text-primary);width:100%;padding:9px 11px;transition:border-color .12s,box-shadow .12s}.form-row input:focus-visible,.form-row select:focus-visible,.form-row textarea:focus-visible{border-color:var(--emerald-500);box-shadow:var(--focus-ring);outline:none}.key-input-row{gap:var(--space-2);align-items:center;display:flex}.key-input-row>div{flex:1}table.data-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}table.data-table th{text-align:left;background:var(--bg-card-alt);color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;padding:9px 10px;font-size:11px;font-weight:700}table.data-table td{border-bottom:1px solid var(--border-subtle);vertical-align:top;padding:9px 10px}table.data-table tr.is-selected td{background:var(--emerald-50)}table.data-table tr{cursor:pointer;transition:background .1s}table.data-table tr:hover td{background:var(--bg-card-alt)}table.data-table tr:last-child td{border-bottom:none}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius-lg);text-align:center;background:var(--bg-card-alt);padding:40px 20px;transition:border-color .15s,background .15s}.dropzone.is-dragover{border-color:var(--emerald-500);background:var(--emerald-50)}.filters-bar{gap:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.filters-bar .form-row{min-width:140px;margin-bottom:0}.progress-bar{background:var(--border-subtle);border-radius:999px;height:8px;overflow:hidden}.progress-bar__fill{background:linear-gradient(90deg, var(--emerald-500), var(--emerald-400));height:100%;transition:width .2s}.two-col{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (width<=900px){.two-col{grid-template-columns:1fr}}.tabs{border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-4);flex-wrap:wrap;gap:2px;display:flex}.tabs button{font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:9px 14px;font-weight:600;transition:color .12s,border-color .12s}.tabs button:hover{color:var(--forest-800)}.tabs button.is-active{color:var(--forest-800);border-bottom-color:var(--emerald-500)}.modal-backdrop{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);padding:var(--space-6);z-index:50;background:#06251c6b;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-panel{background:var(--bg-card);border-radius:var(--radius-lg);width:100%;max-width:640px;padding:var(--space-6);box-shadow:var(--shadow-elevated);border:1px solid var(--border-subtle);margin-top:20px}.modal-panel__header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.pill-select{flex-wrap:wrap;gap:6px;display:inline-flex}.pill-select button{border:1px solid var(--border-strong);background:var(--bg-card);font-size:var(--fs-xs);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:6px 13px;font-weight:600;transition:background .12s,color .12s,border-color .12s}.pill-select button:hover{border-color:var(--emerald-500)}.pill-select button.is-active{background:var(--forest-800);border-color:var(--forest-800);color:#fff}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.icon{line-height:1;display:inline-block}.learning-banner{background:linear-gradient(135deg, var(--emerald-50), var(--bg-card));border:1px solid var(--border-strong);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.concept-cards{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (width<=900px){.concept-cards{grid-template-columns:1fr}}.concept-card{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-card);box-shadow:var(--shadow-card);flex-direction:column;gap:10px;padding:18px;display:flex}.concept-card.type-noul{border-top:4px solid var(--noul-color)}.concept-card.type-choice{border-top:4px solid var(--choice-color)}.concept-card.type-score{border-top:4px solid var(--score-color)}.concept-card__icon{font-size:26px}.concept-card__title{font-size:16px;font-weight:800}.concept-card__desc{color:var(--text-secondary);font-size:13.5px;line-height:1.5}.concept-card__example{background:var(--bg-card-alt);border-radius:var(--radius-md);padding:10px 12px;font-size:12.5px}.summary-strip{text-align:center;color:var(--forest-800);background:var(--emerald-50);border-radius:var(--radius-md);padding:12px;font-size:14px;font-weight:700}.question-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-card);margin-bottom:10px;overflow:hidden}.question-card__header{cursor:pointer;background:var(--bg-card-alt);align-items:center;gap:10px;padding:12px 14px;display:flex}.question-card__header:hover{filter:brightness(.98)}.question-card__title{flex:1;font-size:14px;font-weight:700}.question-card__body{flex-direction:column;gap:10px;padding:14px;font-size:13.5px;line-height:1.6;display:flex}.question-card__criteria{flex-direction:column;gap:4px;display:flex}.question-card__criteria-item{gap:8px;font-size:13px;display:flex}.question-card__criteria-item b{color:var(--forest-800);flex-shrink:0;min-width:110px}.flow-diagram{align-items:stretch;gap:10px;padding-bottom:6px;display:flex;overflow-x:auto}.flow-diagram__step{background:var(--bg-card-alt);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;flex:1;gap:4px;min-width:150px;padding:12px;display:flex}.flow-diagram__step-num{background:var(--forest-800);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:flex}.flow-diagram__step-title{font-size:13.5px;font-weight:700}.flow-diagram__step-desc{color:var(--text-secondary);font-size:12px}.flow-diagram__arrow{color:var(--border-strong);align-items:center;font-size:20px;display:flex}@media (width<=720px){.flow-diagram{flex-direction:column}.flow-diagram__arrow{align-self:center;transform:rotate(90deg)}}.prob-bar-row{align-items:center;gap:8px;margin-bottom:5px;font-size:12.5px;display:flex}.prob-bar-row__label{width:96px;color:var(--text-secondary);text-align:right;flex-shrink:0}.prob-bar-row__track{background:var(--bg-card-alt);border:1px solid var(--border-subtle);border-radius:999px;flex:1;height:10px;overflow:hidden}.prob-bar-row__fill{background:linear-gradient(90deg, var(--choice-color), #4fb3e6);height:100%}.prob-bar-row__fill.score{background:linear-gradient(90deg, var(--score-color), #e0b45c)}.prob-bar-row__value{width:44px;color:var(--forest-900);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:700}.explain-callout{background:var(--emerald-50);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--forest-900);padding:12px 14px;font-size:13px;line-height:1.55}.json-view{color:#d9f5e6;border-radius:var(--radius-md);white-space:pre-wrap;word-break:break-word;background:#0b241a;padding:14px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12.5px;line-height:1.6;overflow-x:auto}.json-key{color:#7dd3fc}.json-string{color:#a7f3d0}.json-number{color:#fcd34d}.json-boolean{color:#f9a8d4}.state-questions-answers{grid-template-columns:1fr 1fr 1fr;gap:14px;display:grid}@media (width<=960px){.state-questions-answers{grid-template-columns:1fr}}.sqa-col{flex-direction:column;gap:10px;display:flex}.sqa-col__title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:12.5px;font-weight:800}.quiz-question{border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:12px;padding:14px}.quiz-options{flex-direction:column;gap:6px;margin-top:8px;display:flex}.quiz-option{text-align:left;border:1px solid var(--border-strong);background:var(--bg-card);border-radius:var(--radius-md);cursor:pointer;padding:8px 12px;font-size:13.5px}.quiz-option.is-selected{border-color:var(--forest-800);background:var(--emerald-50)}.quiz-option.is-correct{border-color:var(--emerald-500);background:var(--emerald-100)}.quiz-option.is-wrong{border-color:var(--color-danger);background:var(--color-danger-bg)}.example-case-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-card);flex-direction:column;gap:8px;padding:14px;display:flex}
